You try to download the CS 1.6 dedicated server and SteamCMD stops with:
Error! App '90' state is 0x... after update job. Failed to install app '90' (No subscription)
"No subscription" means the Steam account you are logged in as does not own a licence for App 90. The near-universal cause is logging in with your personal Steam account. App 90 (Half-Life Dedicated Server) is an anonymous app — personal accounts generally do not have a subscription to it, so Steam refuses. The fix is to log in anonymously.
1. Log in as anonymous, not your account
Run SteamCMD with +login anonymous. This is the single most common fix:
./steamcmd.sh +force_install_dir /home/steam/hlds \ +login anonymous \ +app_set_config 90 mod cstrike \ +app_update 90 validate \ +quit
If you had previously logged in with a personal account, SteamCMD may have cached that session. Force it back to anonymous, and if it still uses the old login, clear the cache (step 3). Note the ordering of arguments too: +login anonymous must come before +app_update 90, because SteamCMD executes them left to right and the app command needs an active session to run against. A command with the login placed after the update authenticates too late and fails.
2. Set the mod explicitly
App 90 is a multi-mod app; CS 1.6 ships as the cstrike mod inside it. app_set_config 90 mod cstrike tells SteamCMD which mod to pull. Without it, the anonymous download frequently grabs only the base Half-Life files and skips cstrike/, which looks like a partial "No subscription"-style failure even when it is not. Always include it, and run the whole command twice — App 90's anonymous download is notorious for completing the base content on the first pass and filling in cstrike/ only on the second.
3. Clear a poisoned session or manifest
If anonymous login still errors, a stale cached login or a broken app manifest is the cause. Remove the cache and retry:
rm -rf ~/Steam/appcache rm -f /home/steam/hlds/steamapps/appmanifest_90.acf
Then re-run the anonymous command from step 1. Deleting appmanifest_90.acf forces SteamCMD to re-evaluate the install from scratch rather than trusting a corrupt state file.
4. Rule out a genuinely broken download server
Occasionally the error is transient — a Steam content server in your region is failing. Two things help:
- Re-run the command;
app_updateresumes and often succeeds on the next attempt. - If it fails repeatedly at the same point, the download is interrupted, not unlicensed — a state like
0x402means the transfer stopped, and re-running resumes cleanly.
You can also point SteamCMD at a specific content-server region if your default one is unhealthy, but for App 90 that is rarely necessary — the anonymous login fix resolves the overwhelming majority of "No subscription" reports.
5. Not a Steam Guard problem
Because the error mentions accounts, people sometimes chase Steam Guard, two-factor codes, or password resets. None of that applies here: App 90 is an anonymous app and the correct account is no account. If SteamCMD is prompting you for a Steam Guard code, you are still trying to log in with a personal account — stop, and use +login anonymous. There is no scenario where downloading the CS 1.6 dedicated server requires your personal credentials.
6. Do not confuse it with the 32-bit runtime error
"No subscription" is a download failure. If the download succeeds but the server will not start, that is a different problem — usually missing 32-bit libraries, not a subscription issue. See the full Linux install guide for the multilib packages HLDS needs.
Common errors
Failed to install app '90' (No subscription)— you logged in with a personal account. Use+login anonymous.- Downloads Half-Life but no
cstrike/— missingapp_set_config 90 mod cstrike, or you only ran the command once. Add it and run twice. - Anonymous still shows old login — cached session; delete
~/Steam/appcacheand retry. 0x402after update job — interrupted download, not a licence problem; re-run to resume.
Verification
The install is complete only when the mod files exist, not when SteamCMD prints "Success". Check:
ls /home/steam/hlds/cstrike/liblist.gam ls /home/steam/hlds/hlds_run /home/steam/hlds/hlds_linux
All three must be present. liblist.gam is what tells the engine which game library to load; if it is missing, the cstrike mod did not download and you must re-run the anonymous command with mod cstrike set. Once those files exist, proceed to installing ReHLDS.









