WolfTeam Private Server Projesi – Güncel Geliştirme Durumu
Selam arkadaşlar,
Bir süredir eski WolfTeam sürümleri üzerinde yürüttüğüm private server/emülatör geliştirme çalışmalarını burada paylaşmak istiyorum.
Projenin ilk aşamalarında temel hedef client ile server arasında sağlıklı bağlantı kurmak, sunucu/kanal sistemini ayağa kaldırmak ve eski WolfTeam altyapısını yeniden çalışır hale getirmekti.
Çalışmalar ilerledikçe proje artık sadece bağlantı testi yapılan bir emülatör olmaktan çıktı. Şu anda
launcher → giriş → sunucu seçimi → kanal → lobi → envanter/mağaza → oyun zincirinin önemli bölümleri çalışır durumda.
Ayrıca client için
Türkçe yama çalışması da hazırladım.
Kullanılan WolfTeam Sürümü
Çalışmalar eski WolfTeam istemcileri ve mevcut WTServer kaynakları üzerinden yürütülüyor.
Sunucu tarafındaki eksik sistemleri tamamlamak, client-server paketlerini uyumlu hale getirmek ve mümkün olduğunca oynanabilir bir eski WolfTeam sunucusu ortaya çıkarmak için geliştirmeye devam ediyorum.
Şu Ana Kadar Yapılan Geliştirmeler
Launcher ve Hesap Sistemi
Özel launcher sistemi hazırlandı.
Launcher üzerinden:
- Kullanıcı adı ve şifre ile giriş yapılabiliyor.
- Hesap kontrolü yapılabiliyor.
- Yeni hesap kayıt sistemi kullanılabiliyor.
- Oyun launcher üzerinden başlatılabiliyor.
- Client yerel/private server altyapısına yönlendirilebiliyor.
- Sunucunun çevrimiçi durumu gösterilebiliyor.
Eski Joygame/Aeria bağlantılarından kaynaklanan sorunların önemli bir kısmı da giderildi.
Client ↔ Server Bağlantısı
Client ile hazırlanan WTServer altyapısı arasında bağlantı kuruldu.
Daha önce karşılaşılan bağlantı problemleri üzerinde çalışılarak:
- Client bağlantısı sağlandı.
- Broker/Game Server tarafı çalıştırıldı.
- Eski IP yönlendirmeleri düzenlendi.
- Gerekli hosts/IP yapılandırmaları oluşturuldu.
- WorldListAck tarafındaki sunucu yönlendirmeleri düzenlendi.
- T_10060 bağlantı problemi giderildi.
- Client'ın sunucuda bağlantısını koruması sağlandı.
İlk geliştirme aşamasında en büyük sorunlardan biri olan
sunucu listesine ulaşamama problemi artık aşılmış durumda.
Sunucu ve Kanal Sistemi
Client artık
Sunucu Listesi ekranına ulaşabiliyor.
Sunucu üzerinde örnek olarak:
Yeni Oyuncular Kanalı
Küresel Kanal 1
gibi kanallar görüntülenebiliyor.
Daha önce yalnızca sunucu listesinin görüntülenebildiği aşamadan ileri gidilerek
kanala giriş ve lobi ekranına ulaşma tarafında da ilerleme sağlandı.
Lobi Sistemi
Kanal seçildikten sonra oyun lobisine giriş yapılabiliyor.
Lobi tarafında:
- Oyuncu bilgileri görüntüleniyor.
- Kanal bilgisi geliyor.
- Oda listesi ekranı açılıyor.
- Oda kurma/katılma arayüzleri çalışıyor.
- Chat/lobi bölümü yükleniyor.
- Kullanıcı para ve profil bilgileri client'a aktarılıyor.
Böylece server → channel → lobby zinciri çalışır hale getirildi.
Oyuncu ve Profil Sistemi
Oyuncu hesap bilgilerinin client tarafına aktarılması üzerinde de çalışmalar yapıldı.
Şu anda client içerisinde:
- Kullanıcı adı
- Rütbe
- GP
- Altın
- Kurt Parası / WC
- AP
- Oyuncu istatistikleri
- Karakter bilgileri
gibi çeşitli hesap verileri görüntülenebiliyor.
Record/Kayıt ekranı da server tarafından gönderilen bilgilerle açılabiliyor.
Envanter Sistemi
Envanter sistemi üzerinde önemli ilerleme sağlandı.
Client artık oyuncuya ait çeşitli eşyaları görüntüleyebiliyor.
Örneğin:
- Ana silahlar
- İkinci silahlar
- Bıçaklar
- Bombalar
- Güç+ eşyaları
- Dövmeler
- Kurt yetenekleri
- Karakterler
envanter içerisinde görüntülenebiliyor.
Eşyaların kullanım durumu ve süre bilgilerinin client tarafına gönderilmesi üzerinde de çalışıldı.
Mağaza Sistemi
WolfTeam mağaza ekranının server tarafıyla çalışması konusunda da ilerleme sağlandı.
Mağazada farklı kategoriler görüntülenebiliyor:
- Silah
- Güç+
- Karakter
- Kurt eşyaları
- Özel eşyalar
- Setler
Silah ve eşya listeleri client tarafından yüklenebiliyor.
GP / Altın / WC / AP gibi farklı para türlerinin görüntülenmesi ve eşya fiyatlarının client'a aktarılması üzerinde çalışmalar devam ediyor.
Kurt Sistemi
WolfTeam'in en önemli mekaniklerinden biri olan kurt tarafında da önemli ilerleme var.
Kurt karakterleriyle oyun içerisine girilebiliyor ve farklı kurt modelleri test edilebiliyor.
Ayrıca:
- Wolf Dash
- Blood Scratch
- Kurt dövmeleri
- Kurt ekipmanları
- Güç+ eşyaları
gibi içerikler envanter içerisinde görüntülenebiliyor.
Oyun İçi Testler
Projenin en önemli gelişmelerinden biri de artık yalnızca menülerde değil,
oyun içerisinde de test yapılabiliyor olması.
Deathmatch haritası üzerinde oyun başlatılabildi.
Testlerde:
- İnsan karakteriyle haritaya giriş
- Silahla spawn olma
- HUD görüntülenmesi
- HP göstergesi
- SP göstergesi
- Mermi bilgileri
- Mini harita
- Skor ekranı
- Oyun süresi
- Kurt karakterine dönüşüm
- Farklı kurt modelleriyle haritada hareket
gibi sistemler çalıştırıldı.
Yani proje artık doğrudan
oynanabilir oyun içi test aşamasına ulaşmış durumda.
Türkçe Yama Çalışması
Client üzerinde ayrıca
Türkçe yama çalışması yapıyorum.
Farklı bölge/client sürümlerinde İngilizce kalan arayüzleri eski Türkçe WolfTeam karşılıklarıyla düzenlemeye başladım.
Örneğin;
RECORD → KAYIT
CLASS → RÜTBE
NEXT CLASS → SIRADAKİ RÜTBE
EVENT → ETKİNLİK
GIFT BOX → HEDİYE KUTUSU
EXPIRED ITEMS → TÜKENMİŞ EŞYALAR
HINT → İPUCU
gibi bölümler Türkçeleştirildi.
Türkçe yama için ayrı bir çalışma klasörü oluşturarak dosyaları düzenli şekilde ayırdım.
Amaç sadece birkaç yazıyı değiştirmek değil; mümkün olduğunca client'ın tamamını eski
WolfTeam Türkiye dönemindeki terminolojiye uygun hale getirmek.
Türkçe / İngilizce Client Testleri
Uyumluluğu görmek amacıyla hem Türkçe hem İngilizce arayüz üzerinde testler gerçekleştiriyorum.
Bu sayede aynı server altyapısının farklı client dil dosyalarıyla nasıl davrandığını karşılaştırabiliyorum.
İngilizce client tarafında da:
- Lobby
- Inventory
- Character
- Power+
- Record
- Wolf Coin Shop
gibi ekranların çalıştığı test edildi.
Veritabanı ve Server Tarafı
Server tarafında MySQL altyapısı kullanılıyor.
Oyuncular, itemler ve diğer oyun verileri için gerekli tablolar üzerinde çalışmalar yapıldı.
Özellikle:
- Hesap sistemi
- Oyuncu bilgileri
- Item verileri
- Envanter
- Karakterler
- Para değerleri
- Server/channel bilgileri
gibi alanların server ile client arasında doğru şekilde aktarılması üzerinde çalışıyorum.
WTServer kaynak kodunda da gerekli düzenlemeler ve testler devam ediyor.
Projenin Şu Anki Durumu
Geldiğimiz noktayı kısaca özetlersek:
Launcher: 
Çalışıyor
Kayıt sistemi: 
Çalışıyor
Client → Server bağlantısı: 
Çalışıyor
Broker/Game Server: 
Çalışıyor
Sunucu listesi: 
Çalışıyor
Kanal listesi: 
Çalışıyor
Kanala giriş: 
Çalışıyor
Lobi: 
Çalışıyor
Oyuncu bilgileri: 
Çalışıyor
Envanter: 
Büyük ölçüde çalışıyor
Karakter sistemi: 
Test ediliyor
Kurt / Güç+ eşyaları: 
Görüntüleniyor
Mağaza: 
Çalışmalar ilerliyor
Türkçe yama: 
Aktif geliştirme aşamasında
Haritaya giriş: 
Çalışıyor
Silahla oyun içi test: 
Çalışıyor
Kurt ile oyun içi test: 
Çalışıyor
Deathmatch: 
Oyun içi test aşamasında
Proje artık ilk başladığı noktadan çok daha ileride.
Bundan Sonraki Hedefler
Bundan sonraki aşamada özellikle;
- Oda sisteminin tamamlanması
- Multiplayer oyuncu senkronizasyonu
- Maç başlangıç/bitiş paketleri
- Kill/Death sistemi
- Skorların server tarafında işlenmesi
- Envanter sisteminin tamamlanması
- Item satın alma/kullanma işlemleri
- Karakter ve kurt sistemlerinin tamamlanması
- Eksik packet yapılarını çözmek
- Veritabanı sistemini geliştirmek
- Türkçe yamayı tamamlamak
- Client stabilitesini artırmak
üzerinde çalışmayı planlıyorum.
Eski WolfTeam Kaynakları Arıyorum
Bu projede en büyük sorunlardan biri eski WolfTeam kaynaklarının yıllar içerisinde kaybolmuş olması.
Elinde aşağıdaki kaynaklardan bulunan arkadaşlar benimle iletişime geçebilir:
- Eski WolfTeam clientları
- 2007–2015 WolfTeam dosyaları
- Eski Joygame WolfTeam clientları
- Eski Aeria WolfTeam clientları
- WolfTeam server/emulator kaynakları
- Packet/opcode dökümleri
- Eski server DLL dosyaları
- Veritabanı yedekleri
- Launcher kaynakları
- Eski forumlardan kalmış geliştirme dosyaları
- WolfTeam ile ilgili eski HDD/DVD/arşivler
Özellikle yıllar önce WolfTeam private server/emulator geliştirmiş arkadaşların ellerindeki eski kaynaklar proje için oldukça değerli olabilir.
Projenin Amacı
Amacım eski WolfTeam deneyimini mümkün olduğunca yeniden ayağa kaldırmak ve yıllar içerisinde kaybolmuş teknik bilgileri tekrar ortaya çıkarmak.
Proje üzerinde çalışmaya ve elde ettiğim sonuçları paylaşmaya devam edeceğim.
Şu an geldiğimiz noktada
servera bağlanabilen, kanal ve lobiye girebilen, envanter/mağaza verilerini gösterebilen ve oyun haritasına girerek insan/kurt karakterleriyle test yapılabilen bir yapı mevcut.
Daha yapılacak çok şey var ancak temel sistemlerin büyük bölümü artık ayağa kalkmış durumda.
Yeni gelişmeler oldukça konuyu güncelleyeceğim.
MertBoss WolfTeam Private Server Project