From 82043d556e29063ebce8c660087efc08b1561de4 Mon Sep 17 00:00:00 2001 From: Harrison Black Date: Fri, 26 Jun 2026 03:35:29 +1000 Subject: [PATCH] Add purpur support for ServerLibraryCleaner (#4133) --- docs/configuration/misc-options.md | 7 +++++-- scripts/start-deployPurpur | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/configuration/misc-options.md b/docs/configuration/misc-options.md index a02922f7..45276f6b 100644 --- a/docs/configuration/misc-options.md +++ b/docs/configuration/misc-options.md @@ -26,7 +26,10 @@ docker run -d --pull=always \ By default, supported server types remove stale server libraries during installation by setting `CLEAN_SERVER_LIBRARIES` to `true`. Set `CLEAN_SERVER_LIBRARIES` to `false` to disable this cleanup if it causes unexpected behavior. -Currently, library cleanup is supported by `TYPE=PAPER`. Other server jar types are not yet supported. +Currently, library cleanup is supported by + +- `TYPE=PAPER` +- `TYPE=PURPUR` ## Running as alternate user/group ID @@ -244,4 +247,4 @@ To also include the timestamp with each log, set `LOG_TIMESTAMP` to "true". The ``` [init] 2022-02-05 16:58:33+00:00 Starting the Minecraft server... -``` \ No newline at end of file +``` diff --git a/scripts/start-deployPurpur b/scripts/start-deployPurpur index 77956612..fa467cd6 100755 --- a/scripts/start-deployPurpur +++ b/scripts/start-deployPurpur @@ -5,6 +5,7 @@ IFS=$'\n\t' : "${PURPUR_BUILD:=LATEST}" : "${PURPUR_DOWNLOAD_URL:=}" : "${PURPUR_CONFIG_REPO:=}" +: "${CLEAN_SERVER_LIBRARIES:=true}" # shellcheck source=start-utils . "$(dirname "$0")/start-utils" @@ -13,10 +14,15 @@ isDebugging && set -x resultsFile=/data/.purpur.env if [[ $PURPUR_DOWNLOAD_URL ]]; then - if ! mc-image-helper install-purpur \ - --output-directory=/data \ - --results-file="$resultsFile" \ - --url="${PURPUR_DOWNLOAD_URL}"; then + args=( + --output-directory=/data + --results-file="$resultsFile" + --url="${PURPUR_DOWNLOAD_URL}" + ) + if isTrue "$CLEAN_SERVER_LIBRARIES"; then + args+=(--clean-libraries) + fi + if ! mc-image-helper install-purpur "${args[@]}"; then logError "Failed to download from custom Purpur URL" exit 1 fi @@ -29,6 +35,9 @@ else if [[ $PURPUR_BUILD ]]; then args+=(--build="$PURPUR_BUILD") fi + if isTrue "$CLEAN_SERVER_LIBRARIES"; then + args+=(--clean-libraries) + fi if ! mc-image-helper install-purpur "${args[@]}"; then logError "Failed to download Purpur" exit 1