- Ticaret Puanı
- 0
- Katılım
- 19 Ocak 2026
- Mesajlar
- 277
- Tepkime puanı
- 225
- Puanları
- 0
- Web sitesi
- www.youtube.com
- Discord
- ayzekk.
- Mevcut Bakiye
- 4605 ₺
Silkroad Online protokolünde ve bellek yönetiminde; oyuncu envanteri (`0x3013`), yerdeki eşyalar (`0x3015`), pet çantası (`0x30C8`), depo (`0x3049`), oyuncu tezgahı ve eşya taşıma (`0xB034`) paketlerinin tamamında **tek bir standart polimorfik ikili alt-yapı (Shared Binary Sub-Structure)** koşturulur. Bir eşyanın kuşanılabilir bir kılıç mı, süreli bir avatar mı, evcil hayvan parşömeni mi yoksa yığınlanabilir bir iksir mi olduğu bu ortak yapının içindeki tip dallanmalarıyla belirlenir.
Bu teknik monografta; GameServer ikilisinden (`SR_GameServer_Andreas.exe`) ve ağ akışlarından çözümlenen **4 parçalı polimorfik eşya yapısı**, kiralık/süreli eşya öneki (Rentable Info), **64-bitlik stat varyans (Variance) tohumu**, mavi statlar, soketler, gelişmiş iksirler (Advanced Elixirs) ve simya taşı tutma olasılıkları akademik bir titizlikle incelenmektedir.
---
### 1. Paylaşılan İkili Eşya Yapısı (Shared Binary Item Structure) Genel Düzeni
Herhangi bir ağ paketinde veya bellek arabelleğinde bir eşya verisi başladığında, yapı istisnasız şu hiyerarşik sırayı takip eder:
```text
[ Kiralama / Süre Öneki (Rentable Info - 4 Bayt + Opsiyonel Zamanlar) ]
│
[ Eşya Çekirdeği (Item Core: RefItemID - 4 Bayt uint32_t) ]
│
├─► Kuşanılabilir Eşya (isEquipable: Plus, Variance u64, Dur, MagicOptions, Sockets, Elixirs)
├─► Yardımcı / Pet Parşömeni (isCoS: StateType, ModelID, PetName, Bitiş Zamanı)
└─► Genel / Sarf Malzemesi (isEtc: Quantity u16, [AssimilationProbability], [GachaParams])
```
---
### 2. Kiralama ve Süreli Eşya Öneki (Rentable Info Prefix)
Her eşya tanımı, ilk olarak eşyanın süreli (Rental/Limited) bir kullanım hakkına sahip olup olmadığını belirten bir bayrakla başlar:
Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler
---
### 3. Eşya Çekirdeği ve Polimorfik Tip Dallanması
Kiralama başlığının ardından 4 baytlık **`RefItemID` (`uint32_t`)** okunur. Bu ID, Shard veritabanındaki `_RefObjCommon.ID` değerine işaret eder ve motorun hangi alt gövdeyi ayrıştıracağını belirler:
Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler
---
### 4. Tam İkili Sözde Kod (Binary Parsing Algorithm)
Ayrıştırıcıların (Parser) bellekten veri çekerken koşturduğu tam C++ algoritması:
Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler
---
### 5. Geliştiriciler İçin Paket Ayrıştırma İlkeleri
1. **Akış Senkronizasyonu:** Eşya ayrıştırılırken `RentableType` doğru okunmazsa, sonraki tüm ofsetler 4 ila 16 bayt kayar; bu durum tüm envanter paketinin çöp veriye dönüşmesine ve istemcinin anında çökmesine yol açar.
2. **64-Bit Variance Maskesi:** Stat yüzdeleri okunurken 64-bitlik tamsayı (`uint64_t`) doğru maskelenmeli; veritabanındaki `_Items.Data` sütunu doğrudan bu 64-bitlik değere karşılık gelmektedir.
3. **Soket ve İksir Bayrakları:** `SocketFlag` (`1`) ve `ElixirFlag` (`2`) sabitleri doğrulanmadan döngü sayaçları okunmamalıdır.
Silkroad Geliştirici Camiasına Teşekkür ve Saygı
Bu kapsamlı teknik dokümantasyon, tersine mühendislik mimarisi ve protokol analizlerinin gün ışığına çıkmasında Silkroad ekosistemine yıllardır karşılıksız devasa emekler veren ve bu mirası ileriye taşımaya devam eden öncü geliştiricilerimize en içten teşekkürlerimizi sunarız:
DaxterSoul — Paket filtreleme, proxy mimarileri ve sunucu güvenliğindeki temel çalışmaları ve topluluğa kazandırdığı standartlar için,
florian0 — İstemci (Client) ve GameServer ikili (binary) tersine mühendisliği, hook ve assembly düzeyindeki rehber niteliğindeki araştırmaları için,
JellyBitz — Açık kaynak Silkroad araçları, paket analiz kütüphaneleri ve geliştirici ekosistemine sunduğu paha biçilmez açık kaynak yazılımlar için,
ferdoran — İstemci-sunucu protokol analizlerinin, opcode referanslarının ve teknik dokümantasyonun derlenip topluluğa kazandırılmasındaki büyük gayretleri için.
Silkroad geliştirici topluluğuna kattığınız değer, paylaştığınız bilgi birikimi ve sunduğunuz vizyon için sonsuz teşekkürler. İyi ki varsınız!



