SteamCMD Login Failed: Steam Guard, Invalid Password and Rate Limit
Fix SteamCMD login errors like Invalid Password, Rate Limit Exceeded, Account Logon Denied and Two-factor code mismatch, and log in once with Steam Guard.
Updated Oct 7, 2026 · 5 min read
On this page
Most SteamCMD login failures come down to three things: the password is being mangled by your shell, Steam Guard wants a code SteamCMD is not getting, or too many failed attempts have triggered Steam's rate limit. Quote the password, log in by hand once so you can type the Steam Guard code, and if you see "Rate Limit Exceeded", stop trying for at least an hour. After one successful interactive login, SteamCMD caches it so later runs only need +login username.
Also check whether you need to log in at all. Most dedicated servers download with +login anonymous, and a real account is only needed for a few, like DayZ and Arma 3. See anonymous login vs owned games.
The error messages and what they mean
| Message | Meaning |
|---|---|
FAILED (Invalid Password) |
Username or password wrong, or mangled by the shell |
FAILED (Rate Limit Exceeded) |
Too many login attempts from this IP or account |
FAILED (Account Logon Denied) |
Steam Guard wants an email code |
Two-factor code: prompt |
Steam Guard Mobile Authenticator wants a code |
FAILED (Two-factor code mismatch) |
The mobile code was wrong or expired |
FAILED (Invalid Login Auth Code) |
The email code was wrong or expired |
FAILED (Expired Login Auth Code) |
You took too long to enter the email code |
Fix 1: stop the shell eating your password
Passwords with $, !, &, quotes or spaces get changed by bash or PowerShell before SteamCMD sees them, and Steam reports an invalid password.
The safest route is to not put the password on the command line at all. Start SteamCMD with no arguments and type at its prompt:
steamcmd
Steam> login yourname
password: (type it here)
If you must script it, wrap it in single quotes in bash so nothing inside is expanded:
steamcmd +login yourname 'Pa$w0rd!' +quit
A plain password made of letters and numbers for a server only Steam account avoids the problem entirely.
Fix 2: log in once with Steam Guard
Steam Guard is on for almost every account, and that is fine. You only need to get through it once per machine.
Email Steam Guard:
- Run
steamcmd, thenlogin yournameat the prompt and enter the password. - You get
FAILED (Account Logon Denied)or a prompt for a code, and Steam emails you a code. - Enter the code at the prompt. If SteamCMD exited, run it again with the code as a third argument:
steamcmd +login yourname yourpassword ABC12 +quit
Mobile Authenticator:
- Run
steamcmd, thenlogin yourname, then the password. - At
Two-factor code:, open the Steam app on your phone and type the current code. It changes every 30 seconds, so type it quickly.
After that, SteamCMD stores a login token in its config folder. Later runs can use just the username:
steamcmd +force_install_dir /home/steam/dayz +login yourname +app_update 223350 validate +quit
Do not delete SteamCMD's config folder, or you will be asked for a code again.
Why automated updates fail later
The cached login does not last forever. When it expires or Steam asks to re authorize the machine, an unattended update script stalls at a code prompt or fails. LinuxGSM's docs point out that the mobile authenticator does not suit automatic updates for this reason, and recommend email Steam Guard or a dedicated account instead. When it happens:
- Run SteamCMD by hand on the server.
- Log in and enter a fresh code.
- Let your scripts carry on.
Fix 3: Rate Limit Exceeded
FAILED (Rate Limit Exceeded) means Steam has temporarily blocked logins for your account or your server's IP after too many attempts. Every retry resets the clock, so the worst thing you can do is keep hammering it from a script.
- Stop every script and service that logs into Steam on that machine.
- Wait. An hour is a sensible minimum, and some people report needing several hours.
- Log in once by hand with the correct password and Steam Guard code.
Common triggers are a restart loop that logs in on every start, several servers on one box all logging in at once, and a wrong saved password retried over and over. Fix the loop before you try again, or you will be blocked again. If a crash loop is behind it, our crash loop guide can help.
Fix 4: use a separate account for servers
Putting your main Steam password on a server is a risk: config files get shared, screenshots get posted, and a compromised box exposes your whole library. Most admins create a separate Steam account just for servers:
- Use a password with only letters and numbers, so scripts cannot mangle it.
- Use email Steam Guard on that account, not the mobile authenticator, if updates run unattended.
- For DayZ, the server download works on any logged in account, but Workshop mods need the account to own DayZ, so buy one copy there if you run mods.
Remember that Steam limits some features on accounts that have never spent money, so check that the account can do what you need before you rely on it.

Fix 5: other login hiccups
Logging in user ... to Steam Public...hangs: a connection problem, not a password one. Check DNS and outbound firewall rules for UDP 27015 to 27050 and TCP 443.- Works on your PC, not on the server: the server's IP may be rate limited from earlier attempts, or Steam sees a new location and wants a fresh Steam Guard code.
- Account locked: Steam Support sometimes locks accounts after suspicious logins. Log in through the Steam website to check.
Let us hold the keys
A hosted server takes the login and update headaches away. On a GamezServers server the game is installed for you, including servers like DayZ that cannot use an anonymous login, and settings from the game's server template are in the control panel. Our getting started docs walk through the first minutes.
FAQ
How do I log into SteamCMD with Steam Guard?
Run SteamCMD interactively, type login yourname, enter your password, then the Steam Guard code from your email or the Steam app. SteamCMD caches the login so you only do it once per machine until it expires.
How long does the SteamCMD rate limit last?
Steam does not publish it. Wait at least an hour with no login attempts, then try once by hand. Retrying during the block can extend it.
Why does SteamCMD say Invalid Password when the password is right?
Your shell is probably changing special characters before SteamCMD sees them. Type the password at SteamCMD's own prompt, or wrap it in single quotes.
Can I turn off Steam Guard for my server account?
You can, but it makes the account easier to steal. Keeping email Steam Guard on and logging in once per machine is the better trade.
Want a server without the setup?
From75¢
Pick a game, pay, play. Live the moment checkout finishes.