I play Deus Ex: Mankind Divided (DXMD) on an AWS EC2 spot instance using Steam streaming, following this tutorial to create an AMI. From experience, I found that I can install Steam but cannot install DXMD in the AMI. When I do, DXMD won't work; it hangs when attempting to run. (if someone has suggestions on fixing this, then I won't need to take the steps below).

As a workaround, I install the game after the spot instance is created. I'd like to automate this process. From the Valve dev guide, I've managed to start the install process. "C:\Program Files (x86)\Steam\Steam.exe" -login <myusername> <mypassword> -applaunch 337000

where 337000 is the application ID.

At this point, Steam requests an installation directory, asks me to confirm reading the license agreement, and then proceeds. How do I pass the install directory and license agreement parameters via command line? I've tried running steam with the -dev flag, which adds the console tab at the top of the GUI, so as to set the default install directory, but that doesn't help.

1 Answer 1


It turns out that SteamCMD to bypass the Steam GUI is the answer. After installing SteamCMD on the base AMI, you can run this from the command line:

steamcmd +login <user> <password> +force_install_dir <directory path> +app_update <game_id>

Obviously, you'll specify the username, password, installation directory, and application ID.

The last gotcha is Steam Guard, which prevents Steam account access from new, unauthorized IPs (pretty much a given which using spot instances for gaming). As a workaround, I followed the directions here for disabling it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .