From 4af3d3a1e0c9975b88c5a7667966a6d719f4aed3 Mon Sep 17 00:00:00 2001 From: Nils Rommelfanger Date: Sun, 28 Dec 2025 18:49:00 +0100 Subject: [PATCH] - update server version to 1.21.11 - replace csv with fetching manifest - replace grep parsing with jq - improve error output - increase max memory - run without gui --- docker-compose.yml | 2 +- minecraft/Dockerfile | 31 +++++++++++---- minecraft/versions.csv | 86 ------------------------------------------ 3 files changed, 25 insertions(+), 94 deletions(-) delete mode 100644 minecraft/versions.csv diff --git a/docker-compose.yml b/docker-compose.yml index d770371..4688cc7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: build: context: ./minecraft args: - MINECRAFT_VERSION: 1.21.1 + MINECRAFT_VERSION: 1.21.11 volumes: - ./minecraft-data:/minecraft-server/data ports: diff --git a/minecraft/Dockerfile b/minecraft/Dockerfile index 4d1d2b4..f223957 100644 --- a/minecraft/Dockerfile +++ b/minecraft/Dockerfile @@ -1,12 +1,29 @@ FROM alpine:latest -RUN mkdir /minecraft-server/jar -p -RUN apk add openjdk17-jre-headless -COPY versions.csv /minecraft-server/jar/versions.csv + +WORKDIR /minecraft-server + +RUN apk add --no-cache openjdk21-jre-headless wget jq + ARG MINECRAFT_VERSION -ENV MINECRAFT_VERSION ${MINECRAFT_VERSION} -RUN wget $(awk -v ref="$MINECRAFT_VERSION" -F',' ' $1 == ref { print substr($2, 1, length($2)-1) }' /minecraft-server/jar/versions.csv) -O server.jar -RUN mv server.jar /minecraft-server/jar +ENV MINECRAFT_VERSION=${MINECRAFT_VERSION} + +# Mit jq ist JSON-Parsing trivial +RUN echo "Downloading Minecraft Server $MINECRAFT_VERSION..." && \ + wget -q https://piston-meta.mojang.com/mc/game/version_manifest_v2.json -O /tmp/manifest.json && \ + VERSION_URL=$(jq -r ".versions[] | select(.id==\"$MINECRAFT_VERSION\") | .url" /tmp/manifest.json) && \ + echo "Found version URL: $VERSION_URL" && \ + test -n "$VERSION_URL" || (echo "ERROR: Version $MINECRAFT_VERSION not found!"; exit 1) && \ + wget -q "$VERSION_URL" -O /tmp/version.json && \ + SERVER_URL=$(jq -r '.downloads.server.url' /tmp/version.json) && \ + echo "Downloading server JAR: $SERVER_URL" && \ + mkdir -p jar && \ + wget "$SERVER_URL" -O /minecraft-server/jar/server.jar && \ + rm /tmp/*.json && \ + echo "Download complete!" + WORKDIR /minecraft-server/data COPY entrypoint.sh /minecraft-server/jar/entrypoint.sh RUN chmod +x /minecraft-server/jar/entrypoint.sh -ENTRYPOINT [ "/minecraft-server/jar/entrypoint.sh","java -jar /minecraft-server/jar/server.jar"] \ No newline at end of file + +ENTRYPOINT ["/minecraft-server/jar/entrypoint.sh"] +CMD ["java", "-Xmx2G", "-Xms1G", "-jar", "/minecraft-server/jar/server.jar", "nogui"] diff --git a/minecraft/versions.csv b/minecraft/versions.csv deleted file mode 100644 index ce7c107..0000000 --- a/minecraft/versions.csv +++ /dev/null @@ -1,86 +0,0 @@ -id,url -1.19.2,https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar -1.19.1,https://piston-data.mojang.com/v1/objects/8399e1211e95faa421c1507b322dbeae86d604df/server.jar -1.19,https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar -1.18.2,https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar -1.18.1,https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar -1.18,https://launcher.mojang.com/v1/objects/3cf24a8694aca6267883b17d934efacc5e44440d/server.jar -1.17.1,https://launcher.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar -1.17,https://launcher.mojang.com/v1/objects/0a269b5f2c5b93b1712d0f5dc43b6182b9ab254e/server.jar -1.16.5,https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar -1.16.4,https://launcher.mojang.com/v1/objects/35139deedbd5182953cf1caa23835da59ca3d7cd/server.jar -1.16.3,https://launcher.mojang.com/v1/objects/f02f4473dbf152c23d7d484952121db0b36698cb/server.jar -1.16.2,https://launcher.mojang.com/v1/objects/c5f6fb23c3876461d46ec380421e42b289789530/server.jar -1.16.1,https://launcher.mojang.com/v1/objects/a412fd69db1f81db3f511c1463fd304675244077/server.jar -1.16,https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -1.15.2,https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar -1.15.1,https://launcher.mojang.com/v1/objects/4d1826eebac84847c71a77f9349cc22afd0cf0a1/server.jar -1.15,https://launcher.mojang.com/v1/objects/e9f105b3c5c7e85c7b445249a93362a22f62442d/server.jar -1.14.4,https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar -1.14.3,https://launcher.mojang.com/v1/objects/d0d0fe2b1dc6ab4c65554cb734270872b72dadd6/server.jar -1.14.2,https://launcher.mojang.com/v1/objects/808be3869e2ca6b62378f9f4b33c946621620019/server.jar -1.14.1,https://launcher.mojang.com/v1/objects/ed76d597a44c5266be2a7fcd77a8270f1f0bc118/server.jar -1.14,https://launcher.mojang.com/v1/objects/f1a0073671057f01aa843443fef34330281333ce/server.jar -1.13.2,https://launcher.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar -1.13.1,https://launcher.mojang.com/v1/objects/fe123682e9cb30031eae351764f653500b7396c9/server.jar -1.13,https://launcher.mojang.com/v1/objects/d0caafb8438ebd206f99930cfaecfa6c9a13dca0/server.jar -1.12.2,https://launcher.mojang.com/v1/objects/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar -1.12.1,https://launcher.mojang.com/v1/objects/561c7b2d54bae80cc06b05d950633a9ac95da816/server.jar -1.12,https://launcher.mojang.com/v1/objects/8494e844e911ea0d63878f64da9dcc21f53a3463/server.jar -1.11.2,https://launcher.mojang.com/v1/objects/f00c294a1576e03fddcac777c3cf4c7d404c4ba4/server.jar -1.11.1,https://launcher.mojang.com/v1/objects/1f97bd101e508d7b52b3d6a7879223b000b5eba0/server.jar -1.11,https://launcher.mojang.com/v1/objects/48820c84cb1ed502cb5b2fe23b8153d5e4fa61c0/server.jar -1.10.2,https://launcher.mojang.com/v1/objects/3d501b23df53c548254f5e3f66492d178a48db63/server.jar -1.10.1,https://launcher.mojang.com/v1/objects/cb4c6f9f51a845b09a8861cdbe0eea3ff6996dee/server.jar -1.10,https://launcher.mojang.com/v1/objects/a96617ffdf5dabbb718ab11a9a68e50545fc5bee/server.jar -1.9.4,https://launcher.mojang.com/v1/objects/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar -1.9.3,https://launcher.mojang.com/v1/objects/8e897b6b6d784f745332644f4d104f7a6e737ccf/server.jar -1.9.2,https://launcher.mojang.com/v1/objects/2b95cc7b136017e064c46d04a5825fe4cfa1be30/server.jar -1.9.1,https://launcher.mojang.com/v1/objects/bf95d9118d9b4b827f524c878efd275125b56181/server.jar -1.9,https://launcher.mojang.com/v1/objects/b4d449cf2918e0f3bd8aa18954b916a4d1880f0d/server.jar -1.8.9,https://launcher.mojang.com/v1/objects/b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd/server.jar -1.8.8,https://launcher.mojang.com/v1/objects/5fafba3f58c40dc51b5c3ca72a98f62dfdae1db7/server.jar -1.8.7,https://launcher.mojang.com/v1/objects/35c59e16d1f3b751cd20b76b9b8a19045de363a9/server.jar -1.8.6,https://launcher.mojang.com/v1/objects/2bd44b53198f143fb278f8bec3a505dad0beacd2/server.jar -1.8.5,https://launcher.mojang.com/v1/objects/ea6dd23658b167dbc0877015d1072cac21ab6eee/server.jar -1.8.4,https://launcher.mojang.com/v1/objects/dd4b5eba1c79500390e0b0f45162fa70d38f8a3d/server.jar -1.8.3,https://launcher.mojang.com/v1/objects/163ba351cb86f6390450bb2a67fafeb92b6c0f2f/server.jar -1.8.2,https://launcher.mojang.com/v1/objects/a37bdd5210137354ed1bfe3dac0a5b77fe08fe2e/server.jar -1.8.1,https://launcher.mojang.com/v1/objects/68bfb524888f7c0ab939025e07e5de08843dac0f/server.jar -1.8,https://launcher.mojang.com/v1/objects/a028f00e678ee5c6aef0e29656dca091b5df11c7/server.jar -1.7.10,https://launcher.mojang.com/v1/objects/952438ac4e01b4d115c5fc38f891710c4941df29/server.jar -1.7.9,https://launcher.mojang.com/v1/objects/4cec86a928ec171fdc0c6b40de2de102f21601b5/server.jar -1.7.8,https://launcher.mojang.com/v1/objects/c69ebfb84c2577661770371c4accdd5f87b8b21d/server.jar -1.7.7,https://launcher.mojang.com/v1/objects/a6ffc1624da980986c6cc12a1ddc79ab1b025c62/server.jar -1.7.6,https://launcher.mojang.com/v1/objects/41ea7757d4d7f74b95fc1ac20f919a8e521e910c/server.jar -1.7.5,https://launcher.mojang.com/v1/objects/e1d557b2e31ea881404e41b05ec15c810415e060/server.jar -1.7.4,https://launcher.mojang.com/v1/objects/61220311cef80aecc4cd8afecd5f18ca6b9461ff/server.jar -1.7.3,https://launcher.mojang.com/v1/objects/707857a7bc7bf54fe60d557cca71004c34aa07bb/server.jar -1.7.2,https://launcher.mojang.com/v1/objects/3716cac82982e7c2eb09f83028b555e9ea606002/server.jar -1.6.4,https://launcher.mojang.com/v1/objects/050f93c1f3fe9e2052398f7bd6aca10c63d64a87/server.jar -1.6.2,https://launcher.mojang.com/v1/objects/01b6ea555c6978e6713e2a2dfd7fe19b1449ca54/server.jar -1.6.1,https://launcher.mojang.com/v1/objects/0252918a5f9d47e3c6eb1dfec02134d1374a89b4/server.jar -1.5.2,https://launcher.mojang.com/v1/objects/f9ae3f651319151ce99a0bfad6b34fa16eb6775f/server.jar -1.5.1,https://launcher.mojang.com/v1/objects/d07c71ee2767dabb79fb32dad8162e1b854d5324/server.jar -1.4.7,https://launcher.mojang.com/v1/objects/2f0ec8efddd2f2c674c77be9ddb370b727dec676/server.jar -1.4.5,https://launcher.mojang.com/v1/objects/c12fd88a8233d2c517dbc8196ba2ae855f4d36ea/server.jar -1.4.6,https://launcher.mojang.com/v1/objects/a0aeb5709af5f2c3058c1cf0dc6b110a7a61278c/server.jar -1.4.4,https://launcher.mojang.com/v1/objects/4215dcadb706508bf9d6d64209a0080b9cee9e71/server.jar -1.4.2,https://launcher.mojang.com/v1/objects/5be700523a729bb78ef99206fb480a63dcd09825/server.jar -1.3.2,https://launcher.mojang.com/v1/objects/3de2ae6c488135596e073a9589842800c9f53bfe/server.jar -1.3.1,https://launcher.mojang.com/v1/objects/82563ce498bfc1fc8a2cb5bf236f7da86a390646/server.jar -1.2.5,https://launcher.mojang.com/v1/objects/d8321edc9470e56b8ad5c67bbd16beba25843336/server.jar -1.19.3,https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar -1.19.4,https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar -1.20.1,https://piston-data.mojang.com/v1/objects/84194a2f286ef7c14ed7ce0090dba59902951553/server.jar -1.20,https://piston-data.mojang.com/v1/objects/15c777e2cfe0556eef19aab534b186c0c6f277e1/server.jar -1.20.2,https://piston-data.mojang.com/v1/objects/5b868151bd02b41319f54c8d4061b8cae84e665c/server.jar -1.20.4,https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar -1.20.3,https://piston-data.mojang.com/v1/objects/4fb536bfd4a83d61cdbaf684b8d311e66e7d4c49/server.jar -1.21.1,https://piston-data.mojang.com/v1/objects/59353fb40c36d304f2035d51e7d6e6baa98dc05c/server.jar -1.21,https://piston-data.mojang.com/v1/objects/450698d1863ab5180c25d7c804ef0fe6369dd1ba/server.jar -1.20.6,https://piston-data.mojang.com/v1/objects/145ff0858209bcfc164859ba735d4199aafa1eea/server.jar -1.20.5,https://piston-data.mojang.com/v1/objects/79493072f65e17243fd36a699c9a96b4381feb91/server.jar -1.21.3,https://piston-data.mojang.com/v1/objects/45810d238246d90e811d896f87b14695b7fb6839/server.jar -1.21.2,https://piston-data.mojang.com/v1/objects/7bf95409b0d9b5388bfea3704ec92012d273c14c/server.jar -1.21.4,https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar