Requirements
- BungeeCord (latest version recommended)
- Java 17 or higher
Installation
- Download the latest version from Hangar
- Place the JAR file in your BungeeCord
plugins/directory - Restart your proxy
- Configure the plugin in
plugins/Maintenance/config.yml
Proxy-Specific Features
BungeeCord installation unlocks advanced network-wide maintenance capabilities.Global Maintenance
Enable maintenance for the entire proxy network:Per-Server Maintenance
Enable maintenance for individual backend servers:- Players with bypass permission receive a notification
- Other players are redirected to a fallback server (if configured)
- If no fallback is available, they’re disconnected with a message
Fallback Server Configuration
Configure fallback servers for when a specific server is under maintenance:Waiting Server
Send all players to a specific waiting server during global maintenance:Redis Integration
Sync maintenance status across multiple BungeeCord proxies:- Maintenance status is synced across all connected proxies
- Whitelist changes are propagated instantly
- No need to run commands on each proxy individually
Plugin Integrations
ServerListPlus
Soft dependency - Automatically detected. Integrates with ServerListPlus to provide enhanced server list customization during maintenance.LuckPerms
Soft dependency - Context support. Maintenance registers contexts for:- Global maintenance status
- Per-server maintenance status
Configuration
BungeeCord configuration includes proxy-specific options:Permissions
| Permission | Description |
|---|---|
maintenance.command | Access to /maintenance command |
maintenance.bypass | Join during maintenance |
maintenance.admin | Full administrative access |
maintenance.joinnotification | Receive join attempt notifications |
Commands
BungeeCord includes additional commands for proxy management:Server List Customization
Custom MOTD
Display different MOTDs for global vs per-server maintenance in your configuration.Player Count Message
Customize what appears in the player count slot:Use Cases
Network-Wide Restart
- Enable global maintenance:
/maintenance on - Players are kicked (or sent to waiting server)
- Perform updates on backend servers
- Disable maintenance:
/maintenance off
Individual Server Update
- Enable per-server maintenance:
/maintenance on survival - Players on survival are sent to fallback (e.g., lobby)
- Update the survival server
- Disable maintenance:
/maintenance off survival
Scheduled Maintenance Window
%TIMER% placeholder.
Multi-Proxy Setup
For networks with multiple BungeeCord proxies:- Install Maintenance on all proxies
- Set up Redis server (e.g., using Docker)
- Configure Redis in each proxy’s config:
- Reload all proxies:
/maintenance reload
API Usage
For BungeeCord plugin developers:Troubleshooting
Players bypass maintenance without permission
Check:- Player isn’t on whitelist:
/maintenance remove <player> - Player doesn’t have
maintenance.bypassfrom LuckPerms or another permission plugin - Redis sync is working (if using multi-proxy)
Fallback server not working
Ensure:- Fallback server exists in BungeeCord’s
config.yml - Fallback server is not also in maintenance
- Fallback is properly configured in
fallback-list
Redis sync not working
Verify:- Redis server is running and accessible
- Credentials are correct in config
- All proxies use the same Redis channel name
- Check proxy logs for Redis connection errors