mirror of
https://github.com/itzg/docker-minecraft-server
synced 2024-12-16 15:22:26 +00:00
54 lines
1.4 KiB
Bash
54 lines
1.4 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
IFS=$'\n\t'
|
|
|
|
. ${SCRIPTS:-/}start-utils
|
|
isDebugging && set -x
|
|
|
|
: ${CANYON_BUILD:=lastSuccessfulBuild}
|
|
JAVA_VER=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1)
|
|
|
|
if [ "${JAVA_VER}" != "8" ]; then
|
|
log "ERROR: Canyon server type only supports Java version 8"
|
|
exit 1
|
|
fi
|
|
|
|
if [ "${VERSION}" != "b1.7.3" ]; then
|
|
log "ERROR: Canyon server type only supports VERSION=b1.7.3"
|
|
exit 1
|
|
fi
|
|
|
|
canyonJob="https://ci.velocitypowered.com/job/Canyon"
|
|
|
|
buildRelPath=$(
|
|
curl -fsSL "${canyonJob}/${CANYON_BUILD}/api/json" |
|
|
jq -r '.artifacts[0].relativePath'
|
|
)
|
|
buildNumber=$(
|
|
curl -fsSL "${canyonJob}/${CANYON_BUILD}/api/json" |
|
|
jq -r '.number'
|
|
)
|
|
baseName=$(basename "${buildRelPath}")
|
|
|
|
# Add build tag to non-tagged builds for version detection
|
|
if [ ${baseName%.*} = 'canyon-server' ]; then
|
|
export SERVER=${baseName%.*}_build${buildNumber}.jar
|
|
else
|
|
export SERVER="${baseName}"
|
|
fi
|
|
|
|
if [ ! -f "$SERVER" ]; then
|
|
downloadUrl="${canyonJob}/${CANYON_BUILD}/artifact/${buildRelPath}"
|
|
log "Downloading Canyon build ${buildNumber} 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 later operations
|
|
export TYPE=SPIGOT
|
|
export SKIP_LOG4J_CONFIG=true
|
|
|
|
exec ${SCRIPTS:-/}start-spiget "$@"
|