Skip to content

Commit

Permalink
add steam Proton Support
Browse files Browse the repository at this point in the history
  • Loading branch information
gOOvER committed Feb 14, 2023
1 parent 1588417 commit 537f9db
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/steamcmd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- debian
- ubuntu
- dotnet

- proton
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,8 @@ is tagged correctly.
* `ghcr.io/parkervcp/steamcmd:debian`
* [`SteamCMD Debian Dotnet`](/steamcmd/dotnet)
* `ghcr.io/parkervcp/steamcmd:dotnet`
* [`SteamCMD Proton`](/steamcmd/proton)
* `ghcr.io/parkervcp/steamcmd:proton`
* [`SteamCMD Ubuntu latest LTS`](/steamcmd/ubuntu)
* `ghcr.io/parkervcp/steamcmd:ubuntu`

Expand Down
6 changes: 5 additions & 1 deletion steamcmd/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,14 @@ export TZ
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
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
cd /home/container || exit 1


## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then
echo -e "steam user is not set.\n"
Expand Down
37 changes: 37 additions & 0 deletions steamcmd/proton/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# ---------------------------------------------
# Generic Wine image with Steam support
# ---------------------------------------------
FROM debian:bullseye-slim

LABEL author="Torsten Widmann" maintainer="[email protected]"

## 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" ]

0 comments on commit 537f9db

Please sign in to comment.