Why do players get kicked for “flying” when they aren’t
One of the most persistent and frustrating misconceptions in Minecraft server management revolves around the allow-flight=true setting. Many server owners and players alike mistakenly believe that toggling this option grants creative mode flight to everyone, or that it’s solely for servers explicitly allowing creative flight. In reality, its primary function is far more subtle and crucial: it dictates whether the server’s basic, built-in anti-cheat system will kick players for what it perceives as “flying,” regardless of whether they are actually cheating.
![]()
This common misunderstanding often leads to players being unjustly kicked from servers with the message “Flying is not enabled on this server,” even when they are performing entirely legitimate actions. This guide delves into the intricate mechanics behind these false positives, explaining why they occur and, more importantly, how server administrators can effectively prevent them, ensuring a smoother and fairer experience for their community.
Deconstructing Minecraft’s Movement Monitoring
At its core, Minecraft’s server software includes a rudimentary anti-cheat mechanism. This system constantly monitors player position changes, velocity, and duration of time spent airborne. Its design is relatively simple: to identify movement patterns that deviate significantly from what’s considered standard, physically possible locomotion within the game’s rules – walking, jumping, falling, and swimming.
The anti-cheat relies on constraint-based checks. For instance, if a player remains airborne for an unusually long duration without a legitimate reason (like being on a ladder, riding an entity, or falling from a great height), the system flags this as suspicious. It’s essentially comparing the movement data reported by the player’s game client with what the server calculates as achievable within the game’s physics. When these two sets of data don’t align, particularly in ways that suggest impossible movement, the anti-cheat takes action.
The Crucial Role of `allow-flight`
Within the server’s configuration file, server.properties, lies a setting called allow-flight. By default, this is set to false. When allow-flight=false, the vanilla anti-cheat’s “flying” check is active, and if triggered, it will kick the player with the message “Flying is not enabled on this server.”
Conversely, setting allow-flight=true does not magically enable creative-mode flight for all players. Its sole purpose is to disable this specific vanilla anti-cheat check. This means the server will no longer automatically kick players for perceived flight. It’s a critical distinction often lost on administrators, leading to unnecessary player frustration and server instability when attempting to manage legitimate, but fast or complex, player movements.
Anatomy of a False Positive: The Kick Scenario
Understanding how a legitimate action can lead to a “flying” kick requires examining a common chain of events:
- Player Performs Action: A player executes a perfectly legitimate, yet often rapid or unusual, movement. Common examples include boosting across the landscape with an Elytra and fireworks, bouncing high off a slime block, or being launched by a complex piston mechanism.
- Client Reports Movement: The player’s game client, running on their computer, dutifully sends its updated position and velocity data to the server at regular intervals. This is how the server knows where the player is and what they’re doing.
- Server Latency or Player Ping: This is often the critical juncture. If the server is experiencing lag (indicated by a low Ticks Per Second, or TPS) or if the player has high network ping, there can be a significant delay or desynchronization in these position updates. The server might not receive consecutive movement packets in a timely or logical order.
- Anti-Cheat Misinterpretation: Due to the delayed or out-of-sync data, the server’s anti-cheat system receives a series of positional updates that, from its perspective, appear impossible. For example, a player might seem to instantaneously teleport a short distance or maintain an airborne state for too long without the intermediate packets that would explain the legitimate movement. The anti-cheat interprets this sudden, delayed, or illogical positional change as an illicit “flying” action.
- Player Kicked: The anti-cheat triggers a kick. While the vanilla server’s message is typically “Flying is not enabled on this server,” dedicated anti-cheat plugins might issue a similar notification, sometimes with more detail about the specific check that failed.
Proactive Measures to Prevent Unjust Kicks
Fortunately, server administrators have several powerful tools and strategies at their disposal to mitigate and eliminate these frustrating false positives:
Adjusting Server Configuration
- Enable Flight in `server.properties`: The most direct and fundamental step is to set
allow-flight=truein yourserver.propertiesfile. This immediately disables the vanilla anti-cheat’s “flying” check, preventing it from kicking players. Remember, this does not enable creative flight; it merely stops the default kick for perceived flight.
Optimizing Server Performance
- Combat Server Lag: A high TPS (Ticks Per Second) is paramount. Servers with stable performance are far less prone to false positives because they can process player movement data more accurately and in a timely manner. Administrators should regularly monitor server performance, optimize server settings, apply appropriate Java Virtual Machine (JVM) flags, and consider using performance-monitoring tools to identify and address bottlenecks.
Leveraging Dedicated Anti-Cheat Plugins
- Implement Advanced Solutions: For robust cheat detection without the pitfalls of vanilla systems, install a dedicated anti-cheat plugin (e.g., Vulcan, Matrix). These plugins offer significantly more sophisticated checks, often employing machine learning or complex behavioral analysis to differentiate between legitimate high-speed movement and actual hacks. When using such a plugin, it is crucial to ensure
allow-flight=trueinserver.properties, allowing the plugin to manage all flight detection. - Fine-Tune Plugin Settings: Dedicated anti-cheat plugins typically come with extensive configuration options. Administrators should adjust these settings to account for specific server mechanics, such as allowing for Elytra flight with fireworks, slime block launchers, or other custom movement systems. Many plugins also allow for exemptions for high-latency players or specific staff members who might use commands like
/flyor/teleport.
Common Pitfalls and Misconceptions to Avoid
Despite the available solutions, certain mistakes continue to plague server operators:
- Misunderstanding `allow-flight=true`: This is the most prevalent error. Believing that setting
allow-flight=truegrants creative mode flight or opens the door to cheaters using flight hacks is incorrect. It only disables the server’s basic, often flawed, flight detection. Dedicated anti-cheat plugins are responsible for detecting actual flight hacks. - Ignoring Underlying Server Lag: Disabling the flight check without addressing the root cause of server lag is a band-aid solution. While it stops the “flying” kicks, the underlying performance issues will manifest in other ways, such as block lag, entity lag, or general unresponsiveness, diminishing the player experience. Often, fixing the lag resolves the false “flying” kicks organically.
- Running Conflicting Anti-Cheat Systems: Attempting to run the vanilla
allow-flight=falsecheck concurrently with a more advanced dedicated anti-cheat plugin can lead to conflicts, redundant checks, and even more frequent false positives. It’s almost always best practice to disable the vanilla check if a dedicated plugin is in place.
False “flying” kicks are a perennial source of frustration in the Minecraft multiplayer community. However, by understanding the mechanics of the server’s anti-cheat, properly configuring the allow-flight setting, optimizing server performance, and wisely utilizing dedicated anti-cheat plugins, server administrators can create a far more stable, fair, and enjoyable environment for all players. The goal is to catch actual cheaters, not punish legitimate players for the server’s inability to keep up.