
YoriAC/Anti-Cheat
AI-powered anti-cheat for Paper servers. Predicts player movement server-side to detect KillAura, Speed, Flight, Reach, and more — with automatic warn & IP ban system.
YoriAC — AI-Powered Anti-Cheat
Protect your server with server-side physics prediction.
Built from scratch by SparkyNox. Special Thanks to GrimAC for inspiration.
What is YoriAC?
YoriAC is a Paper anti-cheat plugin that goes beyond simple event-based checks.
Instead of just measuring raw distances or speeds after the fact, YoriAC runs a server-side physics simulation engine — it predicts exactly where a player should be, how fast they should move, and what their Y velocity should be at every tick.
If the client's position deviates beyond the predicted tolerance → cheat detected.
This makes YoriAC significantly harder to bypass than traditional anti-cheats that rely on flat thresholds.
✦ How It Works
Most anti-cheats check: "Is this player moving too fast?"
YoriAC checks: "Is this player moving faster than our physics simulation says is physically possible — accounting for their speed potions, surface type, sprint state, ping, and momentum?"
Every check feeds into a 3-Strike system:
| Strike | Action |
|---|---|
| ⚠ Strike 1 | In-game warning message |
| ⚠⚠ Strike 2 | Final warning — loud staff alert |
| ☠ Strike 3 | Temporary IP ban (default: 15 min) |
AI Combo Detection: If a player triggers 3+ different checks simultaneously, YoriAC auto-escalates directly to Strike 3 — no waiting.
✦ Check Modules (11 Total)
⚔ KillAura
- Hit rate analysis (hits per second)
- Swing timing — inhuman intervals between attacks
- Multi-target detection — hitting many entities in a short window
- Snap rotation — both axes snapping simultaneously only during active combat
- VL decay — violations reset after 5 seconds of clean play
🖱 AutoClicker
- CPS exceeding human capability
- Click consistency analysis — perfectly uniform intervals = bot
💨 Speed
- Prediction-based — server calculates exact max speed per tick
- Accounts for: sprint, sneak, Speed/Slowness potions, ice, soul sand, slime, honey, blue ice
- Momentum bonus for legitimate sprinting
- Grace ticks after taking damage/knockback
🦅 Flight
- Prediction-based — compares actual Y velocity against gravity simulation
- Detects: sustained airborne ticks, ascending when gravity says falling
- Exempt: elytra, levitation, slow falling, creative, vehicles
🪂 NoFall
- Server-side fall distance accumulation (not relying on client)
- Mid-air fall distance reset detection (classic bypass caught)
- Delayed damage check — verifies fall damage was actually taken on landing
📏 Reach
- Bounding box distance — uses closest point on entity hitbox, not center
- Accounts for player velocity at time of hit (momentum compensation)
- Separate attack and interact reach limits
⏱ Timer
- Lag-aware — high ping players get proportional leniency
- 10-second rolling window (smooths out lag bursts)
- Requires 3 consecutive bad windows before flagging
- Ping tiers: >300ms, >150ms, >80ms each get extra buffer
📦 BadPackets
- Sprint + Sneak simultaneously (impossible in vanilla)
- Flight packet without permission
- Sneak speed bypass detection
🏗 Scaffold
- Blocks placed per second
- Rotation mismatch — placing below while looking up
- Sprint-bridge detection — full sprint speed while placing blocks below
🌊 Jesus
- Walking on water surface detection
- Speed analysis — legitimate swimming is much slower than walking speed
- Sustained check (8+ ticks) to avoid false flags from transitions
🎒 Inventory
- ChestStealer / InventoryManager detection
- Click interval analysis — inhuman speeds flagged
✦ Staff Features
- Real-time alerts — every violation broadcasts to players with
yoriac.alerts - Strike alerts — sound notifications on each strike (louder on Strike 3)
- Verbose mode — per-player detailed violation logging (
/y verbose) - Auto-expiring IP bans — no manual cleanup needed
✦ Commands
| Command | Description |
|---|---|
/y info | Plugin info + active checks |
/y reload | Reload config live |
/y verbose | Toggle verbose logging (your player) |
/y strikes <player> | View a player's current strikes |
/y resetstrikes <player> | Clear a player's strikes |
/yban <player> [reason] | Manually IP ban a player |
✦ Permissions
| Permission | Default | Description |
|---|---|---|
yoriac.admin | OP | All commands |
yoriac.alerts | OP | Receive violation alerts |
yoriac.bypass | false | Bypass all checks |
✦ Compatibility
| Version | Status |
|---|---|
| Paper 1.21 | ✅ Supported |
| Paper 1.21.1 | ✅ Supported |
| Paper 1.21.4 | ✅ Supported |
| Paper 1.21.11 | ✅ Supported |
| Java | 21+ required |
Spigot is not supported — Paper only.
✦ Configuration
Everything is tunable in config.yml — every check can be individually disabled, thresholds adjusted, violation counts changed, and ban duration set. No restart needed — /y reload applies changes live.
settings:
ban-duration-minutes: 15
verbose-mode: false
alert-sound: true
checks:
killaura:
enabled: true
max-hits-per-second: 8
violations-to-flag: 6
timer:
enabled: true
expected-pps: 20
max-deviation-percent: 25
✦ Why YoriAC?
| Feature | Basic AC | YoriAC |
|---|---|---|
| Speed check | Flat multiplier | Physics simulation |
| Flight check | Airborne ticks | Gravity prediction |
| Reach check | Center distance | Bounding box |
| Timer check | 1s burst window | 10s rolling + ping-aware |
| NoFall | Damage event only | Server-side simulation |
| False positives | High | Low (VL decay, grace ticks) |
| Lag handling | Poor | Ping-tiered leniency |
Made with ❤️ by SparkyNox — Part of the Yori ecosystem.
Special Thanks to GrimAC for inspiration on predictive detection approaches.

