SSteamCMD
FeedbackChangelog

SCM-6 - GMod Docker Issues: Initial Download Failure & Non-Root Launch Errors

Task in SteamCMD — https://steamcmd.sayr.io/6

Status: backlog

Description

Originally opened by @seray-orig on GitHub

Why does GMod always throw an error on the first file download, but works fine on the second try?

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
ERROR! Failed to install app '4020' (Missing configuration)
Unloading Steam API...OK
CWorkThreadPool::~CWorkThreadPool: work processing queue not empty: 1 items discarded.

Also, why won't the game start when I try to run the container as another user with --user $(id -u):$(id -g)?

_Init(): Loaded local 'steamclient.so' OK.
*********************************************************
*********************************************************
*       Unable to load Steam support library.*
*       Unable to load Steam support library.*
*       This server will operate in LAN mode only.*
*       This server will operate in LAN mode only.*
*       1 - Can't determine AppID*
*       1 - Can't determine AppID*
*********************************************************
*********************************************************

If I run it without specifying a user, everything works like clockwork.

Comments

Sayr.io on 30 Sept 2026, 19:39

I handle the installation using the official SteamCMD image

docker run -it --rm \
  -v /home/garrysmod/main:/server \
  ghcr.io/steamcmd/steamcmd:latest \
  +force_install_dir /server +login anonymous +app_update 4020 validate +quit

I run the actual dedicated server using my own custom image with this entrypoint script

if [ -z "$*" ]; then
    exec ./srcds_run -game garrysmod -console +maxplayers 16 +map gm_construct
else
    exec ./srcds_run "$@"
fi

with --user $(id -u ):$(id -g )