Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SteamCMD workshop_download_item not working with Workshop Collection #11662

Open
Sc0r opened this issue Jan 14, 2025 · 0 comments
Open

SteamCMD workshop_download_item not working with Workshop Collection #11662

Sc0r opened this issue Jan 14, 2025 · 0 comments

Comments

@Sc0r
Copy link

Sc0r commented Jan 14, 2025

Your system information

  • Steam client version (build number or date): SteamCMD, dunno.
  • Distribution: Ubuntu 24.04.1 LTS
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • Steam Logs: see below
  • GPU: Headless

Please describe your issue in as much detail as possible:

tl;dr: workshop_download_item probably needs to learn what a workshop-collection is

Currently trying to get an install parameter for Project Zomboid going, which includes the Workshop mods as well. Attempted to utilize the workshop-Collection feature for this, to get all required mods at once. I aim to automate this with a directory symlink later on, but this will be really bulky, since there is no known way to force_install_dir for workshop_download_item. Quite the opposite, if one loads em with steamcmd, instead of [Gamefolder]/Mods, they go to:
~/.steam/steam/SteamApps/common/workshop/content/108600/%WorkshopID%/mods/%Mod folder%/
Since each workshop mod brings two variable subfolders, I see no practical way to move this automatically.
Ironically, it creates a this WorkshopID/mods/ subfolder, which would only really make sense if it was a collection, but here we are.
The whole design seems to be more befitting of collections rather than singular workshop items, since you can only pick one, who installs only one mod?
Everywhere there is people building scripts to work around this one way or another for their games.

This is the collection I try to pull via steamCMD.

Here is a Log loading a regular workshop item with +workshop_download_item 108600 3387957272

[2025-01-14 21:29:48] Client version: 1733269577
[2025-01-14 21:29:48] Loading workshop items for 2 installed apps for user [U:1:10401170]:
[2025-01-14 21:29:53] [AppID 108600] Loaded workshop items in "/mnt/server/steamapps/workshop" (1 installed, 1 needed)
[2025-01-14 21:29:53] [AppID 108600] Download item 3387957272 requested by app
[2025-01-14 21:29:53] [AppID 108600] Starting Workshop download job (requested item 3387957272 )
[2025-01-14 21:29:54] [AppID 108600] Detected workshop change (latest from server) : changed cached item 3387957272, new manifest 8164495677492726666
[2025-01-14 21:30:01] [AppID 108600] Download item 3387957272 result : OK
[2025-01-14 21:30:01] [AppID 108600] Finished Workshop download job : No Error
[2025-01-14 21:30:01] [AppID 108600] Updating workshop item details failed with Failure

'Failed with Failure' lol, dramatic. Especially since this singular mod downloaded perfectly.

And now the Collection with +workshop_download_item 108600 3407526381

[2025-01-14 21:54:06] Client version: 1733269577
[2025-01-14 21:54:06] Loading workshop items for 0 installed apps for user [U:1:10401170]:
[2025-01-14 21:54:11] [AppID 380870] Loaded workshop items in "/mnt/server/steamapps/workshop" (0 installed, 0 needed)
[2025-01-14 21:54:11] [AppID 1070560] Loaded workshop items in "/mnt/server/steamapps/workshop" (0 installed, 0 needed)
[2025-01-14 21:55:42] [AppID 108600] Loaded workshop items in "/mnt/server/steamapps/workshop" (0 installed, 0 needed)
[2025-01-14 21:55:42] [AppID 108600] Download item 3407526381 requested by app
[2025-01-14 21:55:42] [AppID 108600] Starting Workshop download job (requested item 3407526381 )
[2025-01-14 21:55:42] [AppID 108600] Detected workshop change : changed cached item 3407526381, new handle 13047310512294209 
[2025-01-14 21:55:43] [AppID 108600] Download item 3407526381 result : OK
[2025-01-14 21:55:43] [AppID 108600] Finished Workshop download job : No Error

Instead of the collection, it just downloaded a file "13047310512294209_legacy.bin".
Does SteamCMD need to learn what a workshop collection is by any chance?

Here my suggestions regarding the download path:

  1. workshop_download_item to receive it's own forced_install_dir (plus omitting workshopID subfolders)
  2. SteamCMD learns where to put the mods directly from the appID
  3. Subsequent workshop_deploy_items command for downloaded mods

Suggestions regarding the Workshop Collections:

  1. Dedicated syntax like workshop_download_list for Collections.
  2. Simply allowing multiple WorkshopIDs like +workshop_download_item 108600 3387957272 3407526381 1234567890
  3. Enhancing workshop_download_item to process Collections

Steps for reproducing this issue:

  1. Create Workshop Collection
  2. Try to pull collection with workshop_download_item
  3. Shocked Pikachuface
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants