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

ECSRO Filter/Guard Packet Exploit Guard Yönetimi Rehberi

Yazdır

ECSRO Filter/Guard Packet Exploit Guard Yönetimi Rehberi

Bu rehber, PvPSunucusu ECSRO Filter/Guard yazılımındaki Packet Exploit Guard menüsünü açıklamak için hazırlanmıştır. Packet Exploit Guard; belirli opcode davranışlarını, payload uzunluğu anormalliklerini, karakter hazır olmadan gönderilen aksiyonları ve bazı metin tabanlı güvenlik risklerini izlemek veya engellemek için kullanılan gelişmiş bir güvenlik ekranıdır.

Önemli Uyarı:

Packet Exploit Guard doğrudan packet akışını etkileyebilir. Yanlış opcode, yanlış GuardType, hatalı payload limiti veya doğrudan Block/Blacklist kullanımı; login, karakter seçimi, world giriş, mastery, berserk, guild notice, siege/tax, item kullanımı veya diğer oyun içi işlemleri bozabilir. Yeni kurallar önce LogOnly olarak test edilmeli, normal oyuncu akışını bozmadığı doğrulanmadan Block/Blacklist yapılmamalıdır.

1. Packet Exploit Guard Menüsü Ne İşe Yarar?

Packet Exploit Guard menüsü, hardcoded olmayan ve yönetici tarafından düzenlenebilir exploit guard listesi sunar. Bu sayede belirli opcode paketleri için “tamamen engelle”, “maksimum payload boyutunu aşarsa logla”, “minimum payload altındaysa yakala”, “payload belirli aralık dışında kalırsa işlem yap”, “metin içinde SQL/meta karakteri varsa izle” veya “karakter hazır değilken gelen aksiyonu takip et” gibi kurallar tanımlanabilir.

Bu menü özellikle şu amaçlarla kullanılır:

  • Şüpheli opcode davranışlarını izlemek.
  • Payload boyutu normalden büyük veya küçük gelen packetleri tespit etmek.
  • Karakter oyuna tam girmeden gelen aksiyon packetlerini gözlemlemek.
  • Guild notice veya metin içeren paketlerde tehlikeli meta karakter kullanımını takip etmek.
  • Duck mantığından ECSRO yapısına uyarlanmış exploit kural listesini yönetmek.
  • Packet güvenliği için LogOnly test süreci oluşturmak.
  • Doğrulanmış özel durumlarda paket akışını engellemek.

Packet Exploit Guard, Packet Registry ile birlikte çalışabilir. Packet Registry daha genel whitelist, blacklist, payload ve rate-limit politikaları için kullanılırken, Packet Exploit Guard daha hedefli exploit kontrolü için kullanılır.

Temel Mantık:

Packet Exploit Guard bir “doğrudan engelleme” ekranı gibi değil, önce gözlem sonra müdahale ekranı gibi kullanılmalıdır. Hazır örnekler güvenli olması için LogOnly / monitor mantığıyla gelir. Bu sayede karakter seçimi, world spawn ve normal oyun akışı kesilmeden packet davranışı izlenebilir.

2. Packet Exploit Guard ile Packet Registry Arasındaki Fark

Bu iki menü birbirine benzese de aynı amaca hizmet etmez. Packet Registry daha genel opcode politikası ve rate-limit yönetimi sağlar. Packet Exploit Guard ise belirli exploit şüphesine yönelik guard tipi seçerek daha dar ve hedefli kontrol yapar.

Menü Ana Görev Kullanım Örneği
Packet Registry Opcode bazlı genel whitelist, blacklist, LogOnly, RateLimit ve payload kontrol politikaları sağlar. Bir packetin saniyede kaç kez geldiğini izlemek veya genel payload limitini takip etmek.
Packet Exploit Guard Belirli exploit şüphesi için GuardType seçerek hedefli kontrol uygular. PayloadMax, PayloadRange, SqlMeta veya RequireCharacter gibi kurallar tanımlamak.

Pratik kullanımda önce Packet Registry ile genel davranış izlenir. Eğer belirli bir opcode için net ve tekrarlanabilir bir exploit şüphesi oluşursa Packet Exploit Guard tarafında daha özel bir kural yazılabilir.

3. Genel Ayarlar Bölümü

Packet Exploit Guard ekranının üst kısmında Genel Ayarlar bölümü bulunur. Bu bölümde Packet Exploit Guard ve Packet Registry sistemlerinin ana aktif/pasif durumları yönetilir.

Ayar Ne İşe Yarar? Kapalı Olursa Ne Olur?
Packet Exploit Guard aktif Exploit guard kural listesini aktif eder. Griddeki enabled kurallar runtime tarafından kontrol edilir. Gridde kural olsa bile Packet Exploit Guard kuralları uygulanmaz. Payload, SqlMeta veya RequireCharacter kontrolleri devre dışı kalır.
Packet Registry aktif Packet Registry sistemini de aktif eder. Registry ve Exploit Guard birlikte packet güvenlik katmanı oluşturabilir. Packet Registry kuralları çalışmaz. Ancak Packet Exploit Guard aktifse exploit guard kuralları kendi başına çalışabilir.

Canlı sunucuda her iki sistemin de açık olması güvenlik takibi açısından faydalıdır. Fakat bu, her kuralın doğrudan block olarak çalışması gerektiği anlamına gelmez. Sistemler açık olabilir; kural satırları LogOnly çalışabilir. Böylece hem kayıt alınır hem de normal oyuncu akışı bozulmaz.

4. Notlar Bölümü Ne Anlatır?

Packet Exploit Guard ekranındaki notlar bölümü, bu sayfanın temel çalışma mantığını açıklar:

  • Bu sayfa hardcoded olmayan düzenlenebilir exploit guard listesidir: Kurallar panelden eklenip değiştirilebilir.
  • Action=Block/Blacklist paketi keser: Bu aksiyonlar normal akışı durdurabileceği için dikkatli kullanılmalıdır.
  • Action=LogOnly sadece loglar: Packet akışını kesmeden gözlem yapar.
  • Action=Allow/Whitelist paketi serbest bırakır: İlgili kural eşleşse bile paket akışını engellemez.
  • MaxPlus / Alchemy Plus Limit ayarları Module Settings > Limit / Gateway tabındadır: Alchemy plus limitleri Packet Exploit Guard ekranından değil, Module Settings üzerinden yönetilir.
Not:

Packet Exploit Guard, Max Plus Limit sisteminden farklıdır. Max Plus Limit, alchemy + sınırı için kullanılır ve Module Settings menüsünde yönetilir. Packet Exploit Guard ise opcode/payload/metin/karakter durumu gibi packet güvenliği kurallarını yönetir.

5. Packet Exploit Guard Kuralları Grid Alanları

Ekranın ana bölümünde Packet Exploit Guard Kuralları listesi bulunur. Her satır ayrı bir exploit guard kuralıdır. Kuralın çalışması için hem Packet Exploit Guard aktif olmalı hem de satırdaki Enabled alanı açık olmalıdır.

Alan Açıklama Dikkat Edilecek Nokta
Key Kuralın sistem içindeki tanımlayıcı adıdır. Loglarda ve bakım sürecinde hangi kuralın çalıştığını anlamayı sağlar. Açıklayıcı isim verilmelidir. Örneğin CharSelect_7001 veya GuildNotice_70F9 gibi anlaşılır key kullanılmalıdır.
OpcodeHex Kuralın uygulanacağı opcode değeridir. Genellikle 0x7001 gibi hex formatında yazılır. Yanlış opcode yazılırsa kural yanlış packete uygulanır veya hiç çalışmaz. Canlıda block kullanmadan önce opcode doğrulanmalıdır.
Direction Packet yönünü belirtir. Client, Agent veya Both gibi değerler kullanılabilir. Yanlış yön seçilirse kural beklenen packet üzerinde çalışmayabilir. Emin olunmayan durumda LogOnly test yapılmalıdır.
GuardType Kuralın hangi kontrol tipini uygulayacağını belirler. BlockOpcode, PayloadMax, PayloadMin, PayloadRange, SqlMeta ve RequireCharacter gibi tipler kullanılır. Yanlış GuardType seçilirse kural beklenen davranışı göstermez. Payload kontrolü gerekiyorsa BlockOpcode seçmek çok sert olabilir.
MinPayloadBytes PayloadMin veya PayloadRange kontrollerinde minimum payload boyutunu belirtir. Gerçek packet boyutu bilinmeden yüksek değer girilirse normal paketler şüpheli görünebilir.
MaxPayloadBytes PayloadMax veya PayloadRange kontrollerinde maksimum payload boyutunu belirtir. Çok düşük değer normal packetleri yakalayabilir. Custom sistemlerde payload daha uzun olabilir.
Action Kural ihlali olduğunda uygulanacak davranışı belirler. LogOnly, Allow, Whitelist, Block, Blacklist, Drop veya Disconnect gibi değerler görülebilir. Yeni kurallarda ilk tercih LogOnly olmalıdır. Block/Blacklist/Drop/Disconnect canlıda dikkatli kullanılmalıdır.
Note Kuralın neden eklendiğini açıklayan not alanıdır. Boş bırakılırsa ileride kuralın ne için eklendiği unutulur. Bakım ve destek için not yazılmalıdır.
Enabled Satırın aktif olup olmadığını belirler. Kural çalışmıyorsa önce Packet Exploit Guard aktif mi, sonra satır Enabled mı kontrol edilmelidir.

6. GuardType Değerleri ve Görevleri

Packet Exploit Guard menüsünün en önemli alanı GuardType değeridir. GuardType, kuralın neye bakacağını belirler. Aşağıdaki açıklamalar, müşteri panelinde kural yazarken hangi tipin ne anlama geldiğini anlamak için kullanılmalıdır.

BlockOpcode

BlockOpcode, ilgili opcode geldiğinde kural ihlali var kabul eden en sert guard tipidir. Bu tip seçildiğinde payload uzunluğu veya metin kontrolü gibi ek şart aranmaz; opcode eşleşirse action devreye girer.

  • Ne işe yarar? Tamamen yasaklanması gereken özel bir opcode davranışı için kullanılabilir.
  • Ne zaman kullanılmalı? Sadece kendi client/server yapınızda normal oyuncu akışında gerekmediği kesin doğrulanmış opcode için kullanılmalıdır.
  • Yanlış kullanım riski: Normal bir oyun packetini BlockOpcode yaparsanız oyuncular işlem yapamaz, oyundan düşebilir veya login/world akışı bozulabilir.
  • Öneri: İlk testte BlockOpcode + LogOnly kullanın. Block/Blacklist’e geçmeden önce logları uzun süre izleyin.

PayloadMax

PayloadMax, packet payload boyutu belirlenen maksimum değeri aşarsa ihlal üretir. Bu, normalden büyük gelen paketleri izlemek için kullanılır.

  • Ne işe yarar? Aşırı uzun payload gönderimini takip eder.
  • Kullanılan alan: MaxPayloadBytes.
  • Örnek mantık: MaxPayloadBytes 64 ise, payload 64 byte üstüne çıktığında kural ihlali oluşabilir.
  • Yanlış kullanım riski: Bazı normal paketler custom sistem, locale veya mesaj uzunluğu nedeniyle beklenenden uzun olabilir. Çok düşük limit normal oyuncuları etkiler.
  • Öneri: Önce LogOnly ile gerçek payload dağılımını görün, sonra limit belirleyin.

PayloadMin

PayloadMin, packet payload boyutu belirlenen minimum değerin altında kalırsa ihlal üretir. Bu, eksik, yarım, bozuk veya beklenenden kısa gelen packetleri takip etmek için kullanılabilir.

  • Ne işe yarar? Normalde belirli veri taşıması gereken paketin eksik gönderilip gönderilmediğini izler.
  • Kullanılan alan: MinPayloadBytes.
  • Yanlış kullanım riski: Bazı opcode paketleri farklı durumlarda kısa payload gönderebilir. Gerçek davranış bilinmeden yüksek min değeri girilmemelidir.
  • Öneri: Önce LogOnly test yapın; normal oyuncu akışında kısa packet var mı kontrol edin.

PayloadRange

PayloadRange, packet payload boyutunun belirli bir minimum ve maksimum aralıkta kalmasını bekler. Payload bu aralığın altına düşerse veya üstüne çıkarsa ihlal oluşabilir.

  • Ne işe yarar? Hem çok kısa hem çok uzun payloadları tek kuralda takip eder.
  • Kullanılan alanlar: MinPayloadBytes ve MaxPayloadBytes.
  • Ne zaman kullanılır? Payload boyutu net ve dar bir aralıkta olması gereken packetler için kullanılabilir.
  • Yanlış kullanım riski: Payload farklı client durumlarına göre değişiyorsa oyuncular hatalı yakalanabilir.
  • Öneri: Range değeri tahmine göre değil, loglardan görülen gerçek aralığa göre verilmelidir.

SqlMeta

SqlMeta, metin içeren belirli paketlerde SQL/meta karakter kullanımını izlemek için kullanılır. Bu kontrol, özellikle guild notice veya chat benzeri metin alanlarında riskli karakterleri takip etmek amacıyla değerlendirilir.

  • Ne işe yarar? Metin payload içinde tek tırnak, yorum işareti, noktalı virgül veya benzeri meta karakterleri izleyebilir.
  • Ne zaman kullanılır? Guild notice, chat veya benzeri metin içeren packetlerde şüpheli girişleri görmek için kullanılır.
  • Yanlış kullanım riski: Her metin karakteri kötü niyetli değildir. Oyuncular normal mesajlarda bazı karakterleri kullanabilir.
  • Öneri: SqlMeta kuralları başlangıçta mutlaka LogOnly olmalıdır. Normal oyuncu mesajları incelenmeden Block yapılmamalıdır.
Destek Notu:

Current ECSRO uyumluluk davranışında SqlMeta kontrolü metin packetleri için düşünülmelidir. Metin olmayan opcode üzerinde SqlMeta kuralı yazmak beklenen sonucu vermeyebilir veya sistem güvenli tarafta LogOnly davranabilir.

RequireCharacter

RequireCharacter, packet geldiğinde oyuncunun karakter bilgilerinin hazır olup olmadığını kontrol eder. Özellikle karakter seçimi tamamlanmadan veya world ready olmadan gelen bazı aksiyon paketlerini izlemek için kullanılır.

  • Ne işe yarar? Karakter objesi veya karakter adı hazır değilken gelen aksiyonları tespit eder.
  • Ne zaman kullanılır? Login sonrası, karakter seçimi öncesi veya world ready olmadan gelen şüpheli action packetlerini izlemek için kullanılır.
  • Yanlış kullanım riski: Bazı paketler karakter hazır olmadan normal akışta gelebilir. Doğrudan Block yapılırsa login/world geçişi bozulabilir.
  • Öneri: Karakter giriş akışı hassas olduğu için RequireCharacter kuralları uzun süre LogOnly izlenmelidir.

BadString, LengthExact ve RateLimit Hakkında Not

Bazı sürümlerde GuardType seçim listesinde BadString, LengthExact veya RateLimit gibi seçenekler de görülebilir. Ancak bu seçenekler her runtime sürümünde aktif iş mantığına bağlı olmayabilir. Bu nedenle müşteri tarafında bu seçenekler kullanılmadan önce ilgili sürümün desteklediği davranış kontrol edilmeli ve mutlaka LogOnly test yapılmalıdır.

  • BadString: Belirli istenmeyen metinleri yakalamak için düşünülebilir; fakat metin güvenliği için ayrıca Banned Words ve Text Payload Security ekranları da vardır.
  • LengthExact: Payload boyutunun tam belirli bir uzunlukta olmasını bekleyen daha dar bir kontrol mantığıdır; yanlış kullanım normal paketleri etkileyebilir.
  • RateLimit: Hız sınırı için genelde Packet Registry ve Opcode Throttle tarafı daha uygun yönetim alanıdır.
Kullanım Tavsiyesi:

Packet Exploit Guard için güvenli ve doğrulanmış ana GuardType değerleri BlockOpcode, PayloadMax, PayloadMin, PayloadRange, SqlMeta ve RequireCharacter olarak düşünülmelidir. Diğer seçenekler kullanılacaksa önce test ortamında denenmeli, canlıda doğrudan block aksiyonu verilmemelidir.

7. Action Değerleri ve Etkileri

Action, kural ihlali olduğunda sistemin ne yapacağını belirler. GuardType ihlal üretse bile uygulanacak davranış Action alanına göre değişir.

Action Anlamı Önerilen Kullanım
LogOnly Kural ihlalini loglar, packet akışını kesmez. Yeni kural, hazır örnek, canlı test ve şüpheli durum izleme için en güvenli seçenektir.
Allow Kural eşleşse bile packetin geçmesine izin verir. Özel izin veya uyumluluk gerektiğinde kullanılabilir; not alanı açıklayıcı olmalıdır.
Whitelist Packetin güvenli/izinli olarak ele alınmasını sağlar. Sadece doğrulanmış güvenilir packetler için kullanılmalıdır.
Block Kural ihlali durumunda packet akışını keser. Yalnızca test edilmiş ve normal oyuncu davranışını bozmadığı doğrulanmış kurallarda kullanılmalıdır.
Blacklist Kuralı yasaklı davranış olarak ele alır ve akışı kesebilir. Çok dikkatli kullanılmalıdır. Yanlış blacklist normal oyuncu işlemlerini bozabilir.
Drop Packetin kabul edilmemesi/düşürülmesi gibi sert davranış için kullanılabilir. Test ortamı dışında dikkatli kullanılmalıdır.
Disconnect Kural ihlalinde bağlantıyı kesmeye kadar gidebilecek en sert davranıştır. Sadece kesin doğrulanmış, normal oyuncuyu etkilemeyen ciddi güvenlik olaylarında düşünülmelidir.
Net Kural:

Yeni veya emin olunmayan bir Packet Exploit Guard kuralı canlı sunucuda doğrudan Block, Blacklist, Drop veya Disconnect yapılmamalıdır. Önce LogOnly çalıştırılmalı, loglarda normal oyuncuların etkilenmediği görülmeli ve ancak ondan sonra müdahale seviyesi artırılmalıdır.

8. Hazır Örnek Kurallar

Packet Exploit Guard ekranındaki Örnekleri Yükle butonu, güvenli başlangıç için bazı hazır LogOnly kurallar ekler. Bu kurallar ECSRO uyumluluk mantığıyla izleme amaçlıdır; karakter seçimi veya world spawn akışını kesmek için değil, davranışı gözlemlemek için kullanılır.

Örnek Kural GuardType Amaç
CharSelect_7001 PayloadMax Karakter seçim packetinin uzunluk davranışını izler. Yanlış müdahale login/world girişini bozabileceği için LogOnly kalması güvenlidir.
Mastery_70A2 PayloadRange Mastery packet boyutunun beklenen aralıkta olup olmadığını izler.
Berserk_70A7 PayloadMax Berserk packet uzunluğunu izler. Zerk davranışı PvP/job dengesini etkileyebileceği için gözlem önemlidir.
GuildNotice_70F9 SqlMeta Guild notice metninde SQL/meta karakter kullanımını izler.
Login_6103 PayloadMax Agent login packet uzunluğunu izler. Login akışı hassas olduğu için doğrudan Block yapılmamalıdır.

Bazı uyumluluk örnekleri source tarafında özellikle LogOnly davranışa normalize edilebilir. Bunun amacı, ECSRO uyumluluk modunda hazır Duck kaynaklı opcode örneklerinin normal oyuncu akışını kesmesini engellemektir.

Hazır örneklerin amacı:

Hazır örnekler “kesin engelle” listesi değildir. Bunlar canlı akışı bozmadan packet davranışını takip etmek için başlangıç kuralıdır. Bir örneği Block/Blacklist yapmadan önce kendi EXE, client, server, filter ve modül yapınızda uyumluluk doğrulanmalıdır.

9. Packet Exploit Guard Butonları

Yeni Satır

Yeni Satır butonu, Packet Exploit Guard listesine yeni bir kural ekler. Yeni satır genellikle varsayılan opcode ve BlockOpcode mantığıyla gelebilir. Bu başlangıç değeri canlı kullanım için doğrudan uygun kabul edilmemelidir.

Yeni satır ekledikten sonra şu alanlar mutlaka kontrol edilmelidir:

  • Key açıklayıcı mı?
  • OpcodeHex doğru mu?
  • Direction doğru mu?
  • GuardType gerçekten yapmak istediğiniz kontrolü temsil ediyor mu?
  • PayloadMin / PayloadMax değerleri gerçek packet davranışına göre mi yazıldı?
  • Action ilk test için LogOnly mi?
  • Note alanında kuralın amacı yazıyor mu?
  • Enabled bilinçli olarak açık mı?

Örnekleri Yükle

Örnekleri Yükle butonu, hazır güvenli örnek kuralları listeye ekler. Bu örnekler genellikle LogOnly izleme mantığıyla gelir. Amaç, müşteri sunucusunda normal packet davranışını görmek ve daha sonra gerekirse kendi özel kuralını hazırlamaktır.

Seçili Satırı Sil

Seçili Satırı Sil butonu, gridde seçili olan exploit guard kuralını kaldırır. Yanlış yazılmış, artık kullanılmayan veya oyuncu işlemini hatalı engellediği tespit edilen kurallar bu şekilde silinebilir.

Ancak eski bir güvenlik olayına karşı eklenmiş kuralı silmeden önce not alanı, runtime log geçmişi ve destek kayıtları kontrol edilmelidir. Güvenlik için eklenen bir kuralın yanlışlıkla silinmesi, daha önce kapatılmış bir riskin tekrar açılmasına neden olabilir.

Kaydet

Kaydet butonu, Packet Exploit Guard gridindeki kuralları kayıt sistemine yazar. Kuralların kalıcı olması ve runtime tarafından kullanılabilmesi için değişikliklerden sonra kaydetme işlemi yapılmalıdır.

Kayıt işlemi Guard DB üzerindeki PS_PacketExploitRules tablosuna bağlıdır. Bu tablo eksikse kurallar SQL'e yazılamayabilir. Böyle bir durumda Database / Installer menüsünden Eksik Tabloları Tamamla çalıştırılmalıdır.

10. Packet Exploit Guard Kayıtları Nerede Saklanır?

Packet Exploit Guard kuralları Guard DB üzerinde PS_PacketExploitRules tablosunda saklanır. Bu tablo, düzenlenebilir exploit guard kural listesinin SQL tarafındaki karşılığıdır.

Bu tabloda genel olarak şu alanlar bulunur:

  • RuleKey
  • OpcodeHex
  • Direction
  • GuardType
  • MinPayloadBytes
  • MaxPayloadBytes
  • Action
  • Note
  • IsEnabled
  • UpdatedAt
Kontrol edilmesi gereken tablo:
PVPSUNCUSU_GUARD.dbo.PS_PacketExploitRules

Guard DB adınız farklıysa tablo kendi Guard DB adınız altında bulunmalıdır.

Bu tablo yoksa veya kolonları eksikse Packet Exploit Guard ekranında yapılan değişiklikler SQL'e kaydedilemeyebilir. Bu durumda ayarlar program açıkken görünse bile yeniden başlatma sonrası kaybolabilir.

11. Güvenli Kural Oluşturma Sırası

Packet Exploit Guard üzerinde doğru çalışma sırası, canlı sunucu stabilitesi için çok önemlidir. Aşağıdaki sıra takip edilirse hem güvenlik sağlanır hem de normal oyuncu akışının yanlışlıkla bozulma riski azalır.

  1. Sorunu net tanımlayın: Hangi packet davranışını izlemek istediğinizi belirleyin.
  2. Opcode doğrulayın: Opcode değerinin kendi ECSRO client/server yapınızda doğru olduğundan emin olun.
  3. Yeni Satır ekleyin: Açıklayıcı bir Key girin.
  4. Direction seçin: Genellikle Client yönü kullanılır; emin değilseniz LogOnly ile test edin.
  5. GuardType seçin: Payload uzunluğu mu, SQL/meta kontrolü mü, karakter hazır durumu mu izlenecek net belirleyin.
  6. Payload değerlerini dikkatli girin: Gerçek log görmeden dar limit vermeyin.
  7. Action değerini LogOnly yapın: İlk testte packet akışını kesmeyin.
  8. Note alanını doldurun: Kuralın hangi problem için eklendiğini yazın.
  9. Kaydet butonuna basın: Kuralın kalıcı olmasını sağlayın.
  10. Runtime logları izleyin: Normal oyuncuların da kurala takılıp takılmadığını kontrol edin.
  11. Gerekirse payload aralığını düzeltin: Gerçek veriye göre Min/Max değerlerini güncelleyin.
  12. Yeterli testten sonra aksiyonu değiştirin: Sadece doğrulanmış durumda Block/Blacklist düşünün.
Güvenli test akışı:

1. Kuralı LogOnly ekle
2. Oyuncu akışını kesmeden logları izle
3. Normal oyuncu davranışı da yakalanıyor mu kontrol et
4. Payload ve GuardType değerlerini düzelt
5. Gerekirse test ortamında Block dene
6. Canlıda yalnızca doğrulanmış kurala sert aksiyon ver

12. Runtime Loglarda Görülebilecek Kayıtlar

Packet Exploit Guard çalıştığında runtime loglarda genellikle opcode, kural sebebi ve karakter adı gibi bilgiler görülebilir. Loglar, hangi kuralın hangi karakterde ve hangi opcode üzerinde çalıştığını anlamak için önemlidir.

Log Türü Anlamı Ne Yapılmalı?
exploit rule log Kural LogOnly çalışmıştır. Packet akışı kesilmemiştir. Normal oyuncular da sık takılıyorsa kural geniş olabilir. Payload veya GuardType gözden geçirilmelidir.
exploit rule blocked Kural packet akışını kesmiştir. Oyuncu şikayeti varsa ilgili kural ilk kontrol edilmelidir. Gerekirse LogOnly veya pasif yapılmalıdır.
max payload PayloadMax sınırı aşılmıştır. MaxPayloadBytes değeri gerçek packet davranışına göre düşük olabilir.
min payload PayloadMin sınırının altında packet gelmiştir. Packetin bazı durumlarda kısa gelebileceği kontrol edilmelidir.
payload range Payload belirlenen aralığın dışında kalmıştır. Min/Max aralığı dar olabilir. LogOnly gözlemi artırılmalıdır.
SQL meta Metin payload içinde riskli kabul edilen meta karakterler görülmüştür. Bunun normal oyuncu mesajı mı yoksa şüpheli kullanım mı olduğu incelenmelidir.
requires character Packet geldiğinde karakter bilgisi hazır değildir. Login/world geçişi sırasında normal olabilir; doğrudan block yapılmadan önce dikkatli analiz gerekir.

13. Oyuncu Sorunlarında Packet Exploit Guard Nasıl Kontrol Edilir?

Oyuncular belirli işlemleri yapamadığını söylediğinde Packet Exploit Guard kuralları kontrol edilmelidir. Çünkü yanlış yazılmış bir exploit kuralı normal packet akışını şüpheli sanıp engelleyebilir.

Oyuncu Sorunu Kontrol Edilecek Kural Tipi Olası Neden
Karakter seçtikten sonra oyuna girmiyor. CharSelect, Login, RequireCharacter, PayloadMax. Karakter seçimi veya agent login packetine yanlış payload/block kuralı uygulanmış olabilir.
Mastery veya skill geliştirme sorunu var. Mastery_70A2, PayloadRange. Payload aralığı normal packet için dar kalmış olabilir.
Berserk basılamıyor. Berserk_70A7, PayloadMax, Module Settings Delay/Snow/Zerk ayarları. Packet exploit kuralı veya ayrı bir delay/job restriction ayarı işlemi engelliyor olabilir.
Guild notice gönderilemiyor. GuildNotice_70F9, SqlMeta. Metin içinde riskli görülen karakterler veya yanlış block action olabilir.
Oyuncular rastgele işlemde oyundan düşüyor. Action değeri Disconnect/Drop/Block olan tüm kurallar. Sert aksiyon normal oyuncu packetlerini etkiliyor olabilir.

14. Sık Yapılan Hatalar

Yeni kuralı doğrudan BlockOpcode + Block yapmak

Bu en riskli kullanımdır. BlockOpcode zaten opcode eşleştiğinde ihlal üretir. Bunun Action değeri de Block olursa ilgili packet doğrudan kesilir. Opcode normal oyun akışında kullanılıyorsa oyuncular işlem yapamaz.

Payload değerlerini tahmine göre yazmak

Packet payload boyutu her zaman sabit olmayabilir. Custom client, locale, ek sistem veya farklı oyun durumu payload boyutunu değiştirebilir. Gerçek log görmeden dar payload limiti yazmak yanlış engellemelere sebep olur.

RequireCharacter kuralını erken giriş akışında sert kullanmak

Login, character select ve world giriş aşaması hassastır. Bazı packetler karakter hazır olmadan gelebilir. Bu nedenle RequireCharacter kuralları doğrudan block yapılırsa giriş akışı bozulabilir.

SqlMeta kuralını her opcode için kullanmak

SqlMeta metin taşıyan packetler için anlamlıdır. Metin olmayan packetlerde kullanılması doğru sonuç vermeyebilir. Ayrıca her meta karakter kötü niyetli değildir; LogOnly test yapılmadan block uygulanmamalıdır.

Kaydet butonuna basmayı unutmak

Gridde yapılan değişiklikler kaydedilmezse kalıcı olmayabilir. Program yeniden açıldığında eski kural listesi geri gelebilir.

Database Installer kontrolünü atlamak

PS_PacketExploitRules tablosu eksikse kural kayıtları SQL'e yazılamaz. Packet Exploit Guard kullanılmadan önce Database / Installer menüsünden eksik tablolar tamamlanmalıdır.

15. Destek Talebi Açmadan Önce Kontrol Listesi

  • Packet Exploit Guard aktif mi?
  • İlgili kural satırı Enabled mı?
  • Packet Registry ile çakışan başka bir kural var mı?
  • OpcodeHex doğru mu?
  • Direction doğru seçildi mi?
  • GuardType doğru mu?
  • PayloadMin ve PayloadMax değerleri gerçek packet davranışına uygun mu?
  • Action değeri LogOnly mi, yoksa Block/Blacklist/Drop/Disconnect mı?
  • Yeni eklenen kuraldan sonra sorun başladı mı?
  • Sorunlu kural geçici olarak LogOnly yapılıp test edildi mi?
  • PS_PacketExploitRules tablosu Guard DB içinde mevcut mu?
  • Database / Installer menüsünden Eksik Tabloları Tamamla çalıştırıldı mı?
  • Kaydet butonuna basıldı mı?
  • Runtime logda [DuckGuard] veya exploit rule log/block kayıtları var mı?
  • Normal oyuncular da aynı kurala takılıyor mu?
  • Hazır örnekler değiştirilip Block yapılmış mı?
  • Login/world giriş sorunu varsa CharSelect, Login veya RequireCharacter kuralları kontrol edildi mi?

16. Performans ve Güvenlik Önerileri

  • Hazır örnekleri LogOnly bırakın. Bunlar gözlem amaçlıdır; doğrudan block listesi değildir.
  • BlockOpcode kullanırken iki kez düşünün. Bu guard tipi en sert tiplerden biridir.
  • Payload limitlerini logdan öğrenin. Tahmini payload değerleri normal oyuncuları etkileyebilir.
  • RequireCharacter kurallarında giriş akışını bozmayın. Karakter seçimi ve world ready süreci hassastır.
  • SqlMeta kurallarını metin packetleriyle sınırlı değerlendirin. Her opcode için anlamlı değildir.
  • Action değerini önce LogOnly yapın. Canlıda güvenli testin en iyi yolu budur.
  • Packet Registry ile birlikte analiz yapın. Aynı opcode iki sistemde farklı davranıyorsa sorun analizi zorlaşır.
  • Runtime logları düzenli okuyun. Kuralın ne kadar sık tetiklendiğini ve hangi karakterlerde görüldüğünü takip edin.
  • Guard DB yedeği alın. Güvenlik kural değişiklikleri öncesinde database kayıtlarını yedeklemek bakım açısından faydalıdır.

17. Sık Sorulan Sorular

Packet Exploit Guard kapalıysa kurallar çalışır mı?

Hayır. Gridde kural olsa bile Packet Exploit Guard aktif değilse exploit guard kuralları uygulanmaz. Ayrıca her satır için Enabled alanı da açık olmalıdır.

Yeni kural eklerken hangi Action kullanılmalı?

İlk test için LogOnly kullanılmalıdır. LogOnly packet akışını kesmez, sadece kayıt alır. Normal oyuncuların etkilenmediği doğrulanmadan Block, Blacklist, Drop veya Disconnect kullanılmamalıdır.

BlockOpcode ne zaman kullanılmalı?

Sadece tamamen yasaklanması gerektiği doğrulanmış ve normal oyun akışında kullanılmadığı bilinen opcode davranışlarında kullanılmalıdır. Emin olunmayan opcode için BlockOpcode + Block canlıda risklidir.

PayloadMax ve PayloadRange arasındaki fark nedir?

PayloadMax yalnızca maksimum boyutu aşan packetleri yakalar. PayloadRange ise hem minimumun altında hem de maksimumun üstünde kalan packetleri yakalayabilir. Range daha dar ve hassas bir kontroldür; gerçek payload davranışı bilinmeden kullanılmamalıdır.

SqlMeta kuralı her metin mesajını engeller mi?

Action LogOnly ise engellemez, sadece loglar. Block/Blacklist yapılırsa meta karakter içeren metinler engellenebilir. Ancak normal oyuncular da bazı karakterleri masum şekilde kullanabilir. Bu nedenle SqlMeta kuralları önce LogOnly izlenmelidir.

Oyuncular karakter seçtikten sonra oyuna giremiyor. Packet Exploit Guard sebep olabilir mi?

Evet, olabilir. CharSelect, Login veya RequireCharacter ile ilgili sert kurallar login/world akışını bozabilir. Bu durumda ilgili kurallar geçici olarak LogOnly yapılmalı veya pasif edilerek test edilmelidir.

Kural ekledim ama kayboluyor. Ne kontrol etmeliyim?

Önce Kaydet butonuna basıldığından emin olun. Daha sonra Guard DB üzerinde PS_PacketExploitRules tablosunun kurulu olup olmadığını kontrol edin. Eksikse Database / Installer menüsünden Eksik Tabloları Tamamla çalıştırın.

Sonuç

ECSRO Filter/Guard yazılımındaki Packet Exploit Guard menüsü, opcode ve payload tabanlı güvenlik kontrollerini yönetmek için güçlü bir araçtır. BlockOpcode, PayloadMax, PayloadMin, PayloadRange, SqlMeta ve RequireCharacter gibi GuardType değerleriyle belirli packet davranışları izlenebilir veya doğrulanmış durumlarda engellenebilir.

Ancak bu menü dikkatli kullanılmalıdır. Yanlış kural; oyuncu girişini, karakter seçimini, world spawn akışını, mastery, berserk, guild notice, siege/tax veya diğer oyun içi işlemleri bozabilir. Bu nedenle en güvenli kullanım sırası LogOnly ile izle → logları doğrula → normal oyuncu etkilenmiyorsa müdahale et şeklindedir.

Packet Exploit Guard kullanılmadan önce Database / Installer üzerinden PS_PacketExploitRules tablosunun kurulu olduğu doğrulanmalı, her değişiklikten sonra Kaydet yapılmalı ve runtime loglar düzenli takip edilmelidir. Hazır örnek kurallar izleme amacı taşır; canlı serverda doğrudan block listesi gibi kullanılmamalıdır.

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

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner