Difference between revisions of "SteamCMD"

From Valve Developer Community
Jump to: navigation, search
(a little start, mostly copied from Counter-Strike: Global Offensive Dedicated Servers)
 
(added "Automating SteamCmd" from Counter-Strike: Global Offensive Dedicated Servers)
Line 38: Line 38:
  
 
# Once finished, type '''quit''' to properly log off of the Steam servers.
 
# Once finished, type '''quit''' to properly log off of the Steam servers.
 +
 +
== Automating SteamCmd ==
 +
 +
There are two ways to automate SteamCmd.
 +
 +
: 1. Add commands to the command line. Example:
 +
 +
SteamCmd +login user password +force_install_dir ../csgo_ds +app_update 740 validate
 +
 +
: 2. Create a script.
 +
 +
:: a. Put your SteamCmd commands in a text file. Example:
 +
 +
// update_csgo_ds.txt
 +
//
 +
login user password
 +
force_install_dir ../csgo_ds
 +
app_update 740 validate
 +
exit
 +
 +
:: b. Run SteamCmd with the +runscript option. Example:
 +
SteamCmd +runscript csgo_ds.txt
 +
=== Protect your AccountLogin with gpg under Linux ===
 +
Write your loginscript like the example and save the file as ''update_csgo_ds.txt''. You have to encrypt with gpg the textfile with a symmetric encryption:
 +
  gpg -c --force-mdc update_csgo_ds.txt
 +
  # enter your password
 +
  # the new encrypted file update_csgo_ds.txt.gpg will be created
 +
  # delete the original file with
 +
  # rm update_csgo_ds.txt
 +
You can check the decryption with:
 +
  gpg -d update_csgo_ds.txt.gpg
 +
  # enter you password
 +
  # the text will be written to stdout, when your password is ok
 +
When everything is ok, you can use a little shell script to pipe the stdout from gpg to steam.sh:
 +
  #!/bin/sh
 +
  read -p "Enter your password: " -s pass
 +
  gpg --passphrase $pass -d login.gpg 2>/dev/null | STEAMEXE=steamcmd ./steam.sh
 +
  pass=""

Revision as of 19:28, 18 August 2012

SteamCMD is a new tool to install and update dedicated servers using a command line interface.

Downloading and Running SteamCMD

  1. Download the SteamCMD Update Tool:
  2. Extract the contents to a directory.
    Do not extract the contents of the updater tool to the regular Steam Client folder or to a folder that has the older HLDSUpdateTool program.
    • Linux: type tar xvfz steamcmd.tar.gz
  3. Launch SteamCMD for the first time
    1. Open a command prompt in that directory and start SteamCmd
    • Windows: type steamcmd
    • Linux: type STEAMEXE=steamcmd ./steam.sh
    The program will automatically update and enter you in to a Steam> prompt. Type help for more information.
    2. Log in with your Steam Account
    You must log out of the regular Steam client in order to properly log in to SteamCMD Update Tool
login <username> <password>
  1. 3. If you receive a Steam Guard error, check your e-mail for your access code and login using the following command (you'll only need to do this once per computer):
login <username> <password> <steam guard code>
  1. 4. You should see a message stating that you have successfully logged in with your account.

Downloading an app

  1. Run SteamCMD and set your app install directory.
    On some linux distributions the path cannot contain any capital letters.
    Examples:
    • Windows:
force_install_dir c:\csgo-ds\
force_install_dir .\csgo-ds\
    • Linux:
force_install_dir ~/csgo-ds/
force_install_dir ./csgo-ds/
  1. Install or update the app.
app_update <app_id>
  1. Once finished, type quit to properly log off of the Steam servers.

Automating SteamCmd

There are two ways to automate SteamCmd.

1. Add commands to the command line. Example:
SteamCmd +login user password +force_install_dir ../csgo_ds +app_update 740 validate
2. Create a script.
a. Put your SteamCmd commands in a text file. Example:
// update_csgo_ds.txt
//
login user password
force_install_dir ../csgo_ds
app_update 740 validate
exit
b. Run SteamCmd with the +runscript option. Example:
SteamCmd +runscript csgo_ds.txt

Protect your AccountLogin with gpg under Linux

Write your loginscript like the example and save the file as update_csgo_ds.txt. You have to encrypt with gpg the textfile with a symmetric encryption:

 gpg -c --force-mdc update_csgo_ds.txt
 # enter your password
 # the new encrypted file update_csgo_ds.txt.gpg will be created
 # delete the original file with
 # rm update_csgo_ds.txt

You can check the decryption with:

 gpg -d update_csgo_ds.txt.gpg
 # enter you password
 # the text will be written to stdout, when your password is ok

When everything is ok, you can use a little shell script to pipe the stdout from gpg to steam.sh:

 #!/bin/sh
 read -p "Enter your password: " -s pass
 gpg --passphrase $pass -d login.gpg 2>/dev/null | STEAMEXE=steamcmd ./steam.sh
 pass=""