Skip to main content
The Maintenance plugin supports Velocity, the modern, high-performance Minecraft proxy from PaperMC.

Requirements

  • Velocity 3.0 or higher
  • Java 17 or higher

Installation

  1. Download the latest version from Hangar
  2. Place the JAR file in your Velocity plugins/ directory
  3. Restart your proxy
  4. 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
Maintenance takes full advantage of Velocity’s modern architecture.

Proxy Features

Velocity installation provides the same advanced features as BungeeCord:

Global Maintenance

Enable maintenance for your entire network:
Prevents all players (without bypass permission) from connecting.

Per-Server Maintenance

Enable maintenance for individual backend servers:
Players connecting to a server under maintenance will be:
  • Redirected to a fallback server (if configured)
  • Disconnected with a custom message (if no fallback)

Fallback Server Configuration

Configure fallback servers in config.yml:
When a player tries to join a maintenance server, they’re automatically sent to the fallback.

Waiting Server

Direct all players to a waiting lobby during global maintenance:
Instead of kicking players, they’ll be sent to your waiting lobby.

Redis Integration

Sync maintenance status across multiple Velocity proxies:
Essential for multi-proxy networks to keep maintenance status synchronized.

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
Configure messages using MiniMessage format:

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:
Or use Velocity’s native reload:
Maintenance will automatically reload its configuration.

Configuration

Velocity configuration is similar to BungeeCord with some differences:

Permissions

Configure permissions using your Velocity-compatible permissions plugin (e.g., LuckPerms).

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 at plugins/maintenance/maintenance-icon.png:
  • 64x64 pixels
  • PNG format

Player Count Message

With timer:

Migration from BungeeCord

Migrating from BungeeCord to Velocity is straightforward:
  1. Install Velocity and configure your servers
  2. Copy your Maintenance config from BungeeCord
  3. Update server names if they changed
  4. Restart Velocity
All configuration options are compatible between platforms.

Multi-Proxy Setup

For networks with multiple Velocity proxies:
  1. Deploy Redis server
  2. Configure Redis on all proxies:
  1. Reload all proxies
Maintenance status will now sync across all proxies in real-time.

API Usage

For Velocity plugin developers:
See the API documentation for complete reference.

Troubleshooting

Plugin not loading

Check:
  1. You’re running Velocity 3.0 or higher
  2. Java 17+ is installed
  3. JAR file is in the plugins/ directory
  4. Check Velocity console for errors

Fallback not working

Ensure:
  1. Fallback server exists in Velocity’s velocity.toml
  2. Fallback server is not in maintenance
  3. Player has permission to access fallback server
  4. Fallback is correctly configured in maintenance config

Redis not syncing

Verify:
  1. Redis server is accessible from all proxies
  2. Same Redis credentials on all proxies
  3. Same channel name on all proxies
  4. Check logs for connection errors
  5. 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