add steam Proton Support
This commit is contained in:
2
.github/workflows/steamcmd.yml
vendored
2
.github/workflows/steamcmd.yml
vendored
@@ -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
|
||||||
|
@@ -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`
|
||||||
|
|
||||||
|
@@ -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"
|
||||||
|
37
steamcmd/proton/Dockerfile
Normal file
37
steamcmd/proton/Dockerfile
Normal 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" ]
|
Reference in New Issue
Block a user