Metin2 Client Geliştirme Rehberi: Pack Paketleme ve Source Derleme
Metin2 pvp server projelerinde oyuncuların bilgisayarlarına indirdiği yürütülebilir dosyaları, arayüz elementlerini, zırh, silah ve harita modellerini yöneten alana Client (İstemci) adı verilir. Bir sunucuyu ne kadar optimize ederseniz edin, oyuncuya sunulan istemci kararlı ve güncel değilse oyunda çökmeler, görsel bozulmalar veya syserr kaynaklı kapanmalar yaşanması kaçınılmazdır. Bu rehberde, Metin2 client geliştirme süreçlerinin temel taşlarını, pack paketlemeyi ve binary (source) derleme aşamalarını ele alıyoruz.
İstemci Yapısı ve Pack Klasörünün Mantığı
Metin2 istemcisinin en kritik bölümü, tüm oyun kodlarının ve görsel varlıkların şifrelenmiş olarak saklandığı pack klasörüdür. Bu klasör içerisindeki dosyalar genellikle
.epk ve .eix (veya yeni nesil özel şifreli) uzantılara sahiptir.Root ve Locale Paketleri: Bir geliştiricinin client tarafında en çok işlem yaptığı dosyalar root ve locale paketleridir.
root paketi, oyunun sistem mekaniklerini, pencere yönetimlerini ve sunucu bağlantı ayarlarını (serverinfo.py) yöneten Python kodlarını barındırır. locale paketi ise oyun içi yazıları, eşya açıklamalarını (item_proto) ve canavar isimlerini (mob_proto) saklar.Pack Kapatıcı Araçlar: Bu dosyaları düzenlemek için öncelikle bir Eter Nexus veya özel bir pack açıcı program yardımıyla paketleri klasör haline getirmeniz gerekir. Değişiklikleri yaptıktan sonra dosyaları tekrar kapatıp istemcinin pack klasörüne atarak testlerinizi gerçekleştirebilirsiniz.
Client Source (Binary) Derleme Nedir
Oyunun doğrudan Windows işletim sistemiyle iletişim kuran ana motoru, masaüstündeki
metin2client.exe (binary) dosyasıdır. Bu exe dosyasını özelleştirmek, yeni C++ sistemleri entegre etmek veya performans optimizasyonu yapmak için Client Source dosyalarına ihtiyacınız vardır.Geliştirme Ortamı: Metin2 client source kodları genellikle C++ diliyle yazılmıştır. Kodları düzenlemek ve yeni bir exe olarak çıktı (build) alabilmek için bilgisayarınızda Microsoft Visual Studio (Source yapınıza uygun olarak 2013, 2019 veya 2022 sürümleri) kurulu olmalıdır.
Sistem Entegrasyonu: İstemciye yeni bir efekt sistemi, kanat sistemi veya render hedefi (render target) eklemek istediğinizde, öncelikle bu sistemin C++ kodlarını Visual Studio üzerinden kaynak kodlarınıza eklemeniz gerekir. Derleme (Build) işlemini başarıyla tamamladığınızda, sistem size sıfır ve temiz bir
metin2client.exe verir. Bu yeni exe dosyasını oyunculara dağıtarak yaptığınız köklü değişiklikleri aktif hale getirebilirsiniz.