Overview
The whitelist feature allows specific players to join the server even when maintenance mode is enabled. This is useful for administrators, moderators, and other trusted players who need access during maintenance.WhitelistedPlayers.yml
Whitelisted players are stored in theWhitelistedPlayers.yml file, located in the plugin’s data folder:
- Bukkit/Spigot/Paper:
plugins/Maintenance/WhitelistedPlayers.yml - BungeeCord/Velocity:
plugins/Maintenance/WhitelistedPlayers.yml
File Structure
The file uses a simple UUID-to-username mapping format:Manual Editing
You can manually add or remove players by editing this file:- Open
WhitelistedPlayers.ymlin a text editor - Add entries in the format
uuid: username - Save the file
- Reload the plugin:
/maintenance reload
Whitelist Commands
The recommended way to manage the whitelist is through commands, as they handle UUID lookups automatically.Add Player to Whitelist
Add a player to the whitelist using their username or UUID:maintenance.add
When adding by username, the plugin will automatically fetch the player’s UUID from Mojang’s servers.
Remove Player from Whitelist
Remove a player from the whitelist:maintenance.remove
List Whitelisted Players
View all whitelisted players:maintenance.list
This command displays all whitelisted players with their usernames and UUIDs.
UUID Handling
The plugin handles both online and offline mode UUIDs:When enabled, if a player UUID cannot be fetched from Mojang’s servers, the plugin will fallback to using an offline-mode UUID.This only works on proxy servers (Velocity or BungeeCord).
Online Mode (Default)
In online mode, the plugin fetches UUIDs from Mojang’s authentication servers. This is the most reliable method for online-mode servers.Offline Mode
For offline-mode servers or when the Mojang API is unavailable, enablefallback-to-offline-uuid:
Offline UUIDs are generated differently than online UUIDs. A player will have different UUIDs in online vs offline mode.
Permissions
Whitelist-related permissions:| Permission | Description |
|---|---|
maintenance.bypass | Allows players to join during maintenance without being on the whitelist |
maintenance.add | Allows adding players to the whitelist |
maintenance.remove | Allows removing players from the whitelist |
maintenance.list | Allows viewing the whitelist |
Bypass Permission
Instead of adding players to the whitelist, you can grant themaintenance.bypass permission:
Redis Synchronization
If you’re using Redis for multi-proxy setups, whitelist changes are automatically synchronized across all connected proxy instances. When you add or remove a player on one proxy:- The change is saved to
WhitelistedPlayers.ymllocally - The change is published to Redis
- Other proxy instances receive the update
- All proxies update their whitelists automatically
Example Workflow
Adding Multiple Staff Members
Temporary Access
Grant temporary access to a builder during maintenance:Preparing for Maintenance
Before enabling maintenance, ensure all necessary staff are whitelisted:Troubleshooting
Player Cannot Join Despite Being Whitelisted
- Verify the player is in the whitelist:
/maintenance list - Check the UUID is correct in
WhitelistedPlayers.yml - Ensure maintenance is actually enabled:
/maintenance status - Reload the plugin:
/maintenance reload - Check for permission conflicts (deny permissions may override)
UUID Not Found
If adding a player fails with “UUID not found”:- Verify the username is correct (case-sensitive)
- Check if the player has changed their username
- Try adding by UUID directly
- Enable
fallback-to-offline-uuidfor offline-mode servers
Whitelist Not Syncing Across Proxies
- Verify Redis is properly configured and connected
- Check Redis connection: Look for errors in the console
- Ensure all proxies are using the same Redis instance
- Try reloading the plugin on all proxies