diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 81de2cc..bd22f4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: with: components: clippy, rustfmt - uses: Swatinem/rust-cache@v2 - - run: sudo apt-get update && sudo apt-get install -y libelf-dev + - run: sudo apt-get update && sudo apt-get install -y libelf-dev libbpf-dev - run: cargo fmt --all --check - run: cargo clippy --all-targets --all-features -- -D warnings - run: cargo check --all-features diff --git a/deploy/docker/Dockerfile.paper b/deploy/docker/Dockerfile.paper index 0a9c653..b4f60be 100644 --- a/deploy/docker/Dockerfile.paper +++ b/deploy/docker/Dockerfile.paper @@ -1,16 +1,20 @@ FROM eclipse-temurin:21-jre-noble -ARG PAPER_VERSION=1.21.4 +ARG PAPER_VERSION=1.21 ARG PAPER_BUILD=latest -RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y curl jq && rm -rf /var/lib/apt/lists/* # Download Paper -RUN curl -fsSLo /opt/paper.jar \ - "https://api.papermc.io/v2/projects/paper/versions/${PAPER_VERSION}/builds/${PAPER_BUILD}/downloads/paper-${PAPER_VERSION}-${PAPER_BUILD}.jar" || \ - echo "Falling back to direct download..." && \ - curl -fsSLo /opt/paper.jar \ - "https://papermc.io/api/v2/projects/paper/versions/${PAPER_VERSION}/builds/${PAPER_BUILD}/downloads/paper-${PAPER_VERSION}-${PAPER_BUILD}.jar" +RUN VERSION="${PAPER_VERSION}" && \ + BUILD="${PAPER_BUILD}" && \ + BUILDS_JSON=$(curl -s -H "User-Agent: rampart/1.0.0 (https://github.com/loki5512344/rampart)" \ + "https://fill.papermc.io/v3/projects/paper/versions/${VERSION}/builds") && \ + if [ "${BUILD}" = "latest" ]; then \ + BUILD=$(echo "${BUILDS_JSON}" | jq -r 'first(.[] | select(.channel == "STABLE") | .id) // empty'); \ + fi && \ + URL=$(echo "${BUILDS_JSON}" | jq -r --arg b "${BUILD}" 'first(.[] | select(.id == ($b | tonumber)) | .downloads."server:default".url) // empty') && \ + curl -fsSLo /opt/paper.jar "${URL}" COPY deploy/config/server.properties /opt/server.properties COPY deploy/config/paper-global.yml /opt/paper-global.yml diff --git a/deploy/docker/Dockerfile.velocity b/deploy/docker/Dockerfile.velocity index f02903c..459b238 100644 --- a/deploy/docker/Dockerfile.velocity +++ b/deploy/docker/Dockerfile.velocity @@ -1,15 +1,22 @@ FROM eclipse-temurin:21-jre-noble -ARG VELOCITY_VERSION=3.4.0-SNAPSHOT -ARG VELOCITY_BUILD=latest +ARG VELOCITY_VERSION=4.0.0 +ARG VELOCITY_BUILD=6 -RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y curl jq && rm -rf /var/lib/apt/lists/* # Download Velocity -RUN curl -fsSLo /opt/velocity.jar \ - "https://api.papermc.io/v2/projects/velocity/versions/${VELOCITY_VERSION}/builds/${VELOCITY_BUILD}/downloads/velocity-${VELOCITY_VERSION}-${VELOCITY_BUILD}.jar" || \ - curl -fsSLo /opt/velocity.jar \ - "https://versions.velocitypowered.com/download/${VELOCITY_VERSION}.jar" +RUN VERSION="${VELOCITY_VERSION}" && \ + BUILD="${VELOCITY_BUILD}" && \ + if [ "${BUILD}" = "latest" ]; then \ + BUILD=$(curl -s -H "User-Agent: rampart/1.0.0 (https://github.com/loki5512344/rampart)" \ + "https://fill.papermc.io/v3/projects/velocity/versions/${VERSION}/builds" | \ + jq -r 'first(.[] | select(.channel == "STABLE") | .id) // empty'); \ + fi && \ + URL=$(curl -s -H "User-Agent: rampart/1.0.0 (https://github.com/loki5512344/rampart)" \ + "https://fill.papermc.io/v3/projects/velocity/versions/${VERSION}/builds" | \ + jq -r --arg b "${BUILD}" 'first(.[] | select(.id == ($b | tonumber)) | .downloads."server:default".url) // empty') && \ + curl -fsSLo /opt/velocity.jar "${URL}" COPY deploy/config/velocity.toml /opt/velocity.toml COPY plugins/velocity/build/libs/rampart-velocity-*.jar /opt/plugins/