steamcmd/api

Ability to retrieve workshop files from a given ID.

Closed this issue · 4 comments

This would be extremely useful for a project I'm working on.
An option could also be implemented on this new endpoint to automatically decompress the files & just send it stringified as a response. (could add a ?file= parameter to the endpoint to switch between multiple files if any)

Hi,

Adding streaming of files is generally speaking a pretty heavy operation that is probably not ideal to include in the API. Could you give me an example of some workshop files and how you would normally download them? Then I can have a look what the impact would be.

Thanks for the reply!

Well primarily I'd like to download workshop files for Stormworks: Build & Rescue. The workshop content is simply one xml file which usually doesn't get larger than about 15 MB. The best thing would be if an option could be set to not download the file but send its contents straight through the response because I don't want to deal with managing the downloads in my serverless instance.

Oh and sorry, I forgot your second question. Normally you'd download workshop files with one simple command. For example:
steamcmd +login anonymous +force_install_dir INSTALL_DIR_PATH +workshop_download_item APP_ID WORKSHOP_ITEM_ID validate +quit

The above command logs in as anonymous then downloads the specified workshop file in the specified folder. I'm pretty sure you can set the file name too somehow, but I haven't yet figured that out.

Thank you for adding the extra information. I have been looking into this area of steamcmd and I came across a few other tools that were doing this like: https://steamworkshopdownloader.io. Sadly they apparently had to stop their service because Valve forced them to, see this Reddit post.

Because of that reason and the way the API is currently build I think at this moment the API is not the best place to incorporate this feature in. However I saw this Reddit post about trying to create a new service. I joined their Discord and will see if I can help out creating a separate service that can offer downloading Steam workshop files.

You can join the Discord server of this project here if you want: https://discord.gg/TrxaNYb2Vv.