How to Fix 'Kicked for Flying' on Your Minecraft Server
Stop false 'Kicked for flying' kicks on your Minecraft Java server, caused by lag, elytra, vehicles, or movement mods.
"Kicked for flying" happens when Minecraft's built-in anti-cheat detects a player's position changing in a way it doesn't recognize as walking, jumping, or falling. It's frequently a false positive triggered by lag, elytra speed boosts, horse jumps, or movement mods — even when the player isn't actually cheating.
The fix is simple: set allow-flight=true in server.properties to disable the vanilla check entirely.
Quick Fix
Stop the server
In the XGamingServer Panel, open Console and stop your server.
Edit server.properties
Click Files in the sidebar and open server.properties. Set:
allow-flight=trueClick Save Content.
Start the server
Start from Console. Players will no longer be kicked for flying.
Important:
allow-flight=truedoes not give players creative-mode flight. It only stops the vanilla check from kicking them. They still need an elytra, mod, or/gamemode creativeto actually fly. See Toggle Flight.
Common False Positive Triggers
| Trigger | Why it kicks |
|---|---|
| Server lag (low TPS) | Position desync — server thinks the player moved further than physics allows |
| Elytra rocket boost | Sudden speed bursts confuse the check |
| Horse / boat / minecart on lag | Vehicle movement on a laggy server |
| Pistons launching players | Server can't predict piston launches |
| Trapdoor / scaffolding parkour | Vertical movement can register as flight |
| Modded jetpacks / wings | Mekanism, Iron Jetpacks, Botania bottle, etc. |
| High ping (300+ ms) | Position updates arrive too late, get flagged |
| Slime block bouncing | Velocity spikes from slime/honey blocks |
Better Solutions Than Disabling
allow-flight=true is a blunt instrument — it disables flight detection completely. If you're worried about real flight hacks, install a real anti-cheat plugin instead:
| Plugin | Why it's better than vanilla |
|---|---|
| Vulcan | Modern, accurate, configurable per-check |
| Grim | Open-source, prediction-based, very low false positives |
| Matrix | Long-established, paid |
| NoCheatPlus | Free, customizable, older codebase |
These understand elytra, vehicles, pistons, and slime blocks — and won't kick legitimate players.
Fix the Underlying Lag
If your players are getting kicked because of server lag rather than actual flight, fix the lag instead of disabling the check:
- Lower view-distance and simulation-distance — see Render Distance
- Apply Aikar's Flags — see JVM Flags
- Install Spark to find what's eating tick time — see Setup Spark
- Pre-generate chunks to avoid generation spikes — see Chunky
- Right-size your RAM — see How Much RAM
A server running at 20 TPS rarely has flight false positives. Fixing lag often eliminates the kick entirely.
Common Mistakes
| Mistake | Fix |
|---|---|
Thinking allow-flight=true enables /fly | It doesn't — it just disables the kick. Install EssentialsX for /fly |
| Disabling flight check while ignoring real lag | Fix the TPS first; the kicks usually stop |
| Using vanilla check + an anti-cheat plugin | Set allow-flight=true and let the plugin handle it |
| Not restarting after the change | The setting only loads at startup |
| Forgetting elytra-using players are airborne | Always set allow-flight=true if elytra is in regular use |
Related Guides
How is this guide?
