General 5 min read

What is SteamCMD, and how do you use it?

Adam McEnroe
In short

Learn what SteamCMD is and how to use SteamCMD to install, update and validate dedicated servers, choose the right login and fix download errors.

SteamCMD is Valve’s command-line Steam client. It is mainly used to install, update and validate dedicated game-server files without the full graphical Steam app. Download the official archive, extract it to its own folder, run it, log in anonymously or with an entitled account, then use app_update with the required app ID.

What is SteamCMD used for?

SteamCMD is best suited to unattended server installation, scripted updates and machines without a desktop interface. In flight and train simulation, it is relevant when a simulator or related title provides a Steam dedicated-server tool.

RequirementFull Steam clientSteamCMD
InterfaceGraphical desktop applicationCommand prompt or script
Best usePlaying and managing normal games or simulatorsInstalling and updating dedicated servers
AutomationLimitedDesigned for repeatable command-line jobs
AccountSteam account requiredAnonymous access for some servers; account required for others

Use the full client for an ordinary simulator installation; our full-client installation process for Train Simulator Classic shows that conventional route. SteamCMD can download only the depots Steam makes available to it. It does not manage a publisher’s separate installer, a distinction illustrated by the difference between Steam-managed and standalone DCS installations.

How do you install SteamCMD?

Install SteamCMD in its own folder and run it under a standard, unprivileged user account. Obtain the archive only from Valve’s official SteamCMD distribution rather than a repackaged download.

  1. Create a SteamCMD folder. Examples are C:\steamcmd on Windows or /home/steam/steamcmd on Linux. Keep this separate from the dedicated server’s installation directory.
  2. Extract the archive. On Windows, this produces steamcmd.exe. Linux and macOS packages provide a shell script.
  3. Run SteamCMD. It downloads its own updates and eventually displays the Steam> prompt.
  4. Check Linux dependencies if it will not start. SteamCMD may require 32-bit compatibility libraries on a 64-bit Linux installation. Install those through the operating system’s normal package management tools.

SteamCMD itself can update several servers, so you do not need a separate copy for every installation. Give each server a different target folder instead.

SteamCMD commands for installing a dedicated server

The basic command sequence selects the destination, logs in, downloads the app and exits. Replace APP_ID with the numeric ID specified by the dedicated server’s documentation; it is often different from the playable game’s app ID.

  1. Set the installation directory before logging in: force_install_dir "D:\Servers\Example"
  2. Log in anonymously when supported: login anonymous
  3. Download or update the server: app_update APP_ID
  4. Validate managed files when needed: app_update APP_ID validate
  5. Close SteamCMD cleanly: quit

The Windows commands can also be combined for a batch file or scheduled task:

steamcmd.exe +force_install_dir "D:\Servers\Example" +login anonymous +app_update APP_ID validate +quit

On Linux, call the supplied SteamCMD shell script and use a Linux path. Quote any path containing spaces. If the server requires a beta branch, the documented branch can be selected with -beta BRANCH; do not choose a branch unless the server publisher specifically requires it.

SteamCMD downloads the software but does not configure the simulator, open firewall ports or create a working multiplayer session. Our DCS dedicated-server configuration example shows the separate launching, mission and network work that follows installation.

Can SteamCMD update an existing server automatically?

Yes. Run the same app_update APP_ID command against the existing installation directory whenever an update is required.

Stop the dedicated server before updating so executables and libraries are not locked. The validate option checks Steam-managed files and reacquires missing or altered ones, but it takes longer and may restore files you intentionally edited. Keep configuration and mission files backed up, especially if the application stores them inside managed directories.

Do you need a Steam account for SteamCMD?

No account is needed when the dedicated-server app permits anonymous access. Otherwise, use login USERNAME and enter the password and Steam Guard code when prompted.

SteamCMD respects ownership and licensing. It cannot download paid app content unless the account has the required licence, and it does not bypass DRM. Avoid putting a password directly into a batch file, shell script or command history; use interactive authentication or the application’s supported secure deployment method.

Can SteamCMD download Steam Workshop mods?

SteamCMD can download some Workshop items, but only when the application and item permissions allow it. The command is workshop_download_item APP_ID ITEM_ID, using the parent application ID and Workshop item ID.

Anonymous Workshop access is not universal, and some content requires an account that owns the application. Many dedicated servers have their own Workshop collection or mod-loading system, so downloading an item does not necessarily activate it.

Common SteamCMD errors and fixes

Most SteamCMD failures come from the wrong app ID, an unsupported login method, file permissions or a server process left running.

SymptomLikely causeFix
No subscriptionWrong app ID, anonymous access is unsupported, or the account lacks a licenceConfirm the dedicated-server app ID and log in with an entitled account if required
Install goes to the wrong folderforce_install_dir was entered too late or the path was not quotedSet the directory before login and quote paths containing spaces
Update repeatedly failsInsufficient disk space, locked files or inadequate permissionsStop the server, check free space and folder ownership, then retry with validate
SteamCMD will not start on LinuxMissing compatibility libraries or execute permissionInstall the required operating-system libraries and run the script as an unprivileged user
No depot for the platformThe server has no build for the host operating systemUse an operating system supported by that dedicated-server app
Settings revert after validationA configuration file is part of the Steam-managed depotBack it up and follow the server’s documented external configuration method

A mistake we see constantly is using the playable game’s app ID instead of its separate dedicated-server ID. Check that first whenever SteamCMD downloads the wrong files, requests an unexpected licence or reports that no suitable depot exists.

AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members