SteamCMD Workaround for “appid 90” HLDS Games Servers Requiring Multiple Downloads

UPDATE: It appears that Valve may of resolved this issue as I have tested without using the files and it now works first time. I will however leave the details here for reference.


HLDS (GoldSrc) games use appid 90 to download  the server files from SteamCMD. There is a bug that requires you to try and download the serverfiles many times before it starts downloading all the assets. I have found a fix to this problem (After much trial and error).

This fix should work with both Windows and Linux servers.

update: I have found that the -beta beta flag is not really required. Only the correct appmanifest files are required.

HLDS Servers

Servers this fix is useful for.

Server ID Extra Command Line options
HLDS for Half-Life and Counter-Strike 1.6 90
Counter-Strike: Condition Zero dedicated server 90 +app_update 90 +app_set_config “90 mod czero”
Deathmatch Classic dedicated server 90 +app_update 90 +app_set_config “90 mod dmc”
Day of Defeat dedicated server 90 +app_update 90 +app_set_config “90 mod dod”
Half-Life: Opposing Force dedicated server 90 +app_update 90 +app_set_config “90 mod gearbox”
Ricochet dedicated server 90 +app_update 90 +app_set_config “90 mod ricochet”
Team Fortress Classic dedicated server 90 +app_update 90 +app_set_config “90 mod tfc”

How to Fix

I found the workaround while working on Linux Game Server Managers.

To fix the problem you require the correct appmanifest files to be pre-installed in the game server directory as for some reason the ones SteamCMD downloads rarely work first time.

Install the Server

Try downloading the server assets from SteamCMD once as you would normally.

For example:

./ +login anonymous +force_install_dir "/home/csserver/serverfiles" +app_update 90 +app_set_config 90 mod czero validate +quit

You will notice that the download completed quickly. This indicates that the server did not download the files correctly.

Download the appmanifest files

Once the first download attempt is completed SteamCMD will of created a directory with a long name similar to the following within the install directory:


appmanifest folder

Delete all files in this directory.

Instead download the following files to this directory.

Retry using SteamCMD to download the server assets.

Half-Life, Half-Life: Deathmatch Classic and Counter Strike assets will of now downloaded.

For any servers that are a “mod”, for example +app_update 90 +app_set_config “90 mod czero” see ‘Download “mod” games’.

I recommend trying to download a couple of times just to make sure everything has worked.

Fix “mod” games

Once completing the previous step; If you are trying to install the following games an extra step is required. Replace appmanifest_90.acf with one specific to the server you want to install from the list below.

note: I am still missing some appmanifest but will add them when possible.

  • Counter Strike: Condition Zero
  • Day of Defeat
  • Half-Life: Opposing Force
  • Ricochet
  • Team Fortress Classic

When replaced once again run SteamCMD and the assets for that server will now download.

Hopefully this will save you several hours trying to install a HLDS server.

  • amigo meu sevido nao fica online nao consigo cofigurar essa linha
    parms=”-game cstrike +map ${defaultmap} -strictportbind -port ${port} +clientport ${clientport}”

  • parms=”-game cstrike +map ${defaultmap} -strictportbind -port ${port} +clientport ${clientport}”
    colo p ip da internet ou da lan, fiz o servidor conforme seu script. sou do brasil. desculpe os erros.

  • Pingback: Creating a Counter-Strike 1.6 INTERNET-Based Server using SteamCMD (With AMX Mod X) [COMPLETE GUIDE with VIDEO] | The Techno Geeks!()

  • Hi, also use your personnal steam account to download game server.
    It’s the only way i found, anonymous doesn’t work.

    • Most of the scripts I have created run with anonymous and work without issues. NEVER use your personal steam account as your password is listed in plain text. If you must use a steam account create a new one. Never use an account with any purchased games in it.

  • madman202020

    ok, I am trying to figure out how to make a Counter Strike Source Deathmatch stand alone dedicated server (online and LAN), and for some reason I can not find any info on how to do so, is it a mod I need to find, download and install, or is it just another Steam ID like it is for when you make a Counter Strike Source server, or is it just a command I add to my CSS server launcher? I do see there is DMC ID but not sure if that’s what I am looking for

  • DynamicBits

    I maintain multiple hlds servers, and here are my appmanifest_*.cfg files:

    appmanifest_10.acf (cstrike)
    appmanifest_20.acf (tfc)
    appmanifest_30.acf (dod)
    appmanifest_40.acf (dmc)
    appmanifest_50.acf (gearbox)
    appmanifest_60.acf (ricochet)
    appmanifest_70.acf (valve)
    appmanifest_80.acf (czero)
    appmanifest_90.acf (hlds base files)

    These files are from a Linux server, but I just tested them on a Windows server and the correct files were still downloaded.

    Every game seems to require 10, 70, and 90. For anything other than cstrike and valve (Half-Life Multiplayer), the mod-specific file is required. “Unofficial” mods like Natural Selection and Sven Co-op require 10, 70, and 90, and the unique mod files, available from the game’s official website.

    • This is brilliant. You have saved me SO much time with this. It will also speed up the creation of more game server scripts. Thank you very much. I will be updating the info on this post soon 😀

  • LeonardoDaVinci

    app_update 90; half life dedicated server for HL alone doesn’t work anymore.

    App state (0x10102) reconfiguring, progress: 0.00 (0 / 0)

    App state (0x10102) reconfiguring, progress: 0.00 (0 / 0)

    App state (0x10102) reconfiguring, progress: 0.00 (0 / 0)

    App state (0x10102) reconfiguring, progress: 0.00 (0 / 0)

    Error! App ’90’ state is 0x1 after update job.

  • Lucas Fernandes

    I am unable to start the server can help me?

  • Pingback: Instalare Server CS 1.6 Pe Ubuntu (Linux)()


    Sir, I’ve a problem with my gameserver, this is the fatal error that i get some mins after starting it: “MasterRequestRestart. Your server needs to be restarted in order to receive the latest update”. I’m using a linux vps to host my hlds, but i was wondering why the hell the server never appeared on the internet’s list and after a few hours it crashed completely. I believe that this provider is still using the old HLDSUpdateTool and not the current SteamCMD, I’m not an expert with Linux-files so i don’t know what to do. I’ve the LOG_HOME.txt and i can show it to you by mail. I wanna update the whole HLDS directory with the new SteamCMD for linux but i’m using Windows so i can’t use it.. if there is a way dunno how to do it. Will be great if you can give me an HLDS Folder up to date for linux. Ohh i’m not sure what linux/distro is using the VPS. Btw sorry for my bad english and thnks in advance.

  • Shy tzedaka

    It says it cannot Login in to Steam servers. and it does not go Public. i Ported 27015, 27005, Already and it wont go online! help! (DMC Server)

  • Artie Stranberg

    Very nice and informative article here. Has anyone ever wondered how to merge two PDF files online? I have, and found a simple service. Maybe you would be interested in an online service where you can merge any documents you want. I used it to fill out

  • Pingback: SteamCMD Installation – Ziren's Blog()

  • Pingback: SteamCMD 安装 – Ziren's Blog()

  • Shy tzedaka

    if the files are missing for anyone they are here: