Bad Bans

Bad Bans

BadBans is a lightweight Paper punishment plugin with bans, mutes, warns, IP tracking, silent actions and dupe IP checks. Fast, clean, multi-server ready, with MariaDB/Redis sync and SQLite fallback.

49 downloads

๐Ÿ›ก๏ธ BadBans

โšก Modern Zero-Lag Punishment System for Paper Servers

BadBans is a lightweight, powerful and modern punishment plugin built for Minecraft Paper servers. Manage punishments, IP tracking, dupe IP checks, staff tools, web history and multi-server sync with a clean and fast system.


Paper Java Storage Sync Author


Author: Bad_0320 Platform: Paper Minecraft: 26.1.2 Java: 25+ Storage: MariaDB / SQLite Sync: Redis


โœจ Overview

BadBans is a complete punishment system inspired by LiteBans, designed for modern Minecraft servers that need clean moderation tools, fast database handling and reliable staff control.

It includes bans, IP bans, mutes, IP mutes, warnings, kicks, dupe IP checks, history lookup, silent punishments, rollback tools, web history support and optional player wipe systems.

Built to punish players, not your TPS.


๐Ÿš€ Feature Highlights

๐Ÿ›‘ Punishment System

Everything needed to manage player punishments in a clean and reliable way.

  • Account bans
  • Temporary bans
  • IP bans
  • Temporary IP bans
  • Mutes
  • Temporary mutes
  • IP mutes
  • Warnings
  • Temporary warnings
  • Kicks
  • Kick all

๐Ÿ” Staff Investigation Tools

Powerful tools to track players, IPs, punishments and linked accounts.

  • Full punishment history
  • Active punishment check
  • IP history
  • Dupe IP scanner
  • UUID tracking
  • IP tracking
  • Status-colored alt accounts
  • Pretty punishment IDs
  • Staff rollback system

๐ŸŒ Network Ready

Designed for both single servers and multi-server networks.

  • MariaDB support
  • Redis synchronization
  • SQLite fallback
  • Multi-server punishment sync
  • Safe fallback behavior
  • Runtime library loading
  • Lightweight final jar

๐ŸŽจ Premium Experience

Clean visuals, polished messages and smooth staff feedback.

  • Small caps punishment screens
  • Styled ban messages
  • Styled mute messages
  • Clean public broadcasts
  • Silent staff notifications
  • XP orb success sound
  • Tab completion
  • Web history support

โšก Zero-Lag Design

BadBans is designed to keep your server smooth, even during active moderation.

Database operations, punishment checks and sync actions are handled asynchronously where possible, reducing main-thread work and helping protect server TPS.

Design Goal Result
Async punishment handling Less main-thread pressure
Database work off-thread Better server performance
Redis synchronization Fast network-wide updates
Lightweight jar Faster deployment
Paper API usage Better compatibility
No NMS dependency Easier updates

๐ŸŒ Multi-Server Support

BadBans is ready for server networks and shared punishment data.

Component Purpose
MariaDB Main source of truth for punishment data
Redis Real-time synchronization between servers
SQLite Local fallback when MariaDB is unavailable

If MariaDB or Redis are not available, BadBans can safely fall back to SQLite and disable multi-server sync automatically.


๐Ÿ”‡ Silent Punishments

Every punishment command supports silent mode using -s.

Example Visibility
/ban Player 7d Cheating Visible to everyone online
/ban Player 7d Cheating -s Visible only to staff with silent notify permission

Silent notifications are shown only to console and players with:

badbans.notify.silent


โš ๏ธ Warning Auto-Ban

BadBans includes an automatic warning punishment system.

Setting Default
Active warnings required 3
Automatic action Ban
Duration 1 day
Reason Too many warnings reached

When a player reaches the configured warning limit, BadBans automatically applies the punishment.


๐Ÿงน Wipe System

BadBans includes a powerful player reset system.

/wipe <player> [-s]

Player Data

  • Inventory
  • Ender chest
  • XP and levels
  • Potion effects
  • Food and saturation
  • Persistent player data

Vanilla Files

  • Playerdata
  • Stats
  • Advancements
  • Recipes
  • Advancement progress
  • Optional external rank reset

Automatic wipe on ban is disabled by default for safety:

wipe-on-ban: false


๐ŸŽจ Styled Messages

BadBans uses clean, modern punishment messages with Small Caps Unicode styling.

Example:

สแดแดœส€ แด€แด„แด„แดแดœษดแด› สœแด€๊œฑ ส™แด‡แด‡ษด ส™แด€ษดษดแด‡แด…

Message Type Style
Ban screen Red small-caps punishment layout
IP ban screen Clean connection-ban layout
Mute message Compact warning-style format
Warn notification Staff-friendly live message
Dupe IP output Status-colored account list
Broadcasts Clean public punishment format
Silent actions Staff-only notification style

๐Ÿ” Dupe IP Scanner

Use /dupeip <player/IP> to find accounts connected to the same IP.

BadBans displays linked accounts with status-based colors, making alt detection fast and readable.

Status Meaning
Online Player is currently online
Offline Player is currently offline
Banned Player has an active ban
Muted Player has an active mute
IP Banned Player is linked to a banned IP

๐Ÿ†” Pretty Punishment IDs

BadBans creates clean, stable punishment IDs.

Player Example ID
PupillaViola #PPLV4821
Bad_0320 #BAD04821

Punishment IDs are saved permanently and do not change when the player rejoins.


๐Ÿ“œ Commands

๐Ÿ”จ Ban Commands

Command Description
/ban <player> [time] [reason] [-s] Ban a player permanently or temporarily
/ipban <player/IP> [time] [reason] [-s] Ban an IP address
/tempban <player> <time> [reason] [-s] Temporarily ban a player
/tempipban <player/IP> <time> [reason] [-s] Temporarily ban an IP address
/unban <player> Remove an active account ban
/unbanip <player/IP> Remove an active IP ban

๐Ÿ”‡ Mute Commands

Command Description
/mute <player> [time] [reason] [-s] Mute a player permanently or temporarily
/tempmute <player> <time> [reason] [-s] Temporarily mute a player
/unmute <player> Remove an active mute
/ipmute <player/IP> [time] [reason] [-s] Mute an IP address
/unipmute <player/IP> Remove an active IP mute

โš ๏ธ Warning Commands

Command Description
/warn <player> [reason] [-s] Warn a player
/tempwarn <player> <time> [reason] [-s] Temporarily warn a player
/unwarn <player> [id/all] Remove one warning or clear all active warnings

๐Ÿ‘ข Kick Commands

Command Description
/kick <player> [reason] [-s] Kick a player instantly
/kickall [reason] [-s] Kick every online player

๐Ÿ” Information Commands

Command Description
/check <player> View active punishments
/history <player> View complete punishment history
/iphistory <player/IP> View IP history
/dupeip <player/IP> View linked accounts from the same IP

โš™๏ธ Admin Commands

Command Description
/badbans reload Reload configuration files
/badbans rollback <staff> [time] Roll back punishments issued by a staff member
/wipe <player> [-s] Fully reset a player

๐Ÿ” Permissions

Punishment Permissions

Permission Command
badbans.command.ban /ban
badbans.command.ipban /ipban
badbans.command.tempban /tempban
badbans.command.tempipban /tempipban
badbans.command.unban /unban
badbans.command.unbanip /unbanip
badbans.command.mute /mute
badbans.command.tempmute /tempmute
badbans.command.unmute /unmute
badbans.command.ipmute /ipmute
badbans.command.unipmute /unipmute
badbans.command.warn /warn
badbans.command.tempwarn /tempwarn
badbans.command.unwarn /unwarn
badbans.command.kick /kick
badbans.command.kickall /kickall

Staff Tool Permissions

Permission Access
badbans.command.check Active punishment lookup
badbans.command.history Full punishment history
badbans.command.iphistory IP history lookup
badbans.command.dupeip Dupe IP scanner
badbans.command.wipe Player wipe command
badbans.command.badbans.reload Reload configs
badbans.command.badbans.rollback Staff rollback
badbans.notify.silent View silent punishments

๐Ÿงฉ Technical Highlights

Modern Paper Setup

  • Paper API
  • paper-plugin.yml
  • Java 25+
  • Maven build
  • Tab completion
  • Clean command handling

Performance Focus

  • Async database logic
  • Runtime libraries
  • Lightweight jar
  • No NMS
  • No useless reflection
  • Clean modular structure

๐Ÿ”Š Staff Feedback

When a punishment is successfully applied, the staff member hears the classic Minecraft XP orb sound.

This makes moderation feel fast, responsive and polished without disturbing normal players.


๐ŸŒ Web History Support

BadBans includes web history support, allowing punishment records to be viewed outside the game.

Useful for staff teams that need fast access to player records, previous punishments and moderation history.


๐Ÿ›ก๏ธ Why BadBans?

BadBans is made for server owners who want a punishment plugin that feels modern, clean and powerful.

Fast moderation. Clean history. Safe performance.

Punish smarter. Sync faster. Keep your TPS safe.