BanMenu
BanMenu is a powerful Minecraft moderation plugin featuring a GUI, ticket system, Discord integration, and comprehensive punishment management for Spigot and Paper
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.
BanMenu

BanMenu – The Ultimate Minecraft Moderation Plugin
Geyser / Bedrock cross-platform servers is a powerful, modular moderation plugin for Geyser / Bedrock cross-platform servers 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.
1.4.2 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
---
- Geyser / Bedrock compatible support - Full proxy support (BungeeCord / Velocity) Geyser / Bedrock compatible - 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 |
---
🔐 Permissions
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 |
---
- Java 17+ - Java 17+ - Optional: - LuckPerms / GroupManager - PlaceholderAPI - JDA (for Discord features)
---
1. Download the plugin 2. Place it into `/plugins` 3. Restart the server
4. The following configuration files and folders will be created in `plugins/BanMenu/`:
```text 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
---
Version 1.4.2 Version 1.4.2















