# How to Fix 'Kicked for Flying' on Your Minecraft Server (/docs/minecraft/fix-kicked-for-flying)



import { Step, Steps } from 'fumadocs-ui/components/steps';

**"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 [#quick-fix]

<Steps>
  <Step>
    Stop the server [#stop-the-server]

    In the [XGamingServer Panel](https://panel.xgamingserver.com), open **Console** and stop your server.
  </Step>

  <Step>
    Edit server.properties [#edit-serverproperties]

    Click **Files** in the sidebar and open `server.properties`. Set:

    ```properties
    allow-flight=true
    ```

    Click **Save Content**.
  </Step>

  <Step>
    Start the server [#start-the-server]

    Start from **Console**. Players will no longer be kicked for flying.
  </Step>
</Steps>

> **Important:** `allow-flight=true` does **not** give players creative-mode flight. It only stops the vanilla check from kicking them. They still need an elytra, mod, or `/gamemode creative` to actually fly. See [Toggle Flight](/docs/minecraft/toggle-flight).

Common False Positive Triggers [#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 [#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](https://www.spigotmc.org/resources/vulcan-anticheat-advanced-cheat-detection-1-7-1-21-4.83626/)** | Modern, accurate, configurable per-check                |
| **[Grim](https://github.com/GrimAnticheat/Grim)**                                                            | Open-source, prediction-based, very low false positives |
| **[Matrix](https://www.spigotmc.org/resources/matrix-anticheat-1-8-1-21.62963/)**                            | Long-established, paid                                  |
| **[NoCheatPlus](https://github.com/Updated-NoCheatPlus/NoCheatPlus)**                                        | Free, customizable, older codebase                      |

These understand elytra, vehicles, pistons, and slime blocks — and won't kick legitimate players.

Fix the Underlying Lag [#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:

1. **Lower view-distance and simulation-distance** — see [Render Distance](/docs/minecraft/render-distance)
2. **Apply Aikar's Flags** — see [JVM Flags](/docs/minecraft/jvm-flags)
3. **Install Spark** to find what's eating tick time — see [Setup Spark](/docs/minecraft/setup-spark)
4. **Pre-generate chunks** to avoid generation spikes — see [Chunky](/docs/minecraft/pregenerate-chunks)
5. **Right-size your RAM** — see [How Much RAM](/docs/minecraft/how-much-ram)

A server running at 20 TPS rarely has flight false positives. Fixing lag often eliminates the kick entirely.

Common Mistakes [#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 [#related-guides]

* [Toggle Flight](/docs/minecraft/toggle-flight)
* [Server Properties](/docs/minecraft/server-properties)
* [Optimize Server](/docs/minecraft/optimize-server)
* [Types of Server Lag](/docs/minecraft/types-of-server-lag)
* [Setup Spark](/docs/minecraft/setup-spark)
