- Katılım
- 23 Eki 2022
- Mesajlar
- 8,274
- Çözümler
- 12
- Tepkime puanı
- 5,083
- Puanları
- 113
- Yaş
- 28
Knight Online Packet Sistemi Nedir? Detaylı Rehber (HEADER, SIZE, OPCODE)
Herkese selam,Bu konuda Knight Online sunucu–istemci arasındaki packet (paket) sistemini detaylı şekilde ele alıyoruz. Özellikle packet yapısını anlamak isteyenler için güzel bir kaynak olacak.
Öncelikle belirtmek gerekirse; MMORPG oyunlarda tüm işlemler client (oyuncu) tarafında değil, server (sunucu) tarafında gerçekleşir. Oyuncunun yaptığı her hareket bir "istek" olarak sunucuya gönderilir.

Packet Nedir?
Packet, istemci ile sunucu arasında veri alışverişini sağlayan veri bloklarıdır.Örneğin:
- Oyuna giriş
- Karakter seçimi
- Skill kullanımı
- Envanter işlemleri
Örnek Login Paketi
Aşağıdaki örnek bir login paketidir:AA551E00F30800627A6B7274686D7A0E0052534F454D503052554A3630383000000055AA
Bu paketi parçalarsak:
HEADER (Başlık)
AA55- Tüm paketlerde sabittir
- 2 byte uzunluğundadır
- Paket başlangıcını belirtir
SIZE (Boyut)
1E00- Paket uzunluğunu belirtir
- Little endian formatındadır
- 30 byte veri içerdiğini gösterir
DATA (Veri)
F3 → Opcode (WIZ_LOGIN)
0800... → Kullanıcı adı
0E00... → Şifre (hashlenmiş)
- F3 → Login işlemi kodu
- Kullanıcı adı hex formatta gönderilir
- Şifre düz metin değil, hashlenmiş şekilde iletilir
TAIL (Son)
- Paket bitişini gösterir
- Paketleri ayırmak için kullanılır
Packet Mantığı
Client → Server:- Kullanıcı adı + şifre gönderilir
- Paketi çözer
- Veritabanında kontrol eder
- Sonuca göre cevap döner
C++ Packet Oluşturma Örneği
Packet test(WIZ_LOGIN);
test << "test_acc" << "test_pwd";
Send(&test);
Gönderilen paket:
AA551500F30800746573745F6163630800746573745F70776455AA
ByteBuffer Nedir?
Packet sistemi ByteBuffer sınıfı üzerine kuruludur.Özellikleri:
- Veri byte olarak saklanır
- Okuma/yazma pointer sistemi vardır
- Stream operatörleri ile veri eklenir
uint16 x;
packet >> x;
Özet
- Packet = client ↔ server veri iletişimi
- HEADER / SIZE / DATA / TAIL yapısı vardır
- Opcode her işlemi tanımlar
- ByteBuffer veri yönetimini sağlar
Bu sistemi iyi anlayan biri:
- Packet edit yapabilir
- Hack / exploit analiz edebilir
- Kendi server sistemini geliştirebilir
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
İyi forumlar

