DonutAntiCheat v1.0.0 — Paper 1.21.11
Big-server grade anticheat, themed gold-on-black for Donut SMP. Real-time detection,
staff tooling, Discord integration, and rank-aware alerts — all fully configurable,
nothing hardcoded.
🛡️ CHECKS
Combat - KillAura Inhuman attack angles / multi-target hits per second
Combat - Reach Hitting targets beyond legit combat range
Movement - Speed Horizontal speed exceeding the legit cap
Movement - Flight Sustained airtime with no legitimate cause
Inventory - FastInventory Inhuman click speed in menus/chests
World - Nuker Breaking blocks faster than physically possible
World - FastPlace Placing blocks faster than physically possible
Every check has its own toggle, tuning values, and independent punishment ladder
( WARN →
MUTE →
KICK →
BAN), each with configurable thresholds, durations,
and reasons.
🎮 COMMANDS
/donutac (alias: /dac, /anticheat) — main admin hub
reload reload config live, no restart
banhistory opens a gold-themed chest GUI of a player's full ban history
unban pardon an active ban
stats live per-check violation levels for an online player
/sus — live suspicious-players watchlist
- Shows every online player currently carrying a violation level > 0
- Sorted worst-first, color-coded
→
→
by severity tier
- Displays each player's LuckPerms rank next to their name, if LuckPerms is installed
/offend — manual offense log
- For things checks can't catch: chat abuse, griefing reports, scamming, disrespect,
ban-evasion tips, etc. - Reason presets are configurable in config.yml, but staff can type a custom reason too
- Broadcasts to staff with donutac.alerts, fires a Discord embed, and saves permanently
to offenses.yml
/offend history — pull up everything logged against a player, most recent first
📣 DISCORD WEBHOOK INTEGRATION
Flip discord.enabled: true in config.yml, drop in your webhook URL, and get real-time
embeds for:
Bans player, check, reason, duration, ban ID, who banned them
Kicks player, check, violation level
Mutes/Warns player, duration, reason
Live Alerts every single flagged violation as it happens, with ping
Manual Offenses everything logged via /offend
Every event type has its own on/off switch, so you can route bans to one channel and
dial down alert noise separately. All webhook calls run fully async — zero TPS impact,
even under heavy alert volume.
👑 LUCKPERMS INTEGRATION
- Soft dependency — works perfectly with or without LuckPerms installed
- If detected: shows each player's primary group/rank in /sus, /donutac stats, and
Discord embeds - If not detected: everything still works exactly the same, just without the rank tag
— no errors, no crashes
⚙️ FULLY CONFIG-DRIVEN
Everything lives in config.yml — zero hardcoded values:
Server name & appeal link (used via %server%/%appeal% placeholders everywhere)
Prefix, violation-level labels & colors (gold → red escalation)
Per-check thresholds, sensitivities, and punishment ladders
Discord webhook URL, bot username/avatar, per-event toggles
Offense reason presets
💾 DATA PERSISTENCE
bans.yml - full ban history, survives restarts, powers the ban-history GUI
offenses.yml - every manual /offend entry, permanent paper trail
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta