Skip to content

SrCodexStudio/DeltaBan

Repository files navigation

DeltaBan

Lightweight and powerful moderation plugin for Minecraft servers

FeaturesCommandsInstallationWeb DashboardConfiguration

Minecraft Version Java Version Platform License


Features

  • Ban System - Permanent and temporary bans with /ban and /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 &#RRGGBB hex color support in all messages
  • Customizable Messages - Every message is editable in messages.yml
  • Staff Notifications - Private sanction alerts for staff with deltaban.notify permission
  • 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.


Web Dashboard

DeltaBan includes a fully embedded web dashboard that runs directly inside the plugin. No external hosting required.

DeltaBan Web Dashboard

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.


Commands

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

Time Format Examples

Input Duration
30s 30 seconds
10m 10 minutes
2h 2 hours
7d 7 days
1a 1 year
1d12h 1 day 12 hours

Permissions

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.


Installation

  1. Download DeltaBan-1.0.0.jar from the Releases page
  2. Place the JAR in your server's plugins/ folder
  3. Start or restart the server
  4. Edit plugins/DeltaBan/config.yml and plugins/DeltaBan/messages.yml as needed
  5. Run /deltaban reload to apply changes

Requirements

  • Java 17 or higher
  • Paper or Spigot 1.17.1 - 1.21.x

Configuration

config.yml

# 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"

Web Dashboard Setup

  1. Make sure web.enabled is true in config.yml
  2. Set your desired port (default 8080)
  3. Open http://your-server-ip:8080 in your browser
  4. If running behind a firewall, make sure the web port is open
  5. The dashboard is read-only and public - no login required

Database Setup

SQLite (Default): No configuration needed. A deltaban.db file is automatically created in the plugin folder.

MySQL/MariaDB:

  1. Create a database: CREATE DATABASE deltaban;
  2. Update config.yml with your MySQL credentials
  3. Change database.type to mysql
  4. Restart the server

Important: The network section in config.yml should remain enabled: false. Proxy support (BungeeCord/Velocity) is currently under active development and will be available in a future release.


Messages

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, &#00AAFF
  • 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).


Building from Source

git clone https://github.com/SrCodexStudio/DeltaBan.git
cd DeltaBan
./gradlew shadowJar

Output JAR: bukkit/build/libs/DeltaBan-1.0.0.jar


Author

SrCodexStudio - GitHub


DeltaBan - Made with precision for the Minecraft community

About

Lightweight and powerful moderation plugin for Minecraft servers. Ban, mute, warn players with time-based sanctions, embedded web dashboard, and full color support.

Resources

License

Stars

Watchers

Forks

Contributors