diff --git a/.vscode/settings.json b/.vscode/settings.json index d2c7559..4e71cae 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,13 +10,17 @@ "gamesvr", "ghcr", "gib", + "Inoxx", "insta", "laclede", "laclede's", "lacledeslan", "mutators", + "Nali", "qemu", "repos", - "utpg" + "Skaarj", + "utpg", + "Warcow" ] } diff --git a/linux.Dockerfile b/linux.Dockerfile index 5af7be4..d86cd9a 100644 --- a/linux.Dockerfile +++ b/linux.Dockerfile @@ -1,35 +1,18 @@ # escape=` ARG CONTAINER_REGISTRY="docker.io" -FROM $CONTAINER_REGISTRY/lacledeslan/steamcmd:linux as ut99-builder +FROM $CONTAINER_REGISTRY/lacledeslan/steamcmd:linux AS ut99-builder ARG contentServer=content.lacledeslan.net -RUN echo "Downloading UT99 Dedicated Server Assets" &&` - mkdir --parents /tmp/ &&` - curl -sSL "http://${contentServer}/fastDownloads/_installers/uts99/ut99-oldunreal-469e-rc7-linux-amd64.7z" -o /tmp/ut99-server.7z &&` - echo "Validating download against known hash" &&` - expected_hash="55f7d9e99b8e2d4e0e193b2f0275501e6d9c1ebd29cadbea6a0da48a8587e3e0" &&` - calculated_hash=$(sha256sum /tmp/ut99-server.7z | awk '{print $1}') &&` - if [ "$calculated_hash" != "$expected_hash" ]; then ` - echo "Hash mismatch!" ` - echo "Calculated SHA-256 hash: $calculated_hash" ` - else ` - echo "Hash matches the expected value." ` - fi &&` - echo "Extracting UT99 Dedicated Server Assets" &&` - 7z x -o/output/ /tmp/ut99-server.7z &&` - rm -f /tmp/*.7z - - RUN echo "Downloading UT99 Dedicated Server Assets" &&` mkdir --parents /tmp/ &&` - curl -sSL "http://${contentServer}/fastDownloads/_installers/uts99/ut99-oldunreal-469e-rc7-linux-amd64.7z" -o /tmp/ut99-server.7z &&` + curl -sSL "http://${contentServer}/fastDownloads/_installers/ut99/ut99-server-469e-linux.tar.xz" -o /tmp/ut99-server.tar.xz &&` echo "Validating download against known hash" &&` - echo "55f7d9e99b8e2d4e0e193b2f0275501e6d9c1ebd29cadbea6a0da48a8587e3e0 /tmp/ut99-server.7z" | sha256sum -c - &&` + echo "2e407565229b4a2ac7c6d18d828dec75711a39ae4da229307fca1a124772f484 /tmp/ut99-server.tar.xz" | sha256sum -c - &&` echo "Extracting UT99 Dedicated Server Assets" &&` - 7z x -o/output/ /tmp/ut99-server.7z &&` - rm -f /tmp/*.7z + tar -xJvf /tmp/ut99-server.tar.xz -C /output/ &&` + rm -f /tmp/*.xz #======================================================================= FROM debian:bookworm-slim @@ -39,8 +22,9 @@ HEALTHCHECK NONE ARG BUILDNODE=unspecified ARG SOURCE_COMMIT=unspecified -RUN apt-get update && apt-get install -y ` - ca-certificates lib32z1 locales locales-all tmux &&` +RUN dpkg --add-architecture i386 &&` + apt-get update && apt-get install -y ` + ca-certificates lib32z1 libsdl1.2debian:i386 locales locales-all tmux &&` apt-get clean &&` echo "LC_ALL=en_US.UTF-8" >> /etc/environment &&` rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*; @@ -64,7 +48,7 @@ RUN useradd --home /app --gid root --system UT99 &&` COPY --chown=UT99:root --from=ut99-builder /output /app -RUN chmod +x /app/checkfiles.sh /app/ucc /app/System/ucc-bin +RUN chmod +x /app/ucc /app/System/ucc-bin COPY --chown=UT99:root /dist.linux/ /app/ diff --git a/readme.md b/readme.md index bbfec82..1d0dcb5 100644 --- a/readme.md +++ b/readme.md @@ -19,7 +19,6 @@ This UT99 server was built from the following content: [![linux/amd64](https://github.com/LacledesLAN/gamesvr-ut99/actions/workflows/build-linux-image.yml/badge.svg?branch=master)](https://github.com/LacledesLAN/gamesvr-ut99/actions/workflows/build-linux-image.yml) - ### Download ```shell @@ -45,12 +44,11 @@ docker run -it --rm --net=host lacledeslan/gamesvr-ut99 /app/ucc server DM-Deck1 Due to the shutdown of Gamespy in 2014 and the shutdown of the official master server by Epic in December 2022, a custom server config has been prepared. This [custom server config](https://github.com/LacledesLAN/gamesvr-ut99/blob/master/dist.linux/System/UnrealTournament-Online.ini) includes community servers to allow for listing on updated and community clients. Included is listings and settings provided by [OldUnreal](https://www.oldunreal.com/wiki/index.php?title=Masterserver_Guide) and [333networks](https://333networks.com/instructions/ut/s). Also this server file can be used as a base for a custom config while preserving the [original default](https://github.com/LacledesLAN/gamesvr-ut99/blob/master/dist.linux/System/UnrealTournament.ini) config as a fall back. ### Run online server with custom config + ```shell docker run -it --rm --net=host lacledeslan/gamesvr-ut99 /app/ucc server dm-Turbine?game=Botpack.DeathMatchPlus ini=UnrealTournament-Online.ini log=logfile.log -nohomedir ``` - - ## Getting Started with Game Servers in Docker [Docker](https://docs.docker.com/) is an open-source project that bundles applications into lightweight, portable, self-sufficient containers. For a crash course on running Dockerized game servers check out [Using Docker for Game Servers](https://github.com/LacledesLAN/README.1ST/blob/master/GameServers/DockerAndGameServers.md). For tips, tricks, and recommended tools for working with Laclede's LAN Dockerized game server repos see the guide for [Working with our Game Server Repos](https://github.com/LacledesLAN/README.1ST/blob/master/GameServers/WorkingWithOurRepos.md). You can also browse all of our other Dockerized game servers: [Laclede's LAN Game Servers Directory](https://github.com/LacledesLAN/README.1ST/tree/master/GameServers).