Knight Online Packet Sistemi Nedir? HEADER, SIZE, OPCODE ve ByteBuffer Detaylı Anlatım
admin
Katılım
23 Eki 2022
Mesajlar
8,274
Çözümler
12
Tepkime puanı
5,077
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.
paket.jpg

📦 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
Tüm bu işlemler packet olarak sunucuya iletilir.


🔑 Ö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
Server:

  • 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
Örnek kullanım:

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
Devamında Packet sınıfını ve ByteBuffer detaylarını daha derin inceleyebilirsiniz.

İyi forumlar 🚀
 
embjk333
Katılım
29 May 2026
Mesajlar
3
Tepkime puanı
0
Puanları
1
Yaş
30
Konum
istanbul

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.
paket.jpg

📦 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
Tüm bu işlemler packet olarak sunucuya iletilir.


🔑 Örnek Login Paketi

Aşağıdaki örnek bir login paketidir:



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 → 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
Server:

  • Paketi çözer
  • Veritabanında kontrol eder
  • Sonuca göre cevap döner

💻 C++ Packet Oluşturma Örneği


Gönderilen paket:




🧱 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
Örnek kullanım:




⚡ Ö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
Devamında Packet sınıfını ve ByteBuffer detaylarını daha derin inceleyebilirsiniz.
* Gizli metin: alıntı yapılamaz. *


İyi forumlar 🚀

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.
paket.jpg

📦 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
Tüm bu işlemler packet olarak sunucuya iletilir.


🔑 Örnek Login Paketi

Aşağıdaki örnek bir login paketidir:



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 → 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
Server:

  • Paketi çözer
  • Veritabanında kontrol eder
  • Sonuca göre cevap döner

💻 C++ Packet Oluşturma Örneği


Gönderilen paket:




🧱 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
Örnek kullanım:




⚡ Ö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
Devamında Packet sınıfını ve ByteBuffer detaylarını daha derin inceleyebilirsiniz.
* Gizli metin: alıntı yapılamaz. *


İyi forumlar 🚀
Eline sağlık hocam
 
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!