mc: add support for custom server JARs

For #238
This commit is contained in:
Geoff Bourne
2019-01-13 19:00:34 -06:00
parent 542798f7a6
commit 1c9274ad96
3 changed files with 42 additions and 0 deletions
+9
View File
@@ -402,6 +402,15 @@ Just change it with `SPONGEBRANCH`, such as:
$ docker run -d -v /path/on/host:/data ... \
-e TYPE=SPONGEVANILLA -e SPONGEBRANCH=EXPERIMENTAL ...
## Running with a custom server JAR
If you would like to run a custom server JAR, set `-e TYPE=CUSTOM` and pass the custom server
JAR via `CUSTOM_SERVER`. It can either be a URL or a container path to an existing JAR file.
If it is a URL, it will only be downloaded into the `/data` directory if it wasn't already. As
such, if you need to upgrade or re-download the JAR, then you will need to stop the container,
remove the file from the container's `/data` directory, and start again.
## Using Docker Compose
Rather than type the server options below, the port mappings above, etc
+4
View File
@@ -89,6 +89,10 @@ case "${TYPE^^}" in
exec /start-deploySpongeVanilla $@
;;
CUSTOM)
exec /start-deployCustom $@
;;
*)
echo "Invalid type: '$TYPE'"
echo "Must be: VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, FTB, CURSEFORGE, SPONGEVANILLA"
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
. /start-utils
if isURL ${CUSTOM_SERVER}; then
filename=$(basename ${CUSTOM_SERVER})
export SERVER=/data/${filename}
if [[ -f ${SERVER} ]]; then
echo "Using previously downloaded jar at ${SERVER}"
else
echo "Downloading custom server jar from ${CUSTOM_SERVER} ..."
if ! curl -sSL -o ${SERVER} ${CUSTOM_SERVER}; then
echo "Failed to download from ${CUSTOM_SERVER}"
exit 2
fi
fi
elif [[ -f ${CUSTOM_SERVER} ]]; then
echo "Using custom server jar at ${CUSTOM_SERVER} ..."
export SERVER=${CUSTOM_SERVER}
else
echo "CUSTOM_SERVER is not properly set to a URL or existing jar file"
exit 2
fi
# Continue to Final Setup
exec /start-finalSetup01World $@