Metin2 Client Patch ve Pack Güncelleme Sorunları Nasıl Çözülür?
Patcher, pack, root, locale ve eski client dosyası problemleri için detaylı rehber.
Metin2 sunucularda client tarafında yapılan değişikliklerin oyunculara doğru ulaşması gerekir. Root, locale, uiscript, icon, item_proto, mob_proto, map veya effect dosyaları güncellendiğinde oyuncu eski dosyalarla oyuna girerse ciddi uyumsuzluklar oluşabilir.
Patcher çalışmıyorsa, dosya indirmiyorsa, oyuncular eski pack ile giriş yapıyorsa veya bazı oyuncularda hata olup bazılarında yoksa problem genellikle client güncelleme sistemindedir.
1. Patch Sorununun Belirtileri
- Oyuncularda yeni item iconları görünmez.
- Bazı oyuncular client kapanması yaşar, bazıları yaşamaz.
- Yeni arayüz değişikliği oyuncuya yansımaz.
- Yeni map bazı oyuncularda açılmaz.
- Patcher dosya indirmez veya hata verir.
- Root güncellendiği halde oyun eski Python dosyasıyla çalışır.
- Client syserr içinde eksik pack dosyası hataları görünür.
2. Hangi Dosyalar Güncellenmeli?
Yapılan değişikliğe göre güncellenmesi gereken pack dosyaları değişir.
- Python arayüz değişikliği: root pack
- Çeviri ve interface metinleri: locale pack
- Yeni item iconu: icon pack ve item_list
- Yeni item/mob: client item_proto, mob_proto, icon/model dosyaları
- Yeni map: map pack, atlasinfo, terrain/property dosyaları
- Yeni efekt: effect dosyaları ve effect tanımları
Sadece tek bir dosya güncellemek yeterli olmayabilir. Örneğin yeni item eklerken hem server item_proto hem client item_proto hem item_list hem de icon dosyası uyumlu olmalıdır.
3. Oyuncu Gerçekten Güncel Client Kullanıyor mu?
İlk kontrol oyuncunun güncel patch alıp almadığıdır. Geliştirici kendi clientinde dosyayı güncel görürken oyuncular eski dosyayla girmeye devam edebilir.
Kontrol edilmesi gerekenler:
- Patcher yeni dosyayı indirdi mi?
- Pack klasöründeki dosya tarihi güncel mi?
- Oyuncu patcheri atlayıp direkt exe ile mi giriyor?
- Eski client klasörü kullanılıyor olabilir mi?
- Patch sunucusunda dosya gerçekten güncellendi mi?
- Cache veya CDN eski dosyayı veriyor olabilir mi?
4. Patchlist veya Versiyon Dosyası Kontrolü
Patcher sistemleri genellikle bir patchlist, versiyon dosyası veya dosya hash listesi üzerinden çalışır. Dosya güncellendiği halde patchlist güncellenmezse patcher yeni dosyayı indirmeyebilir.
Genel kontrol mantığı:
- Güncellenen pack dosyası patch listesine eklendi mi?
- Dosya boyutu doğru mu?
- Hash veya CRC değeri güncellendi mi?
- Versiyon numarası artırıldı mı?
- Dosya yolu patcher formatına uygun mu?
Patcher altyapısı her sunucuda farklı olabilir. Bu yüzden mevcut çalışan bir dosya satırı örnek alınarak yeni dosya satırı aynı formatta düzenlenmelidir.
5. Pack Dosyası Gerçekten Değişti mi?
Bazen kaynak klasörde dosya düzenlenir fakat pack dosyası tekrar paketlenmez. Bu durumda geliştirici değişiklik yaptığını düşünür ama client hâlâ eski pack içeriğini kullanır.
Kontrol listesi:
- Root veya locale gerçekten yeniden paketlendi mi?
- Paketlenen dosya doğru client klasörüne kopyalandı mı?
- Patch sunucusundaki dosya eski mi yeni mi?
- Patcher indirilen dosyayı doğru yere yazıyor mu?
- Pack index dosyası yeni dosyayı gösteriyor mu?
6. Oyuncular Patcheri Atlıyorsa Ne Olur?
Bazı oyuncular patcher yerine doğrudan client exe dosyasını çalıştırabilir. Bu durumda güncelleme almazlar ve eski dosyalarla oyuna girmeye çalışırlar.
Bunun sonucunda:
- Yeni itemler görünmez.
- Yeni mapler açılmaz.
- Python arayüzleri hata verir.
- Client-server proto uyumsuzluğu oluşur.
- Belirli sistemler bazı oyuncularda çalışıp bazılarında çalışmaz.
Profesyonel sunucularda patcher atlama davranışı engellenmeli veya client versiyon kontrolü yapılmalıdır.
7. Client Syserr ile Patch Sorunu Yakalama
Oyuncudan gelen hata bildirimlerinde mutlaka client syserr.txt dosyası istenmelidir.
Patch eksikliği durumunda şu tarz hatalar görülebilir:
CANNOT_FIND_PACK_FILE Failed to load image No such file or directory LoadScriptFile Error Traceback File "uiInventory.py"
Eğer oyuncunun syserr dosyasında eksik dosya hatası varsa, patcher o dosyayı indirmemiş veya pack içine dosya eklenmemiş olabilir.
8. Temiz Client Testi Nasıl Yapılır?
Güncellemenin gerçekten doğru dağıtıldığını anlamak için temiz client testi yapılmalıdır.
- Eski client klasörünü kullanmayın.
- Temiz bir client kopyası alın.
- Patcheri sıfırdan çalıştırın.
- Tüm dosyaların indiğini kontrol edin.
- Oyuna giriş yapıp güncellenen sistemi test edin.
- Client syserr.txt dosyasını kontrol edin.
Temiz clientte çalışıyor ama oyuncuda çalışmıyorsa oyuncunun patch almadığı veya eski client kullandığı düşünülmelidir.
9. CDN veya Cache Kullanıyorsanız
Patch dosyaları CDN veya cache arkasındaysa eski dosyalar bir süre servis edilmeye devam edebilir. Bu durumda patch sunucusunda dosya güncel olsa bile oyuncu eski dosyayı indirebilir.
Çözüm olarak:
- CDN cache temizlenmelidir.
- Dosya ismi veya versiyon numarası değiştirilebilir.
- Patchlist hash değeri güncellenmelidir.
- Oyuncunun indirdiği dosya boyutu kontrol edilmelidir.
Sık Yapılan Hatalar
- Root dosyasını düzenleyip packlemeyi unutmak
- Patchlist veya hash değerini güncellememek
- Oyuncuların patcheri atlayıp exe ile girmesine izin vermek
- Temiz client testi yapmamak
- CDN cache yüzünden eski dosya dağıtıldığını fark etmemek
- Server güncellenirken client pack güncellemesini atlamak
FAQ
Bende çalışıyor ama oyuncularda çalışmıyor, neden?
Siz güncel client kullanıyor olabilirsiniz. Oyuncular eski pack, eski root veya eksik patch almış olabilir.
Yeni item ekledim, bazı oyuncularda icon yok. Sebep nedir?
Oyuncuların clientinde yeni icon, item_list veya client item_proto güncel olmayabilir.
Patcher dosya indirmiyor, neyi kontrol etmeliyim?
Patchlist, dosya yolu, hash/CRC, versiyon numarası, web sunucu erişimi ve CDN cache kontrol edilmelidir.
Operasyon Önerileri
- Her client güncellemesinden sonra temiz client testi yapın.
- Patch listesi ve dosya hashlerini düzenli kontrol edin.
- Oyuncuların patcheri atlamasını engelleyen versiyon kontrolü kullanın.
- Root, locale ve proto değişikliklerini birlikte planlayın.
- Güncelleme sonrası oyunculardan gelen syserr.txt dosyalarını inceleyin.
Bu makale PvPSunucusu için özel olarak hazırlanmıştır.