Configurable Ban System with Reason IDs
SmartBans is a lightweight yet powerful banning system designed for server staff who want to ban players quickly, consistently, and with clear reasoning. Instead of typing out full reasons every time, use short configurable reason IDs like /ban Notch 1 to apply a preset punishment instantly.
✅ Features:
Permissions:
Config Example:
Why Choose SmartBans?
SmartBans is perfect for staff who want clear, fast, and professional punishments without typing reasons every time. It's ideal for survival, minigame, faction, or any type of server where moderation needs to be efficient and consistent.
Coming Soon?
Need Help?
SmartBans is a lightweight yet powerful banning system designed for server staff who want to ban players quickly, consistently, and with clear reasoning. Instead of typing out full reasons every time, use short configurable reason IDs like /ban Notch 1 to apply a preset punishment instantly.
✅ Features:
- Ban with Reason IDs – Assign numeric codes to punishments (e.g. 1 = Cheating, 2 = Griefing) or toggle it off and use the Reasons directly!
- Mute with Reason IDs – or again use the Reasons directly!.
- ⚙️ Fully Configurable – Set your own reasons, durations, and messages in config.yml.
- Lightweight & Fast – No unnecessary bloat; perfect for all server sizes.
- ️ Permission-Based – Fine-tuned control for staff roles.
Spoiler: Examples
/ban Notch 1
→ Bans Notch for 30 days for "Cheating"
/ban Herobrine 2
→ Bans Herobrine for 7 days for "Griefing"
/unban Notch
→ Unbans Notch
→ Bans Notch for 30 days for "Cheating"
/ban Herobrine 2
→ Bans Herobrine for 7 days for "Griefing"
/unban Notch
→ Unbans Notch
Permissions:
Spoiler: Permissions
banplugin.ban
> Allows banning players
banplugin.unban
> Allows unbanning players
banplugin.admin
> Allows banning and unbanning
banplugin.mute
> Allows muting
banplugin.unmute
> Allowes unmuting
banplugin.*
> Grants all permissions
banplugin.bypass
> Allows that you can't be banned/muted/kicked
banplugin.history
> Allows to see a players ban / mute history
banplugin.reload
> Allowes reloading the plugin
Config Example:
Spoiler: Config
# Ban Plugin Configuration
# Configure ban reasons, durations, and IDs
settings:
use-id-system:
ban : true # true = use IDs (1,2,3), false = use reasons directly
mute : true # true = use IDs (1,2,3), false = use reasons directly
bans:
1:
reason : "Cheating/Hacking"
duration : "30d"
2:
reason : "Griefing"
duration : "7d"
3:
reason : "Spam/Advertising"
duration : "1h"
4:
reason : "Toxic Behavior"
duration : "3d"
5:
reason : "Exploiting"
duration : "14d"
6:
reason : "Inappropriate Username"
duration : "1d"
7:
reason : "Ban Evasion"
duration : "60d"
8:
reason : "Staff Disrespect"
duration : "2d"
mutes:
1:
reason : "Chat Spam"
duration : "1h"
2:
reason : "Insulting Players"
duration : "2h"
3:
reason : "Racism"
duration : "7d"
4:
reason : "Advertising"
duration : "1d"
5:
reason : "Toxic Behavior"
duration : "3d"
# Duration format:
# s = seconds, m = minutes, h = hours, d = days
# Examples: 30s, 5m, 2h, 7d
# Messages
messages:
ban-success : "&aSuccessfully banned &c{player} &afor &e{reason} &afor &c{duration}"
unban-success : "&aSuccessfully unbanned &c{player}"
kick-success : "&aSuccessfully kicked &c{player} &afor &e{reason}"
player-not-found : "&cPlayer not found!"
player-not-online : "&cPlayer is not online!"
invalid-ban-id : "&cInvalid ban ID! Available IDs: {ids}"
no-permission : "&cYou don't have permission to use this command!"
player-banned : "&cYou are banned from this server!\n&cReason: &e{reason}\n&cExpires: &e{expires}"
player-kicked : "&cYou have been kicked from the server!\n&cReason: &e{reason}"
already-banned : "&c{player} is already banned!"
not-banned : "&c{player} is not banned!"
cannot-ban-staff : "&cYou cannot ban this player - they have bypass permission!"
cannot-kick-staff : "&cYou cannot kick this player - they have bypass permission!"
usage-ban : "&cUsage: /ban <player> <id>"
usage-unban : "&cUsage: /unban <player>"
usage-kick : "&cUsage: /kick <player> <reason>"
mute-success : "&aSuccessfully muted &c{player} &afor &e{reason} &afor &c{duration}"
unmute-success : "&aSuccessfully unmuted &c{player}"
player-muted : "&cYou have been muted in this server!\n&cReason: &e{reason}\n&cExpires: &e{expires}"
player-unmuted : "&cYou have been unmuted in this server!"
already-muted : "&c{player} is already muted!"
not-muted : "&c{player} is not muted!"
cannot-mute-staff : "&cYou cannot mute this player - they have bypass permission!"
usage-mute : "&cUsage: /mute <player> <mute-id>"
invalid-mute-id : "&cInvalid mute ID! Available IDs: {ids}"
history:
title : "&8History of {player}"
no-entries : "&cNo history entries found"
entry:
ban : "&eBan"
mute : "&eMute"
by : "&7By: &f{staff}"
reason : "&7Reason: &f{reason}"
date : "&7Date: &f{date}"
duration:
permanent : "&7Duration: &fPermanent"
temporary : "&7Duration: &f{duration}"
invalid-player : "&cPlease enter a valid player name"
history-usage : "&cUsage: /history <player>"
reload-success : "&aConfiguration successfully reloaded!"
usage-format:
divider : "&7&m--------------------------------"
ban-command:
header : "&cUsage: &7/ban <player> <ban-id>"
list-header : "&cAvailable Ban IDs:"
format : "&7ID: &c{id} &7| Reason: &c{reason} &7| Duration: &c{duration}"
mute-command:
header : "&cUsage: &7/mute <player> <mute-id>"
list-header : "&cAvailable Mute IDs:"
format : "&7ID: &c{id} &7| Reason: &c{reason} &7| Duration: &c{duration}"
kick-command:
header : "&cUsage: &7/kick <player> <reason>"
list-header : "&cKick Command Help:"
info : "&7Write your custom kick reason after the player name."
example : "&7Example: &c/kick Player1 Breaking the rules"
Code (YAML):
# Ban Plugin Configuration
# Configure ban reasons, durations, and IDs
settings:
use-id-system:
ban : true # true = use IDs (1,2,3), false = use reasons directly
mute : true # true = use IDs (1,2,3), false = use reasons directly
bans:
1:
reason : "Cheating/Hacking"
duration : "30d"
2:
reason : "Griefing"
duration : "7d"
3:
reason : "Spam/Advertising"
duration : "1h"
4:
reason : "Toxic Behavior"
duration : "3d"
5:
reason : "Exploiting"
duration : "14d"
6:
reason : "Inappropriate Username"
duration : "1d"
7:
reason : "Ban Evasion"
duration : "60d"
8:
reason : "Staff Disrespect"
duration : "2d"
mutes:
1:
reason : "Chat Spam"
duration : "1h"
2:
reason : "Insulting Players"
duration : "2h"
3:
reason : "Racism"
duration : "7d"
4:
reason : "Advertising"
duration : "1d"
5:
reason : "Toxic Behavior"
duration : "3d"
# Duration format:
# s = seconds, m = minutes, h = hours, d = days
# Examples: 30s, 5m, 2h, 7d
# Messages
messages:
ban-success : "&aSuccessfully banned &c{player} &afor &e{reason} &afor &c{duration}"
unban-success : "&aSuccessfully unbanned &c{player}"
kick-success : "&aSuccessfully kicked &c{player} &afor &e{reason}"
player-not-found : "&cPlayer not found!"
player-not-online : "&cPlayer is not online!"
invalid-ban-id : "&cInvalid ban ID! Available IDs: {ids}"
no-permission : "&cYou don't have permission to use this command!"
player-banned : "&cYou are banned from this server!\n&cReason: &e{reason}\n&cExpires: &e{expires}"
player-kicked : "&cYou have been kicked from the server!\n&cReason: &e{reason}"
already-banned : "&c{player} is already banned!"
not-banned : "&c{player} is not banned!"
cannot-ban-staff : "&cYou cannot ban this player - they have bypass permission!"
cannot-kick-staff : "&cYou cannot kick this player - they have bypass permission!"
usage-ban : "&cUsage: /ban <player> <id>"
usage-unban : "&cUsage: /unban <player>"
usage-kick : "&cUsage: /kick <player> <reason>"
mute-success : "&aSuccessfully muted &c{player} &afor &e{reason} &afor &c{duration}"
unmute-success : "&aSuccessfully unmuted &c{player}"
player-muted : "&cYou have been muted in this server!\n&cReason: &e{reason}\n&cExpires: &e{expires}"
player-unmuted : "&cYou have been unmuted in this server!"
already-muted : "&c{player} is already muted!"
not-muted : "&c{player} is not muted!"
cannot-mute-staff : "&cYou cannot mute this player - they have bypass permission!"
usage-mute : "&cUsage: /mute <player> <mute-id>"
invalid-mute-id : "&cInvalid mute ID! Available IDs: {ids}"
history:
title : "&8History of {player}"
no-entries : "&cNo history entries found"
entry:
ban : "&eBan"
mute : "&eMute"
by : "&7By: &f{staff}"
reason : "&7Reason: &f{reason}"
date : "&7Date: &f{date}"
duration:
permanent : "&7Duration: &fPermanent"
temporary : "&7Duration: &f{duration}"
invalid-player : "&cPlease enter a valid player name"
history-usage : "&cUsage: /history <player>"
reload-success : "&aConfiguration successfully reloaded!"
usage-format:
divider : "&7&m--------------------------------"
ban-command:
header : "&cUsage: &7/ban <player> <ban-id>"
list-header : "&cAvailable Ban IDs:"
format : "&7ID: &c{id} &7| Reason: &c{reason} &7| Duration: &c{duration}"
mute-command:
header : "&cUsage: &7/mute <player> <mute-id>"
list-header : "&cAvailable Mute IDs:"
format : "&7ID: &c{id} &7| Reason: &c{reason} &7| Duration: &c{duration}"
kick-command:
header : "&cUsage: &7/kick <player> <reason>"
list-header : "&cKick Command Help:"
info : "&7Write your custom kick reason after the player name."
example : "&7Example: &c/kick Player1 Breaking the rules"
Why Choose SmartBans?
SmartBans is perfect for staff who want clear, fast, and professional punishments without typing reasons every time. It's ideal for survival, minigame, faction, or any type of server where moderation needs to be efficient and consistent.
Coming Soon?
-
- History System
- GUI Based bans (toggle on and off)
- Web Plugin for CMS
- Add MySQL / PostgreSQL support
- Mute System ✔️
- Bypass permission ✔️
- Kick Command ✔️
- Hybrid toggle function ✔️
Need Help?
- Join the support Discord in on the right side!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Smartbans is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 126 times (via Spigot). Download it and open it directly in the game.