Yerel e-spor ligleri ve küçük düzenleyiciler için etkili bir hile tespit sistemi kurmak, büyük yatırım gerektirmeden mümkün. Bu rehberde 30 dakikada çalışır hale getirebileceğiniz, açık kaynak bileşenlerle bir mimari kuracağız. Amaç: gerçek zamanlı algılama, anında uyarı ve sağlam kanıt toplama akışı oluşturmak.
Neden yerel ligler için özel bir çözüm gerekli?
Profesyonel liglerin kullandığı ticari anti-cheat çözümleri pahalı, karmaşık ve lisans kısıtlarına sahip olabilir. Yerel liglerde ise düşük bütçe, hızlı kurulum ve kolay yönetim önceliktir. Ayrıca şeffaflık ve kanıt zinciri sağlamak, disiplin süreçlerinde adaleti destekler.
Temel prensipler (kısa)
- Sunucu tarafı algılama: Oyun içi kurallar ve davranış anormallikleri sunucu tarafında izlenmelidir.
- Ağ analizi: Paket bazlı anormallikler, bot/packet-injection tespitleri için gereklidir.
- Olay kayıtları ve kanıt: Oynanış verisi, pcap, ekran kaydı ve hashlenmiş kanıt paketleri saklanmalıdır.
- İnsan onayı: Otomatik algılamalar otomatik ceza yerine uyarı ve moderatör incelemesine yönlendirilmelidir.
Hızlı mimari — 30 dakikada çalıştırılacak yapı
Aşağıdaki bileşenler açık kaynak, hafif ve Docker ile hızlıca ayağa kaldırılabilir:
- Suricata veya Zeek — ağ temelli anormallik algılama (IDS/NSM).
- Wazuh (veya OSSEC) — sunucu/host loglarını toplama ve imza tabanlı uyarılar.
- Elasticsearch + Kibana (veya Loki + Grafana) — loglama, arama ve dashboard.
- Basit bir python servis — oyun içi olayları alır, kurallara göre karar verip uyarı üretir ve kanıt toplar.
- Git veya dosya sunucusunda hashlenmiş kanıt deposu (SHA256 ile imzalama).
Gerekenler
- Orta seviye sunucu veya bulut VM (2 CPU, 4GB RAM başlangıç için)
- Docker ve Docker Compose
- Oyun sunucunuzun log ve/veya telemetri gönderme yeteneği
30 Dakikalık Kurulum Planı (Adım Adım, süre dağılımı)
- 0-5 dk — Ortam hazırlığı: Sunucunuza Docker ve Docker Compose kurun. SSH erişiminiz hazır olsun.
- 5-15 dk — Temel stack'i ayağa kaldırma: Hazır Docker Compose dosyasıyla Wazuh (veya OSSEC) + Elasticsearch + Kibana yapılandırın. Alternatif olarak Loki+Grafana tercih edilebilir.
- 15-20 dk — Ağ algılama servisini başlatma: Suricata veya Zeek Docker imajını ağ arayüzünüze bağlayarak çalıştırın. (Bridge/host modu gerekebilir.)
- 20-25 dk — Oyun telemetrisini bağlama: Oyun sunucusundan logları syslog veya doğrudan HTTP webhook ile Wazuh/python servisine yönlendirin. Basit JSON şeması yeterlidir: oyuncuID, eylem, zaman, koordinatlar, skor değişimi.
- 25-30 dk — İlk kurallar ve uyarılar: 3 temel kural ekleyin: hız/ratelimit anormalliği, anormal skor artışı, eşzamanlı imkansız pozisyon geçişleri. Bu kurallar tetiklendiğinde Slack/Discord webhook ve Kibana dashboard'a event gönderilsin.
Örnek kurallar ve algılama mantığı
Basit ama etkili kurallar örnekleri:
- Hız hack: Bir oyuncunun konum güncelleme hızına göre 1 saniyede mümkün olmayan mesafe katetmesi tespit edilirse uyarı üretilir.
- Skor spike: 30 saniye içinde normalin 5 katından fazla skor artışı olursa alarm.
- Çakışan ID/Oturum: Aynı oyuncuID ile aynı anda birden fazla farklı IP'den oturum açılması, bot paneline işaret edebilir.
Bu kuralları uygularken eşikleri yerel lig verilerine göre ayarlamak önemlidir; başlangıçta daha geniş toleransla başlamak yanlış pozitifleri azaltır.
Uyarı kanalizasyonu ve iş akışı
Algılama yapıldığında üç aşamalı bir akış önerilir:
- Anlık uyarı: Discord/Slack kanalına kısaltılmış bilgi (oyuncuID, kural, zaman, kısa neden).
- Otomatik kanıt toplama: Olay tetiklendiğinde ilgili pcap (5-30s), oyun replay, sunucu logları ve ekran görüntüsü talebi otomatik olarak alınsın.
- İnsan incelemesi: Moderatör özel bir panelden kanıtları inceler, gerekiyorsa disiplin sürecini başlatır.
Kanıt toplama — teknik ayrıntılar
Kanıt toplama mekanizması, otomatik ve güvenli olmalıdır:
- PCAP: Suricata/Zeek tetiklediğinde ilgili zaman aralığının pcap'ini saklayın. Küçük liglerde 10-30 saniye genelde yeterli.
- Replay/Log: Oyun sunucusunda ilgili maçın replay dosyasını veya olay tabanlı log segmentini export edin.
- Process/Memory dump: Sadece yasal ve oyuncu rızası varsa kullanılmalı; yerel liglerde genelde gerekmez.
- Hash ve zincir: Tüm kanıt dosyalarını SHA256 ile imzalayın ve bu hashleri merkezi bir veritabanında saklayın. Bu, kanıt bütünlüğünü korur.
İyi bir uygulama: Her kanıt paketine meta veri ekleyin — olay ID, tetikleyen kural, zaman damgası, hash ve inceleme durumu.
Yanlış pozitifleri azaltma ve sürekli iyileştirme
Otomatik sistemler başlangıçta yüksek yanlış pozitif üretebilir. Bunu azaltmak için:
- İnsan onaylı örnekler toplayın ve kuralları buna göre daraltın.
- Whitelisting: Tanınmış araçlar, test hesapları ve admin hareketleri için istisnalar oluşturun.
- Basit ML kullanımı: Zamanla toplanan veriyle anomali tabanlı modeller (Isolation Forest, z-score) yerel düzeyde oluşturulabilir.
Yasal ve etik hususlar
Yerel lig düzenleyicileri için kritik noktalar:
- Oyuncuları veri toplama, kayıt ve kanıt süreçleri hakkında bilgilendirin. Gizlilik politikası ve kabul sözleşmesi şarttır.
- Kanıt toplama sırasında kişisel verilerin (ör. IP, ekran görüntüsü üzerindeki isimler) yönetimine dikkat edin.
- Gerektiğinde yerel yasal mevzuata uyun; process/memory dump gibi ileri teknikler için açık onay alın.
Pratik örnek: Hız kuralının pseudo-uygulaması
Oyun sunucusu her konum güncellemesini JSON ile telemetri servisine gönderir. Basit mantık:
- Her oyuncunun son 3 konumunu tut.
- Delta mesafe / delta zaman hesapla. Eğer saniyede izin verilen maksimumın 3 katı ise uyarı ver.
- Uyarı esnasında 10 saniye öncesi-sonrası pcap ve replay paketini topla.
Kanıt depolama ve raporlama
Kanıtları merkezi, erişimi kısıtlı bir dizine koyun. Her kanıt paketi için metadataları Elasticsearch'e atın. Kibana üzerinden aşağıdakileri kolayca raporlayabilirsiniz:
- Sıklıkla tetiklenen kurallar
- En çok uyarı üreten oyuncular (inceleme gerektirenler)
- Yanlış pozitif oranı (inceleme sonrası etikete göre)
Sık karşılaşılan sorunlar ve çözümleri
- Yüksek yanlış pozitif: Eşikleri gevşetin, insan onayını zorunlu kılın.
- Fazla veri, az depolama: Kısa pcap/replay süreleri, sıkıştırma ve saklama politikası (ör. 30 gün) uygulayın.
- Gizlilik endişeleri: Oyuncu onayı ve erişim kontrolü ile düzeltin.
Uzun vadede yapılabilecek geliştirmeler
Başlangıç safhasından sonra şu iyileştirmeler faydalı olur:
- Makine öğrenmesi ile davranış tabanlı profilleme.
- Otomatik adli rapor oluşturma (PDF) — kanıt + zaman çizelgesi.
- Topluluk geri bildirimi ve şeffaf itiraz süreçleri.
Sonuç
Yerel ligler, düşük maliyetli ve açık kaynak araçlarla 30 dakika içinde işleyen bir hile tespit ve kanıt toplama hattı kurabilirler. Anahtar: sunucu tarafı odak, ağ analizi, otomatik ama insan onaylı iş akışı ve sağlam kanıt zinciri. Bu rehberi uygulayarak adil oyun ortamını hızlıca tesis edebilirsiniz.
İleri okuma/başlangıç kaynakları: Suricata, Zeek, Wazuh, Elasticsearch/Kibana, CrowdSec belgeleri. Kurulum sırasında her bir bileşenin resmi rehberini takip etmek entegrasyonu kolaylaştırır.