Requirements
- Velocity 3.0 or higher
- Java 17 or higher
Installation
- Download the latest version from Hangar
- Place the JAR file in your Velocity
plugins/directory - Restart your proxy
- Configure the plugin in
plugins/maintenance/config.yml
Why Velocity?
Velocity offers several advantages over BungeeCord:- Better performance - More efficient packet handling and threading
- Modern API - Built on contemporary Java practices
- Native Adventure support - Full rich text formatting
- Active development - Regular updates from the Paper team
Proxy Features
Velocity installation provides the same advanced features as BungeeCord:Global Maintenance
Enable maintenance for your entire network:Per-Server Maintenance
Enable maintenance for individual backend servers:- Redirected to a fallback server (if configured)
- Disconnected with a custom message (if no fallback)
Fallback Server Configuration
Configure fallback servers inconfig.yml:
Waiting Server
Direct all players to a waiting lobby during global maintenance:Redis Integration
Sync maintenance status across multiple Velocity proxies:Plugin Integrations
ServerListPlus
Optional dependency - Automatically detected. Enhances server list customization during maintenance mode. Maintenance will automatically disable ServerListPlus when maintenance is enabled.LuckPerms
Optional dependency - Context support. Maintenance registers maintenance contexts with LuckPerms, allowing you to create conditional permissions.Velocity-Specific Features
Native Adventure Components
Velocity has native support for Adventure text components. All messages in Maintenance use Adventure’s Component API:- Full RGB color support
- Hover events
- Click events
- Rich formatting options
Async Event Handling
Velocity’s event system is fully asynchronous. Maintenance leverages this for optimal performance:- Non-blocking player connection checks
- Efficient server switching
- Better scalability
Config Reload Support
Velocity supports native plugin reloading:Configuration
Velocity configuration is similar to BungeeCord with some differences: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
All commands are available under/maintenance or /mt:
Server List Customization
Custom MOTD
Use MiniMessage format for rich text:Custom Icon
Place your maintenance icon atplugins/maintenance/maintenance-icon.png:
- 64x64 pixels
- PNG format
Player Count Message
Migration from BungeeCord
Migrating from BungeeCord to Velocity is straightforward:- Install Velocity and configure your servers
- Copy your Maintenance config from BungeeCord
- Update server names if they changed
- Restart Velocity
Multi-Proxy Setup
For networks with multiple Velocity proxies:- Deploy Redis server
- Configure Redis on all proxies:
- Reload all proxies
API Usage
For Velocity plugin developers:Troubleshooting
Plugin not loading
Check:- You’re running Velocity 3.0 or higher
- Java 17+ is installed
- JAR file is in the
plugins/directory - Check Velocity console for errors
Fallback not working
Ensure:- Fallback server exists in Velocity’s
velocity.toml - Fallback server is not in maintenance
- Player has permission to access fallback server
- Fallback is correctly configured in maintenance config
Redis not syncing
Verify:- Redis server is accessible from all proxies
- Same Redis credentials on all proxies
- Same channel name on all proxies
- Check logs for connection errors
- Test Redis connection independently
Messages not displaying correctly
Velocity uses MiniMessage format:- Use
<red>not§c - Use
<br>for line breaks - See MiniMessage docs for formatting