steamcmd

Steam command-line dedicated server tool

TLDR

Start interactive mode
$ steamcmd
Login anonymously
$ steamcmd +login anonymous
Install game server
$ steamcmd +login anonymous +app_update [740] +quit
Install to directory
$ steamcmd +force_install_dir [/path/to/server] +login anonymous +app_update [740] +quit
Validate installation
$ steamcmd +login anonymous +app_update [740] validate +quit
Login with credentials
$ steamcmd +login [username] [password]

SYNOPSIS

steamcmd [+command]...

DESCRIPTION

steamcmd is Valve's command-line Steam client designed for automated management of dedicated game servers. It supports downloading, installing, updating, and validating game server files without requiring the full Steam graphical client.Commands are prefixed with + and can be chained for batch operation. Anonymous login is sufficient for most dedicated server downloads, while some content requires authentication with a Steam account that owns the game. The +app_update command handles both initial installation and subsequent updates, with validate verifying file integrity and repairing corrupted installations.

PARAMETERS

+login USER [PASS]

Login to Steam.
+app_update APPID
Install/update app.
+force_install_dir PATH
Installation directory.
+quit
Exit after commands.
+validate
Verify files.
+app_info_print APPID
Show app info.
+workshop_download_item APPID ITEMID
Download workshop item.

COMMON APP IDS

740 - Counter-Strike: Global Offensive232250 - Team Fortress 2258550 - Rust376030 - ARK

INSTALL

nix profile install nixpkgs#steamcmd

CAVEATS

Some apps require game ownership. Downloads can be large. SteamGuard may require codes.

HISTORY

SteamCMD was released by Valve for headless server management. It enables automated game server deployment without the full Steam client.

SEE ALSO

steam(1), screen(1), tmux(1)