Skip to content
Guide

How to Make a Counter-Strike 1.6 Server

A complete walkthrough for running your own Counter-Strike 1.6 dedicated server — install HLDS with SteamCMD, open the port, add AMX Mod X for admin and plugins, and go ReHLDS if you want non-Steam client support. Plus the one-click hosted route if you'd rather skip the setup.

8 min read Beginner Anti-DDoS hosting

CS 1.6 runs on Valve's GoldSrc engine and its server is HLDS (Half-Life Dedicated Server). It's light — a 1.6 server runs on very little hardware — but it needs port-forwarding and, for the modern non-Steam scene, a ReHLDS engine. You can self-host free or use a managed host for a 24/7 protected server with a panel.

This guide covers the self-hosted SteamCMD/HLDS route step by step, and points out where a host saves you the hassle. Want to run competitive matches? See our CS 1.6 5v5 mix server setup.

Before you start

What you'll need

A quick checklist before you begin — have these ready and the rest is easy.

  • A machine to run the server — almost any spare PC, or a host for 24/7 uptime.
  • SteamCMD, to download HLDS (app 90, mod cstrike).
  • Optionally ReHLDS for non-Steam client support.
  • Open port: UDP 27015.
  • Metamod + AMX Mod X for admin and plugins.
Step by step

Set up a Counter-Strike 1.6 dedicated server, step by step

1

Choose self-host or a managed host

CS 1.6 is so light it runs almost anywhere, but self-hosting still needs a machine on 24/7 and port-forwarding. A managed host gives you an always-online server, a panel and a clean IP in minutes. Want zero hassle? Pick a host and skip to step 5.

2

Install HLDS with SteamCMD

The CS 1.6 server is HLDS — Steam app 90 — installed anonymously. Set the mod to cstrike. HLDS is quirky: run app_update 90 validate a few times until it stops downloading.

steamcmd +login anonymous +force_install_dir ./cs16server +app_set_config 90 mod cstrike +app_update 90 validate +quit
# re-run app_update 90 validate until no more files download
3

(Optional) Go ReHLDS for non-Steam

The classic 1.6 scene is largely non-Steam. ReHLDS is an open-source, drop-in reimplementation of the HLDS engine that supports non-Steam clients and is more stable. Download the latest release from the official ReHLDS GitHub and extract it over your install, replacing the engine files — your configs, maps and plugins stay intact.

4

Configure and launch

Set your server name, rcon password and rates in cstrike/server.cfg, then launch HLDS with a starting map and player count.

./hlds_run -console -game cstrike +ip 0.0.0.0 +port 27015 +map de_dust2 +maxplayers 32
5

Open the port

Forward UDP 27015 (game + query) to the server so players can find and join. On a managed host this is opened for you.

27015/udp   game + query (default)
6

Add AMX Mod X (admin & plugins)

AMX Mod X (on Metamod) is the standard admin and plugin platform for 1.6 — admin commands, stats, GunGame, Zombie Plague and more. Install Metamod + AMX Mod X into cstrike/addons and restart.

Best practices

Run a solid 1.6 server

It barely needs hardware

CS 1.6 is tiny by modern standards — a low-clock core and a few hundred MB of RAM run a full 32-slot server. Latency and a clean route matter far more than raw power.

AMX Mod X first

Install AMX Mod X before opening the server so you have admin control (bans, kicks, slots) and can add the game modes that keep 1.6 communities alive.

1.6 is a common DDoS target

Old, popular and easy to find — 1.6 servers get attacked a lot. Self-hosting exposes your home IP; a managed host puts a filtered IP in front.

Low ping wins players

1.6 players are ping-sensitive. Host close to your community and on a well-peered network so registration stays crisp.

Troubleshooting

Common problems & fixes

Hit a snag? These are the issues people run into most — and how to solve them.

HLDS install is missing files / won't start

HLDS is quirky — re-run app_update 90 validate several times until nothing new downloads, then launch.

Non-Steam players can't connect

Vanilla HLDS is stricter about clients. Install ReHLDS (drop-in over HLDS) for reliable non-Steam support.

The server isn't listed / can't be found

UDP 27015 isn't reachable. Forward it on the router and confirm the host firewall allows it.

AMX Mod X commands don't work

Metamod or AMX Mod X isn't loaded, or you're not set as admin. Check addons/metamod/metamod.ini, the AMX Mod X install, and your admin entry in users.ini.

Skip the setup — host it with ESAGAMES

Want a protected 1.6 server online 24/7 without port-forwarding? Our CS 1.6 hosting runs with a full game panel and Layer-4 Anti-DDoS on a low-latency Frankfurt network — instant setup.

CS 1.6 hosting
FAQ

Frequently asked questions

Do I need to own Counter-Strike 1.6 to host a server?

No. The HLDS dedicated server (Steam app 90, mod cstrike) is a free, anonymous download. Players need their own copy to connect, or a non-Steam client on a ReHLDS server.

What is ReHLDS and do I need it?

ReHLDS is an open-source, drop-in reimplementation of the HLDS engine. It's more stable and supports non-Steam clients — which most of the classic 1.6 scene uses. If you want non-Steam players, install it over HLDS.

What port does a CS 1.6 server use?

UDP 27015 by default, for both game traffic and the query that lists it. You can use another port with +port. Forward it at home, or let a host handle it.

How do I add admin and game modes?

Install Metamod and AMX Mod X into cstrike/addons. That gives you admin commands plus plugins for GunGame, Zombie Plague, CSDM, stats and more.

How much hardware does a 1.6 server need?

Very little — a single low-clock core and a few hundred MB of RAM run a full 32-slot server. Network quality and low ping matter far more than CPU or RAM here.

Why can't players find my server?

Usually UDP 27015 isn't open, or (for non-Steam clients) you're not running ReHLDS. Forward the port, and switch to ReHLDS if your community is non-Steam.

More guides

Keep reading

Ready to launch?

Protected, low-latency game hosting in Frankfurt — online in minutes with 24/7 support.