steamctl
steamctl copied to clipboard
[BUG] Password is not saved correctly after some time
Description After some time, the password is forgotten in the credentials. The password argument created via #56 seems to be ignored when this happens. May be related to the original bug that caused me to ask for the feature.
Steps to Reproduce the behavior Use the password argument and/or save the credentials and try again after a few weeks.
What actually happend
root@fordy:~# steamctl --user RandomUsername1 --password AwesomePassword2 depot info -a 1056640 -d 1056641
[INFO] Enter credentials for: RandomUsername1
It completely ignored the password flag (but supports it), you can see so when I attempted to use one line instead of two just to be sure.
root@fordy:~# steamctl --user RandomUsername1 -password AwesomePassword2 depot info -a 1056640 -d 1056641
usage: steamctl [-h] [--version] [--versions-report] [-l {quiet,info,debug}] [--anonymous] [--user USER]
[--password PASSWORD]
<command> ...
steamctl: error: argument <command>: invalid choice: 'AwesomePassword2' (choose from 'apps', 'assistant', 'authenticator', 'clear', 'cloud', 'depot', 'hlmaster', 'steamid', 'ugc', 'webapi', 'workshop')
Once I entered the correct password then it worked again, using the remembered credentials every time after.
Logs
steamctl -l debug
(Include logs related ot the issue. Use `steamctl -l debug` to get detailed log) ``` I was not aware of this command and will get logs next time. ```Versions Report
steamctl --versions-report
(Run steamctl --versions-report and paste the output below)steamctl: 0.9.5
Dependencies:
steam: 1.4.3
appdirs: 1.4.4
argcomplete: 2.0.0
tqdm: 4.64.0
arrow: 1.2.2
pyqrcode: 1.2.1
beautifulsoup4: 4.7.1
vpk: 1.4.0
vdf: 3.4
gevent-eventemitter: 2.1
gevent: 21.12.0
greenlet: 1.1.2
pyyaml: Not Installed
pycryptodomex: 3.15.0
protobuf: 3.14.0
Python runtime:
executable: /usr/bin/python3.8
version: 3.8.3 (default, May 14 2020, 22:09:32) [GCC 5.4.0 20160609]
platform: linux
System info:
system: Linux
machine: x86_64
release: 4.19-ovh-xxxx-std-ipv6-64
version: #1273469 SMP Wed Jun 3 08:31:49 UTC 2020
It happened again, here is the full debug log
root@ubuntu:~# steamctl -l debug --user RandomUsername1 --password AwesomePassword2 depot info -a 1056640 -d 1056641
[DEBUG] steamctl: Parsed args: {'versions_report': None, 'log_level': 'debug', 'anonymous': False, 'user': 'RandomUsername1', 'password': None, 'command': 'depot', '_cmd_func': 'steamctl.commands.depot.gcmds:cmd_depot_info', 'subcommand': 'info', 'cell_id': None, 'os': 'any', 'file': None, 'app': 1056640, 'depot': 1056641, 'manifest': None, 'branch': 'public', 'skip_depot': None, 'skip_login': False, 'skip_licenses': False}
[DEBUG] SteamClient: Reading CM servers from '/root/.local/share/steamctl/client/cm_servers.json'
[DEBUG] CMServerList: Added 80 new CM addresses.
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/cs_servers.json
[DEBUG] CachingCDNClient: No steam licenses found on SteamClient instance
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/client/lastuser
[INFO] SteamClient: Enter credentials for: RandomUsername1
Password:
It completely ignores the password argument here too. Here is the log after, running the same command again:
root@ubuntu:~# steamctl -l debug --user RandomUsername1 --password AwesomePassword2 depot info -a 1056640 -d 1056641
[DEBUG] steamctl: Parsed args: {'versions_report': None, 'log_level': 'debug', 'anonymous': False, 'user': 'RandomUsername1', 'password': None, 'command': 'depot', '_cmd_func': 'steamctl.commands.depot.gcmds:cmd_depot_info', 'subcommand': 'info', 'cell_id': None, 'os': 'any', 'file': None, 'app': 1056640, 'depot': 1056641, 'manifest': None, 'branch': 'public', 'skip_depot': None, 'skip_login': False, 'skip_licenses': False}
[DEBUG] SteamClient: Reading CM servers from '/root/.local/share/steamctl/client/cm_servers.json'
[DEBUG] CMServerList: Added 80 new CM addresses.
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/cs_servers.json
[DEBUG] CachingCDNClient: No steam licenses found on SteamClient instance
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/client/lastuser
[INFO] SteamClient: Attempting login with remembered credentials
[DEBUG] steamctl.utils.storage: Opening file (r): /root/.local/share/steamctl/client/RandomUsername1.key
[DEBUG] SteamClient: Attempting login
[DEBUG] SteamClient: Connect initiated.
[DEBUG] Connection: Attempting connection to ('146.66.155.38', 27018)
[DEBUG] Connection: Connected.
[DEBUG] SteamClient: Emit event: 'connected'
...
From the debug, doesn't look like the password parameter is being set:
...'user': 'RandomUsername1', 'password': None...
Ok, yeah it colliding with the parameters from the subcommand, which overwriting it. This a bug :)
um i thought it was something to do with steam now using refresh_tokens instead of login keys