diff --git a/amd64.Dockerfile b/amd64.Dockerfile index 7b802d5..8dc5106 100644 --- a/amd64.Dockerfile +++ b/amd64.Dockerfile @@ -12,7 +12,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install qemu-user-s FROM --platform=linux/amd64 ubuntu:rolling # Fetch dependencies -RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano -yqq && rm -rf /var/cache/apt/* +RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano jq vim -yqq && rm -rf /var/cache/apt/* # Set port environment variable ENV Port=25565 diff --git a/arm64v8.Dockerfile b/arm64v8.Dockerfile index c5bffd5..f551783 100644 --- a/arm64v8.Dockerfile +++ b/arm64v8.Dockerfile @@ -15,7 +15,7 @@ FROM --platform=linux/arm64/v8 ubuntu:rolling COPY --from=builder /usr/bin/qemu-aarch64-static /usr/bin/ # Fetch dependencies -RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano -yqq && rm -rf /var/cache/apt/* +RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano jq vim -yqq && rm -rf /var/cache/apt/* # Set port environment variable ENV Port=25565 diff --git a/armv7.Dockerfile b/armv7.Dockerfile index 4893c50..2d19680 100644 --- a/armv7.Dockerfile +++ b/armv7.Dockerfile @@ -15,7 +15,7 @@ FROM --platform=linux/arm/v7 ubuntu:rolling COPY --from=builder /usr/bin/qemu-arm-static /usr/bin/ # Fetch dependencies -RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4t64 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano -yqq && rm -rf /var/cache/apt/* +RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4t64 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano jq vim -yqq && rm -rf /var/cache/apt/* # Set port environment variable ENV Port=25565 diff --git a/ppc64le.Dockerfile b/ppc64le.Dockerfile index dbedb94..9eb08a8 100644 --- a/ppc64le.Dockerfile +++ b/ppc64le.Dockerfile @@ -15,7 +15,7 @@ FROM --platform=linux/ppc64le ubuntu:rolling COPY --from=builder /usr/bin/qemu-ppc64le-static /usr/bin/ # Fetch dependencies -RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano -yqq && rm -rf /var/cache/apt/* +RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano jq vim -yqq && rm -rf /var/cache/apt/* # Set port environment variable ENV Port=25565 diff --git a/riscv64.Dockerfile b/riscv64.Dockerfile index ab87dd3..426b947 100644 --- a/riscv64.Dockerfile +++ b/riscv64.Dockerfile @@ -15,7 +15,7 @@ FROM --platform=linux/riscv64 ubuntu:rolling COPY --from=builder /usr/bin/qemu-riscv64-static /usr/bin/ # Fetch dependencies -RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano -yqq && rm -rf /var/cache/apt/* +RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano jq vim -yqq && rm -rf /var/cache/apt/* # Set port environment variable ENV Port=25565 diff --git a/s390x.Dockerfile b/s390x.Dockerfile index cea20ce..a227dda 100644 --- a/s390x.Dockerfile +++ b/s390x.Dockerfile @@ -15,7 +15,7 @@ FROM --platform=linux/s390x ubuntu:rolling COPY --from=builder /usr/bin/qemu-s390x-static /usr/bin/ # Fetch dependencies -RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano -yqq && rm -rf /var/cache/apt/* +RUN apt update && DEBIAN_FRONTEND=noninteractive apt-get install openjdk-21-jre-headless tzdata sudo curl unzip net-tools gawk openssl findutils pigz libcurl4 libc6 libcrypt1 apt-utils libcurl4-openssl-dev ca-certificates binfmt-support nano jq vim -yqq && rm -rf /var/cache/apt/* # Set port environment variable ENV Port=25565 diff --git a/start.sh b/start.sh index 835ec33..d3ec1ae 100755 --- a/start.sh +++ b/start.sh @@ -154,18 +154,33 @@ if [ "$?" != 0 ]; then echo "Unable to connect to update website (internet connection may be down). Skipping update ..." else # Get latest build - BuildJSON=$(curl --no-progress-meter -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" https://papermc.io/api/v2/projects/paper/versions/$Version) - Build=$(echo "$BuildJSON" | rev | cut -d, -f 1 | cut -d']' -f 2 | cut -d'[' -f 1 | rev) + BuildJSON=$(curl --no-progress-meter -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" https://api.papermc.io/v2/projects/paper/versions/$Version/builds) + Build=$(echo "$BuildJSON" | jq '.builds | map(select(.channel == "default") | .build) | .[-1]') Build=$(($Build + 0)) if [[ $Build != 0 ]]; then - echo "Latest paperclip build found: $Build" + echo "Latest paperclip build found: $Build (stable)" if [ -z "$QuietCurl" ]; then - curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" -o /minecraft/paperclip.jar "https://papermc.io/api/v2/projects/paper/versions/$Version/builds/$Build/downloads/paper-$Version-$Build.jar" + curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" -o /minecraft/paperclip.jar "https://api.papermc.io/v2/projects/paper/versions/$Version/builds/$Build/downloads/paper-$Version-$Build.jar" else - curl --no-progress-meter -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" -o /minecraft/paperclip.jar "https://papermc.io/api/v2/projects/paper/versions/$Version/builds/$Build/downloads/paper-$Version-$Build.jar" + curl --no-progress-meter -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" -o /minecraft/paperclip.jar "https://api.papermc.io/v2/projects/paper/versions/$Version/builds/$Build/downloads/paper-$Version-$Build.jar" fi else - echo "Unable to retrieve latest Paper build (got result of $Build)" + echo "Unable to retrieve latest Paper build (got result of $Build). Retrying the experimental channel for version $Version" + + # Try getting the latest experimental build if no stable build was found + BuildJSON=$(curl --no-progress-meter -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" https://api.papermc.io/v2/projects/paper/versions/$Version/builds) + Build=$(echo "$BuildJSON" | jq '.builds | map(select(.channel == "experimental") | .build) | .[-1]') + Build=$(($Build + 0)) + if [[ $Build != 0 ]]; then + echo "Latest paperclip build found: $Build (experimental)" + if [ -z "$QuietCurl" ]; then + curl -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" -o /minecraft/paperclip.jar "https://api.papermc.io/v2/projects/paper/versions/$Version/builds/$Build/downloads/paper-$Version-$Build.jar" + else + curl --no-progress-meter -H "Accept-Encoding: identity" -H "Accept-Language: en" -L -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4.212 Safari/537.36" -o /minecraft/paperclip.jar "https://api.papermc.io/v2/projects/paper/versions/$Version/builds/$Build/downloads/paper-$Version-$Build.jar" + fi + else + echo "Unable to retrieve latest Paper build (got result of $Build)." + fi fi # Update Floodgate