jens1101 / SteamCMD-JS-Interface

Allows you to access and use SteamCMD via JavaScript
14 stars 1 forks source link

Revise Installation Directory #1

Open jens1101 opened 5 years ago

jens1101 commented 5 years ago

If I set the installation directory to: ~/Downloads/steam then a steamapps folder will automatically be created within it. There you will have a bunch of files and folders that are used while the download persists. However once the download is done then all the game's files are move outward to ~/Downloads/steam.

I don't think this is really desired. I think it should move the completed downloads into a common folder within the steamapps folder.

This will have to be investigated and maybe steamapps/common should be appended to the installation directory.


After investigating this: it seems that SteamCmd only does the above for non-library install folders. So, I think the expected behaviour should be:

jens1101 commented 3 years ago

I had a look into this. Here are a few points to note:

These two points can allow for further convenience functions (#16).

jens1101 commented 3 years ago

The app_info_print command is a bit of an issue, since there is no way I can force it to be synchronous and there is also no way for me to know when it's done. I may want to investigate if there exits a Steam API that I can call with Axios to get this information instead.

jens1101 commented 3 years ago

I have investigated this issue. The best I could find is this URL for XCOM2: http://clientconfig.akamai.steamstatic.com/appinfo/268500/sha/163238418f51174e7882ac5faec80da1fe17bbc5.txt.gz. "268500" is the app ID, however I do not know what the hash is. I have posted a question about this on Stack Overflow.

The solutions I am currently pursuing:

jens1101 commented 3 years ago

It turns out the problem is much less complicated than it sounds. If you force_install_dir to a Steam library then SteamCmd will recognise it as a Steam library folder and install the app in the correct location.

I also found out about a few other nice commands: