RapidBan
A plugin has same functions as Litebans
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
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.