CS 1.6 Dedicated Server: HLDS Setup, server.cfg, Maps and Bans
Set up a Counter-Strike 1.6 dedicated server on HLDS: SteamCMD app 90 with the cstrike mod, the launch line, the server.cfg cvars that matter, the stock maps, bans, and hosting it free on 1up.

A CS 1.6 dedicated server is still the easiest way to get your old group back on de_dust2 with no lobby and no matchmaking. This guide covers HLDS, the Half-Life Dedicated Server that runs Counter-Strike 1.6, how to install and launch it, the cvars worth setting, the stock maps, bans, and running it on our Counter-Strike 1.6 server hosting.
- The server: Valve's HLDS, Steam app 90, with the
cstrikemod. It runs on Linux and Windows. - Light: about 150 MB of memory idle and under 1 GB of files.
- No token: GoldSrc predates Steam game server tokens, so there is nothing to register.
- On 1up: it fits the Free plan at ×1 (the full 3 hours a day), and runs 24/7 from Casual at €3/month.
If you are choosing between Counter-Strike 1.6 and Source, our guide to a free Counter-Strike server compares the two. This one goes deeper into 1.6.
1. Install HLDS with SteamCMD
HLDS comes from SteamCMD with an anonymous login. App 90 is the shared Half-Life server, so you tell it which mod to fetch:
steamcmd +force_install_dir ./hlds +login anonymous +app_set_config 90 mod cstrike +app_update 90 validate +quitApp 90 is known for stopping halfway on a first install. If the cstrike folder is incomplete, run the same line again until SteamCMD reports success.
2. Launch the server
From the install folder:
./hlds_run -game cstrike -port 27015 +maxplayers 16 +map de_dust2On Windows the binary is hlds.exe with the same options. Open UDP 27015 on your firewall and router. +maxplayers goes up to 32, and +map must be a map that exists in cstrike/maps.
Self-hosting at home works, but your PC has to stay on while anyone plays, and friends need your public address and an open port. A hosted server keeps the address fixed and the server up when you log off.
3. Create a CS 1.6 server on 1up
- Create an account and press Create server.
- Choose Counter-Strike 1.6 and a region, London or Paris. Every plan offers it, Free included.
- Set the starting map (de_dust2 by default), the slots and, for a private game, a password.
- Create the server and watch the Console until it reports a successful connection to Steam. The first start also downloads the game.
- Copy the address and port from the IP line on the Overview. Our port is not 27015, so share both.
4. server.cfg and the cvars that matter
On a home server, your settings go in cstrike/server.cfg. On 1up we rewrite that file at every start, so your lines go in cstrike/1up-owner.cfg in the Files tab instead; HLDS reads it after our defaults. The name, the password and logging are written after your file and always win.
| Cvar | What it does | A common value |
|---|---|---|
mp_timelimit | Minutes per map before the next one | 30 |
mp_roundtime | Minutes per round | 2.5 |
mp_freezetime | Seconds frozen at round start | 5 |
mp_buytime | Minutes the buy menu stays open | 0.5 |
mp_startmoney | Money at the start of a half | 800 |
mp_friendlyfire | Team damage on or off | 0 |
mp_autoteambalance | Balances the teams | 1 |
mp_limitteams | Max player difference between teams | 2 |
mp_c4timer | Seconds before the bomb explodes | 35 |
sv_alltalk | Both teams hear each other | 0 |
A fresh 1up server starts locked down: pausing and custom sprays and decals are off, and a vote kick needs every player because mp_kickpercent is 1. Lower it, for example mp_kickpercent 0.66, for majority votes. Restart after editing the file; a typo shows up in the console as an unknown command.
5. The stock maps
HLDS ships the maps of the original release. The prefix tells the mode:
- Bomb defusal (
de_): dedust, dedust2, deinferno, denuke, detrain, deaztec, decbble, deprodigy, destorm, devertigo, dechateau, depiranesi, desurvivor, detorn, de_airstrip. - Hostage rescue (
cs_): csoffice, csitaly, csassault, csmilitia, cshavana, csestate, cssiege, csbackalley. - VIP escort (
as_): as_oilrig.
Switch while people play with changelevel de_nuke in the console. When a map ends, the server moves to the next one in cstrike/mapcycle.txt, which you can edit in the Files tab. To make a map the first one after every restart, set it as the Starting map in the Game tab. Custom maps go in cstrike/maps through the Files tab.
6. How players connect
- In Counter-Strike 1.6, turn on the developer console under Options, Keyboard, Advanced if it is off.
- Press the tilde key and type
connectwith the address and port, for exampleconnect 203.0.113.10:31015. - Type the password if you set one.
For next time, open Find Servers, go to Favorites and add the same address by hand. Renaming the server goes live at once; the map, the slots and the password apply on the next start.
7. Bans and moderation
Remote rcon stays off on our servers, so there is no rcon password to leak. The Console tab talks to HLDS directly:
statuslists every player with a user ID and Steam ID.kick <name>removes a player.banid <minutes> <SteamID> kickbans and kicks; 0 minutes is permanent.removeid <SteamID>lifts a ban, andlistidlists the bans.say <message>writes to everyone.
Every ban lands in banned.cfg at once and is read again at each start, and listip.cfg keeps IP bans. Both are in every backup. The Players tab reads the status table to show each Steam profile, hours played and any VAC record.
8. What it costs
Real prices, as on our pricing page:
| Plan | Price | Slots | Backups | Counter-Strike 1.6 |
|---|---|---|---|---|
| Free | €0 | 4 | none | ×1: the full 3 hours a day, 30 hours a month |
| Casual | €3/month | 6 | 1 | 24/7 |
| Starter | €5/month | 10 | 3 | 24/7, room for a 5 vs 5 |
| Pro | €10/month | 30 | 5 | 24/7, a full 16 or 32-player public server |
The server itself goes up to 32 players, but Max players cannot pass the slots of your plan. Free stops the server after 30 minutes with nobody online, which suits evening matches with friends. Paid plans can be refunded on request within 3 days.
Other Valve classics run the same way: see our guides to a TF2 dedicated server and an L4D2 dedicated server.
Written on 2026-10-28. HLDS commands, files and settings checked against our Counter-Strike 1.6 image and the panel of 1up v1.49.0 that day.
Change log
- 2026-10-28: first version.