mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2024-06-07 19:40:43 +00:00
70 lines
1.5 KiB
Bash
70 lines
1.5 KiB
Bash
#!/bin/bash
|
|
set -eu
|
|
|
|
# shellcheck source=start-utils
|
|
. "${SCRIPTS:-/}start-utils"
|
|
|
|
: "${CF_PAGE_URL:=}"
|
|
: "${CF_SLUG:=}"
|
|
: "${CF_FILE_ID:=}"
|
|
: "${CF_FILENAME_MATCHER:=}"
|
|
: "${CF_PARALLEL_DOWNLOADS:=4}"
|
|
: "${CF_FORCE_SYNCHRONIZE:=false}"
|
|
|
|
resultsFile=/data/.install-curseforge.env
|
|
|
|
isDebugging && set -x
|
|
|
|
args=(
|
|
--results-file="$resultsFile"
|
|
)
|
|
if [[ $CF_PAGE_URL ]]; then
|
|
args+=(--modpack-page-url="$CF_PAGE_URL")
|
|
fi
|
|
if [[ $CF_FILE_ID ]]; then
|
|
args+=(--file-id="$CF_FILE_ID")
|
|
fi
|
|
if [[ $CF_SLUG ]]; then
|
|
args+=(--slug="$CF_SLUG")
|
|
fi
|
|
if [[ $CF_FILENAME_MATCHER ]]; then
|
|
args+=(--filename-matcher="$CF_FILENAME_MATCHER")
|
|
fi
|
|
args+=(
|
|
--parallel-downloads="$CF_PARALLEL_DOWNLOADS"
|
|
--force-synchronize="$CF_FORCE_SYNCHRONIZE"
|
|
)
|
|
|
|
defaultModExcludes=(
|
|
581495 # oculus
|
|
363363 # extreme-sound-muffler
|
|
448233 # entityculling
|
|
574856 # rubidium
|
|
441114 # nekos-enchanted-books
|
|
521480 # skin-layers-3d
|
|
433760 # not-enough-animations
|
|
568563 # entity-texture-features-fabric
|
|
274259 # carry-on
|
|
)
|
|
: "${CF_EXLUDE_MODS:=${defaultModExcludes[@]}}"
|
|
args+=(--exclude-mods="$CF_EXLUDE_MODS")
|
|
|
|
defaultModForceIncludes=(
|
|
656526 # revelationary
|
|
)
|
|
: "${CF_FORCE_INCLUDE_MODS:=${defaultModForceIncludes[@]}}"
|
|
args+=(--force-include-mods="$CF_FORCE_INCLUDE_MODS")
|
|
|
|
if ! mc-image-helper install-curseforge "${args[@]}"; then
|
|
log "ERROR failed to auto-install CurseForge modpack"
|
|
exit 1
|
|
fi
|
|
|
|
# grab SERVER, FAMILY and export it
|
|
set -a
|
|
# shellcheck disable=SC1090
|
|
source "${resultsFile}"
|
|
set +a
|
|
|
|
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|