/bsac reload, no restart.getPing(), so high-ping players aren't punished.| 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.
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.
Optional: LuckPerms (group whitelist), PlaceholderAPI, Geyser/Floodgate, ViaVersion.
plugins/ (plus PacketEvents).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.
/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!