How to install a game to a Steam library using steamcmd
In principle, steamcmd is able to download any game. If used without force_install_dir
, the game goes into the main library correctly.
But if I specify another library using above mentioned parameter, the game never ends up in the library like I want it to. For example if my library used to look like this:
/media/crossoss/steam/linux/
/media/crossoss/steam/linux/steamapps
/media/crossoss/steam/linux/steamapps/common
/media/crossoss/steam/linux/steamapps/downloading
/media/crossoss/steam/linux/steamapps/libraryfolders.vdf
/media/crossoss/steam/linux/steamapps/temp
/media/crossoss/steam/linux/steamapps/workshop
with no games installed and I specify force_install_dir /media/crossoss/steam/linux
then the result looks like this:
/media/crossoss/steam/linux/
/media/crossoss/steam/linux/libSteamworksNative.so
/media/crossoss/steam/linux/libsteam_api.so
/media/crossoss/steam/linux/Snuggle Truck.x86
/media/crossoss/steam/linux/Snuggle Truck_Data
/media/crossoss/steam/linux/Snuggle Truck_Data/level0
[...]
/media/crossoss/steam/linux/Snuggle Truck_Data/sharedassets3.assets.resS
/media/crossoss/steam/linux/startgame.sh
/media/crossoss/steam/linux/steamapps
/media/crossoss/steam/linux/steamapps/appmanifest_111100.acf
/media/crossoss/steam/linux/steamapps/common
/media/crossoss/steam/linux/steamapps/downloading
/media/crossoss/steam/linux/steamapps/libraryfolders.vdf
/media/crossoss/steam/linux/steamapps/temp
/media/crossoss/steam/linux/steamapps/workshop
/media/crossoss/steam/linux/SteamLauncher
If I specify force_install_dir /media/crossoss/steam/linux/steamapps/common
then the whole stuff goes directly into common
instead of into linux
(still not in a subfolder like it should) and no appmanifest_111100.acf
file is created anywhere.
Unsurprisingly, the game doesn't launch that way (if the appmanifest is missing, it's not even displayed as installed, with the appmanifest there but the game files in the wrong place there is a "missing executable" error).
Workarounds or ideas how to get it right? Can I temporarily symlink the steamapps folder from the library where I want the game into the place where the steamapps folder from the main library is?
Solution 1:
Ugly workaround (not going to accept that answer): mount --bind /your/steam/library/steamapps /home/user/.local/share/Steam/steamapps
, then install without force_install_dir
parameter and unmount again (don't forget that!). Haven't noticed any problems, seems to work fine even when platforms don't match. But it does need root.