Grim Anticheat — Minecraft için hile karşıtı eklenti
Grim Anticheat (GrimAC), Minecraft 1.8–26.1.2 için açık kaynaklı (GPL-3.0) bir hile korumasıdır; kalıp yerine hareket tahminiyle Reach ve…
Grim Anticheat (GrimAC), Minecraft 1.8–26.1.2 için açık kaynaklı (GPL-3.0) bir hile korumasıdır; kalıp yerine hareket tahminiyle Reach ve Timer'ı denetler, Discord uyarıları ve SQLite geçmişi sunar.
Grim Anticheat — Minecraft için hile karşıtı eklenti
Java: 17 veya daha yenisi
Desteklenen Minecraft sürümleri: 1.8 – 26.1.2
Eklenti sürümü: 2.3.74
Grim Anticheat (GrimAC), GPL-3.0 lisanslı, açık kaynaklı bir sunucu tabanlı Minecraft hile karşıtı (anti-cheat) eklentisidir. Eklenti, davranışları sabit kalıplarla karşılaştırmak yerine oyuncu hareketlerini simüle ederek çalışır, bu da onu çoğu ücretsiz alternatiften ayırır.
Ana görevi, savaşta, harekette veya bloklarla etkileşimde haksız avantaj sağlayan izin verilmeyen istemci (client) modifikasyonlarını tespit etmektir. Eklentinin kendisi oyuncuları banlamaz — ihlalleri kaydeder ve cezalandırmayı başka bir eklentiye (LiteBans, AdvancedBan veya yapılandırma aracılığıyla herhangi bir özel komuta) devreder.
Yaklaşım: kalıplar yerine hareket tahmini
Klasik ücretsiz hile korumaları, önceden kaydedilmiş davranış kalıplarına göre çalışır. Bu yöntemin bariz bir sınırlaması vardır — veritabanına yeni bir kalıp eklenene kadar modifikasyonun her güncellemesi potansiyel olarak tespiti atlar.
GrimAC bunun yerine Movement Simulation Engine (Hareket Simülasyon Motoru) içerir. Sunucu, etraftaki blokları, iksir etkilerini, örümcek ağlarını, baloncuk sütunlarını, tekneleri, domuzları, strider'ları, elytra'ları ve düzinelerce başka durumu hesaba katarak oyuncunun belirli bir oyun tikinde nerede olabileceğini kendi hesaplar. İstemci mümkün olanın ötesine geçen koordinatlar gönderirse, bloklardaki sapmanın (offset) hesaplanmasıyla Simulation (Simülasyon) kontrolü tetiklenir.
Ayrıca eklenti, her oyuncu için dünyanın kişisel bir kopyasını tutar. Yığınlar (Chunk'lar) paletler kullanılarak 16–64 KB'ye sıkıştırılır, bu da önbelleği 200+ çevrimiçi oyuncuda bile yeterince hafif hale getirir. Bu mimari, paketler (packets) aracılığıyla diğer eklentiler tarafından yerleştirilen sahte blokları güvenli bir şekilde işlemeyi mümkün kılar.

Sohbetteki /grim help komutunun çıktısı
Kontroller (Checks)
Kontroller işlevsel gruplara ayrılmıştır. İsimler kaynak koddan alınmıştır — yönetici bunları /grim verbose komutunda ve webhook mesajlarında görür. İsimlerin kendisi izin verilmeyen modifikasyonların isimleri değildir — bu, eklentinin iç sınıflandırmasıdır.
Hareket (Movement)
Simulation — ana kontrol. Fiziksel olarak mümkün bir yörüngeye uymayan oyuncu pozisyonundaki tüm değişiklikleri tespit eder: izin verilmeyen hızlanma, desteksiz hareket, blokların içinden geçme.
Timer, TimerLimit, NegativeTimer, VehicleTimer — istemcinin iç zamanının hızlanmasını kaydeder. Bu, hızlandırılmış eşya kullanımı ve ok atışı için modifikasyonların üzerine inşa edildiği temeldir. Tespit eşiği, normal hızın yaklaşık 1.005 katıdır — çoğu ücretsiz alternatiften daha hassastır.
NoFall — düşme durumunun sahteciliği (spoofing). Modifikasyon, düşme hasarını iptal etmek için sahte bir onGround=true gönderir; kontrol bunu görür.
Phase — katı bir bloğun içinden geçme hareketi. Duvarlardan geçmenizi veya korumalı alanlara girmenizi sağlayan modifikasyonların temel davranışıdır.
Savaş (Combat)
Reach — izin verilen mesafenin ötesinden saldırı.
Hitboxes — hedefin gerçek hitbox'ını ıskalayan saldırı.
Knockback, Explosion — istemci darbelerden veya patlamalardan kaynaklanan momentumu görmezden gelir.
Aim, Interact — vuruştan önce yanlış kafa dönüşü, fiziksel olarak imkansız etkileşimler.
Paketler ve Blok Yerleştirme
BadPackets, PacketOrder, Crash — yanlış paket sırası, kasten biçimlendirilmiş paketlerle sunucuyu çökertme girişimleri.
NoSlow — oyuncu yemek yerken, ok atarken, kalkan kullanırken veya örümcek ağında sürünürken yavaşlamaz.
Blok yerleştirme kontrolleri grubu — bunu yapmak için fiziksel yetenek olmadan bir bloğun yerleştirilmesini kaydeder: çok uzakta, ulaşılamaz bir yönde, desteksiz havada.
Baritone — otomatik yardımcı botların hareket kalıbı.
Exploit — elytra'da Sprint-Jump (Depar-Zıplama) istismarı gibi belirli açıklar (exploits).
Temel yönetici komutları
Komut | Amacı |
| Kısa açıklamalar içeren komutların listesi |
| Sohbetteki uyarıları açıp kapatma |
| Önbellek ve eşikler olmadan her bayrağı (flag) göster |
| İstemci sürümü, marka (Vanilla/Fabric/Lunar/Forge), fare hassasiyeti, FastMath durumu |
| Veritabanından oturumların ve ihlallerin sayfalandırılmış geçmişi |
| İzleyici (spectator) moduna geç ve oyuncuya ışınlan |
| Önceki konuma geri dön |
| Belirli bir bayrak ID'si için hata ayıklama günlüğünü (debug log) indir |
| Tüm yapılandırmaları yeniden yükle, aktif ihlalleri sıfırla |
| Geliştirici modu: tahmin ile sapmalı gerçek hareketin karşılaştırması |
| Gerçek bir ihlal beklemeden Discord webhook'unu test et |

Sohbetteki /grim profile komutunun çıktısı — istemci sürümü, marka, fare hassasiyeti ve oyuncunun FastMath durumu
Uyarılar ve Cezalar
Her kontrolün zamanla kademeli olarak azalan kendi ihlal sayacı vardır. Bu çok önemlidir: kısa bir gecikme (lag) veya rastgele bir hata kalıcı bir yasağa dönüşmez, tepki yalnızca istikrarlı bir ihlalde tetiklenir. Tepkinin kendisi yönetici tarafından belirlenir — her kontrol grubu için komutun hangi ihlalde ve ne sıklıkla yürütüleceği belirtilir.
Mantık şu şekildedir: tepkinin tetikleneceği ihlal numarasını ve daha sonra ne sıklıkla tekrarlanacağını belirten aralığı belirtirsiniz. 100:0 kick %player% kaydı, oyuncunun tam yüzüncü ihlalde atılacağı (kick) ve komutun tekrar yürütülmeyeceği anlamına gelir. 5:3 [alert] kaydı beşinci ihlalde tetiklenir, ardından sekizinci, on birinci vb. durumlarda tetiklenir — uyarı, oyun içi sohbette erişimi olan oyunculara gönderilecektir.
Komutun yeri, Grim'in özel bir etiketi ([alert] — sohbette mesaj, [log] — konsolda ve veritabanında kayıt, [webhook] — Discord'a gönderme, [proxy] — diğer backend sunucularına aktarım) veya sunucudan herhangi bir konsol komutu ile doldurulabilir. Kullanılabilir değişkenler oyuncu takma adı, kontrol adı ve ihlal sayısıdır — standart yer tutucular. Bu sayede Grim, ekstra köprüler olmadan harici bir ban eklentisine bağlanır.
Discord webhook'ları
Discord'a uyarı göndermek için GrimAC yerleşik bir entegrasyona sahiptir. Mesajın görünümü tamamen özelleştirilebilir — embed renginden hangi alanların görüntüleneceğine kadar. Tamamlanan mesajda oyuncunun takma adını, kontrol adını, ihlal sayısını, istemci sürümünü ve markasını, mevcut ping değerini ve olayın gerçekleştiği andaki sunucu tps değerini görebilirsiniz. Hem normal kanallar hem de Discord'daki forum kanalları desteklenir. Yapılandırma önceden kontrol edilmelidir — /grim testwebhook komutu gerçek bir ihlali beklemeden bir test mesajı gönderir.
Uyumsuz İstemci Modları
Resmi wiki, vanilla mekaniğini bozan veya yanlış pozitifleri (false-positive) kışkırtan modların ayrı bir listesini tutar. Liste kapsamlı değildir — eklentinin GitHub wikisindeki 'Known incompatible client mods' (Bilinen uyumsuz istemci modları) sayfasında güncellenmektedir. Bir oyuncu istikrarlı bir ping'e sahipken ihlal belirtisi göstermeden devasa bir şekilde flag alıyorsa (uyarı tetikliyorsa), ilk hipotez bu listedeki bir istemci modudur.
İhlal Geçmişinin Saklanması
GrimAC, oturumlara bağlı bir geçmiş veritabanı tutar. Oturum, bir oyuncunun sunucuya tek bir bağlantısıdır. /grim history <oyuncu> komutu şunları gösterir: oyuncu ne zaman katıldı, oturum ne kadar sürdü, kaç ihlal yapıldı, hangi istemciden bağlandı, kontrollerin bir dökümü ile.
Desteklenen backend'ler: SQLite (varsayılan olarak, yerel dosya data/history.v1.db), MySQL, PostgreSQL, MongoDB, Redis. Tek bir sunucu için SQLite yeterlidir. Birden fazla Grim kurulumu (instance) olan bir ağ için, paylaşılan veritabanına sahip bir ağ backend'i gerekir — genellikle MySQL veya Postgres.
Saklama süresi (retention) ayrı çalışır — eski kayıtların otomatik olarak temizlenmesi. Varsayılan olarak oturumlar 90 gün, ihlaller — 365 gün yaşar. Bu yapılandırılabilir veya devre dışı bırakılabilir.

Sohbetteki /grim history komutunun çıktısı
Yapılandırma (Configuration)
Ayarlar plugins/Grim/ klasöründeki birkaç YAML dosyasına dağılmıştır.
İlk kurulumda gerçekten dikkat etmeye değer parametreler:
Parametre | Dosya | Ne İşe Yarar |
| config.yml | Simulation'ın bir ihlal olarak kabul edilmesinden önceki blok cinsinden sapma eşiği. Daha azı — daha katıdır, gecikme (lag) durumunda daha fazla yanlış pozitif verir. |
| config.yml | Vanilla sınırının ötesindeki hitbox genişletmesi. 0.0005, 3.0005 bloktan itibaren aşımı kaydeder. |
| config.yml | Daha doğru Reach (erişim) tespiti için her tikin (tick) sonunda ek bir paket. 1.8 PvP sunucularında kullanışlıdır; aksi takdirde gereksiz trafik oluşturur. |
| config.yml | Test kontrollerini etkinleştirir. Gerekmedikçe aktif edilmemelidir. |
| config.yml | Oyuncunun otomatik olarak atılmasına (kick) kadar geçen saniye cinsinden zaman aşımı (timeout). |
| config.yml | Sorunlu Forge 1.18.2–1.19.3 sürümlerindeki istemcileri sunucudan atar. |
| config.yml | Uyarıları proxy aracılığıyla backend sunucuları arasında aktarma. Velocity'de bungee-plugin-message-channel gerektirir. |
| database.yml | Geçmişi kaydetmek için ana anahtar. |
| database.yml | İhlallerin nereye yazılacağı: sqlite, mysql, postgres, mongo, redis, none (hiçbiri). |
config.yml içindeki diğer parametreler (azalma katsayıları, tavanlar, firework boost gibi belirli mekanikler için ping sınırları), tespitin katılığını ve zayıf ping'e sahip oyuncuların konforu arasındaki dengeyi hassas bir şekilde ayarlar. Çoğu yönetici bunları varsayılan değerlerinde bırakır — bunlar, eklentinin yazarı tarafından doğruluk ile yüksek ping toleransı arasında bir uzlaşma olarak seçilmiştir.
Sonuç
Grim Anticheat, yaygın hareket, savaş ve paket işleme ihlallerinin çoğunu kalıplarla karşılaştırmak yerine hareket tahminleriyle kaydeder. Sonuç olarak eklenti, aynı modifikasyonların yeni sürümlerine karşı dayanıklıdır. Gerçek sınırlaması: aimbot'lar (fare motor becerilerine dayalı) veya auto-clicker'lar (tıklama frekansına dayalı) için sezgisel (heuristic) kontroller yoktur — bunlar henüz yayınlanmamış olan Premium dalında vaat edilmektedir. GrimAC, izin verilmeyen modifikasyonlar yüklemek için gerçek bir motivasyonun olduğu sunucular için uygundur — PvP arenaları, mini oyun ağları, pahalı kaynaklara sahip hayatta kalma sunucuları, anarşi sunucuları. 10 arkadaşlık küçük, yaratıcı bir hayatta kalma sunucusu için eklenti aşırıya kaçar — ciddi bir ihlal riski olmadan, tahmin motoru yalnızca sunucunun kaynaklarını harcar.
Kurulum
Tipik bir kurulum yaklaşık 5 dakika sürer. Akış aynıdır; yalnızca loader ve uygun build değişir.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











