Metin2 Developer Rehberi: Sıfırdan Metin2 Geliştiricisi Olma Yol Haritası
Metin2 pvp server dünyasında hazır dosyaları (files) alıp sadece isim değiştirerek sunucu açma devri çoktan geride kaldı. Günümüzde başarılı, binlerce oyuncuyu ağırlayan ve hilesiz bir proje yönetmek istiyorsanız; oyunun arka planındaki kodlama dillerine, sunucu mimarisine ve hata ayıklama süreçlerine hakim bir Metin2 Developer (Geliştirici) haline gelmeniz gerekir. Bu rehberde, sıfırdan bu alana adım atmak veya mevcut altyapısını modernize etmek isteyen yazılımcılar için profesyonel bir yol haritası hazırladık.
1. Adım: Temel Yazılım Dillerini Kavramak
Metin2 tek bir yazılım diliyle çalışmaz. Katmanlı bir yapısı olduğu için oyunun farklı alanlarında kullanılan şu dillere giriş seviyesinde de olsa hakim olmalısınız:
C++ Dili: Oyunun kalbidir. Hem sunucu tarafındaki hız hesaplamalarını (game src) hem de oyuncunun bilgisayarındaki grafik motorunu (client src) yöneten ana dildir. Yeni bir sistem eklemek veya hile engellemek için C++ syntax yapısını çözmeniz gerekir.
Python Dili: Oyunun görsel yüzüdür. Butonlar, pencereler ve paneller Python ile kodlanır. Metin2'nin eski bir Python sürümü kullandığını unutmadan, sekme (Tab) kurallarına ve arayüz (UI) kütüphanelerine odaklanmalısınız.
Lua Dili: Görevlerin ve zindan algoritmalarının yazıldığı script dilidir. C++ kodlarına dokunmadan hızlıca oyun içi etkinlik tasarlamak için Lua fonksiyon mantığını öğrenmeniz şarttır.
2. Adım: Doğru Geliştirme Altyapısını Kurmak (Mainline / Clean Source)
Geliştiriciliğe başlarken internette bulunan, içi onlarca hatalı sistemle doldurulmuş files dosyalarını kullanmak en büyük hatadır. Temiz ve sorunsuz bir oyun inşa etmek için her zaman "Clean" (Tertemiz) veya "Mainline" olarak adlandırılan, üzerinde hiçbir eklenti bulunmayan ham kaynak kodlarını tercih etmelisiniz.
Kendi lokal bilgisayarınıza VirtualBox veya VMware yardımıyla bir FreeBSD sanal sunucusu kurun. Visual Studio yazılımını bilgisayarınıza yükleyerek client kaynak kodlarını derlemeye (build etmeye) alışın. Kendi lokalinizde yapacağınız her deneme, hata kodlarını (syserr) tek başınıza okuyup çözme yeteneğinizi doğrudan geliştirecektir.
3. Adım: Sürüm Kontrol Sistemleri ve Düzenli Yedekleme
Gerçek bir developer, yaptığı değişikliklerin her adımını kayıt altında tutar. Kodlarda yüzlerce satır değişiklik yaptıktan sonra sunucunun nerede çöktüğünü bulamazsanız tüm emekleriniz boşa gidebilir.
Bu durumun önüne geçmek için Git (GitHub veya GitLab) gibi sürüm kontrol sistemlerini kullanmayı kesinlikle öğrenmelisiniz. Eklediğiniz her yeni sistemden sonra kodlarınızı Git üzerine yükleyerek (commit) bir geçmiş oluşturun. Böylece yazdığınız bir kod sunucuyu çökerttiğinde veya çözemediğiniz bir hataya yol açtığında, tek bir komutla projenizi çalışan son temiz haline geri döndürebilirsiniz. Unutmayın, iyi bir geliştirici sadece kod yazan değil; projesinin güvenliğini ve kararlılığını da en üst düzeyde koruyandır.
