RapidBan
Enterprise-Grade Minecraft Punishment Management System
A high-performance, distributed punishment management plugin for Paper 1.21+.
Core Features
High-Performance Architecture
- Asynchronous Database Operations - Uses HikariCP connection pool;
all I/O operations are executed asynchronously - Thread-Safe Design - Dedicated thread pool for handling database
requests without impacting server TPS - Local Cache - Active ban cache to reduce database queries
Distributed Synchronization
- Multi-Server Support - Multiple servers share the same database
- Real-Time Sync - Ban/unban operations take effect instantly across
all servers - Redis Support - Optional Redis Pub/Sub or database polling
UUID-Based Ban System
- Based on UUID instead of player name
- Supports permanent bans, temporary bans, and silent bans
- Automatic unban upon expiration
- Complete undo system
IP Association Detection
- Records players’ historical login IPs
- Automatically detects linked (alt) accounts
- Notifies administrators of suspicious logins
- Optional automatic linked-account banning
Custom Kick Interface
- Supports MiniMessage format
- Variable placeholders (player name, reason, remaining time, etc.)
- Different templates for different punishment types
Web Management Panel
- REST API interface
- JWT authentication
- View punishment history
- Execute ban/unban operations
- Search players and linked accounts
Database Options
SQLite (Recommended for Single Server)
No additional database installation required
Simple configuration, ready to use out of the box
Suitable for small servers
Does not support multi-server synchronization
Configuration example:
database:
type: "SQLITE"
sqlite:
file: "rapidban.db"
MySQL/MariaDB (Recommended for Multi-Server)
Supports distributed multi-server synchronization
High performance, suitable for large networks
Centralized data management
Requires a separate database server
Configuration example:
database:
type: "MYSQL"
mysql:
host: "localhost"
port: 3306
database: "rapidban"
username: "root"
password: "password"
Configuration
config.yml
# Server identifier (used for distributed synchronization)
server-id: "server-1"
# Database configuration
database:
# Database type: MYSQL or SQLITE
type: "MYSQL"
# MySQL/MariaDB configuration
mysql:
host: "localhost"
port: 3306
database: "rapidban"
username: "root"
password: "password"
# SQLite configuration (file path relative to plugin data folder)
sqlite:
file: "rapidban.db"
# Synchronization system configuration
sync:
interval-seconds: 5
use-redis: false
redis:
host: "localhost"
port: 6379
password: ""
# IP association detection
ip-check:
enabled: true
auto-ban-alts: false
notify-staff: true
# Web management panel
web:
enabled: true
host: "0.0.0.0"
port: 8080
jwt-secret: "change-this-to-a-random-secret-key"
admin-username: "admin"
admin-password: "admin123"
Commands
Command Description Permission
/ban [-t ] [-s] Ban a player rapidban.ban
/unban Unban a player rapidban.unban
/history View punishment history rapidban.history
/punishundo [reason] Undo all punishments rapidban.undo
Duration Format
- s - Seconds
- m - Minutes
- h - Hours
- d - Days
- w - Weeks
- M - Months
- y - Years
Examples:
/ban Player123 Cheating -t 7d
/ban Player456 Abusive language -t 3h -s
/ban Hacker999 Using hacks
Permissions
Permission Description
rapidban.* All permissions
rapidban.ban Ban players
rapidban.unban Unban players
rapidban.history View history
rapidban.undo Undo punishments
rapidban.notify Receive punishment notifications
rapidban.notify.alt Receive linked-account notifications
Web API
Authentication
POST /auth/login
Content-Type: application/json
{
"username": "admin",
"password": "admin123"
}
Response:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"username": "admin",
"role": "ADMIN"
}
Performance Optimization
All database operations executed asynchronously
HikariCP connection pool optimization
Active ban local cache
Dedicated thread pool for I/O processing
Batch query optimization
Automatic cleanup of expired data
Development
# Clone the project
git clone <repository>
# Build
./gradlew shadowJar
# Output location
build/libs/RapidBan-1.0-Beta1.jar
License
This project is licensed under the GNU General Public License v3.0.
Support
If you have any questions or suggestions, please submit an Issue.
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta