Implement Multi-backend server support #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Now for the big one!
A full revamp of the installer/bootstrap script, which in the future could lead to support for setting up more than one server...
contrib/toinstaller/, to organize the folder hierarchy and reduce the clutter incontrib/server/toservers/backend/, to support multiserver setupsAlso:
deploy/update.shnow loops through all the folders inservers/in addition toproxy/, calling theupdate.shin each of them.wgetto the bootstrap requirements because we use it to fetch the server files (velocity.jar AND paper.jar)With this PR, to set up another server with name <SERVER_NAME>, just:
deploydirectory asminecraftcp -r installer/default_config/server servers/<SERVER_NAME>proxy/plugins/vane-velocity/config.tomlandproxy/velocity.toml25502, for instance)servers/<SERVER_NAME>/update.shto get server filesroot,systemctl enable --now minecraft-server@<SERVER_NAME>/server <SERVER_NAME>You can start and stop any server with the
minecraft-server@<SERVER_NAME>service!However, server administrators now need to use
sudo minecraft-attach server-backendinstead of justsudo minecraft-attach server. This is to differentiate between the proxy (velocity) and a backend server (paper) namedproxy.As always, welcome to any edits or suggestions!