Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 18/32
Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
France EMIRATES.KiNGS 亗 GAMEAREA ||͇̿P͇̿U͇̿B͇̿L͇̿I͇̿C͇̿| ✪ 32/32
Promuj serwer

Add 4 tutorials (4 files)

Browse Source
Daemon666 committed parent 3b8df49f98 commit 78b0510b12eac2e67851bc5e16f65612ab317079
4 changed files with 258 additions and 0 deletions
+72 -0 choose-vps-for-cs16/en.md A
@@ -0,0 +1,72 @@
1 +---
2 +title: "Choosing a VPS for a CS 1.6 Server (2026 Checklist)"
3 +excerpt: "CS 1.6 is single-threaded, 32-bit, and latency-sensitive, which makes the right VPS an unusual choice. This vendor-neutral checklist covers what actually matters."
4 +category: "hosting"
5 +tags: "vps, hosting"
6 +image: ""
7 +read_time: "9 min read"
8 +---
9 +<p>A CS 1.6 server has an unusual hardware profile: the engine is single-threaded, the binary is 32-bit, memory needs are tiny, and the whole thing lives or dies on network latency and jitter. That means the VPS you want is not the one with the most cores or the most RAM — it is the one with a fast single core, a clean network close to your players, and a dedicated IP. This checklist is vendor-neutral on purpose; the criteria matter, the logo does not.</p>
10 +
11 +<h2>1. Single-thread CPU performance is the whole game</h2>
12 +<p>HLDS/ReHLDS runs the world on one thread. Twelve cores do nothing for one server; per-core clock speed and IPC do everything. When comparing plans, ignore core count and ask about the actual CPU generation and clock. A modern 3.5 GHz+ core holds a high, stable server FPS (500–1000 on ReHLDS) for a full 32-slot server; an old or heavily oversold core stutters at 18 players. Avoid "vCPU" plans on crowded hypervisors where you share a physical core with many noisy neighbours.</p>
13 +
14 +<h2>2. A dedicated IPv4 is non-negotiable</h2>
15 +<p>A public CS 1.6 server needs its own <strong>dedicated IPv4</strong> for clean master-list identity. Servers sharing an IP on different ports have listing problems in the browser. Confirm the plan includes a dedicated IPv4 (not CGNAT, not a shared IP with port ranges, not IPv6-only). If a provider only offers shared IPs or charges extra for a dedicated one, budget for it — without it, <a href="/tutorials/get-server-in-master-list">getting listed</a> is a fight.</p>
16 +
17 +<h2>3. Location: latency beats everything else</h2>
18 +<p>Put the server near your players, full stop. A 30 ms server retains players a 120 ms server loses, no matter how good the hardware. Decide your target region first, then filter providers by datacenter location. If you can, test ping to a provider's location before buying — many publish a looking-glass or test IP.</p>
19 +
20 +<h2>4. Real virtualization and root access</h2>
21 +<p>You need to install 32-bit libraries and your own engine binaries, so:</p>
22 +<ul>
23 +<li><strong>KVM</strong> (full virtualization) is what you want — a real kernel, real <code>iptables</code>, no host-imposed limits on what you can run.</li>
24 +<li><strong>Avoid OpenVZ/LXC</strong> where possible — shared kernels, unreliable memory accounting, and frequent restrictions on network tools and UDP.</li>
25 +<li><strong>Full root</strong> is required. Managed plans that lock you out of the OS cannot run a custom CS 1.6 stack.</li>
26 +</ul>
27 +
28 +<h2>5. The OS and 32-bit support</h2>
29 +<p>Any modern 64-bit Debian or Ubuntu is fine — HLDS is 32-bit but runs on 64-bit kernels once you add multiarch:</p>
30 +<pre>sudo dpkg --add-architecture i386
31 +sudo apt update
32 +sudo apt install -y lib32gcc-s1 lib32stdc++6 libc6:i386</pre>
33 +<p>Confirm the provider lets you pick a clean OS image. See the full dependency list in <a href="/tutorials/install-cs16-dedicated-server-linux-steamcmd">the Linux install guide</a>.</p>
34 +
35 +<h2>6. Network quality and UDP policy</h2>
36 +<p>CS 1.6 is UDP. Two things to verify before buying:</p>
37 +<ul>
38 +<li><strong>UDP is not blocked or rate-limited by default.</strong> Some budget hosts throttle or filter UDP to curb abuse, which quietly cripples a game server. Ask directly.</li>
39 +<li><strong>Bandwidth and port speed are adequate.</strong> A 32-slot server is light — a few Mbit at most — but a shared 100 Mbit port that saturates at peak causes choke. A 1 Gbps port with generous or unmetered transfer is the safe choice.</li>
40 +</ul>
41 +
42 +<h2>7. DDoS protection</h2>
43 +<p>Game servers get attacked, and CS 1.6's connectionless query protocol is a classic amplification and flood target. Prefer a provider that includes always-on L3/L4 filtering that understands UDP game traffic. This is a whole topic on its own — see <a href="/tutorials/ddos-protected-hosting">what to look for in DDoS-protected hosting</a>.</p>
44 +
45 +<h2>8. Resources you actually need</h2>
46 +<table>
47 +<thead><tr><th>Resource</th><th>Realistic need (one 32-slot server)</th></tr></thead>
48 +<tbody>
49 +<tr><td>CPU</td><td>1 fast dedicated core (clock speed &gt; core count)</td></tr>
50 +<tr><td>RAM</td><td>1 GB is plenty; 2 GB comfortable with plugins</td></tr>
51 +<tr><td>Disk</td><td>10–20 GB; SSD for faster map changes</td></tr>
52 +<tr><td>Network</td><td>1 Gbps port, UDP unfiltered, low-latency to players</td></tr>
53 +<tr><td>IP</td><td>1 dedicated IPv4</td></tr>
54 +</tbody>
55 +</table>
56 +<p>Do not overpay for RAM and cores you will never use. Spend the budget on clock speed, a good network, a dedicated IP, and DDoS protection instead.</p>
57 +
58 +<h2>Common mistakes</h2>
59 +<ul>
60 +<li><strong>Buying by core count</strong> — irrelevant for single-threaded HLDS. Buy clock speed.</li>
61 +<li><strong>OpenVZ to save a few dollars</strong> — expect UDP quirks and firewall limits. KVM is worth it.</li>
62 +<li><strong>Hosting far from players</strong> — no spec compensates for 120 ms.</li>
63 +<li><strong>Ignoring the IP</strong> — a shared IP undermines listing before you install anything.</li>
64 +<li><strong>Assuming UDP is unrestricted</strong> — verify, do not assume.</li>
65 +</ul>
66 +
67 +<h2>Verification</h2>
68 +<p>After provisioning, sanity-check the box before you build on it. Confirm the architecture and that it is a real dedicated IP:</p>
69 +<pre>uname -m # x86_64 kernel is fine
70 +ip -4 addr # your public IPv4 should be on the interface
71 +ping your-audience-region</pre>
72 +<p>Then install the server, start it, and query it from an external network — if it appears with a good ping from where your players are, the VPS choice was right. If ping is high or UDP queries time out, no amount of configuration fixes it; that is a provider or location problem, and it is far cheaper to switch now than after you have built a community on it.</p>
+15 -0 cs16-best-client-rates/en.md A
@@ -0,0 +1,15 @@
1 +---
2 +title: "Best rate, cl_updaterate and cl_cmdrate Settings"
3 +excerpt: "The three rate cvars plus ex_interp decide how smooth and how accurate your connection feels. Here are values that make sense, what they actually do, and why the server can override them."
4 +category: "client"
5 +tags: "rates, netcode"
6 +image: ""
7 +read_time: "8 min read"
8 +---
9 +<p>Four cvars govern how your client talks to a CS 1.6 server: <code>rate</code>, <code>cl_updaterate</code>, <code>cl_cmdrate</code> and <code>ex_interp</code>. Set them well and the game feels crisp and hits register where you aim; set them badly and you get choke, warping and shots that do not land. The values are not mysterious, but they do depend on the server allowing them and on setting <code>ex_interp</code> to match. This guide gives concrete values and explains why each one is what it is.</p><h2>1. What each cvar does</h2><table><thead><tr><th>Cvar</th><th>Meaning</th></tr></thead><tbody><tr><td><code>rate</code></td><td>Maximum bytes/second you will accept from the server. The bandwidth budget for everything.</td></tr><tr><td><code>cl_updaterate</code></td><td>How many world updates/second you ask the server to send you.</td></tr><tr><td><code>cl_cmdrate</code></td><td>How many command packets/second you send to the server.</td></tr><tr><td><code>ex_interp</code></td><td>Interpolation delay — how far in the past the client renders other players to smooth movement.</td></tr></tbody></table><h2>2. The values to use</h2><p>On a modern engine against a well-configured server, set:</p><pre>rate 100000
10 +cl_updaterate 101
11 +cl_cmdrate 101
12 +ex_interp 0.01</pre><p>This asks for the full 100-tick experience with enough bandwidth to carry it. On older builds or against old servers, <code>rate 25000</code> was the practical ceiling; the 25th Anniversary update raised the usable maximum, which is why 100000 is reasonable now. If you are on <a href="/tutorials/cs16-steam-legacy-beta">steam_legacy</a>, keep <code>rate</code> nearer 25000.</p><h2>3. Why ex_interp must match your update rate</h2><p><code>ex_interp</code> is the one people get wrong. The correct value is <strong>1 divided by your <code>cl_updaterate</code></strong>:</p><pre>ex_interp = 1 / cl_updaterate</pre><p>At <code>cl_updaterate 101</code> that is roughly 0.0099, so <code>ex_interp 0.01</code> is correct. The default of 0.1 corresponds to a 10 Hz update rate and adds 100 ms of visual lag on a fast connection — which is why lowering it feels like the game "woke up". Do not go below 1/updaterate: if you set <code>ex_interp 0</code> or something tiny while the server sends 100 updates, other players warp because the interpolation window is too short to bridge the gaps.</p><h2>4. cl_cmdrate and cl_updaterate should match</h2><p>Keep <code>cl_cmdrate</code> and <code>cl_updaterate</code> the same (both 101 is standard). <code>cl_cmdrate</code> is you talking to the server, <code>cl_updaterate</code> is the server talking to you; balancing them keeps the conversation even. There is no benefit to <code>cl_cmdrate</code> far above your frame rate — you cannot generate more command packets than you have frames.</p><h2>5. The server has the final say</h2><p>Every value you set is clamped into the server's window. If the server runs <code>sv_maxupdaterate 60</code>, your <code>cl_updaterate 101</code> becomes 60. If it runs <code>sv_maxrate 25000</code>, your <code>rate 100000</code> becomes 25000. This is why the same config feels great on one server and choppy on another — the server ceiling differs. The server side is documented in <a href="/tutorials/sv-maxrate-maxupdaterate-values">sv_maxrate and sv_maxupdaterate values</a>.</p><h2>6. Save them so they persist</h2><p>Put the four cvars in <code>autoexec.cfg</code> so the config rewrite does not lose them:</p><pre>rate 100000
13 +cl_updaterate 101
14 +cl_cmdrate 101
15 +ex_interp 0.01</pre><p>See <a href="/tutorials/cs16-config-cfg-guide">the config.cfg guide</a> for why <code>autoexec.cfg</code> is the durable place and <code>config.cfg</code> is not.</p><h2>Common errors</h2><ul><li><strong>Choke on the scoreboard</strong> — <code>rate</code> too low for your update rate, or the server caps <code>sv_maxrate</code>. Raise <code>rate</code>; if it persists, the server is the limit.</li><li><strong>Other players warp</strong> — <code>ex_interp</code> set below 1/updaterate. Set it to 0.01 with <code>cl_updaterate 101</code>.</li><li><strong>Hits feel delayed</strong> — <code>ex_interp</code> left at the 0.1 default. Lower it to match your update rate.</li><li><strong>Rates "do nothing"</strong> — the server clamps them. Confirm with <code>net_graph 3</code> what update rate you actually receive.</li><li><strong>Values reset each launch</strong> — they are only in <code>config.cfg</code>, which the game rewrites. Move them to <code>autoexec.cfg</code>.</li></ul><h2>Verification</h2><p>Join a server, open <code>net_graph 3</code>, and check the update-rate figure the server actually sends against your <code>cl_updaterate</code>. Choke should be 0. If the delivered rate is lower than you asked for, the server's <code>sv_maxupdaterate</code> is the ceiling. Confirm <code>ex_interp</code> is 0.01 and that other players move smoothly rather than warping — that combination is what "good rates" actually looks like in play. If you still see lag, work through <a href="/tutorials/cs16-fix-high-ping">the high-ping guide</a>.</p>
+89 -0 mp-cvars-reference/en.md A
@@ -0,0 +1,89 @@
1 +---
2 +title: "mp_ Cvars Reference (freezetime, roundtime, buytime and More)"
3 +excerpt: "A reference to the mp_ gameplay cvars that shape a CS 1.6 round, with correct units, sane defaults, and which ones only exist under ReGameDLL."
4 +category: "administration"
5 +tags: "cvars, gameplay"
6 +image: ""
7 +read_time: "8 min read"
8 +---
9 +<p>The <code>mp_</code> cvars control the rules of a round: how long freezetime lasts, how much money players start with, whether friendly fire hurts, when the map ends. Half of them ship with stock CS and half only exist once you install <a href="/tutorials/install-regamedll-cs16">ReGameDLL_CS</a>. Getting the units wrong — minutes versus seconds — is the usual mistake, so units are called out explicitly here.</p>
10 +
11 +<h2>1. Round timing</h2>
12 +<table>
13 +<thead><tr><th>Cvar</th><th>Unit / default</th><th>Notes</th></tr></thead>
14 +<tbody>
15 +<tr><td><code>mp_freezetime</code></td><td>seconds, 6</td><td>Buy-and-stand time at round start. 3 is common on public.</td></tr>
16 +<tr><td><code>mp_roundtime</code></td><td>minutes, 5</td><td>Length of a round. Range roughly 1–9.</td></tr>
17 +<tr><td><code>mp_buytime</code></td><td>minutes, 0.25</td><td><strong>Minutes.</strong> 0.25 = 15 seconds. Stock minimum is 0.25.</td></tr>
18 +<tr><td><code>mp_c4timer</code></td><td>seconds, 45</td><td>Bomb fuse. Configurable on ReGameDLL; classic value 45.</td></tr>
19 +<tr><td><code>mp_timelimit</code></td><td>minutes, 0</td><td>Map time limit. 0 = never ends on time.</td></tr>
20 +<tr><td><code>mp_chattime</code></td><td>seconds, 10</td><td>End-of-map scoreboard/chat window before the change.</td></tr>
21 +</tbody>
22 +</table>
23 +<p>The classic trap: setting <code>mp_buytime 15</code> expecting 15 seconds and getting 15 <em>minutes</em>. It is in minutes.</p>
24 +
25 +<h2>2. Economy</h2>
26 +<table>
27 +<thead><tr><th>Cvar</th><th>Unit / default</th><th>Notes</th></tr></thead>
28 +<tbody>
29 +<tr><td><code>mp_startmoney</code></td><td>$, 800</td><td>Starting cash. Range 0–16000.</td></tr>
30 +<tr><td><code>mp_buy_anywhere</code></td><td>0 (ReGameDLL)</td><td>1 lets players buy outside the buy zone.</td></tr>
31 +<tr><td><code>mp_free_armor</code></td><td>0 (ReGameDLL)</td><td>0 none, 1 kevlar, 2 kevlar+helmet at spawn.</td></tr>
32 +</tbody>
33 +</table>
34 +
35 +<h2>3. Teams and fair play</h2>
36 +<table>
37 +<thead><tr><th>Cvar</th><th>Unit / default</th><th>Notes</th></tr></thead>
38 +<tbody>
39 +<tr><td><code>mp_friendlyfire</code></td><td>0</td><td>1 = teammates can damage each other.</td></tr>
40 +<tr><td><code>mp_tkpunish</code></td><td>1</td><td>Team-killers are punished next round.</td></tr>
41 +<tr><td><code>mp_autoteambalance</code></td><td>1</td><td>Engine evens out team sizes.</td></tr>
42 +<tr><td><code>mp_limitteams</code></td><td>2</td><td>Max team-size difference allowed before joins are blocked.</td></tr>
43 +<tr><td><code>mp_hostagepenalty</code></td><td>13</td><td>Kicks a player after killing this many hostages. 0 = off.</td></tr>
44 +</tbody>
45 +</table>
46 +
47 +<h2>4. Ending a map</h2>
48 +<table>
49 +<thead><tr><th>Cvar</th><th>Unit / default</th><th>Notes</th></tr></thead>
50 +<tbody>
51 +<tr><td><code>mp_maxrounds</code></td><td>rounds, 0 (ReGameDLL)</td><td>End the map after N rounds regardless of time.</td></tr>
52 +<tr><td><code>mp_winlimit</code></td><td>wins, 0 (ReGameDLL)</td><td>End when a team reaches N round wins.</td></tr>
53 +<tr><td><code>mp_fraglimit</code></td><td>frags, 0</td><td>End on individual frag count (deathmatch-style).</td></tr>
54 +</tbody>
55 +</table>
56 +<p>These interact with <a href="/tutorials/mapcycle-txt-setup">mapcycle.txt</a>: whichever limit fires first ends the map and advances the cycle. If none is set and <code>mp_timelimit</code> is 0, the map runs forever.</p>
57 +
58 +<h2>5. Visibility and feel</h2>
59 +<table>
60 +<thead><tr><th>Cvar</th><th>Unit / default</th><th>Notes</th></tr></thead>
61 +<tbody>
62 +<tr><td><code>mp_flashlight</code></td><td>1</td><td>Allow flashlights.</td></tr>
63 +<tr><td><code>mp_footsteps</code></td><td>1</td><td>Audible footsteps. 0 makes movement silent (avoid on comp).</td></tr>
64 +<tr><td><code>mp_playerid</code></td><td>0</td><td>0 shows names on aim for all, 1 team-only, 2 off.</td></tr>
65 +<tr><td><code>mp_forcechasecam</code></td><td>0</td><td>Restrict spectator camera modes for dead players.</td></tr>
66 +<tr><td><code>mp_fadetoblack</code></td><td>0</td><td>1 fades a dead player's screen to black (anti-ghosting).</td></tr>
67 +</tbody>
68 +</table>
69 +
70 +<h2>6. Stock versus ReGameDLL — know which you have</h2>
71 +<p>The most confusing thing about the <code>mp_</code> family is that the set of cvars that exist depends on your game library. Stock Valve CS has a fixed list baked into <code>mp.dll</code> / <code>cs.so</code>; setting a cvar it does not know about is a silent no-op — no error, no warning, the value just goes nowhere and you conclude the setting "does nothing". <a href="/tutorials/install-regamedll-cs16">ReGameDLL_CS</a> adds a large second tier of cvars that expose things Valve hard-coded: round and win limits, buy-anywhere, free armor, configurable fall and grenade damage, and more. This is one of the main reasons admins install it.</p>
72 +<p>Because ReGameDLL loads its own <code>game.cfg</code> at startup, that file executes after <code>server.cfg</code> and can quietly override a value you thought you set. If an <code>mp_</code> cvar keeps reverting, open <code>cstrike/game.cfg</code> — the answer is usually there. When in doubt about whether a cvar exists on your build, type it in the console with no argument: a known cvar echoes its value, an unknown one prints nothing useful. Never copy an <code>mp_</code> block wholesale from a forum post written for a different engine; verify each line exists on your server first.</p>
73 +<p>Finally, remember these round rules interact with the map rotation and voting. A <code>mp_maxrounds</code> or <code>mp_winlimit</code> that fires before <code>mp_timelimit</code> ends the map early and advances the <a href="/tutorials/mapcycle-txt-setup">cycle</a>, which can surprise players mid-vote. Pick one primary limit — time, rounds, or wins — and keep the others off unless you deliberately want a race between them.</p>
74 +
75 +<h2>Common errors</h2>
76 +<ul>
77 +<li><strong>Buytime absurdly long</strong> — you set <code>mp_buytime</code> in seconds. It is minutes; use <code>0.25</code> for 15 seconds.</li>
78 +<li><strong>A cvar "does not exist"</strong> — it is a ReGameDLL cvar (<code>mp_maxrounds</code>, <code>mp_winlimit</code>, <code>mp_buy_anywhere</code>, <code>mp_free_armor</code>) and you are on stock CS. Install <a href="/tutorials/install-regamedll-cs16">ReGameDLL</a>, or drop the cvar.</li>
79 +<li><strong>Map never ends</strong> — <code>mp_timelimit 0</code> with no round/win/frag limit set.</li>
80 +<li><strong>Setting ignored</strong> — a plugin or <code>game.cfg</code> re-sets it after <code>server.cfg</code>. ReGameDLL executes <code>game.cfg</code>; check there.</li>
81 +<li><strong>Freezetime feels wrong</strong> — you confused it with <code>mp_roundtime</code>; freezetime is seconds, roundtime is minutes.</li>
82 +</ul>
83 +
84 +<h2>Verification</h2>
85 +<p>Read any cvar back by typing it with no value in the console:</p>
86 +<pre>mp_buytime
87 +mp_freezetime
88 +mp_roundtime</pre>
89 +<p>Then play one round and confirm the timings match — a stopwatch on freezetime and buytime removes all doubt. For the server-level cvars that sit alongside these, see the <a href="/tutorials/essential-server-cvars">essential server cvars</a> list.</p>
+82 -0 rcon-commands-list/en.md A
@@ -0,0 +1,82 @@
1 +---
2 +title: "Essential RCON Commands Every CS 1.6 Admin Needs"
3 +excerpt: "A practical RCON command cheat sheet for CS 1.6 admins: status, changelevel, kick, ban, cvar changes, config exec and log control, with real syntax."
4 +category: "administration"
5 +tags: "rcon, commands"
6 +image: ""
7 +read_time: "8 min read"
8 +---
9 +<p>Once RCON is set up, the day-to-day job is a small set of commands you run from a client console. Any server command works through RCON by prefixing it with <code>rcon</code>; this is the shortlist that covers almost everything an admin does remotely. It assumes you have already set the password client-side as in <a href="/tutorials/rcon-setup-secure">RCON setup and security</a>.</p>
10 +
11 +<h2>1. Authenticate first</h2>
12 +<p>In your own client console, set the password once per session:</p>
13 +<pre>rcon_password "your-server-password"</pre>
14 +<p>Every command after that is <code>rcon &lt;command&gt;</code>. If you get <code>Bad rcon_password.</code>, the client value is wrong or empty.</p>
15 +
16 +<h2>2. See what is happening</h2>
17 +<table>
18 +<thead><tr><th>Command</th><th>What it does</th></tr></thead>
19 +<tbody>
20 +<tr><td><code>rcon status</code></td><td>Map, hostname, and every player's userid, name, SteamID, ping and IP</td></tr>
21 +<tr><td><code>rcon stats</code></td><td>Server CPU, in/out traffic and current FPS</td></tr>
22 +<tr><td><code>rcon users</code></td><td>AMXX admin list currently recognised</td></tr>
23 +<tr><td><code>rcon cvarlist</code></td><td>Dump all cvars (long; pipe/scroll)</td></tr>
24 +</tbody>
25 +</table>
26 +<p><code>rcon status</code> is the one you will run most — the <code># userid</code> and SteamID it prints feed straight into kick and ban commands.</p>
27 +
28 +<h2>3. Move the game along</h2>
29 +<pre>rcon changelevel de_dust2
30 +rcon map de_inferno
31 +rcon sv_restart 1
32 +rcon mp_timelimit 20
33 +rcon mp_maxrounds 30</pre>
34 +<p><code>changelevel</code> switches map without dropping the server; <code>map</code> does a harder reload. <code>sv_restart 1</code> restarts the current round after a one-second delay — handy after a config change.</p>
35 +
36 +<h2>4. Deal with players</h2>
37 +<pre>rcon kick #12
38 +rcon kick "PlayerName"
39 +rcon banid 30 #12
40 +rcon banid 0 STEAM_0:0:12345678 kick
41 +rcon addip 60 203.0.113.5
42 +rcon removeid STEAM_0:0:12345678
43 +rcon writeid</pre>
44 +<p><code>#12</code> is the userid from <code>status</code>. <code>banid &lt;minutes&gt;</code> bans a SteamID (<code>0</code> = permanent); the trailing <code>kick</code> drops them immediately. <code>addip &lt;minutes&gt;</code> bans an IP. <strong><code>writeid</code> and <code>writeip</code> persist the ban lists to <code>banned.cfg</code> and <code>listip.cfg</code></strong> — without them the ban is lost on restart. If you run AMX Mod X, prefer <a href="/tutorials/amx-ban-commands">the amx_ban commands</a>, which log a reason and handle persistence for you.</p>
45 +
46 +<h2>5. Configuration and logging</h2>
47 +<pre>rcon exec server.cfg
48 +rcon log on
49 +rcon logaddress_add 203.0.113.9 27500
50 +rcon sv_password "private"
51 +rcon sv_password ""</pre>
52 +<p><code>exec</code> re-runs a config file after you edit it. <code>log on</code> enables logging; <code>logaddress_add</code> streams logs to a stats daemon (HLstatsX and similar). Setting <code>sv_password</code> makes the server private; an empty value reopens it.</p>
53 +
54 +<h2>6. AMXX through RCON</h2>
55 +<p>Any AMXX admin command runs over RCON too, since RCON has implicit full access:</p>
56 +<pre>rcon amx_reloadadmins
57 +rcon amx_map de_nuke
58 +rcon amx_slay "PlayerName"</pre>
59 +<p>This is how you fix the admin list remotely without an in-game admin present.</p>
60 +
61 +<h2>7. Map cycle and votes</h2>
62 +<p>The map rotation is driven by <code>mapcycle.txt</code> in <code>cstrike/</code> and the <code>mapcyclefile</code> cvar. You can inspect and reload it live:</p>
63 +<pre>rcon mapcyclefile
64 +rcon mp_timelimit 20
65 +rcon nextmap</pre>
66 +<p>Editing <code>mapcycle.txt</code> then running <code>rcon exec server.cfg</code> (or a map change) picks up the new rotation. If you run an AMXX map-vote plugin such as <a href="/plugins/csb-mapchooser">CSB Mapchooser</a>, trigger it remotely with <code>rcon amx_startvote</code>-style commands the plugin registers — the built-in engine vote is rarely what a modern server uses.</p>
67 +
68 +<h2>8. Shut down cleanly</h2>
69 +<pre>rcon quit</pre>
70 +<p><code>quit</code> (alias <code>exit</code>) stops the server process. If you run under systemd or <code>hlds_run</code>'s auto-restart wrapper, it will come back up — which is often exactly what you want for a clean reload.</p>
71 +
72 +<h2>Common errors</h2>
73 +<ul>
74 +<li><strong><code>Bad rcon_password.</code></strong> — set <code>rcon_password</code> in your client console first. See <a href="/tutorials/fix-bad-rcon-password">the fix</a>.</li>
75 +<li><strong>Ban gone after restart</strong> — you banned but never ran <code>writeid</code> / <code>writeip</code>. Always follow a manual ban with a write.</li>
76 +<li><strong><code>kick #12</code> kicks the wrong person</strong> — userids are reassigned as players leave. Re-run <code>rcon status</code> immediately before kicking.</li>
77 +<li><strong>cvar change reverts on map change</strong> — you set it live but did not put it in <code>server.cfg</code>. Live changes do not persist; edit the config and <code>exec</code> it.</li>
78 +<li><strong>Command silently ignored</strong> — a few cvars are marked protected and cannot be set remotely; check the console for a <code>not allowed</code> notice.</li>
79 +</ul>
80 +
81 +<h2>Verification</h2>
82 +<p>Run <code>rcon status</code> — a full player table confirms you are authenticated and connected. Then make a harmless change like <code>rcon mp_timelimit 25</code> and confirm it with <code>rcon mp_timelimit</code> (printing it back). If both work, your RCON channel is healthy. For locking that channel down, revisit <a href="/tutorials/rcon-setup-secure">RCON setup and security</a>.</p>
0 83