Lightweight and powerful moderation plugin for Minecraft servers
Features • Commands • Installation • Web Dashboard • Configuration
- Ban System - Permanent and temporary bans with
/banand/tempban - Mute System - Permanent and temporary mutes with
/mute - Warn System - Warnings with optional expiry via
/warn - Time Formats - Flexible durations:
30s,10m,2h,7d,1a(seconds, minutes, hours, days, years) - Web Dashboard - Built-in dark-themed web panel to view all sanctions in real time
- Color Support - Full
&color codes and&#RRGGBBhex color support in all messages - Customizable Messages - Every message is editable in
messages.yml - Staff Notifications - Private sanction alerts for staff with
deltaban.notifypermission - Dual Database - SQLite (zero-config) or MySQL/MariaDB for larger networks
- Permission Based - Every command requires its own permission, no wildcards or bypasses
- Lightweight - Optimized coroutines, connection pooling, and lazy expiration
- Broad Compatibility - Works on Paper and Spigot from 1.17.1 to 1.21.x
Coming Soon: BungeeCord and Velocity proxy support with cross-server sanction sync is currently in development.
DeltaBan includes a fully embedded web dashboard that runs directly inside the plugin. No external hosting required.
The dashboard displays all sanctions in a clean, dark-themed table with:
- Player head avatars from mc-heads.net
- Sanction type badges (Ban, Mute, Warn)
- Active/Expired status indicators
- Time remaining with auto-truncation
- Reason, staff, and date columns
- Search by player name
- Filter by sanction type
The dashboard is public by default (read-only) and accessible at http://your-server-ip:8080.
| Command | Usage | Permission | Description |
|---|---|---|---|
/ban |
/ban <player> [time] [reason] |
deltaban.ban |
Ban a player (permanent if no time) |
/tempban |
/tempban <player> <time> [reason] |
deltaban.tempban |
Temporary ban (time required) |
/unban |
/unban <player> |
deltaban.unban |
Remove a ban |
/mute |
/mute <player> [time] [reason] |
deltaban.mute |
Mute a player |
/unmute |
/unmute <player> |
deltaban.unmute |
Remove a mute |
/warn |
/warn <player> [time] [reason] |
deltaban.warn |
Warn a player |
/unwarn |
/unwarn <player> |
deltaban.unwarn |
Remove a warning |
/deltaban reload |
/deltaban reload |
deltaban.reload |
Reload configuration |
| Input | Duration |
|---|---|
30s |
30 seconds |
10m |
10 minutes |
2h |
2 hours |
7d |
7 days |
1a |
1 year |
1d12h |
1 day 12 hours |
| Permission | Description | Default |
|---|---|---|
deltaban.ban |
Allow banning players | OP |
deltaban.tempban |
Allow temporary banning | OP |
deltaban.unban |
Allow unbanning players | OP |
deltaban.mute |
Allow muting players | OP |
deltaban.unmute |
Allow unmuting players | OP |
deltaban.warn |
Allow warning players | OP |
deltaban.unwarn |
Allow removing warnings | OP |
deltaban.reload |
Allow reloading config | OP |
deltaban.notify |
Receive staff sanction alerts | OP |
There are no wildcard permissions. Each permission must be granted individually.
- Download
DeltaBan-1.0.0.jarfrom the Releases page - Place the JAR in your server's
plugins/folder - Start or restart the server
- Edit
plugins/DeltaBan/config.ymlandplugins/DeltaBan/messages.ymlas needed - Run
/deltaban reloadto apply changes
- Java 17 or higher
- Paper or Spigot 1.17.1 - 1.21.x
# Database Configuration
database:
# Type: sqlite (default, zero-config) or mysql
type: sqlite
sqlite:
file: deltaban.db
mysql:
host: localhost
port: 3306
database: deltaban
username: root
password: ""
# Web Dashboard
web:
enabled: true
port: 8080
# Network Mode (Proxy Support) - KEEP DISABLED
# BungeeCord/Velocity support is currently in development.
# Do not enable this until a future update announces proxy support.
network:
enabled: false
server-id: "server-1"
secret: "change-this-shared-secret"
channel: "deltaban:sync"- Make sure
web.enabledistrueinconfig.yml - Set your desired port (default
8080) - Open
http://your-server-ip:8080in your browser - If running behind a firewall, make sure the web port is open
- The dashboard is read-only and public - no login required
SQLite (Default): No configuration needed. A deltaban.db file is automatically created in the plugin folder.
MySQL/MariaDB:
- Create a database:
CREATE DATABASE deltaban; - Update
config.ymlwith your MySQL credentials - Change
database.typetomysql - Restart the server
Important: The
networksection in config.yml should remainenabled: false. Proxy support (BungeeCord/Velocity) is currently under active development and will be available in a future release.
All messages are fully customizable in messages.yml. The plugin supports:
- Standard color codes:
&a,&b,&c,&l,&m,&n,&o,&r - Hex colors:
&#FF5555,�AAFF - Placeholders:
%player%,%reason%,%time%,%staff%,%duration% - Multi-line messages via YAML lists
Staff notification messages are only shown to players with the deltaban.notify permission. The executing staff member does not see the notification (they already see the success message).
git clone https://github.com/SrCodexStudio/DeltaBan.git
cd DeltaBan
./gradlew shadowJarOutput JAR: bukkit/build/libs/DeltaBan-1.0.0.jar
SrCodexStudio - GitHub
DeltaBan - Made with precision for the Minecraft community
