diff --git a/docker/Dockerfile b/docker/Dockerfile index c817be9..c3788be 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -28,7 +28,7 @@ ENV DEBIAN_FRONTEND=noninteractive \ TZ="America/Los_Angeles" \ AUTO_UPDATE="true" -# Install dependencies +# Install dependencies including 32-bit libraries required by Source engine RUN dpkg --add-architecture i386 && \ apt-get update && \ apt-get install -y --no-install-recommends \ @@ -39,6 +39,9 @@ RUN dpkg --add-architecture i386 && \ unzip \ lib32gcc-s1 \ lib32stdc++6 \ + libc6-i386 \ + libncurses5:i386 \ + libtinfo5:i386 \ locales \ tzdata && \ sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh index dad527a..a6ced6f 100755 --- a/scripts/docker-entrypoint.sh +++ b/scripts/docker-entrypoint.sh @@ -180,8 +180,12 @@ cleanup() { trap cleanup SIGTERM SIGINT # Add -disableluarefresh to prevent lua refresh issues -# Add -norestart to prevent auto-restart loop issues in Docker ARGS="$ARGS -disableluarefresh" +# Disable tcmalloc which causes issues in Docker environments +# This is a known issue with Source engine games in containers +export LD_PRELOAD="" +export MALLOC_CHECK_=0 + # Start the server (using exec to replace shell process) -exec ./srcds_run $ARGS +exec ./srcds_run $ARGS -norestart