SteamCMD is how most dedicated servers install and update, and its errors are cryptic but predictable. Here's what the common ones mean, how to fix them, and how to automate updates without hitting the same errors again.
Quick answer
Most SteamCMD errors map to one cause: 0x202 means the disk is full, and 0x602 or a timeout means the download was interrupted — free space or simply run the update again. If files look broken, run app_update <appid> validate to repair them.
SteamCMD's errors look cryptic but each maps to a specific, fixable cause. Find your error code or message here, then jump to the fix below:
| Error | What it means | Fix |
|---|---|---|
| App state 0x202 | Disk full (or the target partition is) | Free space with df -h, then retry |
| 0x602 / Timeout downloading | Download interrupted / Steam busy | Re-run the same app_update; add validate |
| No subscription | App needs an account that owns the game | Log in with a real account, not anonymous |
| Rate Limit Exceeded | Too many rapid logins/downloads | Wait 30+ minutes before retrying |
| 0x606 / disk write failure | Permissions or a failing disk | Check ownership of the install dir + disk health |
0x202 — not enough disk space
Error! App '...' state is 0x202 almost always means the disk is full (or the partition SteamCMD writes to is). Check space and free some up:
df -h
# clear space, then retry the update0x602 / timeout — download interrupted
A network hiccup or Steam being busy. SteamCMD resumes — just run the same app_update command again. Add validate to repair partial files:
steamcmd +login anonymous +app_update 258550 validate +quit"No subscription" — needs a real account
Some servers can't be downloaded with login anonymous and require a Steam account that owns the game. Log in with such an account (and complete Steam Guard) instead of anonymous.
Too many rapid logins/downloads triggers a temporary Steam rate limit. Wait 30+ minutes before retrying — hammering it makes the wait longer.
General fixes that clear most issues
- Re-run the exact command with
validateappended. - Make sure there's plenty of free disk (
df -h). - Update SteamCMD itself (it self-updates on launch).
- Use the correct app ID for the dedicated server (not the game's client ID).
0x202 = disk full. Timeout = retry with validate. "No subscription" = use an account that owns it. Rate limit = wait.
Other errors you'll run into
- 0x606 / disk write failure — usually permissions, not space: confirm the user running SteamCMD owns the install directory.
- Quota exceeded, not disk full — some hosts enforce a separate storage quota from actual disk space; see fixing disk quota exceeded if df -h shows free space but SteamCMD still fails.
- Corrupted appmanifest — delete the
appmanifest_<appid>.acffile in the steamapps folder and re-run app_update to force a clean re-check. - Steam CDN blocked — an overly strict outbound firewall can silently stall downloads; confirm outbound HTTPS/UDP isn't blocked to Steam's content servers.
Automate updates safely
Running app_update on a schedule via cron is common for keeping servers current, but a failed cron job can silently stop updates for weeks. If your automated updates seem to have stopped, check fixing a cron job that isn't running and always log the SteamCMD output somewhere you'll actually see it.
How to prevent SteamCMD errors
- Monitor disk space proactively rather than discovering 0x202 mid-update — see no space left on device for a monitoring approach.
- Don't run SteamCMD as root unless you have to; permission mismatches from mixed root/user runs cause repeat 0x606 errors.
- Keep a known-good account's Steam Guard set up ahead of time for games that need "No subscription" logins, so an update isn't blocked mid-emergency.
Steam and SteamCMD are trademarks of Valve Corporation. ESAGAMES is an independent hosting provider, not affiliated with or endorsed by Valve.