[BUG] steamctl not able to download older manifests
Description A clear and concise description of what the bug is.
trying to download older manifests of games results in HTTP 401 instead of HTTP 200 due to steamctl not request manifest code for older manifests and only requests manifest codes for latest manifest id in appinfo.
Steps to Reproduce the behavior (Include debug logs if possible and relevant)
- run steamctl depot download with the -m flag and try to download an older version of a game.
Expected behavior A clear and concise description of what you expected to happen.
steamctl downloads the older manifest/version of game with no http 401 and requests the manifest code for older manifests.
What actually happend Description of what actually happend
same as first description
Logs
steamctl -l debug
(Include logs related ot the issue. Use `steamctl -l debug` to get detailed log)[DEBUG] steamctl: Parsed args: {'versions_report': None, 'log_level': 'debug', 'anonymous': False, 'user': None, 'command': 'depot', '_cmd_func': 'steamctl.commands.depot.gcmds:cmd_depot_download', 'subcommand': 'download', 'cell_id': None, 'os': 'any', 'output': 'F:\\SteamLibrary\\steamapps\\content\\app_1186040\\depot_1186041\\', 'no_directories': False, 'no_progress': False, 'file': None, 'app': 1186040, 'depot': 1186041, 'manifest': 2103112450145035475, 'branch': 'public', 'password': None, 'skip_depot': None, 'skip_login': False, 'skip_licenses': False, 'vpk': False, 'skip_verify': False, 'name': None, 'regex': None}
[DEBUG] SteamClient: Reading CM servers from 'C:\\Users\\conno\\AppData\\Local\\steamctl\\steamctl\\client\\cm_servers.json'
[DEBUG] CMServerList: Added 80 new CM addresses.
[DEBUG] steamctl.utils.storage: Opening file (r): C:\Users\conno\AppData\Local\steamctl\steamctl\cs_servers.json
[DEBUG] CachingCDNClient: No steam licenses found on SteamClient instance
[DEBUG] steamctl.utils.storage: Opening file (r): C:\Users\conno\AppData\Local\steamctl\steamctl\depot_keys.json
[INFO] steamctl.commands.depot.gcmds: Skipping login
[DEBUG] urllib3.connectionpool: Starting new HTTP connection (1): cache1-syd1.steamcontent.com:80
[DEBUG] urllib3.connectionpool: http://cache1-syd1.steamcontent.com:80 "GET /depot/1186041/manifest/2103112450145035475/5 HTTP/1.1" 401 98
[DEBUG] CachingCDNClient: Got HTTP 401
(EResult.Fail) HTTP Error 401
Versions Report
steamctl --versions-report
(Run steamctl --versions-report and paste the output below)steamctl: 0.9.3
Dependencies:
steam: 1.3.0
appdirs: 1.4.4
argcomplete: 2.0.0
tqdm: 4.62.3
arrow: 1.2.2
pyqrcode: 1.2.1
beautifulsoup4: 4.10.0
vpk: 1.4.0
vdf: 3.4
gevent-eventemitter: 2.1
gevent: 21.12.0
greenlet: 1.1.2
pyyaml: Not Installed
pycryptodomex: 3.14.1
protobuf: 3.19.4
Python runtime:
executable: C:\Python39\python.exe
version: 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)]
platform: win32
System info:
system: Windows
machine: AMD64
release: 10
version: 10.0.19043
Notes: depotdownloader manages to work fine downloading older manifests
Yes, it returns 401 for a manifest GID that's valid for steam's own download_depot console command
As an aside, info doesn't seem to return a list of prior manifests
As an aside,
infodoesn't seem to return a list of prior manifests
maybe because info is asking for appinfo which appinfo only contains latest manifest gid for each branch that exists
Yes, it returns 401 for a manifest GID that's valid for steam's own
download_depotconsole command
it seems depotdownloader can at least grab older manifests tho its like there is code that prevents the steamclient/steamctl client from grabbing older manifests
It depends. If the manifest GID is for a password-locked branch, I've not be able to use depotdownloader grab the files even though I can with download_depot
it seems depotdownloader can at least grab older manifests tho its like there is code that prevents the steamclient/steamctl client from grabbing older manifests
It depends. If the manifest GID is for a password-locked branch, I've not be able to use
depotdownloadergrab the files even though I can withdownload_depotit seems depotdownloader can at least grab older manifests tho its like there is code that prevents the steamclient/steamctl client from grabbing older manifests
weird
It depends. If the manifest GID is for a password-locked branch, I've not be able to use
depotdownloadergrab the files even though I can withdownload_depotit seems depotdownloader can at least grab older manifests tho its like there is code that prevents the steamclient/steamctl client from grabbing older manifests
weird
actually steamctl seems to just skip login if you try to download a older manifest and returns a HTTP 401
Manifest downloads now require a manifest code. I've been told older manifest can still be downloaded as Steam would return a manifest code, but perhaps that is no being handled properly I have to verify.
Manifest downloads now require a manifest code. I've been told older manifest can still be downloaded as Steam would return a manifest code, but perhaps that is no being handled properly I have to verify.
did you verify?
🎉