ControlBans

ControlBans

Feature compact punishment system. free and open sourced.

1 314 downloads
10 followers

ControlBans

I got tired of moderation plugins locking half their features behind a premium tier, so I wrote my own. ControlBans is a punishment system for Paper, Folia, BungeeCord, and Velocity. It's free, it's open source, and everything you see here works out of the box — no "go buy the paid version for that command" nonsense.

Performance

Everything that touches the database — punishments, history lookups, cache writes — runs async through a CompletableFuture pipeline. Someone getting banned doesn't cost you a single tick. On top of that, repeat lookups (join checks, mute enforcement, alt detection) are served from a Caffeine cache instead of hitting storage every time.

Punishments

The full toolkit, no dependencies required:

Command What it does
/ban, /tempban, /unban Permanent and temporary bans
/mute, /tempmute, /unmute Permanent and temporary mutes
/shadowmute Player sees their own messages. Nobody else does.
/ipban, /ipmute, /unipban IP-level bans and mutes
/warn Warnings with configurable escalation templates
/kick Kick with a reason and optional silent flag
/note Private staff notes attached to a player
/freeze Hold a player in place for screenshare — auto-bans if they log out
/voidjail, /unvoidjail Trap players in an inescapable void dimension
/banskin, /unbanskin Force-revert inappropriate skins instantly
/voicemute, /tempvoicemute Native mutes for Simple Voice Chat
/punish A GUI so staff don't have to type commands
/history, /check, /alts Player lookups, full timelines, alt account detection
/banlist, /mutelist, /blame Browse active punishments and staff activity
/report, /reports Player reports with a resolution workflow
/appeal In-game mute appeals with cooldowns and submission limits
/chat lock, /chat slow, /chat clear Chat management
/staff See which staff are online

Every command takes a -s silent flag. Staff with controlbans.notify.silent see what happened; everyone else is none the wiser.

AutoMod

Regex-based chat filtering that acts before a human has to:

  • Block — cancels the message and tells the player why
  • Shadow — the message only shows for the sender and staff, silently logged
  • Spam detection with configurable thresholds
  • Caps normalization, with bypass permissions per rank
  • Staff alerts on every triggered rule

Databases

Pick what fits your setup:

  • MySQL / MariaDB / PostgreSQL — full relational support through HikariCP
  • MongoDB — if you prefer documents
  • SQLite / H2 — zero-config local files, fine for a single server

Expired punishments get purged on a schedule you set, so the database doesn't quietly rot over the years.

Redis sync

On a network, configure Redis and punishments propagate to every node over Pub/Sub the moment they're issued. No polling, no delay. Works with both BungeeCord and Velocity.

Migrating from another plugin

Switching is a single command. There's a throttled, lag-safe importer for:

  • LiteBans
  • AdvancedBan
  • Essentials

Run /cb import <source> and go make a coffee.

Integrations

Integration What it does
Simple Voice Chat /voicemute silences players in proximity voice, fully synced
DiscordSRV Punishment alerts forwarded to your Discord channels
Floodgate / Bedrock Bedrock players via Geyser are detected and handled properly

Languages

Full locale files for English, German, Spanish, French, Italian, Japanese, Dutch, Portuguese, Russian, and Turkish. Every message is MiniMessage-formatted and configurable.

Built on

  • Paper 1.20+ native API, no legacy hacks
  • Folia supported (regionized multithreading works)
  • PacketEvents 2.x for the packet-level stuff
  • Adventure / MiniMessage for all text
  • Caffeine for caching
  • HikariCP for connection pooling

Stats

bStats


Discord · Source Code · Issues

Made by tawny · Free forever · No premium tier

No gallery available for this project.