Grim Anticheat — Minecraft Anti-Cheat-Plugin
Grim Anticheat ist ein Open-Source-Plugin für Minecraft, das unfaire Vorteile durch Bewegungssimulation statt fester Verhaltensmuster…
Grim Anticheat ist ein Open-Source-Plugin für Minecraft, das unfaire Vorteile durch Bewegungssimulation statt fester Verhaltensmuster erkennt.
Grim Anticheat — Minecraft Anti-Cheat-Plugin
Java: 17 oder neuer
Unterstützte Minecraft-Versionen: 1.8 – 26.1.2
Plugin-Version: 2.3.74
Grim Anticheat (GrimAC) ist ein serverseitiges Open-Source-Anti-Cheat-Plugin für Minecraft, das unter der GPL-3.0 lizenziert ist. Das Plugin basiert auf der Simulation von Spielerbewegungen anstatt auf dem Vergleich mit festen Verhaltensmustern, was es von den meisten kostenlosen Alternativen unterscheidet.
Seine Hauptaufgabe ist es, unerlaubte Client-Modifikationen zu erkennen, die unfaire Vorteile im Kampf, bei der Bewegung oder bei der Interaktion mit Blöcken bieten. Das Plugin selbst bannt die Spieler nicht — es zeichnet den Verstoß auf und übergibt die Ausführung der Strafe an ein anderes Plugin (LiteBans, AdvancedBan oder einen benutzerdefinierten Befehl in der Konfiguration).
Ansatz: Bewegungsvorhersage statt Muster
Klassische kostenlose Anti-Cheats verlassen sich auf vorab aufgezeichnete Verhaltensmuster. Diese Methode hat eine offensichtliche Einschränkung — jedes Modifikations-Update kann möglicherweise die Erkennung umgehen, bis der Datenbank ein neues Muster hinzugefügt wird.
GrimAC verfügt stattdessen über eine Movement Simulation Engine. Der Server berechnet genau, wo sich ein Spieler in einem bestimmten Spiel-Tick befinden könnte, unter Berücksichtigung von umliegenden Blöcken, Trankeffekten, Spinnweben, Blasensäulen, Booten, Schweinen, Schreitern, Elytren und Dutzenden anderer Situationen. Wenn der Client Koordinaten sendet, die über das physikalisch Mögliche hinausgehen, wird die Simulation-Prüfung ausgelöst und der Block-Offset berechnet.
Zusätzlich verwaltet das Plugin eine persönliche Kopie der Welt für jeden Spieler. Chunks werden mithilfe von Paletten auf 16–64 KB komprimiert, was den Cache selbst bei über 200 Online-Spielern recht leicht macht. Diese Architektur verarbeitet sicher gefälschte Blöcke, die von anderen Plugins über Pakete platziert werden.

Befehlsausgabe von /grim help im Chat
Prüfungen
Die Prüfungen sind in funktionale Gruppen unterteilt. Die Namen stammen aus dem Quellcode — Administratoren sehen sie in /grim verbose und in Webhook-Nachrichten. Die Namen selbst sind keine Bezeichnungen für unerlaubte Modifikationen — es ist die interne Klassifizierung des Plugins.
Bewegung
Simulation — die Hauptprüfung. Erkennt alle Änderungen in der Spielerposition, die keiner physikalisch möglichen Flugbahn entsprechen: unerlaubte Beschleunigung, Bewegung ohne Halt, Bewegung durch Blöcke.
Timer, TimerLimit, NegativeTimer, VehicleTimer — erfassen die Beschleunigung der internen Client-Zeit. Dies ist die Grundlage von Modifikationen, die die Verwendung von Gegenständen und das Schießen mit dem Bogen beschleunigen. Der Erkennungsschwellenwert liegt bei etwa 1.005× der normalen Zeitgeschwindigkeit — viel genauer als bei den meisten kostenlosen Alternativen.
NoFall — Vortäuschen des Fallzustands. Die Modifikation sendet ein gefälschtes onGround=true, um Fallschaden zu vermeiden; die Prüfung erkennt dies.
Phase — Bewegung durch einen festen Block. Das grundlegende Verhalten von Modifikationen, die es ermöglichen, durch Wände zu gehen oder in geschützte Bereiche einzudringen.
Kampf
Reach — Angriff über die zulässige Entfernung hinaus.
Hitboxes — Angriff am tatsächlichen Hitbox des Ziels vorbei.
Knockback, Explosion — der Client ignoriert den Impuls von Schlägen oder Explosionen.
Aim, Interact — falsche Kopfdrehung vor einem Schlag, physikalisch unmögliche Interaktionen.
Pakete und Blockplatzierung
BadPackets, PacketOrder, Crash — falsche Paketreihenfolge, Versuche, den Server mit absichtlich falsch formatierten Paketen zum Absturz zu bringen.
NoSlow — der Spieler wird nicht langsamer beim Essen, Bogenschießen, Verwenden eines Schildes oder Kriechen durch Spinnweben.
Prüfgruppe Blockplatzierung — erkennt das Platzieren eines Blocks, ohne dass dies physikalisch möglich wäre: zu weit weg, in einer unerreichbaren Richtung, in der Luft ohne Halt.
Baritone — das Bewegungsmuster von automatisierten Bot-Assistenten.
Exploit — einzelne Exploits, wie z. B. Sprint-Jump-Missbrauch mit einer Elytren.
Wichtige Admin-Befehle
Befehl | Zweck |
| Befehlsliste mit kurzen Beschreibungen |
| Warnmeldungen im Chat ein- oder ausschalten |
| Zeigt jedes Flag ohne Puffer und Schwellenwerte an |
| Client-Version, Marke (Vanilla/Fabric/Lunar/Forge), Mausempfindlichkeit, FastMath-Status |
| Paginierter Verlauf von Sitzungen und Verstößen aus der Datenbank |
| Beobachtermodus betreten und zum Spieler teleportieren |
| Zur vorherigen Position zurückkehren |
| Debug-Protokoll für eine bestimmte Flag-ID herunterladen |
| Alle Konfigurationen neu laden, aktive Verstöße zurücksetzen |
| Entwicklermodus: Vorhersage vs. tatsächliche Bewegung mit Offset |
| Den Discord-Webhook testen, ohne auf einen echten Verstoß zu warten |

Ausgabe von /grim profile im Chat — Client-Version, Marke, Mausempfindlichkeit und FastMath-Status des Spielers
Warnungen und Strafen
Jede Prüfung hat einen eigenen Verstoßzähler, der im Laufe der Zeit allmählich abnimmt. Das ist entscheidend: Ein kurzer Lag oder ein zufälliger Fehler summiert sich nicht zu einem dauerhaften Bann, die Reaktion wird nur bei anhaltenden Verstößen ausgelöst. Die Reaktion selbst wird vom Administrator definiert — für jede Prüfgruppe wird festgelegt, ab welchem Verstoß und wie oft ein Befehl ausgeführt werden soll.
Die Logik ist wie folgt: Geben Sie die Verstoßnummer an, nach der die Reaktion eingeschaltet wird, und das Intervall — wie oft sie danach wiederholt wird. Der Eintrag 100:0 kick %player% bedeutet, dass der Spieler genau beim 100. Verstoß einen Kick erhält und der Befehl nicht erneut ausgeführt wird. Der Eintrag 5:3 [alert] wird beim 5. Verstoß ausgelöst, dann beim 8., 11. und so weiter — die Warnung geht im Spiel-Chat an Spieler mit entsprechenden Rechten ein.
Anstelle des Befehls kann ein Service-Tag von Grim selbst stehen ([alert] — Chat-Nachricht, [log] — Konsolen- und Datenbankeintrag, [webhook] — Discord-Benachrichtigung, [proxy] — Weiterleitung an andere Backend-Server) oder ein beliebiger Serverkonsolenbefehl. In den Ersetzungen stehen der Spielername, der Prüfungsname und die Anzahl der Verstöße als Standard-Platzhalter zur Verfügung. Dadurch kann Grim ohne zusätzliche Brücken mit einem externen Ban-Plugin verbunden werden.
Discord-Webhooks
GrimAC verfügt über eine integrierte Anbindung für den Versand von Benachrichtigungen an Discord. Das Erscheinungsbild der Nachricht ist vollständig anpassbar — von der Embed-Farbe bis hin dazu, welche Felder angezeigt werden sollen. In der fertigen Nachricht sind Spielername, Prüfungsname, Anzahl der Verstöße, Client-Version und Marke, aktueller Ping und TPS des Servers zum Zeitpunkt des Ereignisses ersichtlich. Es werden sowohl reguläre Kanäle als auch Discord-Forumskanäle unterstützt. Es wird empfohlen, die Konfiguration vorher zu prüfen — der Befehl /grim testwebhook sendet eine Testnachricht, ohne auf einen echten Verstoß warten zu müssen.
Inkompatible Client-Mods
Das offizielle Wiki führt eine separate Liste von Mods, die entweder Vanilla-Mechaniken stören oder False-Positives auslösen. Diese Liste ist nicht erschöpfend und wird auf der Seite "Known incompatible client mods" im GitHub-Wiki des Plugins aktualisiert. Wenn ein Spieler massiv Flags bei stabilem Ping und ohne Anzeichen von Cheats generiert, ist die erste Hypothese eine Client-Mod aus dieser Liste.
Speicherung des Verstoßverlaufs
GrimAC unterhält eine Verlaufsdatenbank, die mit Sitzungen verknüpft ist. Eine Sitzung ist eine einzelne Verbindung eines Spielers zum Server. Der Befehl /grim history <Spieler> zeigt: wann der Spieler beigetreten ist, wie lange die Sitzung dauerte, wie viele Verstöße auftraten, von welchem Client, aufgeschlüsselt nach Prüfungen.
Unterstützte Backends: SQLite (Standard, lokale Datei data/history.v1.db), MySQL, PostgreSQL, MongoDB, Redis. SQLite reicht für einen einzelnen Server aus. Für ein Netzwerk mit mehreren Grim-Instanzen wird ein Netzwerk-Backend mit einer gemeinsamen Datenbank benötigt — normalerweise MySQL oder Postgres.
Zusätzlich gibt es Retention — das automatische Löschen alter Einträge. Standardmäßig bleiben Sitzungen 90 Tage und Verstöße 365 Tage erhalten. Dies kann konfiguriert oder deaktiviert werden.

Ausgabe von /grim history im Chat
Konfiguration
Die Einstellungen sind auf mehrere YAML-Dateien im Ordner plugins/Grim/ verteilt.
Parameter, auf die man bei der Ersteinrichtung besonders achten sollte:
Parameter | Datei | Was er bewirkt |
| config.yml | Schwellenwert für Block-Offsets, ab dem die Simulation als Verstoß gewertet wird. Niedriger — strenger, mehr False-Positives bei Lags. |
| config.yml | Erweiterung der Hitbox über das Vanilla-Limit hinaus. 0.0005 erfasst eine Überschreitung ab 3.0005 Blöcken. |
| config.yml | Ein zusätzliches Paket am Ende jedes Ticks für eine genauere Reach-Erkennung. Nützlich auf 1.8 PvP-Servern; andernfalls entsteht unnötiger Datenverkehr. |
| config.yml | Aktiviert Testprüfungen. Besser nicht ohne Grund einschalten. |
| config.yml | Timeout in Sekunden vor dem automatischen Kicken eines Spielers. |
| config.yml | Clients auf problematischen Forge-Versionen 1.18.2–1.19.3 kicken. |
| config.yml | Warnungen über Proxys an Backend-Server weiterleiten. Erfordert bungee-plugin-message-channel in Velocity. |
| database.yml | Hauptschalter für die Speicherung des Verlaufs. |
| database.yml | Wo Verstöße gespeichert werden sollen: sqlite, mysql, postgres, mongo, redis, none. |
Die übrigen Parameter in config.yml (Decay-Koeffizienten, Ceilings, Ping-Limits für bestimmte Mechaniken wie Firework Boost) kalibrieren genau die Balance zwischen Strenge der Erkennung und Komfort für Spieler mit schlechtem Ping. Die meisten Administratoren belassen sie auf den Standardwerten — diese wurden vom Autor des Plugins als Kompromiss zwischen Genauigkeit und Toleranz gegenüber hohem Ping optimiert.
Fazit
Grim Anticheat erkennt die häufigsten Verstöße bei Bewegung, Kampf und Paketverarbeitung durch die Vorhersage möglicher Bewegungen statt durch den Vergleich mit Mustern. Dadurch ist das Plugin resistent gegen neue Versionen derselben Modifikationen. Reale Einschränkung: Es fehlen heuristische Überprüfungen auf Aim-Assist anhand der Mausbewegung und Autoclicks anhand der Klickfrequenz — diese sind im Premium-Zweig versprochen, der noch nicht veröffentlicht wurde. GrimAC eignet sich für Server, bei denen eine echte Motivation besteht, unerlaubte Modifikationen zu verwenden — PvP-Arenen, Minigame-Netzwerke, Survival-Server mit wertvollen Ressourcen, Anarchy-Server. Für ein kleines kreatives Survival mit 10 Freunden ist das Plugin übertrieben — ohne ernsthaftes Risiko von Verstößen verbraucht die Vorhersage-Engine lediglich Serverressourcen.
Installation
Eine typische Installation dauert etwa 5 Minuten. Der Ablauf ist gleich; nur Loader und der passende Build unterscheiden sich.
- 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.











