ControlBans icon

ControlBans -----

Future compact punishment system.



ControlBans
The Modern, High-Performance Punishment System
[​IMG] [​IMG] [​IMG]
Tired of bloated, complex, or outdated punishment plugins? **ControlBans** is a modern, feature-compact, and high-performance punishment system designed to replace plugins like EssentialsBans, AdvancedBans, and even LiteBans.
Built with performance as a top priority, ControlBans uses asynchronous database queries and the industry-leading HikariCP connection pool to ensure your server never lags from a moderation command. Best of all, it uses a LiteBans-compatible SQL schema, meaning it works out-of-the-box with web interfaces and tools you already use, like NamelessMC.
Current Supporters:
xMorrow​
***
Core Features
  • Full Punishment Suite: Permanent and temporary bans and mutes, warnings, and kicks.
  • IP Punishments: Ban or mute players by their IP address to stop alternate accounts in their tracks.
  • Alternate Account Detection: Automatically detects and links accounts that share the same IP address.
  • Comprehensive History: Check any player's full punishment history with a simple command.
  • Advanced Silent Mode: Punishments can be issued silently. Silent punishments are broadcast only to staff members with the correct permission, keeping your public chat clean while keeping your team informed.
  • Database Support: Works with MySQL, MariaDB, PostgreSQL, and SQLite.
  • High Performance: All database queries are handled asynchronously on a separate thread, preventing any lag on your main server thread.
  • LiteBans Schema Compatibility: A drop-in replacement for LiteBans. Your existing web integrations will continue to work seamlessly.
  • Extensive Integration: Optional hooks for DiscordSRV (to log punishments in Discord) and Geyser/Floodgate (for Bedrock player support).
  • Built-in Web Viewer: An optional, lightweight web panel to view punishments from your browser.
  • Easy Migration: A simple, powerful import system to bring your bans over from vanilla and other plugins.
***
Commands & Permissions
The -s flag can be used in most punishment commands to toggle silent mode.
Command Description Permission
Code (Text):
/ban <player> [reason]
Permanently bans a player.
Code (Text):
controlbans.ban
Code (Text):
/tempban <player> <time> [reason]
Temporarily bans a player (e.g., 1d2h3m).
Code (Text):
controlbans.tempban
Code (Text):
/ipban <player|ip> [time] [reason]
Bans an IP address. Use 'perm' for time.
Code (Text):
controlbans.ban.ip
Code (Text):
/unban <player>
Unbans a player.
Code (Text):
controlbans.unban
Code (Text):
/mute <player> [reason]
Permanently mutes a player.
Code (Text):
controlbans.mute
Code (Text):
/tempmute <player> <time> [reason]
Temporarily mutes a player.
Code (Text):
controlbans.tempmute
Code (Text):
/ipmute <player|ip> [time] [reason]
Mutes an IP address. Use 'perm' for time.
Code (Text):
controlbans.mute.ip
Code (Text):
/unmute <player>
Unmutes a player.
Code (Text):
controlbans.unmute
Code (Text):
/warn <player> [reason]
Warns a player.
Code (Text):
controlbans.warn
Code (Text):
/kick <player> [reason]
Kicks a player from the server.
Code (Text):
controlbans.kick
Code (Text):
/history <player>
Views the punishment history of a player.
Code (Text):
controlbans.history
Code (Text):
/alts <player>
Checks for accounts sharing the same IP.
Code (Text):
controlbans.alts
Code (Text):
/check <player>
Checks the current ban/mute status of a player.
Code (Text):
controlbans.check
Code (Text):
/controlbans import <type>
Imports data from another ban system.
Code (Text):
controlbans.import
Code (Text):
/controlbans reload
Reloads the configuration file.
Code (Text):
controlbans.admin

Staff Notification Permission:
To receive silent punishment alerts, staff members need the permission: controlbans.notify.silent
***
Configuration
ControlBans is designed to be powerful yet easy to configure. Below are some of the key sections from the config.yml.
Code (YAML):

# --- Database Configuration ---
# All your database settings go here. SQLite is the default for easy setup.
database
:
  # Database type: mysql, mariadb, postgresql, sqlite
  type
: sqlite
  # Connection details for MySQL, MariaDB, or PostgreSQL
  host
: localhost
  port
: 3306
  database
: controlbans
  username
: root
  password
: password
  # SQLite file location (relative to plugin data folder)
  sqlite-file
: punishments.db
# --- Punishment Broadcast Settings ---
# Control how punishments are announced.
punishments
:
  broadcast
:
    enabled
: true
    console
: true
    players
: true
    # When true, all punishments will be silent (staff-only) unless the -s flag
    # is used to make them public.
    # When false (default), punishments are public unless the -s flag is used
    # to make them silent.
    silent-by-default
: false
    # Customize the format for every broadcast message!
    format
:
      ban
: "&c%player% &7was banned by &c%staff%&7: &f%reason%"
      tempban
: "&c%player% &7was temporarily banned by &c%staff% &7for &c%duration%&7: &f%reason%"
      # ... and many more messages to customize!
# --- Integrations ---
# Enable or disable hooks into other plugins.
integrations
:
  # DiscordSRV Integration
  discord
:
    enabled
: false
    # Channel IDs for different punishment types
    channels
:
      bans
: "ban-logs"
      unbans
: "unban-logs"
      # ...
 
***
Easy Migration & Imports
Migrating to ControlBans is designed to be painless. The built-in import system runs asynchronously, so you can import thousands of bans without lagging your server.
How it works:
The importer reads directly from other plugins' data files or databases. For example, to import from the vanilla banned-players.json file:
  1. Make sure your banned-players.json file is in the root directory of your server (the same place your server.jar is).
  2. Run the command:
    Code (Text):
    /controlbans import vanilla
  3. The plugin will handle the rest, reporting its progress in the console.
Support for more importers can be easily added as the project is open-source!
***
Support & Development
This plugin is provided for free as an open-source project. If you find it useful and want to support its continued development, you can do so via the link below. For bug reports or feature requests, please join our Discord server!
Support the Project: https://ko-fi.com/devtawny
Get Help on Discord: https://discord.gg/xRchyJFkBG
Source Code: https://github.com/TawnyE/ControlBans
Resource Information
Author:
----------
Total Downloads: 30
First Release: Oct 20, 2025
Last Update: Nov 9, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings