İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım Silkroad Online COS (Pet ve Binek) Mimarisi: 5 Varlık Sınıfı, TypeID Ayrımı ve 0x70C0 Protokolü

Cevaplar0
Görüntüleme8
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 COS (Pet ve Binek) Mimarisi: 5 Varlık Sınıfı, TypeID Ayrımı ve 0x70C0 Protokolü

Silkroad Online motorunda oyuncuya eşlik eden tüm yardımcı varlıklar; canavar ve NPC alt yapısından türetilmiş **COS (Creature on Summon / Creature On Sight)** sistemi tarafından yönetilir. Bu sistem; savaşta oyuncuyla birlikte dövüşen atak petlerinden, yerdeki eşyaları toplayan toplayıcı petlere, binek hayvanlarından ticaret kervanını taşıyan develere ve kuşatma silahlarına kadar geniş bir varlık yelpazesini kapsar.

Bu teknik monografta; canlı Shard veritabanı analizleriyle kanıtlanmış **5 temel COS varlık sınıfı ve TypeID matrisi**, `_RefObjChar` tablosundaki davranış sütunları, **`0x70C0` / `0xB0C0` ve `0x7110` / `0xB110` ağ protokolleri**, açlık (Hunger) ve ölüm/diriltme durum makineleri ile istemci/sunucu sınıf hiyerarşisi akademik bir derinlikle incelenmektedir.

---

### 1. COS Varlık Sınıflandırması ve Matematiksel Doğrulama

Silkroad topluluğunda pet türleri uzun yıllar boyunca kod adlarındaki (`COS_P_*`, `COS_T_*`) kelimelere göre tahmin edilmeye çalışılmış ve büyük hatalar yapılmıştır. Canlı `SRO_VT_SHARD` veritabanı ölçümleriyle kanıtlanan gerçek ayrım; varlığın **seviye yapısı (`Lvl`), çanta kapasitesi (`InventorySize`), doğuştan yeteneği (`DefaultSkill_1`) ve binilebilirlik (`CanBeVehicle`)** bayrakları üzerinden kesinleşmiştir:

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


---

### 2. Ağ Protokolü ve Mesajlaşma Akışı

COS varlıklarının yaşam döngüsü; çağırma (Summon), emir verme (Command), besleme (Feed), geri gönderme (Unsummon) ve ölüm (Death) paketleriyle yürütülür.

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. Açlık (Hunger), Besleme ve Ölüm/Diriltme Durum Makinesi

Evcil hayvanların hayatta kalması dinamik bir açlık (Hunger) sayacına bağlıdır:

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. Ticaret Taşıyıcıları ve Kervan Envanteri (Transport COS)

Ticaret mesleğinde (Trader/Hunter) kullanılan binek ve taşıyıcılar (Eşek, Deve, At Arabası, Behemoth):
- Ayrı bir can havuzuna (`MaxHP`) sahiptir ve haritada saldırıya uğrayabilir.
- Hırsızlar (Thieves) veya yabani canavarlar tarafından öldürüldüklerinde taşıdıkları tüm ticaret malları yere saçılır (Drop on Death).
- Taşıyıcı envanteri `0x7112 (OPEN_INVENTORY)` paketiyle açılır ve mallar doğrudan binek envanterine aktarılır.

---

### 5. C++ Motor Sınıf Hiyerarşisi

İstemci ve sunucu ikililerinde COS yönetimi nesne yönelimli sınıflarla koşturulur:
- **`CCOSDataMgr`:** İstemci tarafında aktif çağrılmış petlerin durumunu ve arayüz pencerelerini yönetir.
- **`CIFCOS` & `CICCos`:** Pet bilgi paneli, çanta slotları ve komut butonlarının arayüz bileşenleri.
- **`CGObjCOS` (Sunucu Taban Sınıfı):**
- `CGObjCOS_Pet`: Atak ve toplayıcı petlerin AI ve hedefleme mantığı.
- `CGObjCOS_Cart`: Kervan taşıyıcılarının hareket ve yük kapasitesi.
- `CGObjCOS_Summoned`: Büyücüler tarafından çağrılan geçici yaratıklar.

---

### 6. Geliştiriciler İçin Sistem Standartları

1. **Toplayıcı Pet Paket Güvenliği:** Toplayıcı petlerin 140 slotluk çanta verisi ayrıştırılırken döngü sınırlarına dikkat edilmeli; sahte paketlerle 140'ın üzerinde slot enjeksiyonu denenirse istemci arabelleği taşarak çöker.
2. **Atak Peti Seviye Eşitlemesi:** Atak petinin seviyesi oyuncunun mevcut seviyesini aşamaz; sunucu tarafında EXP hesaplanırken `Pet_Level <= Player_Level` assert koşulu mutlak suretle denetlenmelidir.
3. **TypeID4 Disiplini:** Veritabanına yeni bir pet eklenirken; toplayıcı pet için `TypeID4 = 4`, atak peti için `TypeID4 = 3` ve binek için `TypeID4 = 1` kuralı titizlikle korunmalı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!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 17,794 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,209
Mesajlar 4,051
Kullanıcılar 1,597
Son üye serkankacan
Geri
Üst