Files
docker-minecraft-server/scripts/start-deployCrucible
T

56 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# shellcheck source=start-utils
. "${SCRIPTS:-$(dirname "$0")}/start-utils"
set -o pipefail
set -e
isDebugging && set -x
resolveVersion
: "${CRUCIBLE_RELEASE:=latest}"
# An omitted --release-tag means the latest release, so only pass it when a
# specific release was requested
crucibleReleaseArgs=()
[[ ${CRUCIBLE_RELEASE} == latest ]] || crucibleReleaseArgs+=(--release-tag="${CRUCIBLE_RELEASE}")
crucibleRepo=CrucibleMC/Crucible
log "Downloading Crucible ${VERSION} from the ${CRUCIBLE_RELEASE} release"
if ! SERVER=$(mc-image-helper github download-asset \
"${crucibleReleaseArgs[@]}" \
--output-directory=/data \
--name-pattern="^Crucible-${VERSION}-.+\.jar$" \
${crucibleRepo}
); then
logError "Failed to download Crucible jar for ${VERSION} from the ${CRUCIBLE_RELEASE} release"
logError "Ensure CRUCIBLE_RELEASE is one of the releases at ${crucibleReleasesUrl}"
exit 1
fi
librariesDir=/data/libraries
if [ ! -d "$librariesDir" ]; then
if ! librariesZip=$(mc-image-helper github download-asset \
"${crucibleReleaseArgs[@]}" \
--output-directory=/tmp \
--name-pattern="^libraries\.zip$" \
${crucibleRepo}
); then
logError "Failed to download Crucible libraries from the ${CRUCIBLE_RELEASE} release"
exit 1
fi
log "Downloading Crucible libraries"
if ! unzip "$librariesZip" -d "$librariesDir"; then
logError "Failed to unzip Crucible libraries"
exit 1
fi
rm "$librariesZip"
fi
export SERVER
export FAMILY=HYBRID
export HYBRIDTYPE=forge
exec "$(dirname "$0")/start-spiget" "$@"