Sunucu taraflı attack speed koruması geliştirilebilir svside mantığı ile yapılmıştır.
================================================================================
NE YAPIYOR
================================================================================
• Saldırı hızı hilesini sunucu tarafında tespit eder
• Vuruşu SİLMEZ — Gerçek zamanına öteler
• Hileci normal hıza kırpılır, hasarını kaybetmez
• Gerçek oyuncuya hiç dokunmaz
================================================================================
NASIL ÇALIŞIYOR
================================================================================
Metin2'de normal vuruş bir kombo zinciridir. İstemci her vuruşta sunucuya
MOVE paketi gönderir:
bArg 14 -> kombo başlangıcı
bArg 15 -> 2. vuruş
bArg 16 -> 3. vuruş ...
Her paket "hangi vuruş" ve "istemcinin kendi saatine göre o an" bilgisini
taşır. Modül her vuruşta tek bir soru sorar:
Bu oyuncunun statlarıyla bu vuruş bu kadar erken gelebilir mi?
Beklenen süre oyunun KENDİ verisinden hesaplanır:
beklenen = ani_combo_speed(ch, kombo_adımı) / (POINT_ATT_SPEED / 100)
ani_combo_speed -> o vuruşun animasyon süresi. silah, kombo adımı ve
binek durumuna göre değişir.
POINT_ATT_SPEED -> oyuncunun SUNUCUDAKİ saldırı hızı. İstemci ne derse
desin sunucu kendi bildiğini kullanır.
Sonra karşılaştırma:
tolerans = beklenen * %10
ihlal = geçen_süre < beklenen - tolerans
Ayrı bir hız tablosu tutmaya gerek yok. Yeni binek/silah eklediğinizde
güncelleme gerektirmez, çünkü oyunun kendi motion verisini okur.
SOMUT ÖRNEK
-----------
Saldırı hızı 198 olan bir oyuncu, 3. kombo vuruşunda:
animasyon süresi : 633 ms
beklenen = 633 / 1.98 : 320 ms
tolerans = 320 * %10 : 32 ms
eşik = 320 - 32 : 288 ms
MEŞRU OYUNCU
vuruş 1 ---- 330 ms ----> vuruş 2 330 > 288 temiz
HİLELİ
vuruş 1 ---- 215 ms ----> vuruş 2 215 < 288 İHLAL (105 ms erken)
@34istanblue tarafımca virustotal eklenmiştir.
================================================================================
NE YAPIYOR
================================================================================
• Saldırı hızı hilesini sunucu tarafında tespit eder
• Vuruşu SİLMEZ — Gerçek zamanına öteler
• Hileci normal hıza kırpılır, hasarını kaybetmez
• Gerçek oyuncuya hiç dokunmaz
================================================================================
NASIL ÇALIŞIYOR
================================================================================
Metin2'de normal vuruş bir kombo zinciridir. İstemci her vuruşta sunucuya
MOVE paketi gönderir:
bArg 14 -> kombo başlangıcı
bArg 15 -> 2. vuruş
bArg 16 -> 3. vuruş ...
Her paket "hangi vuruş" ve "istemcinin kendi saatine göre o an" bilgisini
taşır. Modül her vuruşta tek bir soru sorar:
Bu oyuncunun statlarıyla bu vuruş bu kadar erken gelebilir mi?
Beklenen süre oyunun KENDİ verisinden hesaplanır:
beklenen = ani_combo_speed(ch, kombo_adımı) / (POINT_ATT_SPEED / 100)
ani_combo_speed -> o vuruşun animasyon süresi. silah, kombo adımı ve
binek durumuna göre değişir.
POINT_ATT_SPEED -> oyuncunun SUNUCUDAKİ saldırı hızı. İstemci ne derse
desin sunucu kendi bildiğini kullanır.
Sonra karşılaştırma:
tolerans = beklenen * %10
ihlal = geçen_süre < beklenen - tolerans
Ayrı bir hız tablosu tutmaya gerek yok. Yeni binek/silah eklediğinizde
güncelleme gerektirmez, çünkü oyunun kendi motion verisini okur.
SOMUT ÖRNEK
-----------
Saldırı hızı 198 olan bir oyuncu, 3. kombo vuruşunda:
animasyon süresi : 633 ms
beklenen = 633 / 1.98 : 320 ms
tolerans = 320 * %10 : 32 ms
eşik = 320 - 32 : 288 ms
MEŞRU OYUNCU
vuruş 1 ---- 330 ms ----> vuruş 2 330 > 288 temiz
HİLELİ
vuruş 1 ---- 215 ms ----> vuruş 2 215 < 288 İHLAL (105 ms erken)
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
@34istanblue tarafımca virustotal eklenmiştir.
Moderatör tarafında düzenlendi:
Rica ederimeline sağlık. paylaşımın için teşekkürler
Vuruşu SİLMEZ — Gerçek zamanına öteler hocam bunu anlayamadım iki sorum olacak 1 adam geldi 1000x yaptı 1000 tane paket yolladı sunucu hasarı işlemedi sıraya aldı adam o an oyundan cıktı baska haritaya ısınlandı ama sunucu hasarı vurmaya normal hızda devam mı edecek ? bide adam 10 tane hesap actı her birinden binlerce paket yollamaya basladı sunucu hiçbirini silmedi hepsini sıraya aldı bi süre sonra bu lag olmayacak mı ? ch nin cökmesine kadar gitmez mi bu iş ?
''Beklenen süre oyunun KENDİ verisinden hesaplanır'' hocam clienten gelen paketteki süreyi kastediyorsanız o paketlerin içeriğini manipüle etmek cok basit artık metin2 paketlerde kullanılan tea şifreleme ai 3dk kırıyor karşılaştırma istemcinin pakette gönderdiği dwTime ile değil sunucunun o paketi işlediği get_dword_time() ile yapılmalı
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 35
- Görüntüleme
- 549
- Cevaplar
- 0
- Görüntüleme
- 857
- Cevaplar
- 3
- Görüntüleme
- 784
- Cevaplar
- 9
- Görüntüleme
- 6K