Compatibility
Minecraft: Java Edition
Platforms
Creators
Details
Velocity Server Manager
This project is a fork of BungeeServerManager by Noah Fetz, edited to work on Velocity Proxies.
This project follows the MIT License as per upstream, it has not been edited.
Check out the original Plugin on SpigotMC here: BungeeServerManager [BungeeCord] [MySQL]
Features
- Add or Remove Servers from your Velocity Proxy without restarting
- Restriction who can join specific servers with permissions
- Jump to any player's server you want
- Servers are saved in a MySQL Database
- Receive notifications when servers go online or offline
- Kick all players from a specific server to a random lobby
- Manage Server Flags to customize server behavior
- /hub or /lobby command to go to a lobby server
- Configurable messages
Known Issues.
- No known issues at this time.
Installation
Prerequisites
You'll need:
- A Proxy that is running Velocity (duh)
- A MySQL or MariaDB Database
- About 5-10 minutes of your time to set everything up
Setup
- Download the latest release of Velocity Server Manager.
- Place the downloaded
.jarfile into yourpluginsfolder of your Velocity Proxy. - Start your Proxy to generate the default configuration files. It will shutdown automatically due to a missing database connection.
- Open the generated
mysql.ymlfile in a text editor and fill in the details for a valid database connection. - Start your Proxy again. The plugin should connect to the database and create the necessary tables.
- (Optional, but encouraged) Remove all servers that are not fallback servers from your
velocity.toml. Instead, add them using/addservereither ingame or in the console. Refer to here. - (Optional) Configure the messages in
messages.ymlto your liking.
You are now ready to use Velocity Server Manager! Have fun managing your servers on the fly, dynamically.
FAQ
If you read this, you've probably encountered an issue or are interested in some other stuff. Here are some common things and what to do:
- The Proxy shuts down immediately after starting!
- Make sure your database connection details in
mysql.ymlare correct. - Ensure that your database server is running and accessible from the machine running the Proxy.
- If any of the above do not apply, check the Proxy logs for any error messages related to the plugin. It is probably not this plugin's fault. (Hopefully)
- Make sure your database connection details in
- I can't connect to a server that I added!
- Make sure the server is online and reachable from the Proxy.
- Check
/serverto see if the server is listed. If it isn't, it probably has theDISABLEDflag set. - Check if the server is marked as
RESTRICTEDand ensure you have the necessary permissions to join it.
- The plugin doesn't seem to be working at all!
- Update Velocity if you haven't updated in a while.
- Check the Proxy logs for any error messages related to the plugin.
- I found a bug or have a feature request!
- Open an issue here on GitHub describing the problem or feature you'd like to see.
- Please do not contact me on any other platform regarding bugs or features. GitHub is the only place where I want and will track these things. I've had somebody interested in a different project message me on Reddit in a Private Chat. Who does that?
Permissions
Have fun configuring to your heart's desire.
servermanager.goto- Be able to use /goto and /jumpto.servermanager.help- See the help list.servermanager.notify- Receive notifications when somebody manages servers.servermanager.servers.add- Add servers to your network.servermanager.servers.delete- Delete servers from your network.servermanager.servers.reload- Reload server data from the database and re-add them to the proxy.servermanager.servers.list- List all servers in your network.servermanager.servers.kick- Kick all players from a specific server to a random lobby.servermanager.ignorekick- Be exempt from being kicked when a server is cleared.servermanager.servers.info- View information about a specific server.servermanager.servers.flags- Manage Server flags. Check here for more info.servermanager.server.[servername]- Access a specific server if it has theRESTRICTEDflag.servermanager.server.*- Access all servers that have theRESTRICTEDflag.servermanager.ignorerestriction- Ditto of the above, if your Permission system does not support wildcards.
Commands
[hub, lobby]- Go to a Lobby Server[goto, jumpto]- Go to a player's current server[whereami, wai]- Find which server you are currently on[addserver]- Adds a server to your network[delserver]- Deletes a server from your network[reloadserver]- Reloads the data of a specific server or all servers in the network[serverlist, sl]- Lists all servers in your network[serverinfo, si]- Shows some information about a specific server[flagserver]- Add a flag to a server[unflagserver]- Remove a flag from a server[clearserver, kickserver]- Kicks all players from the specific server to a random lobby[servermanager]- A unified command for every action
Flags
Flags are how to plugin identifies servers and their conditions. Some are immutable.
EMPTY (Bitvalue: 0)- No flags setLOBBY (Bitvalue: 1)- This server is a lobby server. Players will be sent here when they join the proxy or are kicked from another server.RESTRICTED (Bitvalue: 2)- This server is restricted. Only players with theservermanager.server.*orservermanager.ignorerestrictionpermission can join.DISABLED (Bitvalue: 4)- This server is disabled. Players cannot join this server, not even staff. If you want this server to be joinable by only staff, use RESTRICTED instead.PROXYMANAGED (Bitvalue: 9)- This server is managed by the proxy. This flag is immutable and applies to all servers added in thevelocity.tomlfile. If this flag is present, you cannot apply any other flags.
NOTE: Bitvalue 9 means that the PROXYMANAGED flag is a combination of the LOBBY flag and itself. This is intentional to encourage people to only put fallback servers into their velocity.toml file.
NOTE: Flags of Servers are stored in the database. Please do not tamper with the database manually unless you know exactly what you are doing. I will not fix any bugs where the database has been manually tampered with. You are on your own.
Contribution
I made this as a small side project to learn a tiny bit more about Programming for the Velocity Proxy. I will probably not look at PR Requests anytime soon. If you do feel up to the task, you can fork this repository instead.
Just make sure to follow the license.
Instead, if you'd like to support me financially, you can Donate on my Ko-Fi Page!
License
This fork is licensed under the upstream MIT License - see the LICENSE file here or upstream for details


