diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 595a0a51..28bbe37e 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -17,14 +17,68 @@ jobs: go-version: ">=1.19.3" - run: apt update && apt install -y make - run: make build-tree - - name: Get registry binary - uses: robinraju/release-downloader@v1.7 + - name: Checkout druid-cli + uses: actions/checkout@v3 with: - repository: "highcard-dev/druid-cli" - latest: true - fileName: "druid" + repository: highcard-dev/druid-cli + ref: feat/druid-k8s-runtime-owner + path: .ci/druid-cli token: ${{ secrets.GO_REPO_TOKEN }} - - run: chmod +x ./druid + - name: Build druid + working-directory: .ci/druid-cli + run: make build - name: Install druid - run: mv ./druid /usr/local/bin/druid - - run: ./scripts/validate_all_scrolls.sh + run: | + install .ci/druid-cli/bin/druid /usr/local/bin/druid + install .ci/druid-cli/bin/druid-client /usr/local/bin/druid-client + - name: Validate Minecraft Vanilla scrolls + run: | + set -euo pipefail + for dir in ./scrolls/minecraft/minecraft-vanilla/*; do + [ -f "$dir/scroll.yaml" ] || continue + druid validate "$dir" + done + - name: Login to registry + if: github.event.pull_request.head.repo.full_name == github.repository + run: druid-client login --host ${{ secrets.SCROLL_REGISTRY_HOST }} --user '${{ secrets.SCROLL_REGISTRY_USER }}' --password ${{ secrets.SCROLL_REGISTRY_PASSWORD }} + - name: Ensure experimental registry project + if: github.event.pull_request.head.repo.full_name == github.repository + shell: bash + run: | + set -euo pipefail + registry_host="${{ secrets.SCROLL_REGISTRY_HOST }}" + registry_host="${registry_host#http://}" + registry_host="${registry_host#https://}" + registry_host="${registry_host%%/*}" + status="$(curl -sS -o /tmp/druid-project-create.json -w '%{http_code}' \ + -u '${{ secrets.SCROLL_REGISTRY_USER }}:${{ secrets.SCROLL_REGISTRY_PASSWORD }}' \ + -H 'Content-Type: application/json' \ + -X POST "https://${registry_host}/api/v2.0/projects" \ + --data '{"project_name":"druid-team-experimental","metadata":{"public":"false"},"storage_limit":-1}')" + case "$status" in + 201|409) ;; + *) cat /tmp/druid-project-create.json; exit 1 ;; + esac + - name: Push experimental Minecraft Vanilla artifacts + if: github.event.pull_request.head.repo.full_name == github.repository + shell: bash + run: | + set -euo pipefail + pr_number="${{ github.event.pull_request.number }}" + for dir in ./scrolls/minecraft/minecraft-vanilla/*; do + [ -f "$dir/scroll.yaml" ] || continue + version="$(basename "$dir")" + druid-client push "artifacts.druid.gg/druid-team-experimental/scroll-minecraft-vanilla:${version}-pr${pr_number}" "$dir" \ + -p main=25565 -p rcon=25575 \ + -i artifacts.druid.gg/druid-team/druid:stable-nix \ + --min-disk 3Gi --min-ram 512Mi --min-cpu 0.25 \ + --smart --category minecraft + + if [ "$version" = "1.21.7" ]; then + druid-client push "artifacts.druid.gg/druid-team-experimental/scroll-minecraft-vanilla:latest-pr${pr_number}" "$dir" \ + -p main=25565 -p rcon=25575 \ + -i artifacts.druid.gg/druid-team/druid:stable-nix \ + --min-disk 3Gi --min-ram 512Mi --min-cpu 0.25 \ + --smart --category minecraft + fi + done diff --git a/scrolls/minecraft/minecraft-vanilla/.build/scroll.yaml.tmpl b/scrolls/minecraft/minecraft-vanilla/.build/scroll.yaml.tmpl index b7fcb2a0..b1ae90f5 100644 --- a/scrolls/minecraft/minecraft-vanilla/.build/scroll.yaml.tmpl +++ b/scrolls/minecraft/minecraft-vanilla/.build/scroll.yaml.tmpl @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk{{ .Vars.jdkVersion }}] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:{{ .Vars.jdkVersion }}-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - {{ .Vars.jarUrl }} - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar {{ .Vars.jarUrl }} + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/.build/vars.json b/scrolls/minecraft/minecraft-vanilla/.build/vars.json index 99afd6c2..f606da9b 100644 --- a/scrolls/minecraft/minecraft-vanilla/.build/vars.json +++ b/scrolls/minecraft/minecraft-vanilla/.build/vars.json @@ -1,11 +1,11 @@ { "1.17": { "jarUrl": "https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar", - "jdkVersion": "16" + "jdkVersion": "17" }, "1.17.1": { "jarUrl": "https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar", - "jdkVersion": "16" + "jdkVersion": "17" }, "1.18": { "jarUrl": "https://launcher.mojang.com/v1/objects/3cf24a8694aca6267883b17d934efacc5e44440d/server.jar", diff --git a/scrolls/minecraft/minecraft-vanilla/1.17.1/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.17.1/scroll.yaml index c4f7041b..5d7f533f 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.17.1/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.17.1/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk16] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.17/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.17/scroll.yaml index 934ce3f1..452f004f 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.17/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.17/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk16] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.18.1/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.18.1/scroll.yaml index 93ad8b06..1e4673a4 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.18.1/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.18.1/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.18.2/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.18.2/scroll.yaml index 499ec89e..fb0b9582 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.18.2/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.18.2/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.18/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.18/scroll.yaml index 4841e97f..ec2c4be9 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.18/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.18/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/3cf24a8694aca6267883b17d934efacc5e44440d/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/3cf24a8694aca6267883b17d934efacc5e44440d/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.19.1/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.19.1/scroll.yaml index f6f9a633..a259b206 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.19.1/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.19.1/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/8399e1211e95faa421c1507b322dbeae86d604df/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/8399e1211e95faa421c1507b322dbeae86d604df/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.19.2/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.19.2/scroll.yaml index 7220b8a8..75620e87 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.19.2/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.19.2/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.19.3/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.19.3/scroll.yaml index 81ecc16b..eb7587f6 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.19.3/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.19.3/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.19.4/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.19.4/scroll.yaml index 3eae927d..a0986eb2 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.19.4/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.19.4/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.19/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.19/scroll.yaml index fc3c7122..4841f360 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.19/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.19/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.20.1/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.20.1/scroll.yaml index 0e8c5693..1a18f91f 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.20.1/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.20.1/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.20.2/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.20.2/scroll.yaml index 05a916b9..cc094e93 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.20.2/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.20.2/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/5b868151bd02b41319f54c8d4061b8cae84e665c/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/5b868151bd02b41319f54c8d4061b8cae84e665c/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.20.4/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.20.4/scroll.yaml index b950b120..e93a43bb 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.20.4/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.20.4/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.20.6/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.20.6/scroll.yaml index 2afb22d3..8e70117f 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.20.6/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.20.6/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk17] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:17-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://launcher.mojang.com/v1/objects/145ff0858209bcfc164859ba735d4199aafa1eea/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://launcher.mojang.com/v1/objects/145ff0858209bcfc164859ba735d4199aafa1eea/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.21.1/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.21.1/scroll.yaml index 0648884b..f26acae4 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.21.1/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.21.1/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk21] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:21-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://piston-data.mojang.com/v1/objects/59353fb40c36d304f2035d51e7d6e6baa98dc05c/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://piston-data.mojang.com/v1/objects/59353fb40c36d304f2035d51e7d6e6baa98dc05c/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.21.3/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.21.3/scroll.yaml index d638d78e..38925ecc 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.21.3/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.21.3/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk21] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:21-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://piston-data.mojang.com/v1/objects/45810d238246d90e811d896f87b14695b7fb6839/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://piston-data.mojang.com/v1/objects/45810d238246d90e811d896f87b14695b7fb6839/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.21.4/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.21.4/scroll.yaml index 67f4fc5b..40e8b8a2 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.21.4/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.21.4/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk21] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:21-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.21.5/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.21.5/scroll.yaml index 05d25b27..3656d30e 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.21.5/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.21.5/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk21] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:21-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://piston-data.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://piston-data.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.21.6/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.21.6/scroll.yaml index 4859eb46..d0a9c917 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.21.6/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.21.6/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk21] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:21-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://piston-data.mojang.com/v1/objects/6e64dcabba3c01a7271b4fa6bd898483b794c59b/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://piston-data.mojang.com/v1/objects/6e64dcabba3c01a7271b4fa6bd898483b794c59b/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt diff --git a/scrolls/minecraft/minecraft-vanilla/1.21.7/scroll.yaml b/scrolls/minecraft/minecraft-vanilla/1.21.7/scroll.yaml index 7a36fadd..3adbdc28 100644 --- a/scrolls/minecraft/minecraft-vanilla/1.21.7/scroll.yaml +++ b/scrolls/minecraft/minecraft-vanilla/1.21.7/scroll.yaml @@ -7,52 +7,59 @@ ports: protocol: tcp port: 25565 sleep_handler: packet_handler/minecraft.lua + mandatory: true start_delay: 10 finish_after_command: install - name: rcon protocol: tcp port: 25575 -init: "start" +serve: "start" commands: start: needs: [install] - dependencies: [jdk21] run: restart procedures: - - mode: exec - data: + - id: start + image: eclipse-temurin:21-jre + expectedPorts: + - name: main + keepAliveTraffic: 10kb/5m + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - bash - ./start.sh stop: + run: always procedures: - - mode: rcon - data: stop + - type: signal + target: start + signal: SIGTERM install: run: once - dependencies: [wget, cacert] procedures: - - mode: exec - data: - - wget - - -q - - -O - - server.jar - - https://piston-data.mojang.com/v1/objects/05e4b48fbc01f0385adb74bcff9751d34552486c/server.jar - - mode: exec - data: - - bash + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: + - sh - -c - - echo eula=true > eula.txt + - >- + apk add --no-cache ca-certificates wget + && wget -q -O server.jar https://piston-data.mojang.com/v1/objects/05e4b48fbc01f0385adb74bcff9751d34552486c/server.jar + && echo eula=true > eula.txt update: procedures: - - mode: exec - data: + - image: alpine:3.20 + mounts: + - path: /server + sub_path: data + working_dir: /server + command: - sh - - $SCROLL_DIR/update.sh - - mode: exec - data: - - bash - -c - - echo eula=true > eula.txt -plugins: - rcon: {} + - apk add --no-cache jq yq moreutils && ./update.sh && echo eula=true > eula.txt