# Minecraft-Server Scripts This repository provides the bash scripts to start a paper minecraft server, either standalone or behind a Velocity or BungeeCord proxy server. ## Setup The scripts assume you have a minecraft server in the current directory, a Velocity server in a `proxy` subdirectory and a BungeeCord server in a `bungee` subdirectory, as illustrated by the following graphic: ``` .: start.sh paper.jar server.properties launch.sh ... ./proxy: velocity.jar launch.sh ... ./bungee: BungeeCord.jar launch.sh ... ``` You can adjust the jar names and start parameters in the respective `launch.sh` scripts. The `configure.sh` script only configures online-mode, velocity enabling, bungeecord enabling and server port. Everything else - especially Velocity- and BungeeCord-server - needs to be configured manually. ## Starting the server The server will be started in an infinite loop when calling: ```sh ./start.sh ``` After being stopped it will wait for 3 seconds before automatically starting again. To interrupt this process, `^C` (ctrl + C) may be used while the script is waiting ("sleeping"). To start the server behind a Velocity proxy one can use ```sh ./start.sh --proxy ``` or for BungeeCord ```sh ./start.sh --bungee ``` The proxy server will then be started in a screen named `proxy`. Stopping the server will NOT stop the proxy server, but interrupting the restart-loop will. ## Requirements The yq command line utility is required to configure the server for either Velocity or BungeeCord. It can usually be found in the `yq` package of your distro. When starting one of the proxy servers, the `screen` command is utilised to start the proxy within its own screen.