
PluginLicenseRef-All-Rights-Reserved
BanMenu
BanMenu is a powerful Minecraft moderation plugin featuring a GUI, ticket system, Discord integration, and comprehensive punishment management for Spigot and Paper
117
Downloads
3
Followers
3 months ago
Updated
📦
4
Versions
📖About BanMenu

BanMenu – The Ultimate Minecraft Moderation Plugin
BanMenu is a powerful, modular moderation plugin for Spigot, Paper and Bukkit and fully supports Geyser / Bedrock cross-platform servers.
It provides a complete all-in-one moderation solution including punishments, tickets, Discord integration, role synchronization, security systems and detailed logging — all configurable and scalable.
Current Version: 1.4.2
🎯 Main Features
- Ban, Mute & Kick (temporary & permanent)
- Flexible ID-based punishment system
- Automatic expiration for temporary punishments
- Undo actions (Unban / Unmute)
- Admin & bypass permissions
- Modern, user-friendly moderation GUI
- Visual player overview
- Fast moderation without command spam
- GUI-based ticket creation & management
- Cooldown system to prevent abuse
- Ticket states: Open, Closed, Reopened
- Discord notifications for staff
(Extended in 1.4.0)
- Quiz runs directly in the Rules channel (no DMs)
- Ephemeral questions & final summary only
- Verified users skip the quiz automatically
- Multilingual messages (DE / EN)
- Fully configurable via
discord_rules_bot.yml
- Role management via Discord Slash Commands
- Admin / Moderator permission groups
- Configurable role permissions
- New config:
discord_role-permissions.yml - Slash Commands:
/role give/role remove
- Minecraft command:
/discord-role
- Bidirectional sync: Minecraft ↔ Discord
- Priority modes:
minecraft,discord,both - Manual sync command:
/dc-sync/dc-sync <player>
- Fully configurable sync messages
📝 Discord Slash Commands
- All Rules Bot commands available as Slash Commands
- Channel-restricted execution
- Commands registered even if modules are disabled
- Multi-line embedded help messages
- IP tracking (alt account detection)
- Optional automatic IP bans
- Optional VPN detection
- Chat filter with blacklist & regex
- Chat delay / anti-spam system
📊 History & Statistics
- Full punishment history per player
- Detailed stats (bans, mutes, kicks, tickets)
- Deletable history with reasons
- Complete logging of moderation actions
- MySQL & SQLite support
- Full proxy support (BungeeCord / Velocity) (Comming Soon)
- Geyser / Bedrock compatible
- PlaceholderAPI integration
- LuckPerms & GroupManager support
- Multi-language (EN / DE)
- Modular system (disable unused features)
- YAML-based configuration
- Hot-reload without restart
| Command | Description |
|---|---|
/banmenu |
Main command (reload, update, stats) |
/ban <player> <ID> |
Ban a player |
/unban <player> |
Unban a player |
/mute <player> <ID> |
Mute a player |
/unmute <player> |
Unmute a player |
/kick <player> [reason] |
Kick a player |
/check <player> |
Player information |
/history <player> |
Punishment history |
/gui |
Open GUI |
/ticket |
Ticket system |
/dc-verify <code> |
Link Discord account |
/dc-unverify |
Remove Discord link |
/dc-sync |
Sync own roles |
/dc-sync <player> |
Sync other players |
/discord-role |
Manage Discord roles |
/maintenance on |
Start Maintenance Mode Fix |
/maintenance on <time> |
Start Maintenance Mode with Timer |
/maintenance off |
Stop Maintenance Mode |
Main Permissions
| Permission | Description | Default |
|---|---|---|
banmenu.* |
All BanMenu permissions | op |
banmenu.banmenu |
Use main command /banmenu |
op |
banmenu.reload |
Reload plugin | op |
banmenu.checkupdate |
Check for updates | op |
Ban System
| Permission | Description | Default |
|---|---|---|
banmenu.ban.* |
All ban permissions | op |
banmenu.ban.all |
Ban players | op |
banmenu.ban.admin |
Perform admin bans | op |
banmenu.ban.ID |
Use specific ban ID (e.g. banmenu.ban.1) |
op |
banmenu.ban.bypass |
Ban bypass | op |
banmenu.unban.* |
All unban permissions | op |
banmenu.unban.admin |
Unban players | op |
banmenu.unban.ID |
Use specific unban ID | op |
Mute System
| Permission | Description | Default |
|---|---|---|
banmenu.mute.* |
All mute permissions | op |
banmenu.mute.admin |
Perform admin mutes | op |
banmenu.mute.ID |
Use specific mute ID | op |
banmenu.mute.bypass |
Mute bypass | op |
banmenu.unmute.* |
All unmute permissions | op |
banmenu.unmute.admin |
Unmute players | op |
banmenu.unmute.ID |
Use specific unmute ID | op |
Kick System
| Permission | Description | Default |
|---|---|---|
banmenu.kick.* |
All kick permissions | op |
banmenu.kick.admin |
Kick players | op |
banmenu.kick.bypass |
Kick bypass | op |
General Commands
| Permission | Description | Default |
|---|---|---|
banmenu.check |
View player information | op |
History System
| Permission | Description | Default |
|---|---|---|
banmenu.history.* |
All history permissions | op |
banmenu.history.show |
View history | op |
banmenu.history.delete |
Delete history | op |
GUI System
| Permission | Description | Default |
|---|---|---|
banmenu.gui |
Open GUI menu | op |
banmenu.gui.* |
All GUI permissions | op |
banmenu.gui.ban |
Open ban GUI | op |
banmenu.gui.mute |
Open mute GUI | op |
banmenu.gui.kick |
Open kick GUI | op |
banmenu.gui.unban |
Open unban GUI | op |
banmenu.gui.unmute |
Open unmute GUI | op |
Logs System
| Permission | Description | Default |
|---|---|---|
banmenu.logs.* |
All log permissions | op |
banmenu.logs.show |
View logs | op |
banmenu.logs.clear |
Clear logs | op |
Notifications
| Permission | Description | Default |
|---|---|---|
banmenu.notify |
Receive team notifications | op |
Chat Features
| Permission | Description | Default |
|---|---|---|
banmenu.bypasschatfilter |
Bypass chat filter | op |
banmenu.bypasschatdelay |
Bypass chat delay | op |
banmenu.bypassadvertising |
Bypass anti-link / advertising | op |
Ticket System
| Permission | Description | Default |
|---|---|---|
banmenu.ticket.* |
All ticket permissions | op |
banmenu.ticket.use |
Create tickets | false |
banmenu.ticket.team |
Manage tickets | op |
banmenu.ticket.admin |
Delete tickets | op |
banmenu.ticket.bypass |
Cannot be reported | op |
banmenu.ticket.delaybypass |
Bypass ticket cooldown | op |
banmenu.ticket.notify |
Receive ticket notifications | op |
Custom Commands
| Permission | Description | Default |
|---|---|---|
banmenu.customcommand |
See/use custom command in player GUI | op |
banmenu.use.customcommand |
Execute custom command | false |
Discord Integration
| Permission | Description | Default |
|---|---|---|
banmenu.discord.verify.use |
Link Discord account | false |
banmenu.discord.verify.delete |
Delete player’s Discord verification | op |
banmenu.discord.unverify |
Delete own Discord verification | false |
banmenu.discord.role.sync.use |
Sync own Discord ↔ Minecraft roles | false |
banmenu.discord.role.sync.other |
Sync roles for other players | op |
banmenu.discord.role.use |
Use /discord-role command |
op |
Statistics
| Permission | Description | Default |
|---|---|---|
banmenu.stats.all |
View all statistics | op |
🚧 Maintenance Permissions
| Permission | Description | Default |
|---|---|---|
banmenu.maintenance.use |
Enable and disable maintenance mode | op |
banmenu.maintenance.join |
Join the server during maintenance | false |
banmenu.maintenance.countdown.info |
View maintenance Admin countdown information | false |
banmenu.maintenance.bossbar.show |
See the maintenance bossbar | false |
banmenu.maintenance.cooldownbypass |
Bypass cooldowns for maintenance commands | op |
- Minecraft 1.20+
- Java 17+
- Optional:
- LuckPerms / GroupManager
- PlaceholderAPI
- JDA (for Discord features)
- Download the plugin
- Place it into
/plugins - Restart the server
- The following configuration files and folders will be created in
plugins/BanMenu/:
plugins/BanMenu/
├── Discord-Configs/
│ ├── discord.yml
│ ├── discord_rules_bot.yml
│ └── discord_role-permissions.yml
├── languages/
│ ├── de_DE.yml
│ └── en_GB.yml
├── punishment/
│ ├── ban_id_config.yml
│ ├── mute_config.yml
│ ├── kick_config.yml
│ ├── unban_config.yml
│ └── unmute_config.yml
├── banmenu.db
├── chat.yml
├── config.yml
├── history.yml
├── maintenance.yml
├── motd.yml
├── stats.yml
├── ticket.yml
├── bungee.yml #only by BungeeCord
└── velocity-plugin.json #only by Velocity
📚 Support
Developed by EndCrystalTV
Version 1.4.2















