Grim Anticheat — plugin anticheat per Minecraft
Grim Anticheat è un plugin anticheat open source per Minecraft che rileva i vantaggi sleali simulando i movimenti invece di usare pattern…
Grim Anticheat è un plugin anticheat open source per Minecraft che rileva i vantaggi sleali simulando i movimenti invece di usare pattern prefissati.
Grim Anticheat — plugin anticheat per Minecraft
Java: 17 o versioni successive
Versioni di Minecraft supportate: 1.8 – 26.1.2
Versione del plugin: 2.3.74
Grim Anticheat (GrimAC) è un anticheat lato server open source per Minecraft sotto licenza GPL-3.0. Il plugin funziona simulando i movimenti dei giocatori anziché confrontarli con modelli comportamentali prestabiliti, distinguendosi dalla maggior parte delle alternative gratuite.
Il suo compito principale è rilevare mod del client non consentite che forniscono vantaggi sleali in combattimento, movimento o interazione con i blocchi. Il plugin stesso non banna i giocatori — registra la violazione e passa l'esecuzione della sanzione a un altro plugin (LiteBans, AdvancedBan o un comando personalizzato tramite configurazione).
L'approccio: previsione dei movimenti invece di pattern
I classici anticheat gratuiti si basano su modelli comportamentali preregistrati. Questo metodo ha un limite ovvio — ogni aggiornamento di una modifica può potenzialmente eludere il rilevamento finché non viene aggiunto un nuovo modello al database.
GrimAC, invece, include un Movement Simulation Engine. Il server calcola esattamente dove un giocatore potrebbe trovarsi in un determinato tick di gioco, tenendo conto dei blocchi circostanti, effetti delle pozioni, ragnatele, colonne di bolle, barche, maiali, strider, elitre e decine di altre situazioni. Se il client invia coordinate che superano ciò che è fisicamente possibile, il controllo Simulation si attiva e calcola l'offset dei blocchi.
Inoltre, il plugin mantiene una copia personale del mondo per ciascun giocatore. I chunk vengono compressi a 16–64 KB utilizzando le tavolozze, rendendo la cache piuttosto leggera anche con oltre 200 giocatori online. Questa architettura elabora in modo sicuro i blocchi falsi posizionati da altri plugin tramite pacchetti.

Output del comando /grim help nella chat
Controlli
I controlli sono divisi in gruppi funzionali. I nomi provengono dal codice sorgente — gli amministratori li vedono in /grim verbose e nei messaggi webhook. I nomi stessi non sono i nomi delle modifiche non consentite — è la classificazione interna del plugin.
Movimento
Simulation — il controllo principale. Rileva eventuali modifiche alla posizione del giocatore che non corrispondono a una traiettoria fisicamente possibile: accelerazione non consentita, spostamento senza appoggio, movimento attraverso i blocchi.
Timer, TimerLimit, NegativeTimer, VehicleTimer — rilevano l'accelerazione del tempo interno del client. Questa è la base delle mod che accelerano il consumo di oggetti e il tiro con l'arco. La soglia di rilevamento è di circa 1.005× della normale velocità temporale — molto più precisa della maggior parte delle alternative gratuite.
NoFall — simulazione dello stato di caduta. Una mod invia un falso onGround=true per annullare i danni da caduta; il controllo lo rileva.
Phase — spostamento attraverso un blocco solido. Il comportamento di base delle mod che consentono di attraversare le pareti o di entrare in zone protette.
Combattimento
Reach — attaccare oltre la distanza massima consentita.
Hitboxes — attaccare al di fuori della vera hitbox del bersaglio.
Knockback, Explosion — il client ignora l'impulso derivante da colpi o esplosioni.
Aim, Interact — rotazione errata della testa prima di un colpo, interazioni fisicamente impossibili.
Pacchetti e piazzamento dei blocchi
BadPackets, PacketOrder, Crash — ordine errato dei pacchetti, tentativi di mandare in crash il server con pacchetti formattati intenzionalmente male.
NoSlow — il giocatore non rallenta mentre mangia, tira con l'arco, usa uno scudo o striscia tra le ragnatele.
Gruppo di controlli sul piazzamento di blocchi — rileva il posizionamento di un blocco quando è fisicamente impossibile farlo: troppo lontano, in una direzione irraggiungibile, a mezz'aria senza appoggio.
Baritone — il pattern di movimento dei bot assistenti automatizzati.
Exploit — exploit individuali, come l'abuso di Sprint-Jump con le elitre.
Comandi principali per gli admin
Comando | Scopo |
| Elenco dei comandi con brevi descrizioni |
| Attiva o disattiva la ricezione degli avvisi in chat |
| Mostra tutti i flag senza buffer e soglie |
| Versione del client, brand (Vanilla/Fabric/Lunar/Forge), sensibilità del mouse, stato FastMath |
| Cronologia impaginata delle sessioni e violazioni dal database |
| Entra in modalità spettatore e teletrasportati da un giocatore |
| Ritorna alla posizione precedente |
| Scarica il log di debug per uno specifico ID di flag |
| Ricarica tutte le configurazioni, resetta le violazioni attive |
| Modalità sviluppatore: previsione vs movimento effettivo con offset |
| Testa il webhook Discord senza attendere una reale violazione |

Output del comando /grim profile in chat — versione del client, brand, sensibilità del mouse e stato FastMath del giocatore
Allarmi e punizioni
Ogni controllo ha il proprio contatore di violazioni, che diminuisce gradualmente nel tempo. Questo è fondamentale: un breve lag o un bug casuale non si accumulano in un ban permanente e la reazione scatta solo su violazioni costanti. La reazione stessa è definita dall'amministratore — per ogni gruppo di controlli, si specifica a quale violazione e con quale frequenza eseguire un comando.
La logica è la seguente: si specifica il numero di violazione che attiva la reazione e l'intervallo — con quale frequenza si ripeterà in seguito. La voce 100:0 kick %player% significa che il giocatore riceverà un kick esattamente alla 100ª violazione e il comando non verrà eseguito nuovamente. La voce 5:3 [alert] scatterà alla 5ª violazione, poi all'8ª, all'11ª e così via — l'avviso verrà inviato nella chat di gioco ai giocatori con i permessi.
Il comando può essere sostituito dal tag di servizio di Grim stesso ([alert] — messaggio in chat, [log] — log della console e del database, [webhook] — messaggio Discord, [proxy] — inoltro ad altri server backend), o da qualsiasi comando console del server. I segnaposti disponibili (placeholder) includono il nickname del giocatore, il nome del controllo e il numero di violazioni. Grazie a questo, Grim si collega a plugin di ban esterni senza ponti aggiuntivi.
Webhook Discord
GrimAC presenta un'integrazione nativa per inviare notifiche a Discord. L'aspetto del messaggio è completamente personalizzabile — dal colore dell'embed ai campi esatti da mostrare. Nel messaggio finale è possibile vedere il nickname del giocatore, il nome del controllo, il numero di violazioni, la versione e il brand del client, il ping attuale e i tps del server al momento dell'evento. Supporta sia i canali normali che i canali forum di Discord. Si consiglia vivamente di verificare in anticipo la configurazione — il comando /grim testwebhook invia un messaggio di prova senza aspettare una reale violazione.
Mod del client incompatibili
La wiki ufficiale mantiene un elenco separato di mod che rompono le meccaniche vanilla o provocano falsi positivi. L'elenco non è esaustivo ed è aggiornato nella pagina "Known incompatible client mods" della wiki di GitHub del plugin. Se un giocatore genera in modo massivo dei flag con un ping stabile e nessun altro segno di violazione, la prima ipotesi è una mod lato client di questa lista.
Archiviazione della cronologia delle violazioni
GrimAC mantiene un database storico collegato alle sessioni. Una sessione è una singola connessione di un giocatore al server. Il comando /grim history <giocatore> mostra: quando il giocatore è entrato, quanto è durata la sessione, quante violazioni si sono verificate, da quale client, con una ripartizione per controlli.
Backend supportati: SQLite (predefinito, file locale data/history.v1.db), MySQL, PostgreSQL, MongoDB, Redis. SQLite è sufficiente per un singolo server. Per una rete con più istanze Grim, è necessario un backend di rete con un database condiviso — in genere MySQL o Postgres.
Inoltre, è presente la retention — cancellazione automatica dei vecchi record. Per impostazione predefinita, le sessioni durano 90 giorni e le violazioni 365 giorni. Questo può essere configurato o disattivato.

Output del comando /grim history in chat
Configurazione
Le impostazioni sono distribuite in vari file YAML nella cartella plugins/Grim/.
I parametri a cui vale davvero la pena prestare attenzione durante la configurazione iniziale:
Parametro | File | Cosa fa |
| config.yml | Soglia di offset dei blocchi, oltre la quale la Simulazione è considerata una violazione. Più basso — più rigoroso, maggiori falsi positivi a causa del lag. |
| config.yml | Espansione dell'hitbox oltre il limite vanilla. 0.0005 rileva il superamento da 3.0005 blocchi in poi. |
| config.yml | Un pacchetto extra alla fine di ogni tick per un rilevamento più preciso del Reach. Utile sui server PvP 1.8; altrimenti crea traffico inutile. |
| config.yml | Abilita i controlli in fase di test. Meglio non attivarli a meno che non sia necessario. |
| config.yml | Timeout in secondi prima di cacciare automaticamente (kick) un giocatore. |
| config.yml | Kickare i client con le versioni problematiche di Forge (1.18.2–1.19.3). |
| config.yml | Invia avvisi tra server backend tramite un proxy. Richiede bungee-plugin-message-channel su Velocity. |
| database.yml | Interruttore principale per il salvataggio della cronologia. |
| database.yml | Dove scrivere le violazioni: sqlite, mysql, postgres, mongo, redis, none. |
Il resto dei parametri in config.yml (moltiplicatori di decadimento o decay, massimali, limiti di ping per meccaniche specifiche come i boost tramite fuochi d'artificio) calibra con precisione il bilanciamento tra un rilevamento rigoroso e il comfort per i giocatori con ping elevato. La maggior parte degli amministratori li lascia alle impostazioni predefinite — sono stati bilanciati dall'autore del plugin come compromesso tra precisione e tolleranza verso chi soffre di ping alti.
Conclusione
Grim Anticheat rileva la maggior parte delle violazioni più comuni di movimento, combattimento e gestione dei pacchetti attraverso la previsione dei movimenti possibili anziché confrontarli con pattern. Grazie a ciò, il plugin è resiliente a nuove versioni delle medesime mod. Vera e propria limitazione: mancano controlli euristici per l'aim-assist basati sul movimento del mouse e gli auto-click calcolati in base alla frequenza dei clic — i quali sono stati promessi nel ramo Premium (non ancora rilasciato). GrimAC è adatto per i server dove c'è una reale motivazione ad utilizzare modifiche non autorizzate — arene PvP, reti per i minigiochi, server survival con risorse di enorme valore o server anarchy. Invece, per una semplice esperienza creativa o in survival limitata a 10 amici, il plugin risulterebbe del tutto sprecato — senza il reale rischio che vi siano violazioni, il motore per il calcolo previsionale consumerà solamente inutili risorse lato server.
Installazione
Un'installazione tipica richiede circa 5 minuti. Il procedimento è lo stesso; cambiano solo il loader e la build corrispondente.
- 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.











