Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 16/32
Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
France EMIRATES.KiNGS 亗 GAMEAREA ||͇̿P͇̿U͇̿B͇̿L͇̿I͇̿C͇̿| ✪ 32/32
United Kingdom BALKAN.KiNGS.EU ||͇̿P͇̿U͇̿B͇̿L͇̿I͇̿C͇̿| ✪ 14/32
Promover servidor
91 lines 6.8 KiB Markdown Source Rendered Raw Permalink History
---
title: "CS 1.6 Server Setup Checklist: From Empty VPS to Public Server"
excerpt: "An ordered checklist for standing up a public CS 1.6 server: OS prep, engine and game DLL, Metamod and AMXX, non-Steam support, security, and the go-live verification."
category: "installation"
tags: "checklist, server-setup"
image: ""
read_time: "8 min read"
---
<p>This is the order, not a tutorial for each step — each phase links to its full guide. Follow it top to bottom on a fresh VPS and you will not paint yourself into a corner, which is what happens when people install AMXX before Metamod or open the firewall before setting an RCON password. Treat every checkbox as "done and verified" before moving on.</p>

<h2>1. Prepare the OS</h2>
<ul>
<li>A 64-bit Debian or Ubuntu VPS is fine — HLDS is 32-bit, so you must add multiarch and the i386 runtime. This is the number-one "won't start" cause.</li>
<li>Create an unprivileged <code>steam</code> user. Never run the server as root.</li>
</ul>
<pre>sudo dpkg --add-architecture i386 &amp;&amp; sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 libc6:i386
sudo adduser --disabled-password --gecos "" steam</pre>
<p>Full detail: <a href="/tutorials/install-cs16-dedicated-server-linux-steamcmd">the SteamCMD install guide</a>.</p>

<h2>2. Install the base server (App 90)</h2>
<ul>
<li>Install SteamCMD, <code>login anonymous</code>, <code>app_update 90 validate</code> — twice, the first pass often skips <code>cstrike/</code>.</li>
<li>Get it from SteamCMD only, never a "ready pack" — see <a href="/tutorials/download-cs16-server-files-safely">safe downloads</a>.</li>
<li>Verify: <code>liblist.gam</code>, <code>hlds_run</code> and <code>hlds_linux</code> all exist, and the server boots to a map.</li>
</ul>

<h2>3. Replace the engine and game logic</h2>
<ul>
<li><a href="/tutorials/install-rehlds-on-linux">ReHLDS</a> over stock HLDS — verify with <code>rehlds_version</code>.</li>
<li><a href="/tutorials/install-regamedll-cs16">ReGameDLL_CS</a> over <code>cs.so</code> — verify with <code>regamedll_version</code>, and copy <code>delta.lst</code> or you will crash on connect.</li>
</ul>

<h2>4. Metamod and AMX Mod X</h2>
<ul>
<li><a href="/tutorials/install-metamod-r">Metamod-r</a> — pointed at from <code>liblist.gam</code>; verify with <code>meta list</code>.</li>
<li><a href="/tutorials/install-amx-mod-x-1-9">AMX Mod X 1.9</a> — listed in Metamod's <code>plugins.ini</code>; verify with <code>amxx version</code>.</li>
<li>Load the modules you need (<code>cstrike</code>, <code>fun</code>, etc.) and confirm with <code>amxx modules</code>.</li>
</ul>
<p>Order is load-bearing: engine → game DLL → Metamod → AMXX → ReAPI. Installing out of order is how you get <code>bad load</code>.</p>

<h2>5. Admins and core plugins</h2>
<ul>
<li>Set up admins in <code>addons/amxmodx/configs/users.ini</code> by SteamID (or by name+password for non-Steam).</li>
<li>Install the plugins you run — see <a href="/tutorials/install-amxx-plugin-files">installing a plugin correctly</a>. An <a href="/plugins/csb-admin-menu">admin menu</a> and <a href="/plugins/csb-ban-manager">ban manager</a> are the usual first two.</li>
</ul>

<h2>6. Non-Steam support (if you want it)</h2>
<ul>
<li>On ReHLDS, install <a href="/tutorials/make-server-accept-nonsteam">Reunion</a> and set a <code>SteamIdHashSalt</code> of at least 16 characters, or it refuses to load.</li>
<li>Decide your policy — Steam-only, non-Steam-only, or both — it affects how admins are identified.</li>
</ul>

<h2>7. Configure and secure</h2>
<ul>
<li>Write <code>server.cfg</code>: <code>hostname</code>, rates, <code>mp_*</code> gameplay, and a long <code>rcon_password</code>.</li>
<li><strong><code>sv_lan 0</code></strong> — mandatory to appear in the master list.</li>
<li>Harden RCON: <code>sv_rcon_maxfailures</code>, <code>sv_rcon_minfailures</code>, <code>sv_filterban 1</code>.</li>
</ul>
<pre>hostname "My CS 1.6 Server"
sv_lan 0
rcon_password "a-long-random-string"
sv_maxrate 25000
sv_minrate 15000
sv_rcon_maxfailures 5</pre>

<h2>8. Firewall and go-live</h2>
<ul>
<li>Open UDP 27015 (game) and TCP 27015 (RCON).</li>
<li>Put the server under systemd so it survives a reboot.</li>
</ul>
<pre>sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp</pre>

<h2>Pre-launch verification</h2>
<p>Run this list in the server console before you advertise the IP. Every one must pass:</p>
<pre>rehlds_version        // prints a version
regamedll_version     // prints a version
meta list             // every plugin RUN
amxx plugins          // every plugin running
status                // correct map, slots, public IP</pre>
<p>Then, from a second machine, <code>connect YOUR_IP:27015</code> and play a full round including a map change — the map change is where a bad <code>delta.lst</code> or a missing asset shows up. Confirm the server appears in the internet list (needs <code>sv_lan 0</code> and a reachable UDP port); if it does not, that is a master-list problem, not a config one. When all of that holds, the server is genuinely public-ready.</p>

<h2>Why the order is not negotiable</h2>
<p>The temptation is to skip ahead — install AMXX before Metamod, open the firewall before setting a password, add plugins before the engine is stable. Each shortcut has a specific cost. AMXX before Metamod cannot load, because Metamod is what loads it. ReAPI before ReGameDLL fails, because ReAPI hooks functions that only exist in ReGameDLL. A public port before an RCON password is a window in which anyone scanning the internet list can try to seize your console. The dependency chain — engine, then game DLL, then loader, then AMXX, then anything that hooks the game — is the same chain that determines what crashes when something is wrong, which is why every troubleshooting guide asks "did you install in order" first.</p>

<h2>Post-launch, keep it running</h2>
<p>Launching is not the end. Three things separate a server that survives its first week from one that does not. Put it under a process supervisor (systemd) so a crash restarts it and a reboot brings it back — <code>hlds_run</code> restarts the inner binary but not the whole service. Keep the Valve <code>.bak</code> files you made when swapping the engine and game DLL; they are your only fast rollback. And watch the logs for the first few days:</p>
<pre>tail -f /home/steam/hlds/cstrike/addons/amxmodx/logs/*.log
tail -f /home/steam/hlds/debug.log</pre>
<p>A repeating warning on every map change is a real problem that has not crashed you yet — a stale <code>delta.lst</code>, a plugin erroring quietly, a missing asset. Fix those while the server is small, because they get exponentially harder to diagnose once there are thirty players and a full plugin set to bisect. A server that boots clean, cycles its whole mapcycle with players on it, and logs nothing repeating is one you can safely walk away from.</p>