mirror of
https://github.com/itzg/docker-minecraft-server
synced 2024-12-13 13:52:27 +00:00
cae1a20973
Fixes #354
88 lines
2.3 KiB
Bash
88 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
function buildSpigotFromSource {
|
|
echo "Building Spigot $VANILLA_VERSION from source, might take a while, get some coffee"
|
|
rm -rf /data/temp
|
|
mkdir /data/temp
|
|
cd /data/temp
|
|
|
|
jvmOpts="-Xms${INIT_MEMORY:-$MEMORY} -Xmx${MAX_MEMORY:-$MEMORY}"
|
|
|
|
curl -sSL -o /data/temp/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar && \
|
|
java $jvmOpts -jar /data/temp/BuildTools.jar --rev $VANILLA_VERSION 2>&1 |tee /data/spigot_build.log| while read l; do echo -n .; done; echo "done"
|
|
if ! mv spigot-*.jar /data/spigot_server.jar; then
|
|
echo "ERR failed to build Spigot"
|
|
cat /data/spigot_build.log
|
|
exit 1
|
|
fi
|
|
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}
|
|
getbukkitFlavor=craftbukkit
|
|
;;
|
|
*)
|
|
match="Spigot"
|
|
downloadUrl=${SPIGOT_DOWNLOAD_URL}
|
|
getbukkitFlavor=spigot
|
|
;;
|
|
esac
|
|
|
|
local downloadVersion
|
|
if [[ ${VERSION} == LATEST ]]; then
|
|
downloadVersion=${VANILLA_VERSION}
|
|
else
|
|
downloadVersion=${VERSION}
|
|
fi
|
|
|
|
if [[ -z $downloadUrl ]]; then
|
|
downloadUrl="https://cdn.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${downloadVersion}.jar"
|
|
fi
|
|
|
|
echo "Downloading $match from $downloadUrl ..."
|
|
curl -fsSL -o $SERVER "$downloadUrl"
|
|
if [[ $? != 0 || $(grep -c "DOCTYPE html" $SERVER) != 0 ]]; then
|
|
cat <<EOF
|
|
|
|
ERROR: failed to download from $downloadUrl
|
|
Visit https://getbukkit.org/download/${getbukkitFlavor} to lookup the
|
|
exact version, such as 1.4.6-R0.4-SNAPSHOT or 1.8-R0.1-SNAPSHOT-LATEST
|
|
|
|
EOF
|
|
exit 3
|
|
fi
|
|
}
|
|
|
|
|
|
case "$TYPE" in
|
|
*BUKKIT|*bukkit)
|
|
export SERVER=craftbukkit_server.jar
|
|
;;
|
|
*)
|
|
export SERVER=spigot_server.jar
|
|
;;
|
|
esac
|
|
|
|
if [ ! -f $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; 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 $@
|