add steam Proton Support

This commit is contained in:
gOOvER
2023-02-14 16:25:39 +01:00
parent 15884179ee
commit 537f9dbdb1
4 changed files with 45 additions and 2 deletions

View File

@@ -19,7 +19,7 @@ jobs:
- debian - debian
- ubuntu - ubuntu
- dotnet - dotnet
- proton
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2 - uses: docker/setup-buildx-action@v2

View File

@@ -223,6 +223,8 @@ is tagged correctly.
* `ghcr.io/parkervcp/steamcmd:debian` * `ghcr.io/parkervcp/steamcmd:debian`
* [`SteamCMD Debian Dotnet`](/steamcmd/dotnet) * [`SteamCMD Debian Dotnet`](/steamcmd/dotnet)
* `ghcr.io/parkervcp/steamcmd:dotnet` * `ghcr.io/parkervcp/steamcmd:dotnet`
* [`SteamCMD Proton`](/steamcmd/proton)
* `ghcr.io/parkervcp/steamcmd:proton`
* [`SteamCMD Ubuntu latest LTS`](/steamcmd/ubuntu) * [`SteamCMD Ubuntu latest LTS`](/steamcmd/ubuntu)
* `ghcr.io/parkervcp/steamcmd:ubuntu` * `ghcr.io/parkervcp/steamcmd:ubuntu`

View File

@@ -33,10 +33,14 @@ export TZ
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP export INTERNAL_IP
# Set environment for Steam Proton
mkdir -p /home/container/.steam/steam/steamapps/compatdata/${SRCDS_APPID}
export STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/container/.steam/steam"
export STEAM_COMPAT_DATA_PATH="/home/container/.steam/steam/steamapps/compatdata/${SRCDS_APPID}"
# Switch to the container's working directory # Switch to the container's working directory
cd /home/container || exit 1 cd /home/container || exit 1
## just in case someone removed the defaults. ## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then if [ "${STEAM_USER}" == "" ]; then
echo -e "steam user is not set.\n" echo -e "steam user is not set.\n"

View File

@@ -0,0 +1,37 @@
# ---------------------------------------------
# Generic Wine image with Steam support
# ---------------------------------------------
FROM debian:bullseye-slim
LABEL author="Torsten Widmann" maintainer="info@goover.de"
## install required packages
RUN dpkg --add-architecture i386
RUN apt update
RUN apt install -y --no-install-recommends wget iproute2 gnupg2 software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5-dev:i386 libncurses6 dbus libgdiplus lib32gcc-s1
RUN apt install -y alsa-tools libpulse0 pulseaudio libpulse-dev libasound2 libao-common gnutls-bin gnupg locales numactl cabextract curl
RUN useradd -d /home/container -m container
# Download Proton GE
RUN curl -sLOJ $(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep browser_download_url | cut -d\" -f4 | egrep .tar.gz)
RUN tar -xzf GE-Proton*.tar.gz -C /usr/local/bin/ --strip-components=1
RUN rm GE-Proton*.*
# Proton Fix machine-id
RUN rm -f /etc/machine-id
RUN dbus-uuidgen --ensure=/etc/machine-id
RUN rm /var/lib/dbus/machine-id
RUN dbus-uuidgen --ensure
## install rcon
RUN cd /tmp/ \
&& curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.2/rcon-0.10.2-amd64_linux.tar.gz > rcon.tar.gz \
&& tar xvf rcon.tar.gz \
&& mv rcon-0.10.2-amd64_linux/rcon /usr/local/bin/
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]