From 61c291ae4ef1870555a95826b9d0f0cfdcc20a80 Mon Sep 17 00:00:00 2001 From: aspro-at <58509503+aspro-at@users.noreply.github.com> Date: Wed, 23 Dec 2020 20:25:14 +0100 Subject: [PATCH 1/2] Fixed REMOVE_OLD_MODS with missing /data/mods or /data/plugins #667 (#697) --- start-finalSetupModpack | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/start-finalSetupModpack b/start-finalSetupModpack index 7cfabefc..4b955e27 100644 --- a/start-finalSetupModpack +++ b/start-finalSetupModpack @@ -19,8 +19,13 @@ if isTrue ${REMOVE_OLD_MODS}; then ;; esac - log "Removing old mods in $remove_mods_dest..." - find $remove_mods_dest -mindepth 1 -maxdepth ${REMOVE_OLD_MODS_DEPTH:-16} -wholename "${REMOVE_OLD_MODS_INCLUDE:-*}" -not -wholename "${REMOVE_OLD_MODS_EXCLUDE}" -delete + # only try to remove existing mods dir + if [ -d "$remove_mods_dest" ]; then + log "Removing old mods in $remove_mods_dest..." + find $remove_mods_dest -mindepth 1 -maxdepth ${REMOVE_OLD_MODS_DEPTH:-16} -wholename "${REMOVE_OLD_MODS_INCLUDE:-*}" -not -wholename "${REMOVE_OLD_MODS_EXCLUDE}" -delete + else + log "Directory $remove_mods_dest does not exist; removing nothing." + fi fi # If supplied with a URL for a modpack (simple zip of jars), download it and unpack From d40bbdc3a51ae78af8c5fe3f5844385dd1ba2477 Mon Sep 17 00:00:00 2001 From: Gabriel Fontes Date: Mon, 28 Dec 2020 01:01:03 -0300 Subject: [PATCH 2/2] Envvars in files from `/config` and `/mods` now replaced as expected (#701) Envvars in files from `/config` and `/mods` now replaced as expected (#701) --- docs/start-script-flow.drawio.png | Bin 0 -> 34446 bytes start-finalSetupModconfig | 2 +- start-finalSetupMounts | 38 ++++++++++++++++++++++++++++++ start-finalSetupPlugins | 23 ------------------ start-minecraftFinalSetup | 16 ------------- 5 files changed, 39 insertions(+), 40 deletions(-) create mode 100644 docs/start-script-flow.drawio.png create mode 100755 start-finalSetupMounts delete mode 100755 start-finalSetupPlugins diff --git a/docs/start-script-flow.drawio.png b/docs/start-script-flow.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..01608e76b8af938d162c2067441146b03438af19 GIT binary patch literal 34446 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 literal 0 HcmV?d00001 diff --git a/start-finalSetupModconfig b/start-finalSetupModconfig index 0ba355eb..c695cc7e 100644 --- a/start-finalSetupModconfig +++ b/start-finalSetupModconfig @@ -24,4 +24,4 @@ case "X$MODCONFIG" in esac fi -exec ${SCRIPTS:-/}start-finalSetupPlugins $@ +exec ${SCRIPTS:-/}start-finalSetupMounts $@ diff --git a/start-finalSetupMounts b/start-finalSetupMounts new file mode 100755 index 00000000..f56b37cb --- /dev/null +++ b/start-finalSetupMounts @@ -0,0 +1,38 @@ +#!/bin/bash + +. ${SCRIPTS:-/}start-utils + +: ${PLUGINS_SYNC_UPDATE:=true} + +isDebugging && set -x + +if [ -d /plugins ]; then + case ${TYPE} in + SPIGOT|BUKKIT|PAPER|MAGMA) + mkdir -p /data/plugins + log "Copying plugins over..." + if isTrue ${PLUGINS_SYNC_UPDATE}; then + updateArg="--update" + fi + # Copy plugins over using rsync to allow deeply nested updates of plugins + rsync -a --out-format="update:%f:Last Modified %M" --prune-empty-dirs $updateArg /plugins /data + ;; + esac +fi + +# If any modules have been provided, copy them over +if [ -d /mods ]; then + log "Copying any mods over..." + mkdir -p /data/mods + rsync -a --out-format="update:%f:Last Modified %M" "${rsyncArgs[@]}" --prune-empty-dirs --update /mods /data +fi + +: ${COPY_CONFIG_DEST:="/data/config"} + +if [ -d /config ]; then + log "Copying any configs from /config to $COPY_CONFIG_DEST" + mkdir -p $COPY_CONFIG_DEST + rsync -a --out-format="update:%f:Last Modified %M" "${rsyncArgs[@]}" --prune-empty-dirs --update /config/ $COPY_CONFIG_DEST +fi + +exec ${SCRIPTS:-/}start-finalSetupServerProperties $@ diff --git a/start-finalSetupPlugins b/start-finalSetupPlugins deleted file mode 100755 index d79e449a..00000000 --- a/start-finalSetupPlugins +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -. ${SCRIPTS:-/}start-utils - -: ${PLUGINS_SYNC_UPDATE:=true} - -isDebugging && set -x - -if [ -d /plugins ]; then - case ${TYPE} in - SPIGOT|BUKKIT|PAPER) - mkdir -p /data/plugins - log "Copying plugins over..." - if isTrue ${PLUGINS_SYNC_UPDATE}; then - updateArg="--update" - fi - # Copy plugins over using rsync to allow deeply nested updates of plugins - rsync -a --out-format="update:%f:Last Modified %M" --prune-empty-dirs $updateArg /plugins /data - ;; - esac -fi - -exec ${SCRIPTS:-/}start-finalSetupServerProperties $@ diff --git a/start-minecraftFinalSetup b/start-minecraftFinalSetup index 9528a405..93ce7499 100644 --- a/start-minecraftFinalSetup +++ b/start-minecraftFinalSetup @@ -2,8 +2,6 @@ . ${SCRIPTS:-/}start-utils -: ${COPY_CONFIG_DEST:="/data/config"} - if [ -n "$OPS" ]; then log "Setting/adding ops" rm -rf /data/ops.txt.converted @@ -51,20 +49,6 @@ for j in $JSON_FILES; do fi done - -# If any modules have been provided, copy them over -if [ -d /mods ]; then - log "Copying any mods over..." - mkdir -p /data/mods - rsync -a --out-format="update:%f:Last Modified %M" "${rsyncArgs[@]}" --prune-empty-dirs --update /mods /data -fi - -if [ -d /config ]; then - log "Copying any configs from /config to $COPY_CONFIG_DEST" - mkdir -p $COPY_CONFIG_DEST - rsync -a --out-format="update:%f:Last Modified %M" "${rsyncArgs[@]}" --prune-empty-dirs --update /config/ $COPY_CONFIG_DEST -fi - EXTRA_ARGS="" # Optional disable console if versionLessThan 1.14 && [[ ${CONSOLE,,} = false ]]; then