RapidBan
A plugin has same functions as Litebans
RapidBan
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 <player> <reason> [-t <duration>] [-s] Ban a player rapidban.ban
/unban <player> Unban a player rapidban.unban
/history <player> View punishment history rapidban.history
/punishundo <player> [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.