From cef3b0572f355829f69776ed676a73b952301136 Mon Sep 17 00:00:00 2001 From: MrLetsplay2003 Date: Sat, 8 Apr 2023 22:31:04 +0200 Subject: [PATCH] Use new paper config if possible --- paper/Dockerfile | 6 ++++-- paper/bin/configure_and_start | 26 +++++++++++++++++++++----- paper/build_all_versions.sh | 30 +++++++++++++++--------------- 3 files changed, 40 insertions(+), 22 deletions(-) diff --git a/paper/Dockerfile b/paper/Dockerfile index ed1b430..8eec14a 100644 --- a/paper/Dockerfile +++ b/paper/Dockerfile @@ -8,8 +8,7 @@ RUN apk add --upgrade sudo shadow $JAVA curl jq ADD ./bin /usr/local/bin -RUN groupadd -g $GID minecraft -RUN useradd -u $UID -g $GID minecraft +RUN useradd minecraft RUN mkdir /minecraft && chown -R minecraft /minecraft @@ -22,5 +21,8 @@ EXPOSE 25565 ARG MC_VERSION ENV MC_VERSION=${MC_VERSION:-1.19.4} +ARG PAPER_NEW_CONFIG +ENV PAPER_NEW_CONFIG=${PAPER_NEW_CONFIG:-false} + ENTRYPOINT ["setup"] CMD ["java", "-Xmx2G", "-Xms2G", "-jar", "paper.jar"] diff --git a/paper/bin/configure_and_start b/paper/bin/configure_and_start index 0b24569..93415df 100755 --- a/paper/bin/configure_and_start +++ b/paper/bin/configure_and_start @@ -3,28 +3,44 @@ meta_dir="docker_meta" if test ! -f "$meta_dir/config_done"; then - # TODO: Use config/paper-global.yml with new config keys for 1.19+ Paper - config_path="paper.yml" + if test "$PAPER_NEW_CONFIG" != "true"; then + config_path="paper.yml" + else + mkdir "config" + config_path="config/paper-global.yml" + fi config="" if test "$VELOCITY_ENABLE" = "true"; then echo "online-mode=false" > server.properties - velocity=$(cat << EOF + if test "$PAPER_NEW_CONFIG" != "true"; then + velocity=$(cat << EOF settings: velocity-support: enabled: true online-mode: true secret: '$VELOCITY_SECRET' EOF - ) + ) + else + velocity=$(cat << EOF +proxies: + velocity: + enabled: true + online-mode: true + secret: '$VELOCITY_SECRET' +EOF + ) + fi + config="${config}${velocity}" fi if test ! -z "$config"; then - echo "Writing config" + echo "Writing config to $config_path" echo "$config" > $config_path fi diff --git a/paper/build_all_versions.sh b/paper/build_all_versions.sh index 1556355..3f6a9d3 100755 --- a/paper/build_all_versions.sh +++ b/paper/build_all_versions.sh @@ -3,21 +3,21 @@ #!/bin/sh declare -A versions -versions["1.8.8"]=openjdk8 -versions["1.9.4"]=openjdk8 -versions["1.10.2"]=openjdk8 -versions["1.11.2"]=openjdk8 -versions["1.12.2"]=openjdk8 -versions["1.13.2"]=openjdk8 -versions["1.14.4"]=openjdk8 -versions["1.15.2"]=openjdk8 -versions["1.16.5"]=openjdk8 -versions["1.17.1"]=openjdk8 -versions["1.18.2"]=openjdk17 -versions["1.19.4"]=openjdk17 +versions["1.8.8"]="openjdk8 false" +versions["1.9.4"]="openjdk8 false" +versions["1.10.2"]="openjdk8 false" +versions["1.11.2"]="openjdk8 false" +versions["1.12.2"]="openjdk8 false" +versions["1.13.2"]="openjdk8 false" +versions["1.14.4"]="openjdk8 false" +versions["1.15.2"]="openjdk8 false" +versions["1.16.5"]="openjdk8 false" +versions["1.17.1"]="openjdk8 false" +versions["1.18.2"]="openjdk17 false" +versions["1.19.4"]="openjdk17 true" for version in "${!versions[@]}"; do - java_version="${versions[$version]}" - echo $version $java_version - docker build --build-arg MC_VERSION=$version --build-arg JAVA=$java_version -t mrletsplay/paper:$version . + params=(${versions[$version]}) + echo "Building version $version, JAVA=${params[0]}, PAPER_NEW_CONFIG=${params[1]}" + docker build --build-arg MC_VERSION=$version --build-arg JAVA=${params[0]} --build-arg PAPER_NEW_CONFIG=${params[1]} -t mrletsplay/paper:$version . done