Merhaba arkadaşlar, bugün sizlere piyasadaki statik korumaların aksine, sunucu taraflı (Server-Side) çalışan ve kendi kendini kalibre edebilen Akıllı AntiHack Sistemi'ni tanıtacağım. Bu sistem, sadece hileyi engellemekle kalmaz; oyuncu davranışlarını analiz ederek botları gerçek oyunculardan ayırır. Daha önce de ilk çalışmamı paylaşmış, hep beraber bunların üzerinden kod geliştirelim demiştim. Bahse konu paylaşıma beğeni atanlara ayrıca teşekkür ederim.
Bu yaptığım çalışma yine açık kaynak kodları ile verilmektedir. Bu çalışma için yaklaşık 15 gün mücadele vermiş olabilirim tam hatırlamıyorum. Hiçbir forumdan vb yerden alınmamıştır. Amacım önceki paylaşımda da olduğu gibi kodlar üzerinden güzel bir geliştirme sağlayarak toplum olarak herkesin fikir koyabildiği bir sistem oluşturmak. Elbette ki eksikleri vardır ama elimden geldiğince stabil yapmaya çalıştım. Ben çalışmamı her zamanki gibi Martysama 5.8 üzerinden yaptım. Sizin sunucu yapınız farklı ise char_battle.cpp'den case yapılarınızı kendi item VNUM larınıza göre düzeltebilirsiniz. Şimdi neler yaptık;
Otomatik Öğrenme Modu (Learning Mode)
Sistemin en etkin özelliği belki de budur. Sabit limitler yerine, oyuncuların yasal sınırlarını (hız, menzil, saldırı hızı) anlık olarak izler.
Dinamik Güncelleme: Eğer bir oyuncu yasal bir sınırdaysa, sistem bunu "güvenli" olarak işaretler ve hackfix_ayar.txt dosyasına otomatik işler.
Sıfır Yanlış Ban: Bu sayede "lag nedeniyle ban yedim" şikayetleri tarihe karışır.
Gelişmiş Bot Algılama (Saldırı Sayacı)
Vuruş Takibi: Bir oyuncu belirli bir saldırı sayısına ulaştığında sistem otomatik olarak doğrulama (Captcha) ister.
Okçu Bot Koruması: Menzilli saldırılarda (Bow) milimetrik mesafe ve hız kontrolü yaparak "Tüm haritaya vurma" hilelerini imkansız hale getirir.
Captcha Kontolü
Hareket Kilidi: Captcha ekranı açıldığı an oyuncunun paket akışı (hareket, saldırı, skill) sunucu tarafında dondurulur.
Zaman Ayarlı İmha: 30 saniye içinde doğru kod girilmezse sunucu bağlantıyı otomatik olarak keser.
Senkronizasyon: Captcha sonrası oyuncu "En son geçerli koordinatına" geri çekilerek Wallhack kullanımı engellenir.
Sektree & Koordinat Doğrulama
Duvar Koruması (Wallhack): Oyuncunun her hareketi harita verileriyle (Sectree) kıyaslanır. Geçilemez bir alandan geçmeye çalışıldığında sistem "ALARM" vererek oyuncuyu geri atar (Rollback).
Işınlanma Engelleyici: Paketler arasındaki koordinat farkı, oyuncunun hızına göre hesaplanır. Limit üstü sıçramalar (Teleport) anında engellenir.
Performans Dostu: Tüm kontroller thecore_pulse ve get_dword_time gibi düşük maliyetli fonksiyonlarla yapılır; sunucuya ek yük bindirmez.
Yönetim Kolaylığı: hackfix_ayar.txt üzerinden sunucuyu kapatmadan anlık olarak şu ayarları değiştirebilirsiniz:
Ceza Puanları (Penalty Score)
Silah Menzilleri (Kılıç, Bıçak, Çift-El, Binek Menzilleri vb.)
Hız Toleransları
NOT: Sistemi herhangi bir sunucum olmadığı için denemedim ama çalışma prensibini normalde RAM olarak verecektim. Daha sonra RAM olarak verince verilerin kaybolma riski olabileceğinden Core yapılı bir ayar sistemi oluşturdum. Bunu yapma sebebim de; Martysama için söylemek gerekirse Core 1 de Küçük Moblar, Core 2'de diğer map türleri ve farklı büyüklükte moblar vardı. Bu da tek tarafta ayar alınca diğer tarafta menzil sorunu yaratabiliyordu.
Arada video'da fazla uyarı geldi. Onlara takılmayın yeteri kadar Hız ve Menzil Kalibre etmek videoyu uzatacak diye erken kapattım
BOT Kontrol Sistemi'nde Metin Taşlarından ve etrafındaki canavarlardan puan yapısını kaldırdım. Bu sayede oto metin vs sistemleriniz ile çakışmaz.
Çözemediğim tek sorunum: SYSERR: Jan 26 22:03:08 :: buffer_read_proceed: buffer_proceed: length argument bigger than buffer (length: 16, buffer: 8)
Konuya vakıf arkadaşlar bu konuda yardımcı olursa sevinirim. Captcha ile alakalı bir sorunum var ama onu çözemedim. Ayrıca 6 Byte yi dummy ile 8 Byte çektim, Metin2 algoritması genelde 8 katları diye bildiğim için yine uzman arkadaşlar konu altına yorum yaparsa sevinirim.
Küçük Bilgiler
[GENEL_AYARLAR]
ENABLE: 1 → Sistemi tamamen açar (1) veya kapatır (0).
DEBUG: 0 → Gelişmiş log kaydını açar. (1) Genel Oyuniçi Log (0) Sadece Hile Tespit.
LEARNING_MODE: 0 → Öğrenme Modu. 1 olursa sistem oyuncuları izleyerek limitleri otomatik günceller.
SCORE_LIMIT: 100 → Ceza puanı sınırı. Bu puana ulaşan oyuncu Captcha ekranına düşer.
BOT_ATK_LIMIT: 100 → Bot koruması. Oyuncu hiç durmadan 100 vuruş yaparsa Captcha tetiklenir. (Metintaşı Hariç)
PENALTY: 35 → Her hile tespitinde (Speed, Wall vb.) oyuncuya eklenecek ceza puanı.
IMMUNITY_TIME: 2000 → Işınlanma/Giriş sonrası dokunulmazlık süresi (Milisaniye).
SAFE_LIMIT: 5000.00 → Maksimum güvenli mesafe. Bunu çok fazla düşürmeyin Okçuların Limitleri yüksek oluyor.
AF_TIME: 500 → Ceza puanının azalması için gereken bekleme süresi.
AF_AMOUNT: 5 → Belirlenen sürede silinecek ceza puanı miktarı.
TIMER_LIMIT: 50 → İki paket arasındaki kabul edilen minimum yasal süre.
[KALIBRASYON]
CALIB_ATK_REF: 1200.00 → Standart saldırı hızı baz çarpanı. Hile paketlerine göre hasar silmek üzere hazırlanmıştır. Fazla atak silerse arttırılabilir.
CALIB_ATK_MAX: 250 → Sunucunun kabul edeceği maksimum saldırı hızı (Stat penceresindeki değer).
CALIB_ATK_BASE: 100 → Temel saldırı hızı (Hiç hız bonusu yokken).
CALIB_SHOT_REF: 4500.00 → Ok atış hızı baz çarpanı.
CALIB_SHOT_MAX: 250 → Okçular için izin verilen maksimum atış hızı statı.
CALIB_SHOT_BASE: 100 → Okçular için temel atış hızı.
ARKADAŞLAR VİDEO ÇEKERKEN HATAYLA DURDU, O YÜZDEN 1. VİDEO Kalibrasyon Örneği, 2. VİDEO Hile Testleri (Ekranı çekmemiş aslında orada Test için CheatEngine açmıştım)
Bu yaptığım çalışma yine açık kaynak kodları ile verilmektedir. Bu çalışma için yaklaşık 15 gün mücadele vermiş olabilirim tam hatırlamıyorum. Hiçbir forumdan vb yerden alınmamıştır. Amacım önceki paylaşımda da olduğu gibi kodlar üzerinden güzel bir geliştirme sağlayarak toplum olarak herkesin fikir koyabildiği bir sistem oluşturmak. Elbette ki eksikleri vardır ama elimden geldiğince stabil yapmaya çalıştım. Ben çalışmamı her zamanki gibi Martysama 5.8 üzerinden yaptım. Sizin sunucu yapınız farklı ise char_battle.cpp'den case yapılarınızı kendi item VNUM larınıza göre düzeltebilirsiniz. Şimdi neler yaptık;
Otomatik Öğrenme Modu (Learning Mode)
Sistemin en etkin özelliği belki de budur. Sabit limitler yerine, oyuncuların yasal sınırlarını (hız, menzil, saldırı hızı) anlık olarak izler.
Dinamik Güncelleme: Eğer bir oyuncu yasal bir sınırdaysa, sistem bunu "güvenli" olarak işaretler ve hackfix_ayar.txt dosyasına otomatik işler.
Sıfır Yanlış Ban: Bu sayede "lag nedeniyle ban yedim" şikayetleri tarihe karışır.
Gelişmiş Bot Algılama (Saldırı Sayacı)
Vuruş Takibi: Bir oyuncu belirli bir saldırı sayısına ulaştığında sistem otomatik olarak doğrulama (Captcha) ister.
Okçu Bot Koruması: Menzilli saldırılarda (Bow) milimetrik mesafe ve hız kontrolü yaparak "Tüm haritaya vurma" hilelerini imkansız hale getirir.
Captcha Kontolü
Hareket Kilidi: Captcha ekranı açıldığı an oyuncunun paket akışı (hareket, saldırı, skill) sunucu tarafında dondurulur.
Zaman Ayarlı İmha: 30 saniye içinde doğru kod girilmezse sunucu bağlantıyı otomatik olarak keser.
Senkronizasyon: Captcha sonrası oyuncu "En son geçerli koordinatına" geri çekilerek Wallhack kullanımı engellenir.
Sektree & Koordinat Doğrulama
Duvar Koruması (Wallhack): Oyuncunun her hareketi harita verileriyle (Sectree) kıyaslanır. Geçilemez bir alandan geçmeye çalışıldığında sistem "ALARM" vererek oyuncuyu geri atar (Rollback).
Işınlanma Engelleyici: Paketler arasındaki koordinat farkı, oyuncunun hızına göre hesaplanır. Limit üstü sıçramalar (Teleport) anında engellenir.
Performans Dostu: Tüm kontroller thecore_pulse ve get_dword_time gibi düşük maliyetli fonksiyonlarla yapılır; sunucuya ek yük bindirmez.
Yönetim Kolaylığı: hackfix_ayar.txt üzerinden sunucuyu kapatmadan anlık olarak şu ayarları değiştirebilirsiniz:
Ceza Puanları (Penalty Score)
Silah Menzilleri (Kılıç, Bıçak, Çift-El, Binek Menzilleri vb.)
Hız Toleransları
NOT: Sistemi herhangi bir sunucum olmadığı için denemedim ama çalışma prensibini normalde RAM olarak verecektim. Daha sonra RAM olarak verince verilerin kaybolma riski olabileceğinden Core yapılı bir ayar sistemi oluşturdum. Bunu yapma sebebim de; Martysama için söylemek gerekirse Core 1 de Küçük Moblar, Core 2'de diğer map türleri ve farklı büyüklükte moblar vardı. Bu da tek tarafta ayar alınca diğer tarafta menzil sorunu yaratabiliyordu.
Arada video'da fazla uyarı geldi. Onlara takılmayın yeteri kadar Hız ve Menzil Kalibre etmek videoyu uzatacak diye erken kapattım

BOT Kontrol Sistemi'nde Metin Taşlarından ve etrafındaki canavarlardan puan yapısını kaldırdım. Bu sayede oto metin vs sistemleriniz ile çakışmaz.
Çözemediğim tek sorunum: SYSERR: Jan 26 22:03:08 :: buffer_read_proceed: buffer_proceed: length argument bigger than buffer (length: 16, buffer: 8)
Konuya vakıf arkadaşlar bu konuda yardımcı olursa sevinirim. Captcha ile alakalı bir sorunum var ama onu çözemedim. Ayrıca 6 Byte yi dummy ile 8 Byte çektim, Metin2 algoritması genelde 8 katları diye bildiğim için yine uzman arkadaşlar konu altına yorum yaparsa sevinirim.
Küçük Bilgiler
[GENEL_AYARLAR]
ENABLE: 1 → Sistemi tamamen açar (1) veya kapatır (0).
DEBUG: 0 → Gelişmiş log kaydını açar. (1) Genel Oyuniçi Log (0) Sadece Hile Tespit.
LEARNING_MODE: 0 → Öğrenme Modu. 1 olursa sistem oyuncuları izleyerek limitleri otomatik günceller.
SCORE_LIMIT: 100 → Ceza puanı sınırı. Bu puana ulaşan oyuncu Captcha ekranına düşer.
BOT_ATK_LIMIT: 100 → Bot koruması. Oyuncu hiç durmadan 100 vuruş yaparsa Captcha tetiklenir. (Metintaşı Hariç)
PENALTY: 35 → Her hile tespitinde (Speed, Wall vb.) oyuncuya eklenecek ceza puanı.
IMMUNITY_TIME: 2000 → Işınlanma/Giriş sonrası dokunulmazlık süresi (Milisaniye).
SAFE_LIMIT: 5000.00 → Maksimum güvenli mesafe. Bunu çok fazla düşürmeyin Okçuların Limitleri yüksek oluyor.
AF_TIME: 500 → Ceza puanının azalması için gereken bekleme süresi.
AF_AMOUNT: 5 → Belirlenen sürede silinecek ceza puanı miktarı.
TIMER_LIMIT: 50 → İki paket arasındaki kabul edilen minimum yasal süre.
[KALIBRASYON]
CALIB_ATK_REF: 1200.00 → Standart saldırı hızı baz çarpanı. Hile paketlerine göre hasar silmek üzere hazırlanmıştır. Fazla atak silerse arttırılabilir.
CALIB_ATK_MAX: 250 → Sunucunun kabul edeceği maksimum saldırı hızı (Stat penceresindeki değer).
CALIB_ATK_BASE: 100 → Temel saldırı hızı (Hiç hız bonusu yokken).
CALIB_SHOT_REF: 4500.00 → Ok atış hızı baz çarpanı.
CALIB_SHOT_MAX: 250 → Okçular için izin verilen maksimum atış hızı statı.
CALIB_SHOT_BASE: 100 → Okçular için temel atış hızı.
ARKADAŞLAR VİDEO ÇEKERKEN HATAYLA DURDU, O YÜZDEN 1. VİDEO Kalibrasyon Örneği, 2. VİDEO Hile Testleri (Ekranı çekmemiş aslında orada Test için CheatEngine açmıştım)
Dosya Eklentileri
Son düzenleme: