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:
- Am I correct in assuming that sentry files are still a thing and that they should be generated?
- 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!