MasterAdmin
Complete moderation suite for Spigot / Paper / Purpur servers
Complete moderation suite for Spigot / Paper / Purpur servers
Overview
MasterAdmin is an all-in-one staff moderation plugin designed for professional Minecraft servers. It replaces AdvancedBan, LiteBans or similar plugins with a modern, Adventure-native, GUI-driven experience that still works from console and rcon. This plugin was originally created for my server levelyn.pl, but I believe it can be useful for other servers as well.
Features
Punishment system
- Permanent and temporary ban / mute / kick / warn
- Shadow-mute - muted player thinks messages are sent, staff sees them (with [shadow] prefix), nobody else does
- Warn escalation - configurable auto-actions on warn count (none / tempmute / tempban / ban)
- Warn expiry - warns expire automatically after a configurable period (default: 30 days)
- Silent punishments (only staff sees the notification)
- Custom ban-screen message with full MiniMessage formatting (gradient, hex colours, etc.)
- Player notified when their temporary mute expires
GUI
- /admin - staff dashboard: search players, apply punishments from preset menus
- Configurable quick-punish presets per type (reason + optional time)
- /history GUI - paginated 54-slot inventory showing full punishment history with colour-coded active/expired status (toggle in config; non-staff players cannot see shadow-mute entries)
- Staff notes visible in /history - notes added via /note appear in a dedicated slot in the history GUI
- Granular GUI access - /admin GUI only shows punishment types the opener has permission for; a support with only mute permission sees only mute options
Staff tools
- Staff chat (/sc) - private channel with configurable format
- Alt detection (/alts) - lists known accounts sharing the same IP
- Staff notes (/note) - private annotations on players, visible in /admin GUI
- Staff statistics (/staffstats) - shows how many punishments a staff member issued
- Punishment file logger - every action logged to disk
Discord integration
- Webhook support - rich embeds for every punishment type
- Per-type toggle (choose which types to log to Discord)
- Configurable username and embed fields
Chat filter / Auto-moderation
- Blocked-word list (case-insensitive)
- Action on match: block message, auto-warn or auto-mute
- Configurable auto-mute duration
Database & Storage
- SQLite (out-of-the-box, zero config) or MySQL with HikariCP connection pool
- Full punishment history - records are NEVER deleted, only marked inactive
- Async I/O - no main thread blocking
Internationalisation
- Bundled English and Polish language files
- Every player-facing message configurable in lang/[language].yml
- Optional Unicode small-caps mode for all visible text
- PlaceholderAPI support (%masteradmin_warns%, %masteradmin_bans%, %masteradmin_muted%)
Commands & Permissions
| Command | Description | Permission |
|---|---|---|
| /admin | Opens staff dashboard GUI (shows only allowed actions) | masteradmin.staff |
| /admin reload | Reload config + language | masteradmin.admin |
| /ban /tempban /unban | Ban management | masteradmin.punish.ban / .unban |
| /mute /tempmute /unmute | Mute management | masteradmin.punish.mute / .unban |
| /shadowmute | Silent shadow-mute | masteradmin.punish.shadowmute |
| /kick | Kick player | masteradmin.punish.kick |
| /warn | Warn player (auto-expires) | masteradmin.punish.warn |
| /history (/check) | Punishment history (GUI or text) | masteradmin.history |
| /sc | Staff chat | masteradmin.staffchat |
| /alts | Alt account lookup | masteradmin.alts |
| /note | Staff notes on player | masteradmin.note |
| /staffstats | Staff activity stats | masteradmin.staffstats |
Key permissions
- masteradmin.admin - full access: reload, undo, all features
- masteradmin.staff - opens /admin GUI, receives staff notifications, sees shadow-mute entries in /history
- masteradmin.punish.* - granular per-type: ban, tempban, unban, mute, tempmute, unmute, shadowmute, warn, kick
- masteradmin.bypass.mute / .ban / .filter - bypass respective checks
Requirements
- Spigot / Paper / Purpur 1.21+
- Java 21+
- (optional) PlaceholderAPI
- (optional) LuckPerms (for group-based permission checks)
Installation
- Drop masteradmin.jar into your plugins/ folder
- Restart server - default SQLite config is created automatically
- Edit plugins/MasterAdmin/config.yml and lang/en.yml as needed
- (Optional) Set database.type: mysql and fill in credentials
- (Optional) Enable Discord webhook in config
Support
Join our Discord for support!
