Grim Anticheat — Minecraft anticheat-plugin
Grim Anticheat er et open-source anticheat-plugin til Minecraft, som forhindrer snyd ved hjælp af bevægelsessimulering i stedet for faste…
Grim Anticheat er et open-source anticheat-plugin til Minecraft, som forhindrer snyd ved hjælp af bevægelsessimulering i stedet for faste mønstre.
Grim Anticheat — Minecraft anticheat-plugin
Java: 17 eller nyere
Understøttede Minecraft-versioner: 1.8 – 26.1.2
Plugin-version: 2.3.74
Grim Anticheat (GrimAC) er en open-source server-anticheat til Minecraft under GPL-3.0-licensen. Pluginnet fungerer ved at simulere spillernes bevægelser i stedet for at sammenligne dem med fastlagte adfærdsmønstre, hvilket adskiller det fra de fleste gratis alternativer.
Hovedopgaven er at opdage ulovlige klientmodifikationer, der giver en uretfærdig fordel i kamp, bevægelse eller interaktion med blokke. Selve pluginnet banner ikke spillere — det registrerer blot overtrædelsen og videregiver straffen til et andet plugin (LiteBans, AdvancedBan eller enhver brugerdefineret kommando via konfigurationen).
Tilgang: forudsigelse af bevægelse i stedet for mønstre
Klassiske gratis anticheats afhænger af forudindspillede adfærdsmønstre. Denne metode har en åbenlys begrænsning — enhver opdatering af en modifikation kan potentielt omgå registreringen, indtil et nyt mønster tilføjes til databasen.
GrimAC indeholder derimod en Movement Simulation Engine. Serveren beregner præcis, hvor en spiller kunne opholde sig i en specifik game tick, og tager højde for omkringliggende blokke, potioneffekter, spindelvæv, boblekolonner, både, grise, stridere, dækvinger og snesevis af andre situationer. Hvis klienten sender koordinater, der overskrider det fysisk mulige, udløses Simulation-kontrollen og beregner blokkens forskydning (offset).
Desuden opretholder pluginnet en personlig kopi af verdenen for hver spiller. Chunks komprimeres til 16–64 KB ved hjælp af paletter, hvilket gør cachen ret let, selv med 200+ spillere online. Denne arkitektur behandler sikkert falske blokke placeret af andre plugins via pakker.

Kommando-output af /grim help i chatten
Kontroller
Kontrollerne er opdelt i funktionelle grupper. Navnene er taget fra kildekoden — administratorerne ser dem i /grim verbose og i webhook-beskeder. Selve navnene er ikke navnene på forbudte modifikationer — det er pluginnets interne klassificering.
Bevægelse
Simulation — hovedkontrollen. Den opdager alle ændringer i spillerens position, som ikke stemmer overens med en fysisk mulig bane: ulovlig acceleration, bevægelse uden støtte, bevægelse gennem blokke.
Timer, TimerLimit, NegativeTimer, VehicleTimer — registrerer acceleration af klientens interne tid. Dette danner grundlaget for modifikationer, der fremskynder forbrug af genstande og skydning med bue. Detekteringstærsklen er omkring 1.005× den normale tidshastighed — hvilket er meget mere præcist end de fleste gratis alternativer.
NoFall — forfalskning af faldtilstanden. En modifikation sender en falsk onGround=true for at ophæve faldskade; kontrollen opdager dette.
Phase — bevægelse gennem en solid blok. Den grundlæggende adfærd for modifikationer, der gør det muligt at gå gennem vægge eller komme ind i beskyttede områder.
Kamp
Reach — angreb uden for den maksimalt tilladte afstand.
Hitboxes — angreb, der rammer uden for målets faktiske hitbox.
Knockback, Explosion — klienten ignorerer impulsen fra slag eller eksplosioner.
Aim, Interact — forkert hovedrotation før et slag, fysisk umulige interaktioner.
Pakker og blokplacering
BadPackets, PacketOrder, Crash — forkert pakkerækkefølge, forsøg på at få serveren til at gå ned med bevidst fejlformaterede pakker.
NoSlow — spilleren mister ikke fart, når vedkommende spiser, skyder med bue, bruger et skjold eller kravler gennem spindelvæv.
Gruppen for kontrol af blokplacering — registrerer placering af en blok, når det er fysisk umuligt at gøre det: for langt væk, i en utilgængelig retning, midt i luften uden støtte.
Baritone — bevægelsesmønsteret for automatiserede bot-assistenter.
Exploit — enkelte exploits, såsom misbrug af Sprint-Jump med dækvinger.
Vigtige administrator-kommandoer
Kommando | Formål |
| Liste over kommandoer med korte beskrivelser |
| Slå advarsler i chatten til eller fra |
| Vis hver eneste flag uden buffer og tærskler |
| Klientversion, mærke (Vanilla/Fabric/Lunar/Forge), musefølsomhed, FastMath-status |
| Sideopdelt historik for sessioner og overtrædelser fra databasen |
| Gå i spectate-mode og teleportér til en spiller |
| Vend tilbage til forrige position |
| Download debug-log for et specifikt flag-ID |
| Genindlæs alle konfigurationer, nulstil aktive overtrædelser |
| Udviklertilstand: forudsigelse vs faktisk bevægelse med offset |
| Test Discord-webhooken uden at vente på en rigtig overtrædelse |

Kommando-output af /grim profile i chatten — klientversion, mærke, musefølsomhed og spillerens FastMath-status
Advarsler og straffe
Hver kontrol har sin egen overtrædelsestæller, som gradvist falder over tid. Dette er afgørende: et kortvarigt lag eller en tilfældig fejl akkumuleres ikke til et permanent ban, og reaktionen udløses kun ved konsekvente overtrædelser. Selve reaktionen defineres af administratoren — for hver gruppe af kontroller angives det ved hvilken overtrædelse, og hvor ofte en kommando skal udføres.
Logikken er som følger: Angiv det overtrædelsesnummer, der udløser reaktionen, og intervallet — hvor ofte den vil blive gentaget bagefter. Indtastningen 100:0 kick %player% betyder, at spilleren bliver smidt af serveren (kick) præcis ved den 100. overtrædelse, og at kommandoen ikke vil blive udført igen. Indtastningen 5:3 [alert] udløses ved den 5. overtrædelse, og derefter ved den 8., 11. osv. — advarslen sendes i spilchatten til spillere med tilladelse.
Kommandoen kan erstattes af Grims eget service-tag ([alert] — chatbesked, [log] — konsol- og database-log, [webhook] — Discord-besked, [proxy] — send videre til andre backend-servere) eller en hvilken som helst serverkonsol-kommando. Tilgængelige pladsholdere omfatter spillerens brugernavn, kontrollens navn og antallet af overtrædelser — standard placeholders. På grund af dette kan Grim tilsluttes eksterne ban-plugins uden yderligere broer.
Discord-webhooks
GrimAC har en indbygget integration til at sende notifikationer til Discord. Beskedens udseende kan tilpasses fuldstændigt — fra embed-farven til præcist hvilke felter, der skal vises. I en færdig besked kan du se spillerens brugernavn, kontrollens navn, antallet af overtrædelser, klientversion og mærke, nuværende ping og serverens tps på tidspunktet for hændelsen. Både almindelige kanaler og Discord-forumkanaler understøttes. Det anbefales stærkt at bekræfte konfigurationen på forhånd — kommandoen /grim testwebhook sender en testbesked uden at skulle vente på en rigtig overtrædelse.
Inkompatible klient-mods
Det officielle wiki vedligeholder en separat liste over mods, der enten ødelægger vanilla-mekanikker eller provokerer falsk-positive. Listen er ikke udtømmende og opdateres løbende på siden "Known incompatible client mods" på pluginnets GitHub-wiki. Hvis en spiller gentagne gange udløser masser af flags med stabil ping og uden andre tegn på overtrædelser, er den første hypotese at der bruges et klient-mod fra denne liste.
Lagring af overtrædelseshistorik
GrimAC vedligeholder en historikdatabase knyttet til sessioner. En session er en enkelt forbindelse for en spiller til serveren. Kommandoen /grim history <spiller> viser: hvornår spilleren tilsluttede, hvor lang tid sessionen varede, hvor mange overtrædelser der fandt sted, fra hvilken klient, med en fordeling på de forskellige kontroller.
Understøttede backends: SQLite (standard, lokal fil data/history.v1.db), MySQL, PostgreSQL, MongoDB, Redis. SQLite er tilstrækkelig for en enkelt server. For et netværk med flere Grim-instanser kræves et netværksbackend med en delt database — typisk MySQL eller Postgres.
Derudover er der fastholdelse (retention) — automatisk sletning af gamle registreringer. Som standard gemmes sessioner i 90 dage og overtrædelser i 365 dage. Dette kan konfigureres eller deaktiveres.

Kommando-output af /grim history i chatten
Konfiguration
Indstillingerne er fordelt på flere YAML-filer i mappen plugins/Grim/.
Parametrene, der virkelig er værd at være opmærksom på under den indledende opsætning:
Parameter | Fil | Hvad den gør |
| config.yml | Tærskel for blok-offset, hvorefter Simulation anses som en overtrædelse. Lavere — strengere, flere falsk-positive på grund af lag. |
| config.yml | Hitbox-udvidelse ud over vanilla-grænsen. 0.0005 registrerer overskridelse fra 3.0005 blokke. |
| config.yml | En ekstra pakke i slutningen af hvert tick for mere præcis Reach-registrering. Nyttigt på 1.8 PvP-servere; i øvrigt skaber det blot unødig trafik. |
| config.yml | Aktiverer testkontroller. Bør holdes slukket medmindre absolut nødvendigt. |
| config.yml | Timeout i sekunder, før en spiller automatisk bliver kicket. |
| config.yml | Kick klienter, der bruger problematiske Forge-versioner 1.18.2–1.19.3. |
| config.yml | Videresend advarsler mellem backend-servere via en proxy. Kræver bungee-plugin-message-channel i Velocity. |
| database.yml | Hovedafbryder for at gemme historik. |
| database.yml | Hvor overtrædelser skal skrives: sqlite, mysql, postgres, mongo, redis, none. |
De øvrige parametre i config.yml (henfaldsmultiplikatorer, tærskelværdier, ping-grænser for specifikke mekanismer som firework boost) kalibrerer omhyggeligt balancen mellem streng registrering og komfort for spillere med høj ping. De fleste administratorer efterlader dem ved standardindstillingerne — disse er blevet afbalanceret af pluginnets udvikler for at fungere som et kompromis mellem nøjagtighed og tolerance over for høj ping.
Konklusion
Grim Anticheat opdager de mest almindelige overtrædelser inden for bevægelse, kamp og pakkehåndtering ved at forudsige mulige bevægelser frem for at sammenligne dem med mønstre. Takket være dette er pluginnet modstandsdygtigt over for nye versioner af de samme modifikationer. Reelle begrænsninger: Der mangler heuristiske kontroller for aim-assist baseret på musebevægelser og auto-clicks baseret på klikfrekvens — disse er lovet i Premium-grenen, som endnu ikke er blevet udgivet. GrimAC er velegnet til servere, hvor der er en reel motivation for at benytte ulovlige modifikationer — PvP-arenaer, minigame-netværk, survival-servere med værdifulde ressourcer og anarchy-servere. For en lille, kreativ survival med 10 venner er pluginnet imidlertid unødvendigt — uden nogen seriøs risiko for overtrædelser vil forudsigelsesmotoren blot optage serverressourcer.
Installation
En typisk installation tager omkring 5 minutter. Forløbet er det samme; kun Loader og den matchende build er forskellige.
- 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.











