🎉 BanMenu Update 1.4.2
Update from 1.4.1 to 1.4.2
Thank you for using BanMenu!
Version 1.4.2 introduces a fully configurable maintenance system with dynamic MOTD and server icon handling, including deep Minecraft and Discord integration.
This update focuses on server availability control, player flow during maintenance, and visual server state management.
✨ New Features
🧱 Server State Management (Maintenance, MOTD & Icons)
🚧 Advanced Maintenance Mode
- New global maintenance system with full control over player access.
- Activate maintenance using:
/maintenance on
/maintenance on <time>
/maintenance off
- Supported time units:
s (seconds), m (minutes), h (hours), d (days)
Example: /maintenance on 10m, /maintenance on 2h, /maintenance on 1d
- If no timer is provided, maintenance is enabled immediately and a configurable kick countdown (defined in
maintenance.yml) starts.
- If a timer is provided, it defines the duration of the maintenance mode, after which maintenance is automatically disabled.
- During an active countdown:
- Players without
banmenu.maintenance.join are kicked once the countdown expires.
- Players with
banmenu.maintenance.join may join even while the countdown is running.
- Fully configurable kick, join, and maintenance messages.
⏳ Dynamic Countdown System
- Countdown time formatting adapts automatically based on remaining duration:
> 48 hours → days only (e.g. 5 days)
> 24h & ≤ 48h → days + hours (e.g. 1 day 14 hours)
≥ 2h & ≤ 24h → hours only
≥ 60m & < 120m → hours + minutes
≥ 2m & < 60m → minutes only
≥ 60s & < 120s → minutes + seconds
< 60s → seconds only
- All time unit names are configurable in
maintenance.yml.
📊 Maintenance Bossbar
- Optional bossbar displayed only during maintenance.
- Shows dynamic countdown information.
- Bossbar visibility is permission-based:
- Only players with
banmenu.maintenance.bossbar.show will see it.
- Fully customizable text and appearance.
🌐 Dynamic MOTD System
- New
motd.yml with support for:
- Multiple MOTDs
- Random MOTD selection per server refresh
- Separate MOTD pools for:
- Normal operation
- Maintenance mode
- Maintenance MOTDs are only active if explicitly enabled.
- MOTDs automatically switch based on server state.
🖼️ Dynamic Server Icon System
- New
server-icons/ directory structure.
- Supports:
- Multiple server icons
- Random icon per server refresh
- Separate icon pools for:
- Normal operation
- Maintenance mode
- Maintenance icons are only used if enabled.
- Icons automatically switch together with maintenance state.
🤖 Discord Integration
- All maintenance commands are available via Discord:
/maintenance on
/maintenance on <time>
/maintenance off
- Command availability via Discord depends on:
- Properly configured Discord integration
- Linked Minecraft permissions
- Current permission checks are based on Minecraft permissions.
- Planned feature: native Discord role-based permission checks.
🔐 New Permissions
| Permission | Description |
|---|
banmenu.maintenance.use | Allows enabling and disabling maintenance mode |
banmenu.maintenance.join | Allows joining the server during maintenance |
banmenu.maintenance.countdown.info | Allows viewing maintenance countdown information |
banmenu.maintenance.bossbar.show | Allows seeing the maintenance bossbar |
banmenu.maintenance.cooldownbypass | Bypasses command cooldowns for maintenance commands |
🔧 Technical Changes
- New configuration files:
- New directory structure:
- All existing configuration files have been extended.
- Internal refactoring for:
- Improved maintenance state handling
- Optimized server ping logic for MOTD & icon refresh
- Better synchronization between server state and visual output
⚠️ Important Notes
- Backup recommended before updating.
- This update introduces soft breaking changes.
- Recommended update process:
- Create backups of all configs.
- Stop the server.
- Delete the
BanMenu plugin folder.
- SQLite users may keep the database file.
- MySQL users do not need any database changes.
- Start the server to regenerate fresh configs.
- Manually transfer configuration values section by section from backups.
- Server restart required after updating.
- Test maintenance permissions and Discord integration before production use.