Lodehost logoLodehost

Performance and fixes

Players kicked for flying: what the server saw, and what to change

A player hovers near a jetpack build, or jumps off a cliff while their connection hiccups, and gets thrown out with a short message about flying. The server was not guessing: it ran a fixed check and the player failed it. Once you know exactly what that check looks at, you can tell a modded item from a lag spike from a cheat, and pick the one setting that fits.

9 min read

A player marker hovering above empty air with a stopwatch counting next to it
Hang in the air for about four seconds with nothing below, and the server ends the session.

What the server counts as flying

What the player sees

Flying is not enabled on this server

This kick comes from Minecraft itself, so vanilla, Paper, Purpur, Fabric, Forge and NeoForge servers all run it. Every time a player's game reports a new position, the server decides whether that player is floating. When the answer stays yes for more than 80 ticks, which is four seconds on a server running at 20 ticks per second, the player is disconnected.

A player only counts as floating when every one of these is true at once:

  • They did not drop. Since the last update they moved up, stayed level or sank by less than 1/32 of a block.
  • Nothing is around them. There is no block of any kind within a sixteenth of a block around their body or 0.55 blocks below their feet. Anything that is not air counts, so a ladder, water or tall grass next to them is enough.
  • Nothing explains it. They are not in spectator mode, not allowed to fly (creative mode or a plugin fly command), not under Levitation, not gliding with an elytra and not spinning with a Riptide trident.
  • Allow flight is off in server.properties.

The 80 ticks stretch for players whose gravity attribute is lowered, and with gravity at zero there is no limit. Steering a vehicle has its own version of the check: a boat or mount that stays in the air with its rider triggers the same message, unless the vehicle is one that flies by nature or has no gravity.

Check connection, movement and server rules after a flying kick
Review what happened before the kick: connection problems, movement mechanics and server or plugin rules can all matter. View larger.

Find the line in the console

The player only sees the short message. The console tells you which check fired, and that decides the fix. Open the Console tab while it happens, or search logs/latest.log on the Files tab afterwards for the player's name.

Lines to search for

Kai was kicked for floating too long!
Kai was kicked for floating a vehicle too long!
Kai lost connection: Flying is not enabled on this server
Kai moved too quickly! 14.2,0.4,-3.9
Kai moved wrongly!
Can't keep up! Is the server overloaded? Running 2500ms or 50 ticks behind
LineWhich checkWhat happens to the player
Kicked for floating too longThe floating check aboveDisconnected
Kicked for floating a vehicle too longThe same check, for a boat or mount they steerDisconnected
Moved too quickly, with three numbersThe speed check; the numbers are the distance on each axisPulled back, stays online
Moved wronglyThe position checkUsually pulled back, stays online
Can't keep upNot a movement check: the server itself is behind. Recent Paper and Purpur builds never print itEveryone feels lag

A kick with a different message, or a line that starts with a plugin's name, did not come from the game. That is an anti-cheat plugin, covered further down. A kick that reads Invalid move player packet received is something else again: the player's game sent coordinates the server cannot accept at all, which points at a broken client mod rather than at flight.

What Allow flight switches off

Turning allow-flight on does not let anyone fly. A survival player without a mod still falls like before. The setting only disables the floating check, for players and for vehicles. The speed check and the position check do not look at it and keep running exactly as they did.

  1. Open the Settings tab

    Allow flight sits in the Gameplay group, with a short note underneath about mods and plugins.

  2. Switch it on

    The switch changes to On and the label gets a star, which marks a change that is not stored yet.

  3. Press Save changes

    The bar at the bottom of the screen writes the line to server.properties and reminds you that some settings need a restart.

  4. Restart the server

    Use Restart on the Overview tab. The server reads server.properties when it starts, so the old value stays active until then.

What you give up

With the check off, a cheat client that hovers is no longer thrown out by the server. On a whitelisted server with friends, or on a modpack, that is rarely a concern. On a server open to strangers, keep a movement anti-cheat installed so something still notices.

When Allow flight belongs on

SituationAllow flight needed?Why
Modpacks with jetpacks, flight rings or glidersUsually yesMany mods lift the player in their own way, which the check cannot tell apart from a cheat. Some modpacks ship with the setting already on for this reason.
A plugin fly command, such as /fly from EssentialsXNoThe command grants that one player permission to fly, and the check leaves such players alone.
Creative mode and spectatorsNoBoth are skipped by the check.
Elytra glidingNoGliding is skipped. Fast elytra flight has its own limit in the speed check instead.
Levitation and RiptideNoBoth are skipped while they last.
Plugins that launch or hold players in the airSometimesOnly when players rise or hover for more than four seconds with no block nearby.

To test a modded item, hover with it high above an open field. A kick after about four seconds, with the floating line in the console, means it needs Allow flight. The loader guide covers which mods fit which server type.

Lag, falling and other false alarms

The check trusts the last position the player's game reported, and counts server ticks from there. That is where honest players get caught.

  • A game that stalls mid-air. If a player's game freezes for a few seconds right after a jump or at the edge of a drop, no new position arrives. The server keeps the last state, still rising, and keeps counting.
  • A connection that drops out. The same thing can happen when updates arrive late or in bursts, and then it hits one player rather than everyone.
  • Unlucky falls. Players on modpacks have reported kicks while simply falling at the wrong moment, and at least one pack switched the setting on by default after such a report.
PatternLikely causeWhere to look
One player, again and again, in different placesThat player's connection or gameTheir ping, and client mods they run
Many players pulled back in the same minuteServer lagA spark profile, plus the Can't keep up line on servers that still print it
Kicks only with one item or in one mod's dimensionModded flightAllow flight
Kicks with another messageAn anti-cheat pluginIts settings, below

Warnings for many players at once point at the server, not at cheaters. The guide to the overloaded warning shows what pushes a server behind.

Moved too quickly and moved wrongly

These two warnings never kick anyone by themselves. The server sends the player back to their last accepted position, and on the player's screen that looks like rubber-banding: a few steps forward, then a snap back.

WarningWhat the server sawSetting behind itDefault
Moved too quicklyBetween two updates the player covered far more ground than their current speed allowssettings.moved-too-quickly-multiplier in spigot.yml10.0
Moved too quicklyThe same check, switched off entirely by a game ruleplayer_movement_check, and elytra_movement_check while glidingtrue
Moved wronglyThe player ended up more than a quarter of a block from where the server's own physics put themsettings.moved-wrongly-threshold in spigot.yml0.0625

The two spigot.yml lines exist on Spigot, Paper and Purpur. A vanilla or modded server has only the game rules.

The multiplier works together with each player's walk or fly speed. Spigot and Paper allow whichever is larger: the limit the game already uses, or the multiplier times the player's speed. At normal walking and flying speed both come out the same, so raising the multiplier only matters for players whose speed a plugin has increased. Creative and spectator players are never checked for moving wrongly.

Console

gamerule player_movement_check false
gamerule elytra_movement_check false

The first rule turns the speed check off for everyone; the second only while players glide with an elytra, which suits servers with fast elytra races. Neither touches the position check. Both rules got these names in 1.21.11. Older servers have disablePlayerMovementCheck and disableElytraMovementCheck instead, where true means the check is off. The game rules guide shows how rules are changed and read back.

A clearer kick message on Paper

Paper and Purpur let you replace the message, which helps when players keep asking what they did wrong. Open config/paper-global.yml on the Files tab and find flying-player and flying-vehicle under messages.kick. Both hold <lang:multiplayer.disconnect.flying> by default, which shows the game's own text in each player's language.

config/paper-global.yml

messages:
  kick:
    flying-player: '<yellow>You hung in the air too long. Rejoin, and tell staff if it keeps happening.'
    flying-vehicle: '<yellow>Your ride hung in the air too long. Rejoin, and tell staff if it keeps happening.'

The values use MiniMessage tags such as <yellow>. Restart the server after the change. The console line stays the same, so you can still search for it.

Anti-cheat plugins kick for movement too

Once Allow flight is on, an anti-cheat plugin is what stops real hover cheats, with false alarms and kick messages of its own. Grim is a common choice: it runs on Paper, Purpur, Spigot, Folia and Fabric, has builds for Java Edition 26.2, and can be found on the Plugins tab.

Grim works by predicting where each player should be. When a player moves somewhere the prediction does not allow, Grim sets them back rather than kicking them. Its punishments file ships with alerts and log entries and no kick command, so a kick from Grim means someone added one.

CommandWhat it shows
/grim alertsTurns alerts in your chat on or off
/grim verboseEvery flag as it happens, without waiting for a threshold
/grim profileDetails about a player, such as their game version
/grim historyStored history from a player's recent sessions

When a trusted player keeps getting flagged, watch /grim verbose while they repeat the move. If the flags come from one check on one kind of block or item, that is a report for the plugin's authors, not a reason to raise every threshold. Keep the plugin on a build that lists your exact Minecraft version.

What to check the next time it happens

  1. Ask the player for the exact message, and note the time.
  2. Find that minute in the console or in logs/latest.log, and see which line sits next to the player's name.
  3. Floating line plus a modded item or plugin launch: turn on Allow flight, save and restart.
  4. Floating line with no item involved: check whether that player's game or connection stalled, and whether it keeps happening to them only.
  5. Moved too quickly or wrongly for many players at once, with Can't keep up nearby or, on Paper and Purpur, a low TPS in spark: treat it as server lag.
  6. A different message: open the anti-cheat's settings and look at which check fired.
  7. After any change, repeat the same move in the same spot to confirm the kick is gone.

Other messages that end a session, from outdated clients to whitelists, are listed in the connection guide, and every other line of the file is explained in server.properties explained.

Written and checked by the Lodehost team, last reviewed on 14 September 2026.

FAQ

Questions about flying kicks

Is it safe to turn on allow-flight on a public server?

It is common, but it removes the one built-in guard against hovering. Pair it with a movement anti-cheat so hover cheats still get noticed.

Do players need allow-flight to use an elytra?

No. The server ignores players while they glide. Very fast rocket flights can still set off the speed warning and snap a player back, and the elytra movement game rule controls that.

Does a flying kick ban the player?

No. It only closes the connection, and the player can join again straight away. Nothing is added to the ban list.

Why are players still pulled back with allow-flight on?

Allow flight only disables the floating check. Rubber-banding comes from the speed and position checks, which keep running, or from an anti-cheat plugin.

Can I let players float longer before the kick?

There is no setting for the four seconds. A lower gravity attribute on a player stretches their limit, and Allow flight removes it for everyone.

Change one switch, restart, and test the same jump again.

Allow flight has its own switch in the Gameplay group on the Settings tab, and the Console tab shows which check fired while it happens.

Compare the plans