Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
✨ Why BSAntiCheat?
- 🧊 Folia-ready — runs natively on Folia and Paper from the same jar (verified against a real Folia server).
- 🎯 Calm by default — the fiddly, false-positive-prone heuristics ship off; the reliable checks are on. No flag-storm on day one.
- 🔧 Fully calibratable — 25+ thresholds tunable live with
/bsac reload, no restart. - 📡 Transaction-based lag compensation — real ping/pong round-trip timing, not the coarse
getPing(), so high-ping players aren't punished. - 🪶 Tiny — ~355 KB, no bundled bloat.
- 🌍 Bedrock & legacy aware — auto-exempts Geyser/Floodgate and (opt-in) ViaVersion clients whose physics differ.
🛡️ What it detects
| Category | Checks |
|---|---|
| Movement | Speed, Fly, Hover, Teleport, GroundSpoof, Elytra/Riptide speed |
| Combat | Reach, KillAura (angle + multi), AimSnap, Criticals, AutoBlock |
| World | Nuker, FastPlace, Scaffold, FastBreak |
| Vehicle | Boat-Fly, per-type vehicle speed |
| Packet | AutoClicker, BadPackets, Timer, crash protection, packet-flood |
| XRay | ore thresholds, ore/stone ratio, rare-ore combos, restricted zones |
| Inventory (opt-in) | InventoryMove, ChestStealer, FastUse, BowSpam, AutoTotem |
Movement is checked every tick (no sampling), ground state is server-authoritative (not the spoofable client flag), and grace windows handle knockback, teleports, joins and elytra landings so normal play stays clean.
⚙️ Enforcement
A violation-level (VL) system with decay drives configurable punishment tiers — run any console commands (warn, kick, ban, custom) at VL thresholds, with optional setback. Ships in report-only mode; flip the switch when you're ready.
🔌 Requirements
- Paper or Folia 1.21.x
- PacketEvents — required for the packet-level checks (AutoClicker, BadPackets, Timer, Crasher, PacketFlood) and lag-transaction system. Everything else works without it.
Optional: LuckPerms (group whitelist), PlaceholderAPI, Geyser/Floodgate, ViaVersion.
🚀 Quick start
- Drop the jar in
plugins/(plus PacketEvents). - Start the server.
- Tune
config.yml, apply with/bsac reload, and enable punishments when you're happy.
Calibrate for your server: set debug_mode: true, keep punishments off, watch the debug
values while playing, tune anticheat.thresholds.*, then reload. Done.
📋 Commands & permissions
/bsac, /movealerts, /xrayalerts, /acsilent, /acwhitelist, /xrayores — admin/manage
permissions, all with aliases. PlaceholderAPI: %bsanticheat_total%, %bsanticheat_vl_<check>%.
Actively developed. Prediction-level combat detection and reworked opt-in heuristics are on the roadmap. Feedback and bug reports welcome!


