MustGuard - All-in-One Admin & Punishment Suite
Everything your staff needs - one lightweight plugin, Minecraft 1.8 - 1.21+
No License Required | MySQL / MongoDB / SQLite | 1.8 - 1.21+ | Discord Logging
Overview
MustGuard is a complete moderation toolkit that replaces a whole stack of admin plugins with one clean, fast jar. Escalating punishments, mute, kicks, warnings with auto-punish, a freeze tool, broadcasts, live server settings GUI, RAM cleanup, Discord webhook logging and full staff statistics - all configurable, all multi-version.
No license key, no phone-home, no external dependency. Drop it in, restart, done.
Commands work above other plugins - MustGuard forcibly takes priority for /ban, /kick, /settings etc., so it works even if EssentialsX or another plugin registers the same commands, regardless of load order.
Key Features
- Escalating Punishments - Define categories like "cheats" with rising tiers (7d -> 14d -> permanent). The Nth offense in a category automatically applies the Nth tier. No more manual time-tracking.
- Bans, Mutes, Kicks - By category or manual time (7d, 2h, perm...). Bans enforced at login, mutes block chat + chat-commands.
- Warnings + Auto-Punish - After X warnings a configurable ban or mute is applied automatically.
- Freeze - Lock a suspected cheater in place (movement, commands, interaction, damage) with a staff alert if they log out.
- Punishment History - /history shows every punishment of a player (who, when, why, active/expired).
- Live Settings GUI - Edit world & server settings in-game with no restart - difficulty, PvP, time, weather, gamerules (with descriptions), whitelist.
- Restart-Required Editor - A dedicated GUI to edit server.properties (max players, build height, view distance, spawn protection, flight, nether...).
- Staff Statistics - Per-staff bans, kicks, mutes, warns and online time, split across 24h / 7d / 30d / all-time.
- Discord Webhook Logging - Send every action to a Discord channel, with an independent on/off toggle per action type.
- Custom Unknown-Command Message - Replace the default "Unknown command" text live, no spigot.yml editing.
- /setslots & /gc - Change max players without restart, and free server RAM on demand.
- 3 Database Backends - SQLite (zero-config default), MySQL or MongoDB - your choice.
- Multi-Language - English & Polish included, every message fully customizable.
- 1.8 - 1.21+ Compatible - Version-safe reflection for NMS-only operations, works everywhere.
Escalating Punishments - the killer feature
Stop typing durations by hand. Define a category once, and MustGuard tracks how many times each player has offended and applies the right penalty automatically.
YAML:
punishments:
ban:
cheats:
display: "&cCheats / Client modifications"
permission: "" # optional extra permission
tiers:
- time: "7d" # 1st offense
reason: "&7Illegal client modifications"
- time: "14d" # 2nd offense
reason: "&7Illegal client modifications (repeat)"
- time: "perm" # 3rd+ offense
reason: "&7Illegal client modifications (permanent)"
/ban Steve cheats -> 1st time 7 days, 2nd time 14 days, 3rd time permanent. Fully automatic.
Commands
Code:
/ban <player> <category|time> [reason] - Ban (escalation or manual time)
/unban <player> - Remove a ban
/mute <player> <category|time> [reason] - Mute (with escalation)
/unmute <player> - Remove a mute
/kick <player> [reason] - Kick a player
/warn <player> <category|reason> - Warn (+ auto-punish at threshold)
/history <player> [limit] - Punishment history (aliases: lookup, checkban)
/freeze <player> - Freeze / unfreeze a suspect
/broadcast <message> - Server-wide announcement (alias: bc)
/setslots <amount> - Change max players, no restart
/gc - Free server RAM (alias: lag)
/settings - Open the settings GUI
/adminstats [player] - Staff statistics (aliases: astats, staffstats)
/mustguard <reload|version|help> - Admin (alias: mg)
Permissions
Code:
mustguard.ban / unban / kick / mute / unmute / warn
mustguard.history / freeze / broadcast / setslots / gc / settings / stats
mustguard.admin - /mustguard reload, version
mustguard.exempt - This player cannot be punished
mustguard.staff - This player is tracked in statistics (online time)
mustguard.<category> - Optional per-category permission
Settings GUI (no restart)
- World - difficulty, PvP, time, weather (live, per world)
- Gamerules - all common game rules, each with a description of what it does
- Server (restart) - server.properties editor: max players, build height, view distance, spawn protection, flight, nether, whitelist, hardcore...
- Statistics - browse staff and view their numbers
Staff Statistics
Track your team's activity at a glance. For every staff member MustGuard records bans, kicks, mutes, warns and online time, broken down into 24h / 7d / 30d / all-time windows - in chat or in a clean GUI.
Discord Logging
Point MustGuard at a Discord webhook and every action shows up as a clean embed. Each action type (ban, unban, kick, mute, unmute, warn, freeze, broadcast, setslots, gc, settings-change) has its own on/off switch so you log exactly what you want.
YAML:
discord:
enabled: true
webhook-url: "https://discord.com/api/webhooks/..."
logs:
ban: true
kick: true
mute: true
warn: true
settings-change: true
gc: false
Database Options
YAML:
database:
type: "sqlite" # sqlite | mysql | mongodb
SQLite works out of the box with zero setup. Pick MySQL or MongoDB to share punishment data across multiple servers.
Version Compatibility
Code:
Built for Spigot / Paper / MSpigot:
1.8.x -> 1.21+ (single jar, version-safe reflection)
Requirements
- Java 8+
- Spigot / Paper 1.8 - 1.21+
- (Optional) MySQL or MongoDB for cross-server data
- (Optional) A Discord webhook for logging
Setup
- Drop MustGuard.jar into your plugins/ folder
- Start the server - default config + language files generate automatically
- (Optional) Edit plugins/MustGuard/config.yml - categories, database, Discord webhook
- /mustguard reload to apply, then /ban, /settings, /adminstats to go!
No license key. No activation. Just install and use.
Questions or feature requests? Reply to this resource thread - support included.
