HomeJavaModsSXBans
SXBans
ModsJava

SXBans

A punishment system for Minecraft servers .

⬇ Download on Spigot
SXBans
A complete punishment system that doesn't make you tab out to a spreadsheet.

Supports Minecraft 1.13 → 26.2 | Version 1.61 Release | Java 17+

Join our Discord

Wiki


If Download Link Have Problem Click Here To Direct Download Plugin From Github


▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Introduction

If you've ever run a Minecraft server with more than a handful of players, you already know the drill. You start with a basic ban plugin because it's free and it does the one thing you need. Then you realize you also want temp-bans. Then you want a web panel so your moderators don't have to be in-game to check someone's history. Then you're running a second server and now bans don't carry over. Then someone asks for alt-account detection. Before long you've got four plugins stitched together with duct tape, none of which were designed to talk to each other, and half your staff meetings are spent debugging why a ban on server A didn't apply on server B.

SXBans exists to be the plugin you install once and never have to think about again.

It's a single, self-contained punishment system that covers everything a real server actually needs day to day: bans, temp-bans, mutes, kicks, warnings, IP-level punishments, a full audit trail of every action taken against every player, alt-account detection, a genuine web dashboard your staff can use from a phone during a lunch break, and — if you're running more than one server — full cross-network synchronization that doesn't care whether you're behind BungeeCord, Waterfall, or Velocity.

Nothing here is duct-taped together. The web panel, the database layer, and the network sync all share the same core, so a ban issued from in-game, from the web panel, or from another server in your network all behave identically and show up in the same history log.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

✔ Full Feature List

Core Punishments

Storage — Pick What Actually Fits Your Server
Not every server needs a MySQL cluster, and not every server should be stuck with flat files either. SXBans lets you choose:
Whichever you pick, table/schema creation is completely automatic. You will never need to run a SQL script by hand to get SXBans working. Connections to MySQL/PostgreSQL are pooled through HikariCP, so you don't need to think about connection leaks or tuning pool sizes either.

Multi-Server Networks

Web Panel

Extras That Actually Matter

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Screenshots

(Web panel dashboard, player search, punishment history, and live console screenshots go here — attach your images to this resource page and they'll display inline in this section.)

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

⌨ Commands

Punishment Commands

IP Commands

Info Commands

Administration

Time Format
Used anywhere a command takes a duration: seconds, minutes, hours, days, weeks, Months (capital — lowercase m is minutes), years. You can chain them together: 1d12h30m is a day, twelve hours, and thirty minutes.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Permissions

Command Permissions

Bypass Permissions
Let specific players dodge punishments entirely — handy for staff testing or making sure your head admin never locks themselves out.

Admin Levels (Punishment Hierarchy)
Regular players with no admin-level node are treated as level 0, so any staff member can punish them normally — this system only matters for staff-on-staff situations.

Web Panel Permissions
Note: the web panel also has its own independent username/password account system (see below) separate from your Bukkit permissions plugin.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Web Panel — In Depth

Once your server's running, the panel is reachable at http://your-server-ip: port (default port 8080, fully configurable). On first launch, SXBans generates a random password for the default admin account and prints it to your console exactly once — grab it before it scrolls past, log in, and change it immediately from Settings.

From the panel you get a live dashboard, full player search with complete history, a live server console for admins, and user management for creating additional staff logins with their own restricted permission levels. Give trial staff a low-level account so they can look up player history without being able to touch the console — reserve full admin-level web accounts for people you'd trust with in-game op anyway, since the live console can run arbitrary server commands.

Want it reachable at a proper domain over HTTPS instead of a raw IP: port? Drop nginx or Caddy in front of it as a reverse proxy — the built-in web server intentionally leaves TLS termination to tools that are already good at it.


Screen Shots :
WebPanel - Applay Punishment Card(Punish Types).png ,
WebPanel - Applay Punishment Card.png
,
WebPanel - Dashboard Page.png
,
WebPanel - History Page.png
,
WebPanel - login page.png
,
WebPanel - Player Info Card.png
,
WebPanel - Players Page.png
,
WebPanel - Players Page.png

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Network Setup — In Depth

Running more than one server — a survival server, a skyblock server, a lobby? SXBans can keep punishments in sync across all of them.

Every server in your network connects to the same Redis instance and publishes/subscribes to the same channels. Ban someone on your survival server, and your skyblock server and lobby pick it up and apply it locally within a second or two. This works identically regardless of whether your proxy is BungeeCord, Waterfall, or Velocity, because the sync layer doesn't touch proxy-specific messaging at all — it's pure Redis pub/sub.

Setup is three settings per server: point every server at the same Redis host, give each server a unique name so the plugin (and your logs) can tell them apart, and turn sync on. That's the entire configuration.

If you want punishments to also apply at the proxy layer directly — for example, rejecting a banned player's connection before they even pick a server — the full Redis message protocol (channel names, JSON structure, field meanings) is documented and included with the plugin, so you can build a small companion plugin for Velocity or BungeeCord in well under a hundred lines of code.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

⚙ Requirements


▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Installation

  1. Drop the jar into your plugins/ folder and start your server once so it can generate its default config files
  2. (Optional) Stop the server and open config.yml if you want to change the database type, web panel port, or network settings — the defaults work fine for a single small-to-medium server
  3. Start the server again
  4. Watch your console on this boot — your randomly generated web panel admin password is printed once
  5. Log in to the web panel and change that password from Settings

No database setup required, no commands to run by hand — table/schema creation is fully automatic no matter which storage backend you choose.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

❓ Frequently Asked Questions

Does this work on Paper / Purpur / other Spigot forks?
Yes — anything built on the Spigot/Bukkit API works fine.

Do I need a database?
No. The default JSON storage works out of the box for most servers. A real database is an option for larger networks, not a requirement.

Can I use this across multiple servers?
Yes, via Redis, and it works with BungeeCord, Waterfall, and Velocity alike.

Is the web panel required?
No — you can disable it entirely if you'd rather manage everything in-game only.

Can I run the web panel without exposing it to the public internet?
Yes, bind it to internal/firewalled access only, or put it behind a VPN.

What happens to bans if I uninstall the plugin?
Name-based bans and mutes are enforced entirely by SXBans, so removing the plugin removes enforcement. IP bans are also added to the server's own built-in ban list as a safety net, so those keep working even without the plugin installed.

Does it support hex colors and Unicode in messages?
Yes, throughout — messages.yml is fully UTF-8 and supports both standard color codes and hex.

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Need help, found a bug, Create a Ticket in Discord.

discord.gg/7xFkMg6apF

Built by XserGod and the SX Team.
Licensed under the Apache License 2.0.

SXBans is a free Minecraft Java mod. Compatible with Minecraft 1.13, 1.14, 1.15, 1.16 and newer. Downloaded 22 times (via Spigot). Download it and open it directly in the game.

Explore more