From 707a6fb0358ce5bf65a8d2b436654cf6765bbdc3 Mon Sep 17 00:00:00 2001 From: John Skinner Date: Thu, 7 Nov 2024 10:52:30 -0600 Subject: [PATCH] update ge-proton to 9-18 and switch steamcmd pull from cdn direct instead of deb repo --- container/proton/Dockerfile | 40 +++++++++++++++------------------- container/proton/entrypoint.sh | 4 ++-- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/container/proton/Dockerfile b/container/proton/Dockerfile index c86f4f4..67daa04 100644 --- a/container/proton/Dockerfile +++ b/container/proton/Dockerfile @@ -6,20 +6,19 @@ ARG CONTAINER_UID=10000 ENV DEBIAN_FRONTEND "noninteractive" ENV STEAM_APP_ID "2278520" ENV HOME "/home/steam" -ENV STEAM_PATH "/home/steam/Steam" ENV ENSHROUDED_PATH "/home/steam/enshrouded" ENV ENSHROUDED_CONFIG "${ENSHROUDED_PATH}/enshrouded_server.json" -ENV GE_PROTON_VERSION "8-30" +ENV GE_PROTON_VERSION "9-18" ENV GE_PROTON_URL "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton${GE_PROTON_VERSION}/GE-Proton${GE_PROTON_VERSION}.tar.gz" -ENV STEAM_COMPAT_CLIENT_INSTALL_PATH "$STEAM_PATH" -ENV STEAM_COMPAT_DATA_PATH "${STEAM_PATH}/steamapps/compatdata/${STEAM_APP_ID}" -ENV ULWGL_ID 0 +ENV STEAMCMD_PATH="/home/steam/steamcmd" +ENV STEAM_SDK64_PATH="/home/steam/.steam/sdk64" +ENV STEAM_SDK32_PATH="/home/steam/.steam/sdk32" +ENV STEAM_COMPAT_CLIENT_INSTALL_PATH "$STEAMCMD_PATH" +ENV STEAM_COMPAT_DATA_PATH "${STEAMCMD_PATH}/steamapps/compatdata/${STEAM_APP_ID}" +ENV UMU_ID 0 RUN groupadd -g $CONTAINER_GID steam \ && useradd -g $CONTAINER_GID -u $CONTAINER_UID -m steam \ - && sed -i 's#^Components: .*#Components: main non-free contrib#g' /etc/apt/sources.list.d/debian.sources \ - && echo steam steam/question select "I AGREE" | debconf-set-selections \ - && echo steam steam/license note '' | debconf-set-selections \ && dpkg --add-architecture i386 \ && apt-get update \ && apt-get install --no-install-recommends -y \ @@ -29,12 +28,9 @@ RUN groupadd -g $CONTAINER_GID steam \ dbus \ libfreetype6 \ curl \ - wget \ jq \ locales \ lib32gcc-s1 \ - steamcmd \ - && ln -s /usr/games/steamcmd /usr/bin/steamcmd \ && echo 'LANG="en_US.UTF-8"' > /etc/default/locale \ && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ && locale-gen \ @@ -48,17 +44,17 @@ USER steam RUN mkdir "$ENSHROUDED_PATH" \ && mkdir -p "${ENSHROUDED_PATH}/savegame" \ - && mkdir -p "${STEAM_PATH}/compatibilitytools.d" \ - && mkdir -p "${STEAM_PATH}/steamapps/compatdata/${STEAM_APP_ID}" \ - && mkdir -p "${HOME}/.steam" \ - && steamcmd +quit \ - && ln -s "${HOME}/.local/share/Steam/steamcmd/linux32" "${HOME}/.steam/sdk32" \ - && ln -s "${HOME}/.local/share/Steam/steamcmd/linux64" "${HOME}/.steam/sdk64" \ - && ln -s "${HOME}/.steam/sdk32/steamclient.so" "${HOME}/.steam/sdk32/steamservice.so" \ - && ln -s "${HOME}/.steam/sdk64/steamclient.so" "${HOME}/.steam/sdk64/steamservice.so" \ - && wget "$GE_PROTON_URL" -O "/home/steam/GE-Proton${GE_PROTON_VERSION}.tgz" \ - && tar -x -C "${STEAM_PATH}/compatibilitytools.d/" -f "/home/steam/GE-Proton${GE_PROTON_VERSION}.tgz" \ - && rm "/home/steam/GE-Proton${GE_PROTON_VERSION}.tgz" + && mkdir -p "${STEAMCMD_PATH}/compatibilitytools.d" \ + && mkdir -p "${STEAMCMD_PATH}/steamapps/compatdata/${STEAM_APP_ID}" \ + && curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxvf - -C ${STEAMCMD_PATH} \ + && chmod +x ${STEAMCMD_PATH}/steamcmd.sh \ + && ${STEAMCMD_PATH}/steamcmd.sh +quit \ + && mkdir -p /home/steam/.steam \ + && ln -s ${STEAMCMD_PATH}/linux64 ${STEAM_SDK64_PATH} \ + && ln -s ${STEAM_SDK64_PATH}/steamclient.so ${STEAM_SDK64_PATH}/steamservice.so \ + && ln -s ${STEAMCMD_PATH}/linux32 ${STEAM_SDK32_PATH} \ + && ln -s ${STEAM_SDK32_PATH}/steamclient.so ${STEAM_SDK32_PATH}/steamservice.so \ + && curl -sqL "$GE_PROTON_URL" | tar zxvf - -C "${STEAMCMD_PATH}/compatibilitytools.d/" COPY entrypoint.sh /home/steam/entrypoint.sh COPY enshrouded_server_example.json /home/steam/enshrouded_server_example.json diff --git a/container/proton/entrypoint.sh b/container/proton/entrypoint.sh index 2bdc94d..42a360d 100755 --- a/container/proton/entrypoint.sh +++ b/container/proton/entrypoint.sh @@ -46,7 +46,7 @@ fi # Install/Update Enshrouded echo "$(timestamp) INFO: Updating Enshrouded Dedicated Server" -steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir "$ENSHROUDED_PATH" +login anonymous +app_update ${STEAM_APP_ID} validate +quit +${STEAMCMD_PATH}/steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir "$ENSHROUDED_PATH" +login anonymous +app_update ${STEAM_APP_ID} validate +quit # Check that steamcmd was successful if [ $? != 0 ]; then @@ -103,7 +103,7 @@ ln -sf /proc/1/fd/1 "${ENSHROUDED_PATH}/logs/enshrouded_server.log" # Launch Enshrouded echo "$(timestamp) INFO: Starting Enshrouded Dedicated Server" -${STEAM_PATH}/compatibilitytools.d/GE-Proton${GE_PROTON_VERSION}/proton run ${ENSHROUDED_PATH}/enshrouded_server.exe & +${STEAMCMD_PATH}/compatibilitytools.d/GE-Proton${GE_PROTON_VERSION}/proton run ${ENSHROUDED_PATH}/enshrouded_server.exe & # Find pid for enshrouded_server.exe timeout=0