Counter-Strike 1.6 · Guide

How to Make a CS 1.6 Server

Updated October 2, 2026 8 min read

On this page
  1. The short version
  2. What a modern CS 1.6 server is made of
  3. Path A: host it yourself with SteamCMD
  4. Path B: a hosted server with the stack preinstalled
  5. Adding AMX Mod X plugins and custom maps
  6. When it will not start: exit code 139 and friends
  7. FAQ

Counter-Strike 1.6 is more than twenty years old and still has full servers every night, because a CS 1.6 server is cheap to run, endlessly customisable, and plays exactly the way people remember. Making one takes an afternoon; making one that does not crash the first time you add a plugin takes knowing how its pieces load each other.

This guide covers both. It explains the stack a modern CS 1.6 server actually runs on, then the two ways to get one online — on your own machine with SteamCMD, or on a hosted server with that stack already in place — and finishes with the crash that accounts for most "my server will not start" reports, and its two-minute fix.

The short version

  1. Download the server with SteamCMD. The CS 1.6 dedicated server is Steam app 90, free, installed anonymously.
  2. Replace the engine and game library with ReHLDS and ReGameDLL_CS, then add Metamod-r and AMX Mod X. This is the stack almost every serious CS 1.6 server runs today.
  3. Set the basics in server.cfg — name, RCON password, maps — and start it on UDP port 27015.
  4. Add plugins and maps, and make sure custom content downloads to players over HTTP (FastDL) rather than crawling through the game connection.

Or skip steps 1 and 2 entirely: a hosted CS 1.6 server comes with the full stack installed and FastDL already configured, and you start at step 3.

Get the whole stack preinstalled — ReHLDS, ReGameDLL, Metamod-r and AMX Mod X — on a HytHost CS 1.6 server from €1.44/mo.

See CS 1.6 plans

What a modern CS 1.6 server is made of

The server Valve ships still works, but the community replaced most of it years ago with maintained, faster and more secure rewrites. Knowing which piece does what is the difference between fixing a crash in two minutes and reinstalling everything.

PieceWhat it does
HLDS / ReHLDSThe engine. ReHLDS is a maintained rewrite of Valve's HLDS with fixes and better performance, and a drop-in replacement.
ReGameDLL_CSThe Counter-Strike game logic itself (cstrike/dlls/cs.so), rewritten and extended with settings the original never had.
Metamod-rThe plugin loader that sits between the engine and the game library and loads everything else.
AMX Mod XThe plugin platform: admin menus, bans, map voting, stats, game modes. Plugins are .amxx files.
ReAPIAn AMX Mod X module that exposes the ReHLDS and ReGameDLL features to plugins. Many current plugins require it.

They load in a chain: engine → cstrike/liblist.gam → Metamod → plugins.ini → AMX Mod X → the game library. If any link in that chain cannot be read, the server dies before the map loads — which is exactly what the troubleshooting section below is about.

Path A: host it yourself with SteamCMD

SteamCMD is Valve's command-line installer, available for Windows and Linux. On Linux it also needs the 32-bit runtime, because the CS 1.6 server is a 32-bit program.

  1. Download the server:
    steamcmd +force_install_dir ./hlds +login anonymous +app_set_config 90 mod cstrike +app_update 90 validate +quit
    Wait for Success! App '90' fully installed. If it stops early, run the same command again — it resumes.
  2. Start it once to check the engine runs:
    cd hlds
    ./hlds_run -game cstrike +map de_dust2 +maxplayers 16 -port 27015
    On Windows the program is hlds.exe with the same arguments.
  3. Install the modern stack. Download ReHLDS, ReGameDLL_CS, Metamod-r, AMX Mod X and ReAPI from their official releases and follow each one's install notes — they replace engine files, add addons/, and point liblist.gam at Metamod. Do this before adding plugins, not after.
  4. Write cstrike/server.cfg. At minimum:
    hostname "My CS 1.6 Server"
    rcon_password "use-a-long-random-password"
    sv_password ""
    mp_timelimit 25
  5. Open the port. Players reach you on UDP 27015, which has to be forwarded on your router — and on some internet connections that is impossible. The port forwarding guide explains how to tell, and it applies to CS 1.6 the same way.

Your server is now online for exactly as long as your machine is — and your home IP is its address, which matters more for a public CS 1.6 server than for almost any other game.

Path B: a hosted server with the stack preinstalled

On HytHost CS 1.6 hosting, the server is installed with ReHLDS, ReGameDLL_CS, Metamod-r, AMX Mod X and ReAPI already in place, and FastDL already pointed at our download server — so custom maps and sounds reach players over HTTP from the first map change.

  1. Pick your slots. Plans come in 12, 16, 24 and 32 slots, from €1.44/mo. Choose by the number of players you expect at the busiest hour, not on average.
  2. Edit server.cfg in the panel's file manager: hostname, RCON password, and your map settings.
  3. Upload plugins and maps through the file manager or SFTP, as described in the next section.
  4. Restart and play. The console in the panel shows the boot chain loading, so you see at once whether a plugin failed.

The server runs whether your PC is on or not, behind Voxility DDoS filtering, on a public address that is not your home, with a 99.9% Uptime SLA. Live chat support is available from 8 AM to 11 PM (Chișinău time).

Adding AMX Mod X plugins and custom maps

Plugins

  1. Put the compiled .amxx file into cstrike/addons/amxmodx/plugins/.
  2. Add its file name on its own line in cstrike/addons/amxmodx/configs/plugins.ini.
  3. If the plugin ships a config or language file, copy those into the matching folders under addons/amxmodx/.
  4. Restart, then check the newest log in cstrike/addons/amxmodx/logs/ — a fresh line there proves Metamod and AMX Mod X both loaded.

Add plugins one at a time. When a server breaks after five plugins went in together, you have five suspects instead of one.

Maps and FastDL

Maps go into cstrike/maps/ and into mapcycle.txt if they should rotate. Players who do not have a custom map download it when they join — slowly, through the game connection, unless the server tells them where to fetch it over HTTP. That is what sv_downloadurl does:

sv_downloadurl "https://your-fastdl-host/cstrike/"

Self-hosted, you need a web server with the same folder layout. On a HytHost server this is set automatically; only add your own sv_downloadurl line if you deliberately want to serve files from somewhere else, because a line in server.cfg overrides the automatic one.

When it will not start: exit code 139 and friends

One crash causes more "my CS 1.6 server is broken" reports than everything else combined. It looks like this in the console:

Host_Error: Couldn't get DLL API from !
Segmentation fault (core dumped)

…and the server stops with exit code 139, usually right after you uploaded a plugin pack or a skin pack.

The cause: a folder without the execute permission

Archives often carry their own file permissions. When a zip is extracted, folders can come out as 644 instead of 755. On Linux a folder needs the execute bit to be opened at all — without it nothing inside is reachable, even files that are perfectly fine. So if cstrike/addons loses that bit, Metamod cannot be loaded, the game library never loads, and the engine crashes. You may also see Permission denied for plugins.ini in the log — same cause.

The fix

Nothing needs reinstalling. Set the affected folders back to 755 — cstrike/addons and the folders you just uploaded into. In the panel: Files, the folder's menu, Permissions, 755, then restart. Self-hosted, find cstrike/addons -type d -exec chmod 755 {} + does the same.

Other crashes worth recognising

  • Precache can only be done in spawn functions — a skin or weapon-model plugin is loading models at the wrong moment. Disable the last skin plugin you added.
  • Nothing in addons/amxmodx/logs/ after a restart — Metamod or AMX Mod X did not load; check liblist.gam and addons/metamod/plugins.ini.

Is it actually online?

CS 1.6 uses UDP only, so testing the port with a TCP tool always says "connection refused" — that is normal, not a fault. Query it the way the server browser does, with an A2S request over UDP:

printf '\xff\xff\xff\xffTSource Engine Query\x00' | nc -u -w3 SERVER_IP 27015 | strings

A live server answers with its name, the current map and 1.1.2.7/Stdio.

FAQ

Frequently asked questions

UDP port 27015 by default, and it is UDP only. A self-hosted server needs it forwarded on the router; a hosted server comes with its port already assigned and reachable. Testing it with a TCP tool always fails, which is normal — query it over UDP instead.

For almost every server, yes. ReHLDS is a maintained rewrite of Valve's HLDS engine with bug fixes, security fixes and better performance, and it is a drop-in replacement. Most current plugins also expect ReGameDLL_CS and ReAPI, which build on it.

Not to run a server, but almost every server uses it. AMX Mod X is the plugin platform behind admin menus, bans, map voting, statistics and custom game modes. It is loaded by Metamod, and plugins are added as .amxx files listed in plugins.ini.

Size it for the busiest hour, not the average. 12 slots suits a server for friends, 16 a classic 8-versus-8 public game, and 24 or 32 a busy public server or deathmatch. On HytHost, plans come in 12, 16, 24 and 32 slots, starting at €1.44/mo.

Usually because a folder lost its execute permission when an archive was extracted, typically cstrike/addons. Metamod can then not be loaded, the console shows "Couldn't get DLL API from !" and the engine crashes. Setting the affected folders back to 755 and restarting fixes it; nothing needs reinstalling.

Yes. Players download missing maps and sounds when they join. With sv_downloadurl pointing at an HTTP server that mirrors the cstrike folder (FastDL), the download is fast; without it, files crawl through the game connection. On HytHost, FastDL is configured automatically.

The server software is free: Valve's dedicated server installs through SteamCMD at no cost, and ReHLDS, ReGameDLL_CS, Metamod-r and AMX Mod X are free too. Running it at home costs only electricity, but the machine must stay on and your home IP becomes the server's address.

Your CS 1.6 server, stack included

HytHost CS 1.6 servers come with ReHLDS, ReGameDLL, Metamod-r, AMX Mod X and automatic FastDL, behind DDoS filtering — from €1.44/mo.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Was this guide helpful?