mirror of
https://github.com/itzg/docker-minecraft-server
synced 2024-11-10 06:14:14 +00:00
54 lines
1.5 KiB
Bash
Executable file
54 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# shellcheck source=start-utils
|
|
. "${SCRIPTS:-/}start-utils"
|
|
set -o pipefail
|
|
handleDebugMode
|
|
|
|
: "${PAPER_PROJECT:=paper}"
|
|
: "${PAPER_BUILD:=${PAPERBUILD:-}}"
|
|
: "${PAPER_CHANNEL:=default}"
|
|
: "${PAPER_DOWNLOAD_URL:=}"
|
|
: "${PAPER_CUSTOM_JAR:=}"
|
|
: "${PAPER_CONFIG_DEFAULTS_REPO:=${PAPER_CONFIG_REPO:=https://raw.githubusercontent.com/dayyeeet/minecraft-default-configs/main}}"
|
|
|
|
resultsFile=/data/.paper.env
|
|
if [[ $PAPER_CUSTOM_JAR ]]; then
|
|
export SERVER="$PAPER_CUSTOM_JAR"
|
|
elif [[ $PAPER_DOWNLOAD_URL ]]; then
|
|
if ! mc-image-helper install-paper \
|
|
--output-directory=/data \
|
|
--results-file="$resultsFile" \
|
|
--url="$PAPER_DOWNLOAD_URL"; then
|
|
logError "Failed to download from custom PaperMC URL"
|
|
exit 1
|
|
fi
|
|
applyResultsFile ${resultsFile}
|
|
else
|
|
args=(
|
|
--output-directory=/data
|
|
--results-file="$resultsFile"
|
|
--project="$PAPER_PROJECT"
|
|
--version="$VERSION"
|
|
--channel="$PAPER_CHANNEL"
|
|
)
|
|
if [[ $PAPER_BUILD ]]; then
|
|
args+=(--build="$PAPER_BUILD")
|
|
fi
|
|
if ! mc-image-helper install-paper "${args[@]}"; then
|
|
logError "Failed to download $PAPER_PROJECT"
|
|
exit 1
|
|
fi
|
|
applyResultsFile ${resultsFile}
|
|
fi
|
|
|
|
# Download default configs to allow for consistent patching
|
|
for c in paper-global.yml paper-world-defaults.yml spigot.yml; do
|
|
DOWNLOAD_DEFAULT_CONFIGS+=",${PAPER_CONFIG_DEFAULTS_REPO}/${VERSION}/$c"
|
|
done
|
|
export DOWNLOAD_DEFAULT_CONFIGS
|
|
|
|
# Normalize on Spigot for downstream operations
|
|
export FAMILY=SPIGOT
|
|
|
|
exec "${SCRIPTS:-/}start-spiget" "$@"
|