Minecraft anticheat guide
Fly and Speed Cheats in Minecraft Explained for Admins
What fly and speed cheats send to your server, which movement signals anticheats compare, and how to test movement checks safely in staging.
What do fly and speed cheats change?
Fly and speed cheats alter the movement packets a Minecraft client sends. A fly cheat reports positions that ignore gravity or keep the player in the air. A speed cheat reports horizontal movement faster than the game allows for the player's current state. A movement check compares those reported positions with what vanilla physics would produce, so it can flag both without seeing the player's screen.
How do these cheats differ from normal movement?
Vanilla movement follows rules that repeat every tick. Gravity pulls a falling player down unless something supports them, such as a block, water, a ladder, or a server-granted flight ability. Horizontal speed is capped by the walking, sprinting, and sneaking rates, plus any speed effect the player has. Vehicles, elytra, riptide, and knockback add their own movement paths, so a check that ignores them will produce false alerts.
Admins usually see these cheats as a few recurring patterns in alert logs:
What can the server compare?
The server receives position, rotation, and on-ground data with each movement packet. It does not receive the client's inputs. The table lists the signals most movement checks use. Your anticheat's documentation names the exact checks and thresholds it applies.
| Signal | Normal play | Common cheat pattern |
|---|---|---|
| Vertical velocity | Falls accelerate under gravity | Constant height or a slowed descent |
| Ground state | Matches the blocks under the player | Airborne on solid ground, or grounded while falling |
| Horizontal speed | Stays under the limit for the current state | Exceeds the limit on flat ground with no effect |
| Packet rate | About one movement update per tick | Extra updates that move the player ahead of the server clock |
| Known boosts | Effects, vehicles, knockback, and elytra | Speed with no matching cause |
How do you test movement checks in staging?
Test on a staging server that matches production. Use the same server software, Java version, and anticheat build, and a test account without bypass permissions. Record every alert with its check name, the time, and the action you took. A check that behaves well in one scenario can still misfire in another, so run each step below.
# Replace the log path and check name with your own values.
grep -i "<movement-check-name>" logs/latest.log | tail -n 50Which movement checks should you enable first?
Start with the checks that cover the most common movement alerts in your logs, and leave the rest in alert-only mode. Enable one group, run staging, and review a week of alerts before you enable the next. This order shows which change caused a new false positive.
What have we not verified?
This article does not measure how any anticheat performs against fly or speed clients. It does not give thresholds, and it makes no claim about detection accuracy. Detection depends on the anticheat build, server version, latency, and the exemptions you configure. Run the staging steps with your own build before enabling punishments. A useful review covers at least one full play session per movement scenario, because a check can pass short tests and still misfire during longer play. When a legitimate case fires, record the vehicle, effect, or terrain involved before you change any threshold.
FAQ
Can a fly check flag players who use elytra or riptide?
It can, if the check does not model those movement paths. Read the exemptions your anticheat documents, then test elytra and riptide in staging before you enable punishments for that check.
Why does a speed alert appear right after a potion effect ends?
Timing around effect changes can produce a single alert in some setups. Treat one alert at a transition as weak evidence, and look for repeated alerts over several minutes.
Can lag cause a speed alert?
Yes. Delayed packets can arrive in bursts, which can look like extra speed. Check TPS and ping during the alert window before you read it as a cheat.
Do vehicles need their own exemptions?
Often they do. Boats, horses, and minecarts move the player differently from walking, so a movement check can flag them if it does not model the vehicle. Test each vehicle in staging.
Do elytra and riptide need their own staging runs?
Yes. Each one changes vertical and horizontal motion in a different way, so a pass on walking movement does not show that elytra or riptide movement is handled. Run each case separately and record the results.