diff --git a/.github/workflows/games.yml b/.github/workflows/games.yml index 0c459a284..ac2f16a0d 100644 --- a/.github/workflows/games.yml +++ b/.github/workflows/games.yml @@ -18,6 +18,7 @@ jobs: game: - source - rust + - hytale steps: - uses: actions/checkout@v4 - uses: docker/setup-buildx-action@v3 diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml index ecfdf2736..ada2d1c0a 100644 --- a/.github/workflows/java.yml +++ b/.github/workflows/java.yml @@ -28,6 +28,7 @@ jobs: - 19 - 19j9 - 21 + - 25 steps: - uses: actions/checkout@v4 - uses: docker/setup-qemu-action@v3 diff --git a/README.md b/README.md index 3b2f508f9..b6bf8892c 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,8 @@ is tagged correctly. * `ghcr.io/pterodactyl/games:rust` * [`source`](https://github.com/pterodactyl/yolks/tree/master/games/source) * `ghcr.io/pterodactyl/games:source` + * [`hytale`](https://github.com/pterodactyl/yolks/tree/master/games/hytale) + * `ghcr.io/pterodactyl/games:hytale` * [`golang`](https://github.com/pterodactyl/yolks/tree/master/go) * [`go1.14`](https://github.com/pterodactyl/yolks/tree/master/go/1.14) * `ghcr.io/pterodactyl/yolks:go_1.14` @@ -73,6 +75,8 @@ is tagged correctly. * `ghcr.io/pterodactyl/yolks:java_19j9` * [`java21`](https://github.com/pterodactyl/yolks/tree/master/java/21) * `ghcr.io/pterodactyl/yolks:java_21` + * [`java21`](https://github.com/pterodactyl/yolks/tree/master/java/25) + * `ghcr.io/pterodactyl/yolks:java_25` * [`nodejs`](https://github.com/pterodactyl/yolks/tree/master/nodejs) * [`node12`](https://github.com/pterodactyl/yolks/tree/master/nodejs/12) * `ghcr.io/pterodactyl/yolks:nodejs_12` diff --git a/games/hytale/Dockerfile b/games/hytale/Dockerfile new file mode 100644 index 000000000..3e18ec8a3 --- /dev/null +++ b/games/hytale/Dockerfile @@ -0,0 +1,41 @@ +# +# Copyright (c) 2026 Pterodactyl +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +FROM --platform=$TARGETOS/$TARGETARCH ghcr.io/pterodactyl/yolks:java_25 + +LABEL author="William V." maintainer="william.venner@infraly.co" + +LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks" +LABEL org.opencontainers.image.licenses=MIT + +USER root + +COPY --from=ghcr.io/pterodactyl/yolks:java_25 entrypoint.sh /java.sh +RUN chmod +x /java.sh + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh + +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/games/hytale/entrypoint.sh b/games/hytale/entrypoint.sh new file mode 100644 index 000000000..04da2b316 --- /dev/null +++ b/games/hytale/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +cd /home/container + +# If HYTALE_SERVER_SESSION_TOKEN isn't set, assume the user will log in themselves, rather than a host's GSP +if [[ -z "$HYTALE_SERVER_SESSION_TOKEN" ]]; then + ./hytale-downloader/hytale-downloader-linux -patchline "$HYTALE_PATCHLINE" +fi + +/java.sh $@ diff --git a/java/25/Dockerfile b/java/25/Dockerfile new file mode 100644 index 000000000..02da1e36b --- /dev/null +++ b/java/25/Dockerfile @@ -0,0 +1,40 @@ +# +# Copyright (c) 2026 Pterodactyl +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:25-jdk + +LABEL author="William V." maintainer="william.venner@infraly.co" + +LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks" +LABEL org.opencontainers.image.licenses=MIT + +RUN apt-get update -y \ + && apt-get install -y lsof curl ca-certificates openssl git tar sqlite3 fontconfig libfreetype6 tzdata iproute2 libstdc++6 \ + && useradd -d /home/container -m container + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./../entrypoint.sh /entrypoint.sh + +CMD [ "/bin/bash", "/entrypoint.sh" ]