diff --git a/start-finalSetupModpack b/start-finalSetupModpack index 9cd3b5c5..869d8c22 100644 --- a/start-finalSetupModpack +++ b/start-finalSetupModpack @@ -12,7 +12,8 @@ CURSE_URL_BASE=${CURSE_URL_BASE:-https://minecraft.curseforge.com/projects} # Remove old mods/plugins if isTrue ${REMOVE_OLD_MODS:-false}; then - find /data/mods /data/plugins -mindepth 1 -maxdepth ${REMOVE_OLD_MODS_DEPTH:-16} -wholename "${REMOVE_OLD_MODS_INCLUDE:-*}" -not -wholename "${REMOVE_OLD_MODS_EXCLUDE}" -delete + removeOldMods /data/mods + removeOldMods /data/plugins fi # If supplied with a URL for a modpack (simple zip of jars), download it and unpack @@ -24,12 +25,12 @@ if [[ "$MODPACK" ]]; then downloadUrl=$(curl -Ls -o /dev/null -w %{effective_url} $MODPACK) if ! [[ $downloadUrl == *.zip ]]; then log "ERROR Invalid URL given for MODPACK: $downloadUrl resolved from $MODPACK" - log " Must be HTTP or HTTPS and a ZIP file" + log " Must be HTTP, HTTPS or FTP and a ZIP file" exit 1 fi fi - log "Downloading mod/plugin pack via HTTP" + log "Downloading mod/plugin pack" log " from $downloadUrl ..." if ! curl -sSL -o /tmp/modpack.zip "$downloadUrl"; then log "ERROR: failed to download from $downloadUrl" diff --git a/start-spiget b/start-spiget index d1902c09..025edd20 100644 --- a/start-spiget +++ b/start-spiget @@ -47,7 +47,7 @@ getResourceFromSpiget() { if [[ ${SPIGET_RESOURCES} ]]; then if isTrue ${REMOVE_OLD_MODS:-false}; then - rm -rf /data/plugins + removeOldMods /data/plugins REMOVE_OLD_MODS=false fi diff --git a/start-utils b/start-utils index 05f569ce..2c8909c1 100644 --- a/start-utils +++ b/start-utils @@ -11,7 +11,7 @@ function join_by() { function isURL() { local value=$1 - if [[ ${value:0:8} == "https://" || ${value:0:7} == "http://" ]]; then + if [[ ${value:0:8} == "https://" || ${value:0:7} == "http://" || ${value:0:6} == "ftp://" ]]; then return 0 else return 1 @@ -174,3 +174,9 @@ eula=${EULA,,} exit 2 fi } + +function removeOldMods { + if [ -d "$1" ]; then + find "$1" -mindepth 1 -maxdepth ${REMOVE_OLD_MODS_DEPTH:-16} -wholename "${REMOVE_OLD_MODS_INCLUDE:-*}" -not -wholename "${REMOVE_OLD_MODS_EXCLUDE}" -delete + fi +}