diff --git a/README.md b/README.md index 563ed2c1..4453b3fe 100644 --- a/README.md +++ b/README.md @@ -447,6 +447,14 @@ This works well if you want to have a common set of plugins in a separate location, but still have multiple worlds with different server requirements in either persistent volumes or a downloadable archive. +## Running a Tunity server + +A [Tunity](https://github.com/Spottedleaf/Tuinity) server, which is a fork of Paper aimed at improving server performance at high playercounts. + + -e TYPE=TUNITY + +> **NOTE** only `VERSION=LATEST` is supported + ## Running a Magma server A [Magma](https://magmafoundation.org/) server, which is a combination of Forge and PaperMC, can be used with diff --git a/start-configuration b/start-configuration index 15c19ca1..4b6a5499 100644 --- a/start-configuration +++ b/start-configuration @@ -78,6 +78,10 @@ case "${TYPE^^}" in exec /start-deployPaper "$@" ;; + TUNITY) + exec /start-deployTunity "$@" + ;; + FORGE) exec /start-deployForge "$@" ;; diff --git a/start-deployTunity b/start-deployTunity new file mode 100755 index 00000000..b998bdd9 --- /dev/null +++ b/start-deployTunity @@ -0,0 +1,27 @@ +#!/bin/bash + +. /start-utils + +if [ "${VERSION}" != "LATEST" ]; then + log "ERROR: Tunity server type only supports VERSION=LATEST" + exit 1 +fi + +: ${TUNITY_BUILD:=lastSuccessfulBuild} +export SERVER=tunity-${VANILLA_VERSION}-${TUNITY_BUILD}.jar + +if [ ! -f "$SERVER" ] || [ -n "$FORCE_REDOWNLOAD" ]; then + downloadUrl="https://ci.codemc.io/job/Spottedleaf/job/Tuinity/${TUNITY_BUILD}/artifact/tuinity-paperclip.jar" + log "Downloading Tunity (build $TUNITY_BUILD) from $downloadUrl ..." + curl -fsSL -o "$SERVER" "$downloadUrl" + if [ ! -f "$SERVER" ]; then + log "ERROR: failed to download from $downloadUrl (status=$?)" + exit 3 + fi +fi + +# Normalize on Spigot for operations below +export TYPE=SPIGOT + +# Continue to Final Setup +exec /start-finalSetup01World $@