Minecraft anticheat guide
Anticheat for Roleplay and Adventure Servers: Scripted Movement
How to set an anticheat for roleplay and adventure servers, where cutscenes, teleports, mounts, and scripted NPC travel can trigger movement checks.
What does a roleplay or adventure server need from an anticheat?
A roleplay or adventure server needs movement checks that allow for scripted travel. Cutscenes, teleports, boats, mounts, and NPC escorts all move a player in ways that vanilla checks may not expect. Most cheating on these servers is low-stakes, so the main risk is false flags against legitimate players. Start in alert-only mode and exempt scripted events only where you can name them.
Why scripted movement causes false flags
A movement check compares a player's reported position with the movement a player could make on their own. Scripted events move players without that input. A teleport looks like a jump. A cutscene path looks like speed. A mount that a plugin drives can look like flight. The problem is not that the player cheated. The check saw movement it was not built for.
| Event | What it looks like | What to confirm |
|---|---|---|
| Cutscene path or camera move | Speed or teleport | Scripted event ID and time window |
| Teleport or portal to a story area | Position jump | Teleport log entry for the same time |
| Mount or vehicle driven by a plugin | Flight or speed | Mount plugin event for the player |
| NPC escort or follow | Sustained fast movement | NPC movement log for the same window |
| Adventure-mode restrictions | Blocked actions that look like bugs | Game mode at the time of the event |
Exempt events by name, not by player
Exempting a whole player or group from movement checks hides real cheating. Exempt the scripted event for the window in which it runs, and log the exemption. The event log is the proof that the movement was expected.
Record the event context with each alert
A movement alert on a roleplay server needs the scripted context next to it. Without that context, staff will spend time on alerts that were expected. Save the active event list in each case.
player: <name>
check: <check name>
window: <start> to <end>
active scripted event: <event id or none>
teleport or mount log: <entry id or none>
game mode: <adventure, survival, creative>
reviewer: <name>
decision: <expected, review, punish>Protect the cost of a false flag
Roleplay players invest time in characters and stories. An unfair flag can end a session and a player's trust in the server. Staff should also say publicly when an alert was checked and found to be a scripted event, so players can see that the review process protects them as well as the rules. Give staff a short check list before a movement case is opened, and require a second reviewer for any punishment that follows a scripted event.
What we have not verified
Scripted events can also leave players moving after they should have stopped. A cutscene may keep a player in motion if its cleanup step fails. Ask the story team to test the cleanup path on staging, and record any event that did not end cleanly. A position jump after an event ends is a server defect to fix, not a cheat to punish.
Write a short note for each scripted event that explains its purpose, the players it moves, and the staff member responsible for it. Story teams change events often, and a note that is months old can mislead reviewers. Ask the story team to flag new events before they go live. Adventure-mode rules add another source of confusion. A player who walks into a restricted area may be pushed back by a block or a teleport, so log those actions in the same window as movement alerts. Without that link, reviewers can read a forced teleport as a speed or fly cheat.
We have not tested how any anticheat reacts to specific roleplay or cutscene plugins, and this article does not give thresholds for movement checks. Run each scripted event on staging with a test account and record which alerts appear.
FAQ
Should we disable movement checks for the whole server?
Usually not. Limit exemptions to named scripted events and time windows, so real movement cheats still produce alerts outside those windows.
How do we know an alert came from a cutscene?
Check the active scripted event list and the plugin logs for the same window. If the event is missing from the logs, treat the alert as unexplained.
Do adventure-mode restrictions affect anticheat results?
They can. A blocked action may look like a bug or a cheat attempt. Record the game mode with each alert so reviewers can compare it with the rule.
What if a roleplay event is too complex to exempt?
Test it on staging with a test account first. If you cannot name the events it triggers, keep the check in alert-only mode for that area.