mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-09-22 13:48:31 +00:00
Fix Spigot/Bukkit downloads (#3500)
This commit is contained in:
@@ -70,38 +70,19 @@ function downloadSpigot {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ ${VERSION^^} = LATEST ]]; then
|
if [[ ${VERSION^^} = LATEST ]]; then
|
||||||
if ! VERSION=$(restify ${getBukkitSpigotUrl} --attribute='property=og:title' | jq -r '.[0] | .attributes | select(.property == "og:title") | .content | split(" ") | .[-1]'); then
|
if ! downloadUrl=$(restify "${getBukkitBaseUrl}/${getbukkitFlavor}" --id='downloadr' | jq -r '.[0] | .href '); then
|
||||||
logError "Failed to retrieve latest version from ${getBukkitSpigotUrl} -- site might be down"
|
logError "Failed to retrieve latest version from ${getBukkitSpigotUrl} -- site might be down"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z $downloadUrl ]]; then
|
if [[ -z $downloadUrl ]]; then
|
||||||
downloadBaseUrl="https://"
|
downloadUrl="https://cdn.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VERSION}.jar"
|
||||||
downloadSuffixUrl=".getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VERSION}.jar"
|
|
||||||
if versionLessThan 1.16.5 || { [[ ${getbukkitFlavor} = "craftbukkit" ]] && [[ ${VERSION} = "1.16.5" ]] ; }; then
|
|
||||||
downloadBaseUrl+="cdn"
|
|
||||||
else
|
|
||||||
downloadBaseUrl+="download"
|
|
||||||
fi
|
|
||||||
downloadUrl="${downloadBaseUrl}${downloadSuffixUrl}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
setServerVar
|
log "Downloading $match from $downloadUrl if missing ..."
|
||||||
curlArgs=()
|
|
||||||
if [ -f "$SERVER" ] && ! isTrue "$FORCE_REDOWNLOAD"; then
|
|
||||||
# tell curl to only download when newer
|
|
||||||
curlArgs+=(-z "$SERVER")
|
|
||||||
fi
|
|
||||||
if isDebugging; then
|
|
||||||
curlArgs+=(-v)
|
|
||||||
fi
|
|
||||||
log "Downloading $match from $downloadUrl ..."
|
|
||||||
|
|
||||||
tempFile="$SERVER.$$"
|
if ! SERVER=$(get -o /data --skip-existing --output-filename "$downloadUrl"); then
|
||||||
|
|
||||||
# HTTP error or download site responded with an HTML error page
|
|
||||||
if ! curl -fsSL -o "$tempFile" "${curlArgs[@]}" "$downloadUrl" || ( [ -f "$tempFile" ] && grep -iq "doctype html" "$tempFile" ); then
|
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
|
||||||
@@ -111,29 +92,9 @@ ERROR: failed to download from $downloadUrl
|
|||||||
Click into the version entry to find the **exact** version.
|
Click into the version entry to find the **exact** version.
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
exit 1
|
||||||
if isDebugging && grep -iq "doctype html" "$tempFile"; then
|
|
||||||
cat "$tempFile"
|
|
||||||
fi
|
fi
|
||||||
|
export SERVER
|
||||||
if [ -f "$SERVER" ]; then
|
|
||||||
log "Continuing with existing $SERVER file"
|
|
||||||
else
|
|
||||||
# remove invalid download
|
|
||||||
rm "$tempFile"
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
if [ -f "$tempFile" ]; then
|
|
||||||
mv "$tempFile" "$SERVER"
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
JVM_OPTS="${JVM_OPTS} -DIReallyKnowWhatIAmDoingISwear"
|
|
||||||
export JVM_OPTS
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setServerVar {
|
function setServerVar {
|
||||||
@@ -157,6 +118,8 @@ else
|
|||||||
downloadSpigot
|
downloadSpigot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
JVM_OPTS="${JVM_OPTS} -DIReallyKnowWhatIAmDoingISwear"
|
||||||
|
export JVM_OPTS
|
||||||
# Normalize on Spigot for operations below
|
# Normalize on Spigot for operations below
|
||||||
export FAMILY=SPIGOT
|
export FAMILY=SPIGOT
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user