Open jens1101 opened 5 years ago
I had a look into this. Here are a few points to note:
install_folder_list
will list all available steam volumes. This can maybe be used to tell SteamCMD where to download an app to.When forcing the install directory the correct way to do it would be to use the following folder structure: [Download folder]/steamapps/common/[game install dir]
. The way to find the game install dir is by running app_info_print [appId]
and looking at "config" > "installdir"
. This will give you the correct folder name for the game.
Note the app_info_print
is not synchronous. If it doesn't have the information on hand it will request it and return to the command line.
These two points can allow for further convenience functions (#16).
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.
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:
app_info_print
command multiple times until it returns something.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:
install_folder_list
lists all Steam library folders. Note that if you create a new library folder while SteamCmd is running then you need to restart SteamCmd before it will recognise the new folder.apps_installed
which lists all the apps you've installed, their ID, name, and their installation locations. For games installed in steam library folders it will not resolve the full path to the game, but instead will only resolve to the path of the library.
If I set the installation directory to:
~/Downloads/steam
then asteamapps
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 thesteamapps
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: