COWMODSКаталог модов

ControlBans

Feature compact punishment system. free and open sourced.

Автор: Tawny1,9 тыс.13обновлён 24 окт. 2026 г.
УправлениеУтилиты

Описание

ControlBans

ControlBans is one of my plugins that I enjoy working on the most. I created it in late 2025 and I've been updating it and putting it first ever since. I do plan on releasing more plugins eventually, but that's besides the point.

I made ControlBans because I was tired of moderation plugins that lock everything useful behind a premium tier. This one is free and open source, and everything on this page works the moment you drop the jar in. No paid commands, no cut down version, no catch.

What it does

ControlBans is a full moderation suite. Punishments, reports, appeals, chat management, alt detection, voice chat mutes, and staff tools, all running async so your server never stutters when someone gets banned.

It works on Paper, Folia, BungeeCord, and Velocity, and if you run a network you can hook it up to Redis and every ban, mute, and unban syncs across all your servers the instant it happens.

Commands

Punishments

CommandDescription
/ban, /tempban, /unbanBan players permanently or for a set time
/mute, /tempmute, /unmuteMute players permanently or for a set time
/shadowmuteThe player sees their own messages. Nobody else does
/ipban, /ipmute, /unipbanPunish by IP address
/warnWarn a player, with configurable escalation templates
/kickKick a player with a reason
/freezeFreeze a player for screenshare. Auto bans if they log out
/voidjail, /unvoidjailTrap a player in an inescapable void dimension
/banskin, /unbanskinForce a player's skin back to default
/voicemute, /tempvoicemuteMute players in Simple Voice Chat

Staff tools

CommandDescription
/punishClick through GUI for quick punishments
/historyFull punishment timeline for any player
/checkLook up a player's status
/altsDetect alt accounts sharing an IP
/notePrivate staff notes on a player
/banlist, /mutelistBrowse active punishments
/blameSee which staff member did what
/reportsStaff report GUI: view every report, filter by status, read full descriptions, teleport to the reporter or reported player with a click, and resolve, reject, reopen, or delete
/appealsStaff appeal review GUI: read mute appeals and approve (auto unmutes) or deny
/chat lock, /chat slow, /chat clearChat management
/staffSee which staff are online

For players

CommandDescription
/reportReport a player through a GUI. Staff fully control the categories in the config (icons, names, descriptions) or players can write their own reason
/reportsCheck the status of your own reports
/appealAppeal a mute in game

Every staff command supports -s for silent punishments. Staff with the silent notify permission see it, everyone else doesn't.

AutoMod

Regex based chat filtering that runs before any human has to step in. Block messages, shadow them so only staff see them, detect spam, and normalize caps. Every rule is configurable with staff alerts.

Databases

SQLite by default, which means drag and drop. You don't have to connect to anything, just put the jar in your plugins folder and it works. If you want more, MySQL and MariaDB are fully supported through HikariCP, and Redis handles network sync. Expired punishments get cleaned out automatically on a schedule so your database never rots.

Switching from another plugin? There's a built in importer for LiteBans, AdvancedBan, and Essentials. One command, /cb import, done.

Integrations

  • Simple Voice Chat: /voicemute and /tempvoicemute mute players in proximity voice, fully synced with normal mutes
  • DiscordSRV: punishment alerts post to your Discord channels automatically
  • Floodgate/Geyser: Bedrock players are detected and handled correctly

There's also a public API if you make plugins and want to hook into everything ControlBans does.

Themes

The messages can look like whatever you want. Every single message is MiniMessage formatted and configurable, and the jar ships with premade theme packs in themes/ styled after servers like Hypixel, minemen, and mcpvp(.club) if you want that look without doing the work yourself.

Languages

English, German, Spanish, French, Italian, Japanese, Dutch, Portuguese, Russian, and Turkish, all included.

Stats

bStats


Discord · Source Code · Issues

Made by tawny.

Последние версии

Все версии →
release

ControlBans 6.3-hf1

6.3-hf1
24 окт. 2026 г.52Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
ChangeLog: FIXED Velocity Fixed the plugin completely failing to load on Velocity (Guice could not bind our relocated logger "No implementation for Logger was bound") The proxy extension now loads and registers its message channel correctly (verified on Velocity 4.3) Fixed proxy messages being silently dropped: the message path now verifies the carrier actually has the channel registered instead of reporting success on a no-op FIXED Offline servers Fixed bans resolving to a total stranger's Mojang account when punishing a player who was never seen before (offline servers now resolve to the offline UUID instead of asking Mojang) Fixed banned players being able to rejoin while banned, caused by the above identity mismatch The join check now falls back to matching by exact name if the UUID disagrees, and a name column was added to bans and mutes (migrates automatically) FIXED Cross-server Fixed unbanning on one server not taking effect on another server for up to the cache TTL login checks now always read fresh from the database FIXED Storage Fixed absolute paths in database.sqlite.file being pasted onto the plugin folder instead of honored FIXED Commands Fixed a hidden error on every /check (a null return inside the async chain) /punish now works from console and RCON /history and /alts now give real text output from console/RCON instead of refusing CHANGED Commands IP ban/mute on a local or invalid IP now says so, instead of "Player not found" CHANGED Locales
release

New dialogue system

6.3
20 окт. 2026 г.58Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
Quick and short. The new dialogue system introduced in this version, this highly overhauls the slash punish command. It's much easier, easy to configure, and you can set your own rules, evaluations, etc. Just know a few other things have been edited within this, like get rid of all of the language files for right now, and several other changes to improve for performance for the latest version of Minecraft.
release

very needed changes

6.2
10 окт. 2026 г.132Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
**ADDED Config** Alt join alert can now be turned off (alts-punish.join-alert.enabled) Alt join alert name limit setting (alts-punish.join-alert.max-names) **ADDED Commands** /unipban now accepts a punishment ID (/unipban #A1B2C3D4) **FIXED Alt Detection** Fixed alt join alerts spamming one message per banned alt Alert now shows one summary message with all banned alts listed **FIXED IP Privacy** Fixed public broadcasts leaking the full IP on IP bans and mutes Shows the masked IP in public chat now, banned players still see full info **FIXED Commands** Fixed /unipban only working by IP or player name **CHANGED Locales** alts.join-alert message format changed to a single summary line Non-English locale files got the new key in English until translated Short and matches the style. Test the two in-game things first (unipban by ID, and an alt with a bunch of banned accounts joining), then it's ready.
release

6.1

6.1
14 сент. 2026 г.175Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
**ChangeLog:** **ADDED Reports** Full report system rework with a staff GUI to resolve, reject, reopen, delete, and teleport to players Report categories fully customizable in the config (icons, names, descriptions) Players can write their own report reason in chat Players can check their own report statuses with /reports **ADDED Appeals** Appeal review GUI with approve and deny buttons (/appeals) Approving an appeal unmutes the player automatically **ADDED General** Public API for other plugins Theme packs styled after Hypixel, minemen, and mcpvp(.club) /banskin and /unbanskin now exist and work New config options: report cooldown, duplicate window, custom reasons toggle, teleport on click toggle **FIXED Config** Fixed report config options doing nothing (enabled, cooldown were ignored) **FIXED Database** Fixed appeals table missing a status column **FIXED Proxy** Fixed Velocity claiming it was still version 5.0 **CHANGED Jar** Jar size cut in half (21 MB to 10 MB) by removing unused database files **CHANGED Config** Config updater no longer rewrites your file, only inserts missing keys Your comments and organization in config.yml are never touched again New config keys come with their explanation comments A backup is saved before every config update **CHANGED Reports** Reports now save the category and target UUID
release

Super polishing

6.0
12 сент. 2026 г.40Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
ChangeLog: FIXED - Fixed escalation never leveling up after a punishment was removed - Fixed explicit durations being overridden (1m no longer becomes 1h or 1d) - Fixed duplicate punishments on double clicks and concurrent commands - Fixed banned players joining when the database lagged - Fixed mutes and voice mutes not syncing across servers - Fixed silent punishments leaking to Discord - Fixed staff claiming they did it for 1 minute when the player got more - Fixed GUI double click applying the punishment twice - Fixed items being moved into menus - Fixed MySQL not connecting and SQLite crashing on startup - Fixed frozen players escaping by quitting or teleporting - Fixed console spam from SLF4J and locale warnings - Fixed ALL guis CHANGED - Reworked the design with an ice blue color scheme - All broadcasts, staff alerts, ban and mute screens now match - Screens now show an appeal link on player bans - Locale warning now shows a short summary instead of a huge list ADDED - Nothing added (Feature-wise)
release

Velocity update & taking a little break.

5.9
28 июн. 2026 г.336Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
# ControlBans v5.9 Velocity proxy support fixes. ## Fixes 1. Fixed duplicate broadcast messages on Velocity networks > The proxy was rebroadcasting punishments to all players including the ones on the server that issued the punishment, so players saw everything 2-3 times. The proxy now skips players on the source server since they already got the message from their backend. 2. Fixed staff alerts not reaching other servers > Staff alerts were only sent to players on the same backend server. The alert is now relayed to the proxy so staff on other servers see it too. 3. Fixed proxy plugin messages silently failing on Paper > `Server.sendPluginMessage()` was being used to send cross-server messages but it silently does nothing on Paper for custom channels. This meant kicks, broadcasts, and cache invalidations never actually reached the proxy. Messages are now always sent through a player connection instead. 4. Updated Velocity plugin version strings > The Velocity plugin metadata and `@Plugin` annotation were showing version 5.0/5.2 instead of the actual version. ## Upgrade Drop the JAR in `plugins/` on both your Velocity proxy and your backend servers, then restart everything.
release

More fixes and improvements!

5.8
27 июн. 2026 г.32Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
# ControlBans v5.8 ## Fixes 1. Fixed Japanese and Russian locales breaking on startup > Corrupted bytes in the locale files caused YAML parsing to fail, then the plugin would silently overwrite them with English, losing the original translations. Both are repaired and the loader now skips broken files instead of overwriting them. 2. Fixed "missing locale keys" spamming the console on every startup > The validator had a broken recursive check that reported every key as missing even when they were all there. 3. Fixed `/banlist`, `/mutelist`, `/history`, and `/blame` showing duplicate entries > A `LEFT JOIN` on the login history table was multiplying each punishment row by the number of times the player had logged in. 4. Fixed `/check <player>` saying "No punishment found with that ID" for short usernames > Names like `Connor` were being mistaken for punishment IDs. `/check` now also works on offline players, not just online ones. 5. Fixed first chat after join being silently swallowed for non-muted players > The mute cache was empty on join, so the chat listener cancelled the message for everyone and only echoed it back to the speaker as plain text. 6. Fixed `/freeze` showing raw `<#FF6B6B>FROZEN` color tags > The status string was passed through without parsing its MiniMessage tags. 7. Fixed `/ipban` and `/ipmute` saying "Player not found" when the IP was local > The local IP safety check was failing silently and the command translated that into the wrong error. It now clearly says the IP is on the protected blocklist. 8. Fixed "Player '<player>' is already banned" showing the literal text `<player>` > The placeholder was never being filled in with the actual name. Same bug hit the "already muted" and "already voice muted" messages. ## Escalation The `#template` and `escalation:` systems were verified. Offense counts advance correctly, levels clamp properly at the max configured level, and durations are applied as configured. 3 new test templates were added to the default config (`test-extortion`, `test-minor-spam`, `test-grief-ban`). Safe to keep or remove. ## Upgrade Drop the JAR in `plugins/` and restart. No config migration needed. If your `ja.yml` or `ru.yml` got overwritten with English by the previous version, delete the file before restarting and a fresh copy will be extracted.
release

Featured request and fixing an issue

5.7
24 июн. 2026 г.45Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur, spigot, velocity, waterfall
Скачать
Что нового
1. Bedrock Player UUID Lookup: Fixed PlayerResolver.java so it now gracefully falls back to the local database if FloodgateApi can't find an offline player, fixing the "Player not found" issue when trying to punish Bedrock players. 2. Blocked Commands for Muted Players: Added the blocked-commands feature into config.yml (defaulting to blocking commands like /msg, /w, /me, etc.) and added an interceptor in PlayerChatListener to stop them and show the mute screen. 3. Blocked Signs and Books: Added block-signs: true into the config. If a muted player writes in a book or on a sign, their text will be immediately replaced with [MUTED]. 4. Discord Webhooks: Added the webhook-url setting in the discord block of config.yml. The plugin actually had full built-in support for standard webhooks via IntegrationService.java, but the configuration property was accidentally left out. You can now use standard webhooks without DiscordSRV! 5. Local Punishments Broadcast: Updated NotificationService.java so that it broadcasts punishments locally to all online players and console (using the existing broadcast config toggles) instead of exclusively pushing them out via the Bungee proxy channel.
release

Improvements and emergency fixes

5.6
22 июн. 2026 г.24Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
# I'm in the hospital by the way :P # change-logs: - revamped the escalation system to be more better and more informative of errors - fixed a weird little bypass with temp voice mute so now they can bypass it - I did some more optimization to the caffeinated database system so hopefully this addresses some weird latency with bans
release

Overhaul punishment GUI & escalation

5.5
1 июн. 2026 г.119Minecraft: 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, bungeecord, folia, paper, purpur, spigot, velocity
Скачать
Что нового
# changelog ## punishment GUI and escalation overhaul 1. made the gui 10X better 2. escalation overhaul deleted the old system and changed it to the new one. now you can do it like this for templates and escalation automatically (/ban player67 #Hacking) (/tempban Steve193 #extreme-jokes)