Yardım Wolfraid — 2026 Wolfteam Client’ı Üzerine Sıfırdan Kurduğum Sunucu Altyapısı (Kapalı Beta Için Oyuncu Arıyorum)

darkwob

Stajyer Üye
Stajyer Üye
Katılım
23 Şub 2023
Mesajlar
24
Tepki
2
Selam herkese,

Uzun zamandır üzerinde çalıştığım bir projeyi paylaşmak istiyorum. Mesleğim gereği yazılımcıyım; mühendislik ve tersine mühendislik de en sevdiğim uğraş. Çocukluğumun oyunu Wolfteam'in arka planda nasıl çalıştığını gerçekten anlamak istedim. Ortaya wolfraid çıktı.

Bu ne, ne değil?
Wolfraid bir emülatör değil. Elimdeki 2026 Türkiye sürümü Client'ın gerçek dosyalarını temel aldım: Oyunun hangi dosyalarla, hangi paketlerle, hangi sırayla sunucuyla konuştuğunu çözüp sunucu tarafını buna göre kurdum. Amacım oyunu taklit etmek değil, sunucu mimarisini baştan sona öğrenmekti.

Haksızlık etmeyeyim: Ortalıkta dolaşan Java, C++ ve GO ile yazılmış eski sunucu projeleri bu süreçte çok işime yaradı. Özellikle eski sürüm (patch 377) protokolü, Client'ın hangi modülle (cshell) haberleştiği ve oturum akışının nasıl yönetildiği konusunda iyi bir başlangıç noktası oldular. Ama 2026 Client'ı patch 707 kullanıyor ve arada ciddi fark var. Giriş paketinin yapısından kanal listesine, dükkân kayıtlarından oda ve maç akışına kadar pek çok şeyi Client kodunu okuyarak tek tek kanıtlayıp yeniden yazmam gerekti.

Neden 2026 sürümü?
Çünkü en güncel içerik orada: Yeni karakterler, silahlar, kurt akını, cehennem modu, Wolf Pass, hayatta kalma… eski bir sürüme geri dönüp içerik taşımaktansa en güncel Client'la çalışmak hem daha zor hem daha öğretici oldu.

Şifreleme meselesi
Yeni oyunda da broker ve oyun trafiği şifreli. Anahtarı burada paylaşmayacağım, kusura bakmayın. Önce kara kutu yöntemle on binlerce aday denedim, sonuç çıkmadı. Sonra exe ve Cshell'e bakmak istedim ama ikisi de ticari bir korumayla paketlenmiş. Analizde yardım aldığım yapay zekâ asistanı bile “bu ticari bir koruma” deyip o noktada durdu :) anahtarı sonunda kendim buldum. Protokolün geri kalanını, çalışan oyunun belleğinden salt okunur alınmış bir görüntü üzerinden okuyarak çıkardım.

Launcher'a neden dokunmadım?
Joygame'in Launcher'ını (nyxlauncher) inceledim. Giriş, Joygame'in kendi web sayfası üzerinden yapılıyor; Launcher açılır açılmaz Joygame sunucusundan otomatik yama çekiyor ve BattlEye'ı başlatıyor. Bunu kendi sunucuma yönlendirmeye çalışmak hem orijinal oyun dosyalarını bozma riski taşıyordu hem de anlamsızdı. Bu yüzden ona hiç dokunmadım, kendi küçük wolfraid Launcher'ımı yazdım. Dağıtımdan reklam, Steam ve Joygame'e ait gereksiz dosyaları da ayıkladım.

Şu an çalışanlar

Giriş, 5 kanal (gökçeada, bozkurt, ay ışığı, kurt ini, kabus), lobi, sohbet
Normal dükkân ve kurt parası dükkânı, envanter, ekipman, güç slotları
Klan (pride), hediye kutusu, şans kutuları, Wolf Pass
PvP odaları, kurt akını (PvE) ve cehennem modu
Web sitesi: Kayıt, sıralamalar, yasaklar listesi ve kurulum paketi. Gerçek para ile satış yok, olmayacak.
Güvenlik tarafı
En çok uğraştığım kısımlardan biri bu oldu. Örneğin öldürme bildirimini Client'ın kimin adına gönderdiğini kodda bulup sunucuyu buna göre kilitledim: Artık yalnızca ölen oyuncunun kendi bildirimi kabul ediliyor ve her can için tek ölüm sayılıyor. Giriş denemesi sınırı, bağlantı sınırları ve sahte UDP paketlerine karşı korumalar da var.

Og meselesi
Evet, sunucuda og olacak, og eşyaları da gelecek. Ama herkesin aklındaki soruyu biliyorum: “og'li oyuncu odaya girince maçın tadı kaçar mı?” bunun için bir yama planım var. Og eşyalarına sahip oyuncular, Og'siz odalara giremeyecek. Yani Og'yle oynamak isteyen Og'li odalarda oynayacak; normal oyuncular ise kendi odalarında dengeli maç yapabilecek. Kimse kimsenin keyfini kaçırmayacak.

Og eşyalarını da ilk günden toplu açmayacağım. Önce bu oda kısıtlamasını yazıp test edeceğim, sonra eşyaları beta boyunca aşama aşama ekleyeceğim.

Neden sizi çağırıyorum?
Sunucu kendi yük testlerimde 200 sanal oyuncuyu hatasız kaldırdı ama gerçek oyuncularla hiç stres testi yapmadım. Gerçek maçlar, aynı anda girişler, kalabalık odalar olmadan “hazır” diyemem. O yüzden kapalı beta başlatıyorum:

Oynayın, maç açın, odaları doldurun.
Gördüğünüz her hatayı ve tuhaflığı bildirin.
Og sistemi geldiğinde ilk deneyenler siz olacaksınız.
Kapalı beta katılımı için bana buradan özel mesaj atın ya da WolfRaid Discord Sunucusu'na katıl! üzerinden yazın.

Proje kâr amaçlı değil; tamamen öğrenme ve eski günlerin hatırına. Sorusu olan, teknik tarafı merak eden herkese seve seve anlatırım.

Site artık yayındadır wolfraid.darkandblood.com

Bu adresten kayıt olup kurulum dosyasını indirebilirsiniz Discord sunucuda yukarıda yer alıyor her şey yavaş ilerletiyorum

darkandblood.com normalde web ve mobil tabanlı başka bir oyunuma ait eğer oyun tutulursa bir alan adına geçiş yapacağım
Selam herkese,

Uzun zamandır üzerinde çalıştığım bir projeyi paylaşmak istiyorum. Mesleğim gereği yazılımcıyım; mühendislik ve tersine mühendislik de en sevdiğim uğraş. Çocukluğumun oyunu Wolfteam'in arka planda nasıl çalıştığını gerçekten anlamak istedim. Ortaya Wolfraid çıktı.

Bu ne, ne değil?
Wolfraid bir emülatör değil. Elimdeki 2026 Türkiye sürümü Client'ın gerçek dosyalarını temel aldım: Oyunun hangi dosyalarla, hangi paketlerle, hangi sırayla sunucuyla konuştuğunu çözüp sunucu tarafını buna göre kurdum. Amacım oyunu taklit etmek değil, sunucu mimarisini baştan sona öğrenmekti.

Haksızlık etmeyeyim: Ortalıkta dolaşan Java, C++ ve GO ile yazılmış eski sunucu projeleri bu süreçte çok işime yaradı. Özellikle eski sürüm (patch 377) protokolü, Client'ın hangi modülle (cshell) haberleştiği ve oturum akışının nasıl yönetildiği konusunda iyi bir başlangıç noktası oldular. Ama 2026 Client'ı patch 707 kullanıyor ve arada ciddi fark var. Giriş paketinin yapısından kanal listesine, dükkân kayıtlarından oda ve maç akışına kadar pek çok şeyi Client kodunu okuyarak tek tek kanıtlayıp yeniden yazmam gerekti.

Neden 2026 sürümü?
Çünkü en güncel içerik orada: Yeni karakterler, silahlar, kurt akını, cehennem modu, Wolf Pass, hayatta kalma… Eski bir sürüme geri dönüp içerik taşımaktansa en güncel Client'la çalışmak hem daha zor hem daha öğretici oldu.

Şifreleme meselesi
Yeni oyunda da broker ve oyun trafiği şifreli. Anahtarı burada paylaşmayacağım, kusura bakmayın. Önce kara kutu yöntemle on binlerce aday denedim, sonuç çıkmadı. Sonra exe ve Cshell'e bakmak istedim ama ikisi de ticari bir korumayla paketlenmiş. Analizde yardım aldığım yapay zekâ asistanı bile “bu ticari bir koruma” deyip o noktada durdu. :) Anahtarı sonunda kendim buldum. Protokolün geri kalanını, çalışan oyunun belleğinden salt okunur alınmış bir görüntü üzerinden okuyarak çıkardım.

Launcher'a neden dokunmadım?
Joygame'in Launcher'ını (nyxlauncher) inceledim. Giriş, Joygame'in kendi web sayfası üzerinden yapılıyor; Launcher açılır açılmaz Joygame sunucusundan otomatik yama çekiyor ve BattlEye'ı başlatıyor. Bunu kendi sunucuma yönlendirmeye çalışmak hem orijinal oyun dosyalarını bozma riski taşıyordu hem de anlamsızdı. Bu yüzden ona hiç dokunmadım, kendi küçük Wolfraid Launcher'ımı yazdım. Dağıtımdan reklam, Steam ve Joygame'e ait gereksiz dosyaları da ayıkladım.

Şu an çalışanlar

Giriş, 5 kanal (Gökçeada, Bozkurt, Ay Işığı, Kurt İni, Kabus), lobi, sohbet
Normal dükkân ve kurt parası dükkânı, envanter, ekipman, güç slotları
Klan (Pride), hediye kutusu, şans kutuları, Wolf Pass
PvP odaları, kurt akını (PvE) ve cehennem modu
Web sitesi: Kayıt, sıralamalar, yasaklar listesi ve kurulum paketi. Gerçek para ile satış yok, olmayacak.
Güvenlik tarafı
En çok uğraştığım kısımlardan biri bu oldu.Örneğin öldürme bildirimini Client'ın kimin adına gönderdiğini kodda bulup sunucuyu buna göre kilitledim: Artık yalnızca ölen oyuncunun kendi bildirimi kabul ediliyor ve her can için tek ölüm sayılıyor. Giriş denemesi sınırı, bağlantı sınırları ve sahte UDP paketlerine karşı korumalar da var.

Og meselesi
Evet, sunucuda og olacak, og eşyaları da gelecek. Ama herkesin aklındaki soruyu biliyorum: “Og'li oyuncu odaya girince maçın tadı kaçar mı?” Bunun için bir yama planım var. Og eşyalarına sahip oyuncular, Og'siz odalara giremeyecek. Yani Og'yle oynamak isteyen Og'li odalarda oynayacak; normal oyuncular ise kendi odalarında dengeli maç yapabilecek. Kimse kimsenin keyfini kaçırmayacak.

Og eşyalarını da ilk günden toplu açmayacağım. Önce bu oda kısıtlamasını yazıp test edeceğim, sonra eşyaları beta boyunca aşama aşama ekleyeceğim.

Neden sizi çağırıyorum?
Sunucu kendi yük testlerimde 200 sanal oyuncuyu hatasız kaldırdı ama gerçek oyuncularla hiç stres testi yapmadım. Gerçek maçlar, aynı anda girişler, kalabalık odalar olmadan “hazır” diyemem. O yüzden kapalı beta başlatıyorum:

Oynayın, maç açın, odaları doldurun.
Gördüğünüz her hatayı ve tuhaflığı bildirin.
Og sistemi geldiğinde ilk deneyenler siz olacaksınız.
Kapalı beta katılımı için bana buradan özel mesaj atın ya dahttps://discord.gg/gUhAgEzJ8 üzerinden yazın.

Proje kâr amaçlı değil; tamamen öğrenme ve eski günlerin hatırına. Sorusu olan, teknik tarafı merak eden herkese seve seve anlatırım.

Site artık yayındadır: wolfraid.darkandblood.com

Bu adresten kayıt olup kurulum dosyasını indirebilirsiniz. Discord sunucuda yukarıda yer alıyor; her şey yavaş ilerliyorum.

darkandblood.com normalde web ve mobil tabanlı başka bir oyunuma ait. Eğer oyun tutulursa bir alan adına geçiş yapacağım.
 

Şu anda bu konuyu okuyan kullanıcılar

Geri
Üst