Merge pull request #132 from gOOvER/proton

add Steam Proton Image
This commit is contained in:
Quinten
2023-02-16 17:00:44 +01:00
committed by GitHub
4 changed files with 62 additions and 2 deletions

View File

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

View File

@@ -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`

View File

@@ -33,10 +33,24 @@ export TZ
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP
# Set environment for Steam Proton
if [ -f "/usr/local/bin/proton" ]; then
if [ ! -z ${SRCDS_APPID} ]; then
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}"
else
echo -e "----------------------------------------------------------------------------------"
echo -e "WARNING!!! Proton needs variable SRCDS_APPID, else it will not work. Please add it"
echo -e "Server stops now"
echo -e "----------------------------------------------------------------------------------"
exit 0
fi
fi
# 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"

View File

@@ -0,0 +1,44 @@
# ---------------------------------------------
# Steam Proton image
# ---------------------------------------------
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 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 python3 python3-pip python3-setuptools
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
#Setup Protontricks
RUN python3 -m pip install protontricks
# Set up Winetricks
RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \
&& chmod +x /usr/sbin/winetricks
## 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" ]