BanMenu
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 – 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

✅ Moderation System

  • Ban, Mute & Kick (temporary & permanent)
  • Flexible ID-based punishment system
  • Automatic expiration for temporary punishments
  • Undo actions (Unban / Unmute)
  • Admin & bypass permissions

🎨 GUI Menu

  • Modern, user-friendly moderation GUI
  • Visual player overview
  • Fast moderation without command spam

🎫 Ticket System

  • GUI-based ticket creation & management
  • Cooldown system to prevent abuse
  • Ticket states: Open, Closed, Reopened
  • Discord notifications for staff

## 🤖 Discord Integration (Extended in 1.4.0)

📜 Discord Rules Bot

  • 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

🏷️ Discord Role Management

  • 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

🔄 Role Synchronization

  • 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

🛡️ Security Features

  • 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

🔧 Technical Features

  • 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

📋 Commands

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

🔐 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

⚙️ Requirements

  • Minecraft 1.20+
  • Java 17+
  • Optional:
    • LuckPerms / GroupManager
    • PlaceholderAPI
    • JDA (for Discord features)

🚀 Installation

  1. Download the plugin
  2. Place it into /plugins
  3. Restart the server

⚙️ Configurations

  1. 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

## Discord Support ## Website ## Forum


Developed by EndCrystalTV
Version 1.4.2