The Bedrock-first anticheat your server has been missing.
Flint is a fully packet-based anticheat built from the ground up around real Geyser/Floodgate behavior — not a Java anticheat with Bedrock support bolted on afterward. Every check accounts for how Bedrock movement, combat, and packets actually arrive on your server, so your crossplay players stay safe from bans while cheaters still get caught.
Spigot • Paper • Folia | Minecraft 1.20 → 26.1.2 | Packet-based via PacketEvents
[Required] PacketEvents: https://www.spigotmc.org/resources/packetevents-api.80279/
[Warning] This is a Bedrock anticheat only — it will ignore Java players!
============================
The KillAura Verification Bot
Flint is a fully packet-based anticheat built from the ground up around real Geyser/Floodgate behavior — not a Java anticheat with Bedrock support bolted on afterward. Every check accounts for how Bedrock movement, combat, and packets actually arrive on your server, so your crossplay players stay safe from bans while cheaters still get caught.
Spigot • Paper • Folia | Minecraft 1.20 → 26.1.2 | Packet-based via PacketEvents
[Required] PacketEvents: https://www.spigotmc.org/resources/packetevents-api.80279/
[Warning] This is a Bedrock anticheat only — it will ignore Java players!
============================
Flint's standout feature: when a player is suspected of using KillAura, Flint can spawn a completely fake, packet-only NPC that only that player can see. It borrows a real nearby player's name and skin, holds a sword, swings, and follows behind the suspect like a normal player would. Legitimate players simply ignore it. Aura cheats, which auto-target anything humanoid in range, attack it — and land a hit on an entity that was never actually there.
It's invisible to everyone else on the server, fully configurable, and gives you a near-certain confirmation instead of a guess.
============================
Bedrock touch players attack where their finger taps, not where the crosshair points — so legit taps can land tens of degrees off from the camera the server sees. This was the #1 cause of Hitbox false flags, and no threshold value fixes it.
Flint splits players by input mode: touch players get their own relaxed profile that only catches physically impossible hits, while keyboard/mouse, controller, and VR get a strict profile that is tighter than a single global setting ever could be. Crosshair-aim inference watches whether the camera is moving at the moment of a hit and promotes accordingly. Evidence can only ever make a check stricter, never more lenient — so spoofing your device to claim TOUCH gains a cheater nothing. Ships alert-only by default, so a wrong guess never bans a phone player.
============================
Detection Coverage
Combat
- Reach — hits from farther than legally possible, checked separately per movement state, with two-sided lag compensation
- Hitbox — an artificially enlarged hitbox, detected via raytrace against the real per-axis target box, split by input mode
- KillAura — target-switching, impossible attack angles, through-wall hits, no-swing attacks, and the verification bot confirmation
- Aimbot — impossible rotation snaps and unnaturally smooth/robotic aim
- AutoClicker — CPS caps for both Java and Bedrock/touch input, plus click-timing consistency analysis
- Velocity — anti-knockback, catches reduced or missing knockback after being hit
- AutoTotem — inhumanly fast totem re-equips
Movement
- Speed — excess movement speed across walking, sprinting, jumping, and sustained long-window travel
- Fly — hovering, sustained ascension, excess air-time, and frozen-hover/noclip patterns
- Jump — excess jump velocity, bunny-hopping, and excess airborne height
- Step — stepping up more height per tick than physically allowed
- AirJump — jumping again while already airborne
- Spider — climbing solid, non-climbable surfaces
- Jesus — walking on top of water
- NoFall — spoofing ground contact to dodge fall damage
- Phase — moving through solid blocks (sustained-movement gated to avoid Bedrock false flags)
- Elytra — impossible glide speed and unboosted sustained acceleration
- InventoryMove — moving while the inventory is open (off by default)
Player / World
- Timer — client speedhacks, both burst and sustained detection methods
- FastUse — using items faster than possible
- Nuker — breaking too many blocks per second
- FastBreak — breaking a single block faster than physically possible
- FastPlace — placing blocks faster than physically possible
- Scaffold — illegal bridge-placing without looking near the block (off by default)
Every sub-check has its own enable toggle, violation threshold, ping/TPS gates, and decay rate — nothing is one-size-fits-all.
============================
| Command | Description | Permission |
|---|---|---|
| /flint | Shows the help list | flint.use |
| /flint reload | Reloads config.yml | flint.admin |
| /flint vl <player> | View a player's violation levels per check | flint.admin |
| /flint spectate <player> | Spectate a target (/gamemode survival to exit) | flint.admin |
| /flint alerts | Toggle your in-game alerts on/off | flint.alerts |
| /flint type <player> | Reports edition, input mode, Floodgate status, and why a profile was chosen | flint.admin |
| /flint bot <player> | Force-spawn the KillAura verification bot on a target for testing | flint.admin |
============================
| Permission | Default | Grants |
|---|---|---|
| flint.admin | op | Every /flint subcommand, plus the missing-Floodgate warning on Bedrock joins |
| flint.alerts | op | Receives violation alerts in chat (toggle per-staff with /flint alerts) |
| flint.bypass | — | Exempt a player from all checks (must be granted) |
============================
| Placeholder | Description |
|---|---|
| %flint_vl_total% | Player's total violation level |
| %flint_last_check% | Last sub-check the player failed |
| %flint_type% | Bedrock or Java |
| %flint_input% | Touch / Keyboard+Mouse / Controller / VR / Unknown |
| %flint_ping% | Player's current ping |
| %flint_alerts_state% | Whether staff alerts are on/off (works offline) |
============================
⚙ Why Flint Doesn't Ban Your Legit Players
- Input-aware detection — touch, keyboard/mouse, controller and VR players are each judged by their own profile instead of one global setting
- Modelled Geyser desyncs — sprint/glide flicker, non-20Hz movement, mining-swing spam, and liquid packet floods are compensated for instead of flagged
- Two-sided lag compensation on all combat checks — both attacker and target are rewound by ping, and mobs are now rewound per-tick too
- Broad, deliberate exemptions — potions, ice, slime blocks, riptide, levitation, vehicles, knockback, climbables, bounce blocks, wind charges, and more
- TPS and ping-aware — checks automatically skip during server lag or high-ping spikes
============================
- Server software: Spigot, Paper, or Folia
- Minecraft version: 1.20 and up to the latest
- Required dependency: PacketEvents
- Recommended (Bedrock detection): Floodgate and/or Geyser-Spigot
- Optional (placeholders): PlaceholderAPI
