Grim Anticheat
An anticheat that detects cheats based on what the player is actually doing.
← Plugins Anticheat license GPL-3.0-or-later guide for Grim Anticheat 2.x (Paper/Spigot)
Download from the author Source code 725 034 download from the author
What does it do?
Grim is an anticheat — it looks for players who are using cheats. But it doesn’t work by looking for mod names: it tracks movement, reach, and in-game behavior and compares them with what is actually possible in Minecraft.
This gives it two advantages. It works independently of which mod or program a player has. And it doesn’t restrict legitimate players, because they always stay within the limits that are normal for their version.
Grim detects the classic things: impossible movement speed, flying, long reach in combat, swinging at air, mining and building from impossible places. Depending on what your server deals with most, you configure what it should be strict about.
It’s important to know: by default, Grim mainly reports. Alerts go to staff, who decide what to do about them. Punishments are configured separately — and only once you’re sure the reports aren’t false. That’s the right approach: first observe, then punish.
An anticheat cannot replace server staff. It won’t detect out-of-game cheating, shared accounts, or verbal abuse. Rules and other plugins are for that.
It’s also true that the more plugins modify movement or combat, the more work the anticheat has. When players move reasonably and Grim reports, look first at the server settings (for example, a different reach due to a mod), not at cheating.
Installation
- Download Grim from modrinth.com/plugin/grim-anticheat for your server version.
- Upload the .jar to the plugins folder and restart the server.
- Verify that it is running: the console will show that the anticheat has loaded, and the plugin has its own commands.
- Set who receives notifications about suspicious behavior (server management, not all admins).
- Let the plugin only monitor for several days. Collect reports and compare them with what actually happened on the server.
- Go through what Grim reports most often. If these are false alarms, look for the cause in the server settings (reach, movement, other plugins).
- Only once you know the reports are accurate, set punishments. At first, milder punishments and the option to appeal are better.
- Explain to players that the server detects cheats. Most people stop cheating when they know it has consequences.
- Watch whether the anticheat also reports decent mobile (Bedrock) players — movement limits are different there and need to be taken into account.
- Always keep the option to manually review reports. An automatic ban without review is the fastest path to injustice.
Permissions
Permissions are granted to players or groups — most often with a command /lp user <player> permission set <node> true (LuckPerms). A node that is not in the list is unknown to the plugin.
| Permissions | What does it allow? |
|---|---|
| grim.alerts | receive alerts about suspicious behavior (staff) |
| grim.verbose | detailed output for investigations |
| grim.* | absolutely everything (owner only) |
| A regular player has no permissions | the anticheat is a staff tool. |
| The exact permission and command names are listed by the plugin's in-game help. |
Commands
Type it in chat with slashes as well. Where is it? <player> or <uzel>, fill in your own value without brackets.
| Command | What does it do? |
|---|---|
| /grim | help and status |
| /grim alerts | enable or disable notifications |
| /grim verbose | detailed output for investigating a player |
| /grim reload | reloads the configuration |
| /grim profile | anticheat performance (how much it loads the server) |
| Exact commands and their names may differ between versions | the in-game help lists them |
Configuration and common mistakes
First observe, then punish. A week of reports without punishments will tell you whether they are reliable — automatic bans from the start do more harm than good.
Send alerts only to leadership that knows how to work with them. When reports go to the whole team, they start ignoring them.
When Grim reports decent players, look for the cause in server settings (different reach, movement plugins), not in cheating. Anticheat compares against normal limits.
Mobile players (Bedrock) have different movement options. When you use Geyser, set the limits so that anticheat does not report them.
Performance is important: anticheat runs all the time, so after installation check the server load. On a small server it's not noticeable, on a large one it is.
Server rules must prohibit cheats in text as well, not just by the existence of a plugin. Without that, a player appeals that they did not violate anything.
Anticheat will not detect everything. Shared accounts, out-of-game agreements, and verbal matters are handled by people — the plugin is a helper, not a replacement.
Who uses it?
We don't yet know which servers from our list use it. Modern servers do not send their plugin list in the status query, so we find that out from the owners.
Do you use it on your server? Write to us and we’ll add it here — people who are looking for plugin come to this page.
Where does the guide come from?
The guide is our own and is based on the author's documentation. We describe permissions and commands as facts, we don't make anything up — if plugin changes after an update, the guide may be out of date. (version Grim Anticheat 2.x (Paper/Spigot)) Did you find an error? Write to us and we'll fix it.
License: GPL-3.0-or-later. The file isn't hosted with us; it's downloaded from the author at — that way the current version is always available.