Server-Client Source ayni anda bulmak mumkun mu? Ve gerekli mi?

rctn

Level 1
Katılım
20 Ara 2025
Konular
1
Mesajlar
4
Çözümler
0
Beğeniler
2
GG Coin
44
Ticaret Değeri - 0%
0   0   0
Merhaba arkadaslar! Knight Online sunucusu gelistirme isinde cok yeniyim. O yuzden lutfen cehaletimi mazur gorun.

Sorum su; forumlarda bir suru Server source code paylasimi goruyorum ama hic client source code paylasan gormedim. Sunucuda bir degisiklik ya da ekleme yaptigimizda client'in da bu degisiklikleri almasi gerekmiyor mu? Bu degisikliklikleri clienta nasil yansitiyoruz? Bunu Client source code olamdan yapmanin bir yolu mu var? yoksa, bir client source code var da bunun paylasimi mi yapilmiyor.

Bunu bana kod verin diye yazmiyorum. Eger client source code uzerinden yapiliyorsa bunun yolunu ogrenmek istiyorum. OpenKO diye bir proje gordum ama oyunun ilk versiyonundan bile geride. O yuzden orada baslamak yerine once bir sormak istedim.

Tesekkur ederim simdiden cevaplariniz ve vaktiniz icin.
 
Çözüm
Merhaba, bu soru Knight Online sunucu işlerine yeni giren çoğu kişinin kafasını karıştırıyor, o yüzden sorman çok normal.

Kısaca anlatmak gerekirse forumlarda gördüğün paylaşımların neredeyse tamamı server source tarafıdır. Knight Online’ın client source kodu resmi oyuna ait ve kapalıdır. Bu yüzden ortalıkta client source paylaşımı görmemen gayet normal.

“Client source yoksa yaptığımız değişiklikler client’a nasıl yansıyor?” kısmı genelde yanlış anlaşılıyor. Knight Online’da client ve server sürekli paketler üzerinden haberleşir. Server, client’a ne yapacağını paketlerle söyler. Client zaten içinde bulunan sistemlere göre gelen veriyi gösterir.

Mesela, EXP oranları, drop oranları, skill hasarları, eventler ve NPC davranışları...
Merhaba, bu soru Knight Online sunucu işlerine yeni giren çoğu kişinin kafasını karıştırıyor, o yüzden sorman çok normal.

Kısaca anlatmak gerekirse forumlarda gördüğün paylaşımların neredeyse tamamı server source tarafıdır. Knight Online’ın client source kodu resmi oyuna ait ve kapalıdır. Bu yüzden ortalıkta client source paylaşımı görmemen gayet normal.

“Client source yoksa yaptığımız değişiklikler client’a nasıl yansıyor?” kısmı genelde yanlış anlaşılıyor. Knight Online’da client ve server sürekli paketler üzerinden haberleşir. Server, client’a ne yapacağını paketlerle söyler. Client zaten içinde bulunan sistemlere göre gelen veriyi gösterir.

Mesela, EXP oranları, drop oranları, skill hasarları, eventler ve NPC davranışları.
Bunların büyük bir kısmı client’a dokunmadan, tamamen server tarafında ayarlanır. Client sadece gelen bilgiyi ekrana basar.

Client tarafında gerçekten bir değişiklik gerektiğinde ise source kod kullanılmaz. Bunun yerine genelde:
  • Client üzerinde patch / hex edit / offset düzenleme
  • Bazı sürümlerde table veya data dosyalarının düzenlenmesi
  • Var olan client sistemlerini kullanarak server’dan yönlendirme
    gibi yöntemler uygulanır.
Yani private server’larda yeni sistem yazılırken çoğu zaman “client’a yeni kod eklenmez”, server client’ın anlayacağı şekilde veri gönderir.

OpenKO konusuna gelirsek evet, client + server mantığını anlamak için faydalıdır ama:
  • Çok eski bir yapıdır
  • Güncel Knight Online sürümlerinin çok gerisindedir
  • Aktif bir private server kurmak için pek tercih edilmez
Genelde eğitim amaçlı incelenir.

Özetle:
  • Client source olmadan Knight Online private server geliştirmek zaten standarttır
  • Asıl iş server source tarafındadır
  • Client değişiklikleri source ile değil, patch ve düzenlemelerle yapılır

Bu işlere yeni başlayan biri için en mantıklı yol önce server source’ları incelemek, packet mantığını anlamak ve client-server iletişimini çözmeye çalışmaktır.

Başarılar dilerim :DuckHowdy:
 
Çözüm
Cok tesekkur ederim! Gayet aciklayici oldu ve kafamdaki buyuk soru isaretlerini giderdi.
 

Konuyu Görüntüleyenler

Geri
Üst Alt