Canavarların Geç Yüklenmesi ve Binek Geri Atma Sorunu Çözümü

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 106

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Canavarların geç yüklenmesi için 2 değişken söz konusudur.

1.Konum tahmini hataları:

Sunucu tarafında bulunan binek/model verilerinin istemci ile uyuşmaması durumunda konum tahmini hataları söz konusu olur ve karakterin geri teleport olması ile canavarların geç yüklenmesi hatası söz konusu olur.

<h4>Peki nasıl çözülür?</h4>Öncelikle bunu çözmek için en etkili yöntem tabiki de bu uyuşmazlığı gidermek.
Uyuşmazlığı gidermek için pack dosyanızda bulunan ilgili bineğin npc dizinine gidin.
t8s9HP1.png

Model dosyası içinde bulunan msa uzantılı dosyaları ve bunların yazılı olduğu motlist.txt dosyasını kopyalayın.
Server tarafında share/data/monster klasörüne giderek bineğe ait pack klasöründe bulunan ile aynı isimde bir klasör oluşturun.
Kopyalamış olduğunuz dosyaları bu klasör içerisine ekleyin.
Son olarak bu dizinin aktif olduğundan emin olmak için mob_proto da ilgili bineğe ait satırı bulun ve folder sütununu kontrol edin.
Problem giderilmiş olacaktır.
Not:Gr2 ve DDS dosyalarını almanız bir problem oluşturmaz ancak data boyutunu gereksiz büyütür.

İkincil yönteme gelecek olursak öncelikle bunu önermediğimi belirtmeliyim.
Char.cpp açın ve bu fonksiyonu bulun:
<code class="bbCodeInline">CHARACTER::GetMoveMotionSpeed()</code>
İçerisinde bu satırı aratın.
<code class="bbCodeInline">return 300.0f;</code>
Bu değeri arttırdığınızda data klasörleri bulunmayan modelleri hareket hızları artacaktır.



2.Görüş alanının yetersiz olması:

Görüş alanının yetersiz olması canavarların geç yüklenmesi için ikinci bir etkendir. Eğer bineğiniz çok hızlıysa ve görüş alanınızın dışına tahmin edilen süreden önce çıkıyorsanız çözüm olarak görüş alanını arttırabilirsiniz. Görüş alanının arttırılması karakterin göreceği canavar miktarını arttırır, uzaktaki canavarların daha erken yüklenmesini sağlar.
Bunun için kanallara ait tüm klasörlere tek tek girerek CONFIG dosyasını açın ve bu satırı bulun.
<code class="bbCodeInline">VIEW_RANGE:10000</code>
Bu şekilde düzenleyin.
<code class="bbCodeInline">VIEW_RANGE: 20000</code>

Eğer kanal klasöründe bu satır bulunmuyorsa yada işlevsiz ise
Config.cpp açın ve aratın:

<code class="bbCodeInline">int VIEW_RANGE = 5000;</code>
Değiştirin:
<code class="bbCodeInline">int VIEW_RANGE = 20000;</code>

Sonuç olarak Depocu'nun bu mesafeden görünür olduğunu anlayabilirsiniz.

Qe8HdJ0.png


Canavarların yüklenme hızı ise

Canavarların Geç Yüklenmesi ve Binek Geri Atma Sorunu Çözümü

Metin2 özel sunucularında geliştirme yaparken karşılaşılan yaygın sorunlardan birisi canavarların geç yüklenmesi ve binek geri atma gibi olaylardır. Bu tür problemler oyuncu deneyimini ciddi şekilde etkileyebilir. Özellikle PvP odaklı sistemlerde, bu sorunlar oyun akışını bozabilir. Bu yazıda, bu iki soruna dair detaylı açıklamalar ve etkili çözümler sunacağız.

Canavarların Geç Yüklenmesi Nedir?

Canavarların geç yüklenmesi, genellikle game server başlatıldığında NPC'lerin belirlenen haritalarda belirli süre sonra ortaya çıkmasıdır. Bu durumda, oyuncular sunucuya giriş yaptıklarında haritaların boş olduğunu görebilirler. Bu gecikme genellikle mob_proto dosyasındaki verilerin hatalı ya da eksik olması, spawn sistemine ait ayarlamaların yanlış yapılandırılması veya channel sunucularındaki senkronizasyon sorunlarından kaynaklanabilir.

Nedenleri ve Kök Neden Analizi

Bu sorunun oluşmasının başlıca nedenleri şunlardır:

- Mob spawn zamanlayıcılarının doğru ayarlanmaması
- DBCore ile GameCore arasında veri aktarımında gecikme
- Martysama sistemlerindeki özel scriptlerin doğru çalışmaması
- Channel sunucuları arası veri paylaşımında sorun

Çözüm Adımları

1. Spawn Dosyalarını Kontrol Edin: monster_spawn.txt veya benzeri dosyalarda tanımlanan zamanlayıcıların doğru olduğundan emin olun. Python veya C++ tabanlı sistemlerde zamanlayıcı ayarları genellikle burada yapılır.

2. Game Server Loglarını İnceleyin: Log dosyalarında spawn ile ilgili hata mesajları olabilir. Bu mesajlar kök nedeni tespit etmede yardımcı olur.

3. Channel Senkronizasyonunu Ayarlayın: Birden fazla channel sunucunuz varsa, tüm kanalların aynı mob_proto ve spawn verilerine sahip olduğundan emin olun.

Binek Geri Atma Sorunu Nedir?

Oyuncular bineklerine bindikten sonra ani bir şekilde atlamalar ya da binekten düşmeler yaşanıyorsa, bu genellikle client-side ile server-side arasındaki veri tutarsızlıklarından kaynaklanır. Bu durum, UIScript dosyalarında ya da pyRoot sistemlerinde meydana gelen hatalardan doğabilir.

Binek Sistemi Hatalarının Nedenleri

- Binek verileri DB'de doğru şekilde güncellenmiyor
- Client SRC ile Game Server arasında veri çakışması
- Py GUI sistemlerinde event handler eksikliği

Çözüm Önerileri

1. PyRoot Dosyalarını Kontrol Edin: horse.py veya benzeri dosyalarda horse_state_update fonksiyonunun doğru çalıştığından emin olun.

2. Client Side Ayarları: UIScript dosyalarında binek animasyonları ve move_event sistemleri doğru şekilde tanımlanmalıdır.

3. Database Kontrolü: Horse table üzerindeki verilerin auth-server ile senkronize olduğundan emin olun.

Sonuç

Metin2 özel sunucularında canavar geç yüklenmesi ve binek geri atma gibi sorunlar, doğru analiz ve ayarlamalarla kolayca çözülebilir. Bu tür problemlerde öncelikli olarak log dosyalarını incelemek ve core sistemlerde değişiklik yapmadan önce yedek almak önemlidir. Metin2Lobby olarak, bu tür gelişmiş C++ ve Python tabanlı sistemler hakkında daha fazla bilgiye Metin2 Lobby üzerinden ulaşabilirsiniz.


Monster Late Loading and Mount Dismissal Issue Solution

One of the common problems encountered during the development of Metin2 private servers is the issue of monsters loading late and mounts being dismissed. Such issues can seriously affect the player experience. Especially in PvP-oriented systems, these problems can disrupt gameplay. In this article, we will provide detailed explanations and effective solutions for both issues.

What is Monster Late Loading?

Monster late loading generally refers to NPCs appearing on maps after a certain delay when the game server starts. In such cases, players may notice that maps are empty upon login. This delay often stems from incorrect or missing data in the mob_proto file, misconfigured spawn system settings, or synchronization issues between channel servers.

Causes and Root Cause Analysis

Primary causes of this problem include:

- Failure to properly set mob spawn timers
- Delay in data transfer between DBCore and GameCore
- Incorrect operation of custom scripts in Martysama systems
- Issues with data sharing between Channel servers

Solution Steps

1. Check Spawn Files: Ensure that the timers defined in files like monster_spawn.txt are correct. Timer settings in Python or C++-based systems are usually configured here.

2. Review Game Server Logs: There might be error messages related to spawning in log files. These messages can assist in identifying the root cause.

3. Set Up Channel Synchronization: If you have multiple channel servers, ensure all channels have the same mob_proto and spawn data.

What is Mount Dismissal Issue?

If players suddenly dismount or fall off their mounts after mounting, this usually arises from data inconsistencies between client-side and server-side. This can stem from errors in UIScript files or pyRoot systems.

Causes of Mount System Errors

- Mount data not updating correctly in the database
- Data conflicts between Client SRC and Game Server
- Missing event handlers in Py GUI systems

Suggested Solutions

1. Check PyRoot Files: Ensure that functions like horse_state_update in horse.py or similar files operate correctly.

2. Client-Side Settings: Mount animations and move_event systems must be properly defined in UIScript files.

3. Database Check: Ensure that data in the Horse table is synchronized with the auth-server.

Conclusion

Issues like monster late loading and mount dismissal in Metin2 private servers can easily be resolved with proper analysis and adjustments. When encountering such issues, it is important to first examine log files and take backups before making any changes to core systems. For more information about such advanced C++ and Python-based systems, visit Metin2 Lobby via Metin2Lobby.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt