Grim Anticheat — anticheat plugin pro Minecraft
Grim Anticheat (GrimAC) je open-source anticheat (GPL-3.0) pro Minecraft 1.8–26.1.2, který predikuje pohyb hráče místo vzorců; kontroluje…
Grim Anticheat (GrimAC) je open-source anticheat (GPL-3.0) pro Minecraft 1.8–26.1.2, který predikuje pohyb hráče místo vzorců; kontroluje Reach a Timer, ukládá historii do SQLite/MySQL.
Grim Anticheat — anticheat plugin pro Minecraft
Java: 17 nebo novější
Podporované verze Minecraftu: 1.8 – 26.1.2
Verze pluginu: 2.3.74
Grim Anticheat (GrimAC) je serverový open-source anticheat pro Minecraft pod licencí GPL-3.0. Plugin funguje na principu simulace pohybů hráče, místo porovnávání s pevnými vzorci chování, což jej odlišuje od většiny bezplatných alternativ.
Hlavním úkolem je odhalit nepovolené klientské modifikace, které poskytují nespravedlivou výhodu v boji, pohybu nebo při interakci s bloky. Samotný plugin hráče nebanuje — zaznamenává porušení a předává trest jinému pluginu (LiteBans, AdvancedBan nebo jakémukoli vlastnímu příkazu přes konfiguraci).
Přístup: predikce pohybu místo vzorců
Klasické bezplatné anticheaty fungují podle předem zaznamenaných vzorců chování. Tato metoda má zřejmé omezení — každá aktualizace modifikace potenciálně obchází detekci, dokud není do databáze přidán nový vzorec.
GrimAC místo toho obsahuje Movement Simulation Engine. Server sám vypočítává, kde by se hráč mohl nacházet v konkrétním herním ticku, s ohledem na bloky kolem, efekty lektvarů, pavučiny, bublinové sloupce, lodě, prasata, stridery, krovky a desítky dalších situací. Pokud klient odešle souřadnice, které jdou nad rámec možného, spustí se kontrola Simulation s výpočtem posunu v blocích.
Odděleně plugin udržuje osobní kopii světa pro každého hráče. Chunky jsou komprimovány na 16–64 KB pomocí palet, díky čemuž je mezipaměť dostatečně lehká i při 200+ online hráčích. Tato architektura umožňuje bezpečně zpracovávat falešné bloky umístěné jinými pluginy prostřednictvím paketů.

Výstup příkazu /grim help v chatu
Kontroly
Kontroly jsou rozděleny do funkčních skupin. Názvy jsou převzaty ze zdrojového kódu — administrátor je vidí v /grim verbose a ve zprávách webhooku. Samotné názvy nejsou názvy nepovolených modifikací — jde o interní klasifikaci pluginu.
Pohyb
Simulation — hlavní kontrola. Odhaluje jakékoli změny pozice hráče, které neodpovídají fyzicky možné trajektorii: nepovolené zrychlení, pohyb bez opory, pohyb skrz bloky.
Timer, TimerLimit, NegativeTimer, VehicleTimer — zaznamenávají zrychlení interního času klienta. To je základ, na kterém staví modifikace pro zrychlené používání předmětů a střelbu z luku. Prahová hodnota detekce je přibližně 1.005× normální rychlosti — přesnější než většina bezplatných alternativ.
NoFall — falšování stavu pádu. Modifikace odešle falešné onGround=true, aby zrušila poškození z pádu; kontrola to vidí.
Phase — pohyb skrz pevný blok. Základní chování modifikací, které umožňují procházet stěnami nebo vstupovat do chráněných zón.
Bojové
Reach — útok mimo povolenou vzdálenost.
Hitboxes — útok mimo skutečný hitbox cíle.
Knockback, Explosion — klient ignoruje hybnost z úderů nebo explozí.
Aim, Interact — nesprávná rotace hlavy před úderem, fyzicky nemožné interakce.
Pakety a pokládání bloků
BadPackets, PacketOrder, Crash — nesprávné pořadí paketů, pokusy shodit server záměrně naformátovanými pakety.
NoSlow — hráč není zpomalen při jídle, střelbě z luku, používání štítu nebo plazení v pavučině.
Skupina kontrol pokládání bloků — zaznamenává položení bloku bez fyzické možnosti to udělat: příliš daleko, v nedostupném směru, ve vzduchu bez opory.
Baritone — vzor pohybu automatizovaných pomocných botů.
Exploit — specifické exploity, například zneužití Sprint-Jump na krovkách.
Základní příkazy administrátora
Příkaz | Účel |
| Seznam příkazů s krátkými popisy |
| Zapnutí nebo vypnutí upozornění v chatu |
| Zobrazení každého flagu bez vyrovnávací paměti a prahových hodnot |
| Verze klienta, značka (Vanilla/Fabric/Lunar/Forge), citlivost myši, status FastMath |
| Stránkovaná historie relací a porušení z databáze |
| Přejít do režimu diváka a teleportovat se k hráči |
| Návrat na předchozí pozici |
| Stáhnout debug log pro konkrétní ID flagu |
| Znovu načíst všechny konfigurace, resetovat aktivní porušení |
| Vývojářský režim: predikce vs skutečný pohyb s posunem |
| Otestovat Discord webhook bez čekání na skutečné porušení |

Výstup příkazu /grim profile v chatu — verze klienta, značka, citlivost myši a status FastMath hráče
Upozornění a tresty
Každá kontrola má vlastní počítadlo porušení, které postupně klesá v čase. To je zásadní: krátký lag nebo náhodná chyba se nenakumulují do trvalého banu, reakce se spustí pouze při stabilním porušení. Samotná reakce je nastavena administrátorem — pro každou skupinu kontrol je předepsáno, při kterém porušení a jak často se má příkaz vykonat.
Logika je následující: uvedete číslo porušení, po kterém se reakce spustí, a interval — jak často se bude poté opakovat. Záznam 100:0 kick %player% znamená, že hráč bude vyhozen přesně při stém porušení a příkaz se znovu neprovede. Záznam 5:3 [alert] se spustí při pátém porušení, pak při osmém, jedenáctém a tak dále — upozornění bude odesláno do herního chatu hráčům s přístupem.
Místo příkazu může být buď speciální značka od samotného Grimu ([alert] — zpráva v chatu, [log] — záznam v konzoli a databázi, [webhook] — odeslání na Discord, [proxy] — přenos na jiné backendové servery), nebo jakýkoli příkaz konzole ze serveru. Dostupné proměnné jsou přezdívka hráče, název kontroly a počet porušení — standardní zástupné znaky. Díky tomu se Grim připojuje k externímu banovacímu pluginu bez dalších můstků.
Discord webhooky
Pro odesílání upozornění na Discord má GrimAC vestavěnou integraci. Vzhled zprávy je plně přizpůsobitelný — od barvy vložení po to, jaká pole se mají zobrazovat. V hotové zprávě můžete vidět přezdívku hráče, název kontroly, počet porušení, verzi a značku klienta, aktuální ping a tps serveru v době události. Podporovány jsou jak běžné kanály, tak fóra na Discordu. Konfiguraci je vhodné zkontrolovat předem — příkaz /grim testwebhook odešle testovací zprávu bez čekání na skutečné porušení.
Nekompatibilní klientské modifikace
Oficiální wiki udržuje samostatný seznam modifikací, které buď porušují mechaniku vanilly, nebo provokují falešná pozitiva. Seznam není vyčerpávající — je aktualizován na stránce 'Known incompatible client mods' na GitHub wiki pluginu. Pokud má hráč masivní flagování při stabilním pingu a bez známek porušení, první hypotézou je klientská modifikace z tohoto seznamu.
Uchovávání historie porušení
GrimAC udržuje databázi historie vázanou na relace. Relace je jedno připojení hráče k serveru. Příkaz /grim history <hráč> ukazuje: kdy se hráč připojil, jak dlouho relace trvala, kolik porušení, z jakého klienta, s rozpisem podle kontrol.
Podporované backendy: SQLite (ve výchozím nastavení místní soubor data/history.v1.db), MySQL, PostgreSQL, MongoDB, Redis. SQLite je dostatečné pro jeden server. Pro síť s více instancemi Grim je vyžadován síťový backend se sdílenou databází — typicky MySQL nebo Postgres.
Uchovávání (retention) funguje odděleně — automatické mazání starých záznamů. Ve výchozím nastavení žijí relace 90 dní, porušení — 365 dní. To lze nakonfiguroovat nebo zakázat.

Výstup /grim history v chatu
Konfigurace
Nastavení jsou rozprostřena v několika YAML souborech ve složce plugins/Grim/
Parametry, kterým se opravdu vyplatí věnovat pozornost při prvním nastavování:
Parametr | Soubor | Co dělá |
| config.yml | Prahová hodnota posunu v blocích, než je Simulation považována za porušení. Menší — přísnější, více falešných pozitiv při lagu. |
| config.yml | Rozšíření hitboxu nad rámec limitu vanilly. 0.0005 zaznamenává překročení od 3.0005 bloku. |
| config.yml | Dodatečný paket na konci každého ticku pro přesnější detekci Reach. Užitečné na 1.8 PvP serverech; jinak vytváří zbytečný provoz. |
| config.yml | Povoluje testovací kontroly. Nemělo by být zapínáno bez důvodu. |
| config.yml | Počet sekund timeoutu do automatického vyhození hráče. |
| config.yml | Vyhazuje klienty na problematických verzích Forge 1.18.2–1.19.3. |
| config.yml | Přenos upozornění mezi backendovými servery přes proxy. Vyžaduje bungee-plugin-message-channel ve Velocity. |
| database.yml | Hlavní přepínač pro ukládání historie. |
| database.yml | Kam zapisovat porušení: sqlite, mysql, postgres, mongo, redis, none. |
Zbývající parametry v config.yml (koeficienty decay, ceilings, ping limity pro specifické mechaniky jako firework boost) jemně dolaďují rovnováhu mezi přísností detekce a pohodlím pro hráče se špatným pingem. Většina administrátorů je ponechává na výchozích hodnotách — byly vybrány autorem pluginu jako kompromis mezi přesností a tolerancí vůči vysokému pingu.
Závěr
Grim Anticheat zaznamenává většinu běžných porušení pohybu, boje a zpracování paketů pomocí predikcí pohybu, spíše než porovnávání se vzorci. Ve výsledku je plugin odolný vůči novým verzím stejných modifikací. Skutečné omezení: neexistují žádné heuristické kontroly pro aimboty (založené na motorice myši) nebo auto-clickery (založené na frekvenci kliknutí) — ty jsou přislíbeny ve větvi Premium, která ještě nebyla vydána. GrimAC je vhodný pro servery, kde existuje skutečná motivace instalovat nepovolené modifikace — PvP arény, sítě miniher, servery o přežití s drahými surovinami, anarchy servery. Pro malý kreativní server o přežití s 10 přáteli je plugin zbytečný — bez vážného rizika porušení prediktivní engine jen plýtvá prostředky serveru.
Instalace
Typická instalace trvá asi 5 minut. Postup je stejný; liší se jen loader a odpovídající verze.
- 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.











