PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

ECSRO Filter/Guard GameServer Bridge ve Komut Kuyruğu Yönetimi Rehberi

Yazdır

ECSRO Filter/Guard GameServer Bridge ve Komut Kuyruğu Yönetimi Rehberi

Bu rehber, PvPSunucusu ECSRO Filter/Guard yazılımındaki GameServer Bridge ve GameServer Komut Kuyruğu mantığını açıklamak için hazırlanmıştır. GameServer Bridge; PvPGuard / PvPSunucusu yönetim panelinden verilen oyun içi komutların GameServer tarafına güvenli şekilde iletilmesini, komut sonucunun takip edilmesini ve GameServer tarafından dönen callback bilgilerinin işlenmesini sağlayan yönetim altyapısıdır.

Önemli Uyarı:

GameServer Bridge menüsü doğrudan oyun dünyasını etkileyen işlemler yapabilir. Karaktere item vermek, gold eklemek, EXP/SP değiştirmek, teleport etmek, mob spawn etmek, life state değiştirmek veya karakter durumuna müdahale etmek canlı oyuncuları etkiler. Bu nedenle işlem yapılmadan önce hedef karakter adı, action türü, parametreler, GameServer bağlantı durumu ve komut sonucu mutlaka kontrol edilmelidir.

1. GameServer Bridge Nedir?

ECSRO Filter/Guard sistemi birçok işlemi SQL, Filter ve Guard tarafında yönetebilir. Ancak bazı işlemler yalnızca GameServer içinde gerçekten uygulanabilir. Örneğin oyuncunun canlı karakterine item vermek, karakteri teleport etmek, mob spawn etmek, karakterin HP/MP durumunu değiştirmek veya oyun dünyasındaki bazı state işlemlerini uygulamak için GameServer tarafının haberdar olması gerekir.

GameServer Bridge, PvPGuard / PvPSunucusu yönetim paneli ile GameServer tarafındaki canlı bridge/DLL sistemi arasında çalışan komut köprüsüdür. Panelden verilen komutlar doğrudan rastgele memory müdahalesi gibi uygulanmaz. Önce komut kuyruğuna yazılır, GameServer tarafı bu kuyruğu işler, ardından sonucu tekrar sisteme bildirir.

Bu yapı sayesinde işlemler daha takip edilebilir hale gelir:

  • Hangi komutun ne zaman oluşturulduğu görülebilir.
  • Komutun hangi karaktere uygulanacağı takip edilir.
  • Komutun beklemede, gönderildi, başarılı veya başarısız olduğu anlaşılır.
  • GameServer tarafının komutu alıp almadığı kontrol edilebilir.
  • Hata durumunda retry, result message ve log kayıtları incelenebilir.
  • Callback sistemiyle GameServer tarafındaki olaylar PvPGuard tarafına geri bildirilebilir.
Temel Mantık:

Panel komutu üretir, SQL komut kuyruğuna yazar, GameServer Bridge komutu alır, GameServer işlemi uygular, sonuç tekrar kuyruğa yazılır. Böylece yönetici sadece “butona bastım” seviyesinde değil, komutun gerçekten işlenip işlenmediğini de takip edebilir.

2. GameServer Bridge Hangi Durumlarda Kullanılır?

GameServer Bridge, canlı oyun dünyasına etki eden yönetim işlemleri için kullanılır. Bu sistem özellikle manuel GM komutu yazmak istemeyen, işlemleri panel üzerinden kontrollü şekilde yapmak isteyen veya event/otomasyon sistemlerini GameServer ile konuşturmak isteyen yöneticiler için önemlidir.

GameServer Bridge şu işlemlerde kullanılabilir:

  • Karaktere item verme.
  • Karaktere gold ekleme veya azaltma.
  • Karakterin EXP veya SP değerini değiştirme.
  • Karakterin HP veya MP değerini değiştirme.
  • Karakterin level değerini artırma veya azaltma.
  • Karakteri belirli koordinata veya bölgeye teleport etme.
  • Belirli bölgede mob spawn etme.
  • Yere item veya drop oluşturma.
  • Karakter life state / hareket durumu gibi özel state işlemleri uygulama.
  • Cape veya özel karakter modu uygulama.
  • Guild nickname veya grant name gibi karakter görünür bilgilerini güncelleme.
  • Event katılımcılarını teleport etme veya event durumunu GameServer callback ile doğrulama.
  • Unique kill, region seen, teleport success/fail gibi callback olaylarını işleme.

Bu işlemlerin bir kısmı doğrudan yönetici tarafından manuel çalıştırılır. Bir kısmı ise Auto Events, Event Runtime, Reward Queue veya özel event sistemleri tarafından otomatik olarak kuyruğa eklenebilir.

3. GameServer Bridge ile GameServer Projesi Arasındaki Fark

Bu rehber, PvPGuard / PvPSunucusu panelindeki GameServer Bridge yönetim ekranını anlatır. GameServer projesinin DLL, injection, native hook, callback processor ve GameServer içi teknik çalışma mantığı ayrıca ayrı bir kapsamdır.

Bölüm Görevi Bu Rehberdeki Kapsam
PvPGuard / PvPSunucusu Panel Komut oluşturur, kuyruğa yazar, sonuçları gösterir, logları takip eder. Evet, bu rehberin ana konusu budur.
GameServer Bridge / DLL Tarafı Kuyruktaki komutu GameServer içinde uygular ve sonucu geri bildirir. Temel mantık anlatılır; tam teknik DLL detayı ayrı GameServer projesi rehberinde anlatılır.

4. GameServer Bağlantı Durumu

GameServer Bridge işlemlerinin sağlıklı çalışması için GameServer tarafının bağlı veya inject edilmiş durumda olması gerekir. Panelde genellikle GameServer bağlantı durumunu gösteren bir alan bulunur. Bu alan yöneticinin GameServer Bridge aktif mi, bağlı mı, komut işleyebilir mi gibi sorulara hızlı cevap almasını sağlar.

GameServer bağlantı durumu şu şekillerde yorumlanabilir:

  • Bağlı: GameServer Bridge aktif, komut işleme beklenebilir.
  • Bağlı değil: Komut kuyruğa yazılsa bile GameServer tarafından işlenmeyebilir.
  • Inject başarılı: GameServer tarafındaki bridge/DLL yüklenmiş olabilir.
  • Inject başarısız: GameServer process, yetki, dosya yolu veya uyumluluk kontrol edilmelidir.
  • Bridge bekliyor: SQL kuyruğu hazır olabilir ama GameServer henüz komut almıyor olabilir.
Kritik Kontrol:

GameServer bağlı değilken komut göndermek komutun hemen çalışacağı anlamına gelmez. Komut pending durumda kalabilir, timeout olabilir veya retry sayısı artabilir. Bu nedenle canlı işlem öncesi GameServer bağlantı durumu mutlaka kontrol edilmelidir.

5. GameServer Komut Kuyruğu Nedir?

GameServer komut kuyruğu, panelden GameServer tarafına iletilecek işlemlerin tutulduğu SQL tabanlı listedir. Panel bir komut oluşturduğunda bu komut doğrudan yok olmaz; önce tabloya yazılır. GameServer tarafı bu tablodaki uygun komutları alır, işler ve sonucu günceller.

Bu yapı genellikle Shard DB tarafındaki PS_GameServerCommands tablosu ile ilişkilidir. Bu tablo, komutun action türünü, hedef karakteri, parametrelerini, durumunu, deneme sayısını, claim bilgisini ve sonucu saklar.

Örnek tablo:
SR_CHINA_CS.dbo.PS_GameServerCommands

Genel amaç:
- Project91 / PvPSunucusu panelinden gelen komutları tutmak
- GameServer tarafının komutu claim etmesini sağlamak
- Komut sonucunu Result / Action_Result alanlarında takip etmek
- Başarısız işlemlerde RetryCount ve ResultMessage ile hata sebebini görmek

6. Komut Durumları Nasıl Yorumlanır?

Komut kuyruğunda her komutun bir yaşam döngüsü vardır. Yönetici bir işlem yaptığında komut genellikle bekleme durumuyla başlar. GameServer tarafı komutu aldığında durum değişir. İşlem başarıyla biterse result başarılı olur; hata alırsa hata mesajı veya başarısız result oluşur.

Durum Anlamı Ne Kontrol Edilmeli?
Pending / Beklemede Komut kuyruğa yazılmıştır ama GameServer henüz işlememiştir. GameServer bağlı mı, bridge çalışıyor mu, tablo doğru Shard DB'de mi?
Claimed / Alındı GameServer komutu almaya başlamıştır. ClaimToken ve ClaimedAt bilgileri güncellenmiş mi?
Sent / İşleniyor Komut GameServer tarafında uygulanma aşamasındadır. Uzun süre bu durumda kalıyorsa timeout veya GameServer tarafı hata kontrol edilmeli.
Success / Başarılı GameServer komutu başarıyla uygulamıştır. Oyuncu tarafında sonuç doğrulanmalı; item/gold/state gerçekten uygulandı mı bakılmalı.
Failed / Başarısız Komut uygulanamamıştır. ResultMessage, parametreler, karakter online mı, item kodu doğru mu, koordinat geçerli mi kontrol edilmeli.
Timeout Komut belirlenen sürede tamamlanmamıştır. GameServer Bridge bağlantısı, SQL erişimi ve retry mekanizması kontrol edilmeli.

7. Callback Sistemi Nedir?

Callback sistemi, GameServer tarafında gerçekleşen bir olayın PvPGuard / PvPSunucusu paneline geri bildirilmesini sağlar. Komut kuyruğu panelden GameServer'a giden yöndür. Callback ise GameServer'dan panele dönen yöndür.

Callback sistemi genellikle Shard DB tarafındaki PS_GameServerCallbacks tablosu ile ilişkilidir. Bu tablo GameServer tarafından bildirilen olayları tutar.

Callback sistemi şu olaylarda kullanılabilir:

  • Unique spawn veya unique dead bildirimi.
  • Unique killer bilgisi.
  • Karakter region görüldü / region seen olayı.
  • Teleport başarı veya başarısızlık bildirimi.
  • Event katılımcısının gerçekten teleport olup olmadığını doğrulama.
  • Kill/death veya objective event callbackleri.
  • Disconnect, leave veya logout bildirimi.
  • Score, reward veya event runtime sonucu.
Neden önemlidir?

Panel bir teleport komutu gönderdiğinde yalnızca komutun kuyruğa yazılması yeterli değildir. GameServer tarafı gerçekten teleport işlemini yaptı mı, karakter hedef bölgeye ulaştı mı, event katılımcısı teleported durumuna geçirilebilir mi? Bu tür doğrulamalar callback sistemiyle daha güvenilir hale gelir.

8. Karaktere Item Verme İşlemi

GameServer Bridge üzerinden karaktere item verme işlemi, canlı oyuncunun inventory alanına item eklemek için kullanılır. Bu işlem yapılırken item codename veya RefItemID, adet, plus, durability veya özel parametreler gibi bilgiler kullanılabilir.

Item verme işleminde dikkat edilmesi gerekenler:

  • Hedef karakter adı doğru yazılmalıdır.
  • Karakter online mı, offline mı kontrol edilmelidir.
  • Item codename veya RefItemID doğru olmalıdır.
  • Verilecek adet makul olmalıdır.
  • Stacklenebilir item ile stacklenmeyen item ayrımı dikkate alınmalıdır.
  • Inventoryde boş slot olup olmadığı kontrol edilmelidir.
  • İşlem sonucu runtime logdan ve oyuncu inventorysinden doğrulanmalıdır.
Destek Notu:

Item komutu başarılı görünse bile oyuncu itemi göremediğini söylüyorsa önce komut result, item codename, inventory boş slot, stack durumu ve karakterin online/world ready durumu kontrol edilmelidir.

9. Gold Ekleme veya Azaltma İşlemi

Gold işlemleri karakterin oyun içi para değerini artırmak veya azaltmak için kullanılır. Bu işlem ekonomi dengesini doğrudan etkilediği için dikkatli uygulanmalıdır.

Gold işlemlerinde dikkat edilmesi gerekenler:

  • Hedef karakter adı doğru olmalıdır.
  • Gold miktarı pozitif veya negatif işlem mantığına göre doğru girilmelidir.
  • Çok yüksek gold miktarları ekonomi dengesini bozabilir.
  • Azaltma işleminde karakterin mevcut gold miktarı yeterli mi kontrol edilmelidir.
  • Komut sonucu başarılı olsa bile oyuncu tarafı görsel güncelleme gerektirebilir.
  • İşlem mutlaka loglanmalıdır.

Özellikle canlı sunucularda manuel gold verme işlemleri sınırlı yetkili kişiler tarafından yapılmalıdır. Her gold işlemi sebep notu ile kaydedilmelidir.

10. EXP, SP, Level ve HP/MP İşlemleri

GameServer Bridge, karakter gelişim değerlerini veya anlık durum değerlerini değiştirmek için kullanılabilir. Bu işlemler karakterin oynanışını doğrudan etkiler.

İşlem Ne İşe Yarar? Dikkat Edilecek Nokta
EXP Ekle/Azalt Karakterin deneyim değerini değiştirir. Level geçişleri, cap limiti ve görsel güncelleme dikkate alınmalıdır.
SP Ekle/Azalt Karakterin skill point değerini değiştirir. Aşırı SP verme skill dengesini bozabilir.
Level Ekle/Azalt Karakterin level değerine müdahale eder. Level düşürme/yükseltme skill, stat, mastery ve item gereksinimlerini etkileyebilir.
HP Değiştir Karakterin HP değerini artırır veya azaltır. Canlı PvP veya event sırasında dikkatli kullanılmalıdır.
MP Değiştir Karakterin MP değerini artırır veya azaltır. Skill kullanımını ve combat durumunu etkileyebilir.

11. Teleport İşlemleri

Teleport işlemi, karakteri belirli bir bölgeye, koordinata veya event alanına taşımak için kullanılır. Event Runtime, manuel yönetim işlemleri veya özel oyun içi aksiyonlar için önemlidir.

Teleport işleminde genellikle şu bilgiler gerekir:

  • Hedef karakter adı.
  • RegionID.
  • X, Y, Z koordinatları veya pozisyon parametreleri.
  • Teleport türü veya event bağlantısı.
  • Komutun event katılımcısı için mi manuel işlem için mi gönderildiği.

Teleport işlemi GameServer callback sistemiyle birlikte kullanılıyorsa, panel yalnızca komutu göndermekle kalmaz; GameServer tarafından teleport başarısı bildirildikten sonra ilgili event veya participant durumu güncellenebilir.

Teleport Riskleri:

Yanlış RegionID veya koordinat karakterin geçersiz konuma düşmesine, hareket edememesine veya client tarafında sorun yaşamasına neden olabilir. Canlı event öncesi teleport koordinatları test karakteriyle doğrulanmalıdır.

12. Mob Spawn ve Drop İşlemleri

GameServer Bridge üzerinden mob spawn veya drop işlemleri yapılabilir. Bu işlemler genellikle event, test, özel spawn, GM yönetimi veya otomatik sistemler için kullanılır.

Mob Spawn

Mob spawn işlemi, belirli bir mob veya unique türünü belirlenen koordinatta oluşturmak için kullanılır. Kullanılacak mob ID, region, pozisyon, adet ve spawn tipi doğru seçilmelidir.

  • Mob ID veya RefObjID doğru olmalıdır.
  • Spawn koordinatı geçerli bir bölgeye ait olmalıdır.
  • Adet değeri çok yüksek verilmemelidir.
  • Unique spawn yapılacaksa event/ödül sistemiyle çakışma kontrol edilmelidir.
  • Spawn sonrası GameServer logları ve oyuncu tarafı doğrulanmalıdır.

Drop Item

Drop işlemi, belirli bir itemin oyun dünyasında yere düşürülmesini sağlayabilir. Bu işlem event ödülleri, test veya özel yönetim aksiyonları için kullanılabilir.

  • Item codename veya RefItemID doğru olmalıdır.
  • Drop koordinatı geçerli olmalıdır.
  • Item adedi ve plus değerleri dikkatli girilmelidir.
  • Yere drop edilen item herkes tarafından görülebilir veya toplanabilir olabilir.
  • Yanlış drop oyuncular arasında haksız avantaj oluşturabilir.

13. Life State, Body Mode, Cape ve Özel Durum İşlemleri

GameServer Bridge bazı karakter state işlemlerini de yönetebilir. Bu işlemler karakterin hareket edip edememesi, görünür modu, cape durumu veya özel event durumları gibi etkiler oluşturabilir.

İşlem Ne İşe Yarar? Kullanım Notu
Life State Karakterin hareket/yaşam durumuna müdahale etmek için kullanılabilir. Yanlış kullanılırsa karakter hareket edemez veya normal duruma dönemeyebilir. Geri alma işlemi bilinmelidir.
Body Mode Karakterin özel body/state modunu değiştirebilir. Client görünümü ve state davranışı etkilenebilir. Test edilmeden canlı kullanılmamalıdır.
Cape Karaktere cape/PvP state uygulamak veya kaldırmak için kullanılabilir. Serverın cape sistemiyle uyumlu kullanılmalıdır. Yanlış state PvP davranışını etkileyebilir.
Guild Grant Name Karakterin guild grant/nickname bilgisini güncelleyebilir. Metin uzunluğu, karakter seti ve görünürlük kontrol edilmelidir.

14. Event Runtime ile GameServer Bridge İlişkisi

Event Runtime sistemi, bazı işlemleri GameServer Bridge üzerinden yaptırabilir. Örneğin evente kayıt olan oyuncuları belirli alana teleport etmek, event sırasında skor veya objective callback almak, oyuncu disconnect olduğunda katılımcı durumunu güncellemek veya event sonunda reward dağıtmak için GameServer Bridge kullanılabilir.

Event Runtime için GameServer Bridge özellikle şu konularda önemlidir:

  • Katılımcı teleport komutlarının GameServer tarafından gerçekten uygulanması.
  • Teleport success/fail callbacklerinin alınması.
  • Kill/death veya objective callbacklerinin event sistemine bildirilmesi.
  • Disconnect/logout durumlarının event katılımcısından düşülmesi.
  • Reward queue işlemlerinin GameServer sonucu beklemesi.
  • Pending/Sent komutların tamamlanmadan event aşamasının ilerlememesi.
Eventlerde doğru mantık:

Event sistemi “komutu gönderdim, işlem tamamdır” şeklinde düşünülmemelidir. Özellikle teleport ve reward gibi işlemlerde GameServer success sonucu veya callback alınmadan katılımcı durumu kesin tamamlandı kabul edilmemelidir.

15. GameServer Bridge SQL Tabloları

GameServer Bridge sistemi için Shard DB tarafında bazı tabloların kurulu olması gerekir. Bu tablolar eksikse panel komut yazamayabilir, GameServer komutu göremeyebilir veya callbackler işlenemeyebilir.

Genel tablolar:
SR_CHINA_CS.dbo.PS_GameServerCommands
SR_CHINA_CS.dbo.PS_GameServerCallbacks

Kurulum:
Database / Installer > Eksik Tabloları Tamamla

Not:
Shard DB adı sisteminizde farklı olabilir.
Config menüsündeki Shard Database değeri doğru olmalıdır.

Bu tablolar genellikle Database / Installer menüsünden kurulmalıdır. Runtime sırasında otomatik tablo oluşturma beklenmemelidir. Yeni sürüm sonrası kolon eksikliği oluşursa yine Database / Installer üzerinden eksik tablo/kolon tamamlama işlemi yapılmalıdır.

16. GameServer Bridge Logları Nasıl Okunur?

GameServer Bridge logları, bir komutun neden çalışmadığını anlamanın en önemli yoludur. Sadece panelde butona basmak yeterli değildir; loglar komutun kuyruğa yazılıp yazılmadığını, GameServer tarafından alınıp alınmadığını ve sonucun ne olduğunu gösterir.

Log / Durum Anlamı Ne Yapılmalı?
Command queued Komut SQL kuyruğuna yazılmıştır. GameServer bağlıysa kısa süre içinde claim/result beklenir.
Command claimed GameServer komutu almıştır. Komut uzun süre sonuçsuz kalıyorsa GameServer tarafı incelenmelidir.
Command success İşlem başarıyla tamamlanmıştır. Oyuncu tarafında sonuç doğrulanmalıdır.
Command failed GameServer işlemi uygulayamamıştır. ResultMessage, parametreler ve karakter durumu kontrol edilmelidir.
RetryCount increased Komut tekrar denenmiştir. Sürekli artıyorsa GameServer komutu işleyemiyor olabilir.
Callback received GameServer tarafından olay bildirimi gelmiştir. Event/unique/teleport sistemi ilgili callbacki işliyor mu kontrol edilmelidir.

17. GameServer Bridge Çalışmıyorsa Kontrol Sırası

  1. GameServer process çalışıyor mu?
  2. GameServer Bridge / DLL tarafı bağlı veya inject edilmiş mi?
  3. PvPGuard / PvPSunucusu panelinde GameServer bağlantı durumu bağlı görünüyor mu?
  4. Config menüsünde Shard DB adı doğru mu?
  5. Database / Installer üzerinden PS_GameServerCommands tablosu kuruldu mu?
  6. PS_GameServerCallbacks tablosu kuruldu mu?
  7. Panel komutu kuyruğa yazıyor mu?
  8. Komut Pending durumunda mı kalıyor?
  9. GameServer komutu claim ediyor mu?
  10. ClaimToken ve ClaimedAt alanları güncelleniyor mu?
  11. Result veya Action_Result alanı ne dönüyor?
  12. ResultMessage hata mesajı içeriyor mu?
  13. RetryCount sürekli artıyor mu?
  14. Karakter online ve world ready durumda mı?
  15. Komutta kullanılan item, mob, region, teleport veya state parametresi doğru mu?
  16. Runtime logda SQL timeout veya missing table hatası var mı?

18. Sık Yapılan Hatalar

GameServer bağlı değilken komut göndermek

GameServer Bridge bağlı değilse komut kuyruğa yazılabilir fakat işlenmeyebilir. Bu durumda komut Pending kalır veya timeout olur. İşlemden önce bağlantı durumu kontrol edilmelidir.

Yanlış Shard DB kullanmak

PS_GameServerCommands ve PS_GameServerCallbacks tabloları doğru Shard DB içinde olmalıdır. Config tarafında yanlış Shard DB adı varsa panel başka DB'ye komut yazar, GameServer başka DB'yi okur ve komut çalışmaz.

Karakter adını yanlış yazmak

Hedef karakter adı yanlışsa komut doğru görünse bile uygulanamaz. Özellikle büyük/küçük harf, özel karakter, boşluk ve eski karakter adı kontrol edilmelidir.

Item codename veya RefItemID değerini karıştırmak

Item işlemlerinde codename ve RefItemID farklı kullanımlar olabilir. Yanlış değer girilirse item verilemez veya farklı item hedeflenebilir.

Teleport koordinatını test etmeden kullanmak

Yanlış koordinat karakterin geçersiz bölgeye düşmesine veya hareket sorunu yaşamasına neden olabilir. Event öncesi teleport noktaları test edilmelidir.

Callback bekleyen işlemi callback almadan tamamlandı saymak

Özellikle event teleport ve reward süreçlerinde sadece komutun gönderilmesi yeterli değildir. GameServer success veya callback sonucu beklenmelidir.

SQL tablolarını kurmadan bridge kullanmak

Komut ve callback tabloları eksikse bridge çalışmaz. Database / Installer üzerinden eksik tablolar tamamlanmalıdır.

19. Destek Talebi Açmadan Önce Kontrol Listesi

  • GameServer çalışıyor mu?
  • GameServer Bridge bağlı mı?
  • Inject veya bağlantı başarılı görünüyor mu?
  • Shard DB adı doğru mu?
  • PS_GameServerCommands tablosu doğru DB içinde var mı?
  • PS_GameServerCallbacks tablosu doğru DB içinde var mı?
  • Komut kuyruğa yazılmış mı?
  • Komut Pending mi, Claimed mi, Success mi, Failed mı?
  • ClaimToken ve ClaimedAt dolu mu?
  • RetryCount artıyor mu?
  • ResultMessage ne yazıyor?
  • Hedef karakter online mı?
  • Hedef karakter world ready durumda mı?
  • Item / mob / teleport / region / state parametreleri doğru mu?
  • Runtime logda SQL hatası var mı?
  • GameServer tarafı callback gönderiyor mu?
  • Event Runtime kullanılıyorsa callback beklenen aşama tamamlandı mı?
  • Son patch veya ayar değişikliğinden sonra mı sorun başladı?

20. Güvenlik ve Yetki Önerileri

  • GameServer Bridge işlemleri sınırlı yetkili personele açık olmalıdır. Bu ekran canlı oyun dünyasına müdahale eder.
  • Her komut loglanmalıdır. Kim, ne zaman, hangi karaktere, hangi işlemi yaptı takip edilebilmelidir.
  • Gold ve item işlemleri sebep notu ile yapılmalıdır. Ekonomi dengesini etkileyen işlemler kayıt altında olmalıdır.
  • Teleport koordinatları test edilmelidir. Event öncesi hatalı koordinat kullanılmamalıdır.
  • Auto Event reward değerleri kontrollü olmalıdır. GameServer Bridge üzerinden verilen ödüller ekonomi dengesini bozabilir.
  • Callback bekleyen işlemler erken tamamlandı sayılmamalıdır. GameServer doğrulaması beklenmelidir.
  • SQL tabloları doğru DB'de tutulmalıdır. Panel ve GameServer aynı Shard DB üzerinde çalışmalıdır.
  • Başarısız komutlar tekrar tekrar gönderilmemelidir. Önce hata sebebi okunmalıdır.

21. Sık Sorulan Sorular

GameServer Bridge bağlı değilken komut gönderebilir miyim?

Komut kuyruğa yazılabilir; ancak GameServer bağlı değilse işlenmeyebilir. Komut Pending kalabilir veya timeout olabilir. Canlı işlemden önce GameServer bağlantı durumu kontrol edilmelidir.

Komut Pending durumda kaldı, ne demek?

Komut SQL kuyruğuna yazılmış ama GameServer tarafından henüz alınmamıştır. GameServer Bridge bağlantısı, Shard DB adı ve PS_GameServerCommands tablosu kontrol edilmelidir.

Komut Failed oldu, ilk neye bakmalıyım?

Önce ResultMessage veya Action_Result açıklaması okunmalıdır. Daha sonra hedef karakter adı, karakter online/world ready durumu, parametreler ve GameServer logları kontrol edilmelidir.

Item verdim ama oyuncu görmüyor. Sebep ne olabilir?

Item codename/RefItemID yanlış olabilir, karakter online olmayabilir, inventoryde boş slot olmayabilir, stack durumu farklı olabilir veya komut aslında başarısız dönmüş olabilir. Komut sonucu ve runtime loglar kontrol edilmelidir.

Teleport komutu başarılı ama event katılımcısı güncellenmiyor. Neden?

Event sistemi callback bekliyor olabilir. GameServer tarafı teleport success callback göndermediyse veya PvPGuard callbacki işlemediyse participant durumu güncellenmeyebilir.

PS_GameServerCommands hangi DB'de olmalı?

Bu tablo Shard DB tarafında bulunmalıdır. Sisteminizde Shard DB adı farklı olabilir. Config menüsündeki Shard Database değeri ile GameServer'ın okuduğu DB aynı olmalıdır.

Callback tablosu olmadan bridge çalışır mı?

Bazı basit komutlar callback olmadan result dönebilir; ancak event, teleport doğrulama, unique, region ve GameServer kaynaklı geri bildirimler için PS_GameServerCallbacks tablosu gerekir. Eksikse Database / Installer üzerinden kurulmalıdır.

Sonuç

ECSRO Filter/Guard yazılımındaki GameServer Bridge ve Komut Kuyruğu sistemi, PvPGuard / PvPSunucusu panelinden GameServer tarafına güvenli ve takip edilebilir komut göndermek için kullanılan kritik bir yönetim altyapısıdır. Karaktere item veya gold vermek, EXP/SP/level/HP/MP değiştirmek, teleport etmek, mob spawn etmek, drop oluşturmak, state/cape/body mode uygulamak ve event sistemlerini GameServer ile konuşturmak bu yapı üzerinden yönetilebilir.

Sağlıklı kullanım için GameServer bağlantı durumu kontrol edilmeli, Shard DB adı doğru ayarlanmalı, PS_GameServerCommands ve PS_GameServerCallbacks tabloları kurulmalı, her komutun Pending / Claimed / Success / Failed durumu takip edilmeli ve ResultMessage alanı okunmalıdır. Özellikle event ve teleport işlemlerinde sadece komutu göndermek yeterli değildir; GameServer success veya callback doğrulaması beklenmelidir.

GameServer Bridge doğru kullanıldığında yönetim işlemlerini hızlandırır, manuel GM müdahalelerini azaltır ve event/reward sistemlerini daha kontrollü hale getirir. Yanlış kullanıldığında ise canlı oyuncuların karakter verilerini, ekonomiyi veya oyun içi konumlarını etkileyebilir. Bu nedenle her işlem loglanmalı, yetki sınırlaması uygulanmalı ve destek talebi açmadan önce komut kuyruğu ile runtime loglar birlikte incelenmelidir.

Bu makale PvPSunucusu için özel olarak hazırlanmıştır.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner