← Назад к ресурсам

AntiFlight

Flight-only anti-cheat for Paper and Fabric servers. Stops fly hacks and elytra exploits without flagging vanilla movement, with optional Hunger Mode penalties.

Modrinth

Описание

# AntiFly ![LOGO](https://i.imgur.com/WQqocWS.png) **Flight restriction that does one job properly.** Lightweight Bukkit + Fabric plugin/mod by [CevAPI](https://cevapi.dev). Current release: `1.1.4` AntiFly is not a full anti-cheat, and that is deliberate. It is built for servers that want to restrict **flight and nothing else** - no reach checks, no killaura heuristics, no combat module quietly flagging your players at 3am. What you get instead is flight control accurate enough to leave legitimate movement alone. ## Why AntiFly - **It never trusts the client.** Ground and support are verified server-side. A client claiming `onGround` cannot talk its way past a check. - **Layered detection, not one threshold.** Buffered air, hover and anti-kick suspicion sit alongside a sustained-air backstop, so slow level flight and gentle bobbing are caught - not just obvious speed hacks. - **Setbacks nobody complains about.** Players are corrected to their last known valid support instead of being yanked out of the sky mid-air. - **Elytra handled properly.** A trajectory verifier predicts the next vanilla glide step from pitch, yaw and prior velocity, then weighs residual motion, excess energy, unnaturally constant speed and impossible turns - and only acts when several channels agree. Rocket boosts, steep dives, pull-ups and obstacle crashes are all left alone. - **Teleport-aware.** `/tp`, ender pearls, chorus fruit and portals are rebased rather than mistaken for flight, so legitimate travel never rubber-bands. - **It does not advertise itself.** The root command is permission-gated on both platforms so clients that probe a server's command list with suggestion packets get nothing back. - **One shared codebase.** The same checks run on Paper and Fabric, so a detection is never fixed on one platform and forgotten on the other. ## Hunger Mode Hard blocks are not always what a survival server wants. `/antifly hungermode on` replaces them with a penalty that fits the game: - **Food drains first**, scaling with speed and never falling below a minimum while airborne - so an idle hoverer still pays. - **Then health**, once the flight has lasted long enough (or the player is already starving). Damage ticks slowly, so a landing attempt is always survivable. - **Vanilla gliding and rockets stay free** unless the movement shows genuine exploit evidence. The upshot: no rubber-banding, no teleport-loop complaints, and an economy that discourages flight naturally instead of a wall that just frustrates players. ## Void access - new in 1.1.4 A bonus toggle for servers that want to close off the void as well. `/antifly voidaccess off` covers the **Nether roof (Y ≥ 128)**, the **void below the Nether** and the **void below the Overworld**. - With Hunger Mode off, players who enter are returned to their last safe position, including while mounted. - With Hunger Mode on, entry is allowed but costs health directly - one hit on entry, then once per second while they stay. The usual hunger phase is skipped here, and exempt players are spared. ## Platforms - Bukkit family: 1.21.x - 26.3 (Bukkit, Spigot, Paper, Purpur, Folia) - Fabric: 1.21.11 / 26.1.2 / 26.2 / 26.3 ## Server compatibility The Paper build is compiled once against the oldest supported API (1.21.1) so a single jar runs on every Bukkit-family server from 1.21.x up to 26.3. Every build re-verifies that the sources still link against the oldest Paper API, the newest Paper API, and plain Spigot/Bukkit: ```bash ./gradlew :paper:checkPaperApiCompatibility ``` Anything that only exists on some servers is probed at runtime and falls back to plain Bukkit: - region schedulers (Paper/Purpur/Folia) with a Bukkit scheduler fallback - Folia entity scheduling so Hunger Mode health changes run on the thread that owns the player - `Entity#isInLava()` with a block probe fallback - the Adventure action bar (Paper family); servers without it simply show no debug action bar ## Install - Bukkit family: drop the jar into `plugins/` - Fabric: drop the jar into `mods/` ## Commands The same set on Paper and Fabric. Requires op or `antifly.admin` on Paper, moderator-level permissions on Fabric. - `/antifly enable|disable|status|help` - `/antifly hungermode ` - swap hard blocks for the hunger and health penalty - `/antifly voidaccess ` - allow or block the void (default on) - `/antifly alerts ` - where violation alerts are delivered - `/antifly reload` - re-read the config from disk, no restart needed - `/antifly set` - list every tunable key with its current value Also available: `/antifly set [value]`, `/antifly debug`, `/antifly exempt` / `unexempt`, `/antifly reset` and `/antifly disabledworlds`. The full command reference is in **[CONFIGURATION.md](https://github.com/cev-api/AntiFly/blob/main/CONFIGURATION.md)**. ## Configuration Every check is tunable at runtime with `/antifly set `. Changes apply instantly and auto-save, so there is no restart and no file editing. Defaults are chosen to stay forgiving of vanilla movement - sprinting, Depth Strider, Dolphin's Grace, Speed potions, wind charges, knockback and rockets are all expected and unpunished - so the common case really is "install it and leave it alone". - Paper / Bukkit: `plugins/AntiFly/config.yml` - Fabric: `config/antifly.json` **[CONFIGURATION.md](https://github.com/cev-api/AntiFly/blob/main/CONFIGURATION.md)** documents every key and its default, the full command reference, the Elytra trajectory verifier in depth, Hunger Mode and void tuning, and which keys are platform-specific. ## Permissions (Paper) - `antifly.admin` (default: op) · `antifly.alerts` (default: op) ## License GNU General Public License v3.0