CM2Walki / steamcmd

Minimal image containing Valve's SteamCMD binary: https://hub.docker.com/r/cm2network/steamcmd/

Home Page:https://CM2.Network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

No sentry file generated anymore

lunikon opened this issue · comments

Hi there,

first of all, thanks a lot for this image!

We are using it a CI pipeline that hasn't been running for a while. We just recently wanted to run a new build but found that our deployment to Steam stopped working due to expired credentials. But when I tried to regenerate credentials to provide to the CI server, there was no sentry file to be found anymore. I looked into all the respective directories within the container, but no luck.

Did something change over the past year or so that we missed? Did the mechanism change?

I am aware that this is likely not an issue with this image but with the way we're using it. I am just seeking advice :)

CI on my end is still working, I pushed multiple builds today. If steamcmd misbehaves, I tend to wipe all the associated containers and volumes and just recreate everything, that usually does the trick.

What we do is that we run a blank container of the cm2network/steamcmd locally (no volumes) and run the auth code like so /home/steam/steamcmd/steamcmd.sh +login {USERNAME} {PASSWORD} +quit. So I'd expect this to create a completely new session without any baggage from previous ones. But I can't find the sentry file. What am I missing?

Let me rephrase my question(s) as we're currently blocked by this:

  1. Am I correct in assuming that sentry files are still a thing and that they should be generated?
  2. Could it be that functionality we need has moved to another image based on cm2network/steamcmd?

The sentry file should be located in /home/steam/Steam

I usually make that path a named volume, activate it once manually using an interactive container. After that I can just mount the volume each successive run.

You can find an example of this setup here:
https://github.com/CM2Walki/steampipe

Thank's a lot for the info. This means I wasn't seeing ghosts and it helped me to get a step closer to solving this.

After running the login command (successfully, including the Steam Guard code) the respective folder looks like this:

steam@907956b18643:~$ ls -la /home/steam/Steam/
total 8
drwxr-xr-x  7 root  root   224 Feb 15 12:32 .
drwxr-xr-x  1 steam steam 4096 Feb 15 03:10 ..
drwxr-xr-x  5 steam steam  160 Feb 15 12:32 appcache
drwxr-xr-x  4 steam steam  128 Feb 15 12:31 config
drwxr-xr-x 18 steam steam  576 Feb 15 12:32 logs
drwxr-xr-x  3 steam steam   96 Feb 15 12:31 steamapps
drwxr-xr-x  3 steam steam   96 Feb 15 12:31 userdata

No sentry file to be seen. This is regardless of whether I use the cm2network/steampipe:contentbuilder or the basic cm2network/steamcmd image and also happens when mounting /home/steam/Steam from a volume.

BUT: When starting a container from scratch using the mounted volume, it seems to work just fine, which probably means sentry files aren't a thing anymore and the token is stored elsewhere.

Turns out that after deleting all the files in the mounted volume except for config/config.vdf, login still works just fine without a Steam Guard code, meaning this file must contain the token. So in principle, I should get my CI pipeline to work again by providing this file (instead of the sentry file) from a CI variable.

I'll give it a try and report back.

Alright, problem solved. Initially, my CI pipeline continued breaking despite everything working just fine locally. So after doing some more googling, I came across this issue which contained the crucial tidbit: After an initial login succeeded and the steamcmd config file has been written, subsequent logins MUST NOT provide a password, otherwise a new login attempt is started. So after changing this, everything worked flawlessly and, inf act, with a quite a bit simpler setup than before.

Once again, thanks a lot for your help!