2021-02-07 17:22:08 +00:00
|
|
|
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
IFS=$'\n\t'
|
|
|
|
|
2022-01-02 16:17:32 +00:00
|
|
|
# shellcheck source=start-utils
|
|
|
|
. "${SCRIPTS:-/}start-utils"
|
2021-02-07 17:22:08 +00:00
|
|
|
isDebugging && set -x
|
|
|
|
|
|
|
|
: ${VANILLA_VERSION:?}
|
|
|
|
: ${PURPUR_BUILD:=LATEST}
|
|
|
|
: ${FORCE_REDOWNLOAD:=false}
|
|
|
|
|
|
|
|
if [[ ${PURPUR_BUILD} == LATEST ]]; then
|
2022-01-02 16:17:32 +00:00
|
|
|
if ! PURPUR_BUILD=$(get --json-path=".builds.latest" "https://api.purpurmc.org/v2/purpur/${VANILLA_VERSION}"); then
|
2021-02-07 17:22:08 +00:00
|
|
|
log "ERROR: Failed to locate a Purpur build for ${VANILLA_VERSION}."
|
|
|
|
log " Please check if a download is available at https://purpur.pl3x.net/downloads/"
|
2022-01-02 16:17:32 +00:00
|
|
|
exit 1
|
2021-02-07 17:22:08 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
export SERVER="purpur-${VANILLA_VERSION}-${PURPUR_BUILD}.jar"
|
|
|
|
|
|
|
|
if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
|
2021-12-06 13:25:01 +00:00
|
|
|
downloadUrl="https://api.purpurmc.org/v2/purpur/${VANILLA_VERSION}/${PURPUR_BUILD}/download"
|
2021-02-07 17:22:08 +00:00
|
|
|
log "Downloading Purpur from $downloadUrl ..."
|
2022-01-02 16:17:32 +00:00
|
|
|
if ! get -o "$SERVER" "$downloadUrl"; then
|
2021-02-07 17:22:08 +00:00
|
|
|
log "ERROR: failed to download from $downloadUrl (status=$?)"
|
|
|
|
exit 3
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Normalize on Spigot for later operations
|
2021-12-11 02:50:40 +00:00
|
|
|
export FAMILY=SPIGOT
|
2021-02-07 17:22:08 +00:00
|
|
|
export SKIP_LOG4J_CONFIG=true
|
|
|
|
|
2022-01-02 16:17:32 +00:00
|
|
|
exec "${SCRIPTS:-/}start-spiget" "$@"
|