Download Steam games from another computer

Update: This is now a feature on Steam!
Check out their documentation for Local Network Game Transfers.

I was recently in a situation where I wanted to download Baldur’s Gate 3 (a 100+GB game) on Steam, but my gaming machine was limited to a less-than-ideal wireless connection getting about 8MB/s. However, I did have my home server running Ubuntu connected directly to the router which got around 80MB/s. After finding this helpful article, I was able to download the game on the server with the 10x faster connection and then transfer it to my gaming machine using an external drive. This saved me several hours of waiting, but the article I referenced missed a few tips which could have saved even more time. So, here is my step-by-step instructions for downloading Steam games via CLI.

Downloading a game

  1. Install the Steam CLI client steamcmd using the official instructions for your platform.
  2. Open it by running steamcmd.
  3. Optionally, set a custom install folder with force_install_dir ./Baldurs_Gate. Note that this must be done before logging in.
  4. Login to your Steam account with login USERNAME PASSWORD or just login USERNAME. After the first time you login, Steam will save your credentials and you will not have to enter your password again. If you need help, refer to the official instructions.
  5. Set the operating system and bitness (32/64bit) to match the platform you will use the game on. For example, if you are downloading a game to run on Windows 64-bit, use @sSteamCmdForcePlatformType windows and @sSteamCmdForcePlatformBitness 64.
  6. Use SteamDB to find the “App ID” for the game. For example, the app ID for Baldur’s Gate 3 is 1086940.
  7. Start the download using app_update 1086940 validate. Make sure you replace 1086940 with the correct App ID for your game. Also, it is not necessary to run the command with validate. It simply adds a validation step after the download to make sure it was successful.

Downloading the game using a custom install folder will create the folder with the game and a folder called steamapps which will have an appmanifest_xxx.vcf file in it. We will use that appmanifest file later.

Installing the game

  1. Once the download is finished, close steamcmd and locate the folder that the game was downloaded to. In my case, it was downloaded to ~/.local/share/Steam/steamcmd/Baldurs_Gate but this may be different for you. Note that .local is a hidden folder.
  2. Transfer the game’s folder to your external drive. I won’t be describing how to do this here as there are plenty of other resources for this. However, I do recommend using rsync -av -P source/ dest/.
  3. Copy the game’s folder to the steamapps\common folder on your gaming machine. In my case, it was C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3.
  4. Move the appmanifest_xxx.vcf file mentioned earlier to the steamapps folder on your gaming machine. In my case, this was C:\Program Files (x86)\Steam\steamapps.
  5. The game should now show as being installed on your gaming machine! However, you may need to restart Steam or manually trigger the download process for it to show up.
  6. Optionally, you can have Steam validate the files using these instructions.