#!/bin/bash function buildSpigotFromSource { echo "Building Spigot $VANILLA_VERSION from source, might take a while, get some coffee" mkdir /data/temp cd /data/temp wget -q -P /data/temp https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar && \ java -jar /data/temp/BuildTools.jar --rev $VANILLA_VERSION 2>&1 |tee /data/spigot_build.log| while read l; do echo -n .; done; echo "done" mv spigot-*.jar /data/spigot_server.jar mv craftbukkit-*.jar /data/craftbukkit_server.jar echo "Cleaning up" rm -rf /data/temp cd /data } function downloadSpigot { local match case "$TYPE" in *BUKKIT|*bukkit) match="Craftbukkit" downloadUrl=${BUKKIT_DOWNLOAD_URL} ;; *) match="Spigot" downloadUrl=${SPIGOT_DOWNLOAD_URL} ;; esac if [[ -z $downloadUrl ]]; then downloadUrl=$(restify --class=jar-div https://mcadmin.net/ | \ jq --arg version "$match $VANILLA_VERSION" -r -f /usr/share/mcadmin.jq) if [[ -z $downloadUrl ]]; then echo "ERROR: Version $VANILLA_VERSION is not supported for $TYPE" echo " Refer to https://mcadmin.net/ for supported versions" exit 2 fi fi echo "Downloading $match" curl -kfsSL -o $SERVER "$downloadUrl" status=$? if [ ! -f $SERVER ]; then echo "ERROR: failed to download from $downloadUrl (status=$status)" exit 3 fi } case "$TYPE" in *BUKKIT|*bukkit) export SERVER=craftbukkit_server.jar ;; *) export SERVER=spigot_server.jar ;; esac if [ ! -f $SERVER ]; then if [[ "$BUILD_SPIGOT_FROM_SOURCE" = TRUE || "$BUILD_SPIGOT_FROM_SOURCE" = true || "$BUILD_FROM_SOURCE" = TRUE || "$BUILD_FROM_SOURCE" = true ]]; then buildSpigotFromSource else downloadSpigot fi fi # Normalize on Spigot for operations below export TYPE=SPIGOT # Continue to Final Setup exec /start-finalSetup01World $@