Valve SteamCMD

Valve’s SteamCMD (https://developer.valvesoftware.com/wiki/SteamCMD) drives the Steam content system from the command line.

SteamCMD exposes no inventory: there is no way to list installed titles, pending updates or search the catalog from the CLI, so only install and per-title upgrade are declared, both mapping to the same idempotent +app_update command. Titles are designated by their numeric Steam application ID.

Platforms

  • 🅱️ BSD

  • 🐧 Linux

  • 🍎 macOS

  • ⨂ Unix

  • 🪟 Windows

Operations

Operation

Supported

installed

outdated

search

install

upgrade

upgrade_all

remove

sync

cleanup

Ecosystem

  • Accepted purl types: pkg:steamcmd

Usage

$ mpm --steamcmd installed
$ mpm install pkg:steamcmd/hello
$ mpm --dry-run install pkg:steamcmd/hello

Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.

Deselect the manager for a single run with --no-steamcmd, disable it from your configuration, or tune its invocation attributes with per-manager overrides.

Command line

  • CLI names, in lookup order: steamcmd

  • Arguments forced after each call: +quit

The version is probed by running:

$ steamcmd +quit
Steam Console Client (c) Valve Corporation - version 1648077083

and extracted with:

r"Valve Corporation - version (?P<version>\S+)"

Privilege escalation

mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.

None of its operations needs root.

See privilege escalation for the full policy.

Cooldown

State of Valve SteamCMD’s release-age gating, from the cooldown support table:

  • Status: ❌ None

With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.