Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 10/32
Promotiraj s'rv'r

Correct the same facts in 11 more tutorials

Browse Source
AMX Mod X error lines quoted as AMXX prints them (not exisitng/not existing function, Module/Library required, unknown function), module lines are in the L log, a newer-compiled plugin fails with an unknown function rather than Invalid Plugin; ReHLDS is checked with `version` (rehlds_version is not a command), flood-limit defaults 250/500, force_dlmax is a fragment size, cvar comments fixed; GoldSrc rcon uses the game's UDP port; ReChecker resources.ini real syntax (UNKNOWN/MISSING/IGNORE/BREAK, commands, rch_log logs); ReVoice real revoice.cfg, Reunion above ReVoice, no sv_voicecodec/quality.
C counter-strike-boost.com committed parent 590f5362f7 commit 8673f59dc844ef1a118dfd891a68910373bbfb1d
11 changed files with 32 additions and 33 deletions
+3 -3 build-rehlds-from-source/en.md M
@@ -74,8 +74,8 @@ scp user@buildhost:~/build/rehlds/build/engine_i486.so ./engine_i486.so
74 74 chmod 644 engine_i486.so
75 75 ./hlds_run -game cstrike +map de_dust2 +maxplayers 20 +sv_lan 0</pre>
76 76 <p>Then, in the console:</p>
77 -<pre>rehlds_version</pre>
78 -<p>It should print the version corresponding to what you built. Record the commit hash from <code>rehlds-commit.txt</code> next to the deployed binary — a year from now, "which ReHLDS is this?" is a question you will actually need to answer.</p>
77 +<pre>version</pre>
78 +<p>Its <code>ReHLDS version:</code> line should show the version you built. Record the commit hash from <code>rehlds-commit.txt</code> next to the deployed binary — a year from now, "which ReHLDS is this?" is a question you will actually need to answer.</p>
79 79
80 80 <h2>Common errors</h2>
81 81 <ul>
@@ -89,7 +89,7 @@ chmod 644 engine_i486.so
89 89 <ol>
90 90 <li><code>file engine_i486.so</code> reports <em>ELF 32-bit, Intel 80386</em>.</li>
91 91 <li><code>ldd</code> resolves every dependency.</li>
92 -<li>The server boots and <code>rehlds_version</code> answers.</li>
92 +<li>The server boots and <code>version</code> prints a <code>ReHLDS version:</code> line.</li>
93 93 <li>A client connects and plays for a full map without a crash.</li>
94 94 </ol>
95 95 <p>Once that holds, wire it into your normal deploy. The same container pattern works for <a href="/tutorials/build-regamedll-from-source">compiling ReGameDLL_CS</a>, which is the natural next step — the two are versioned together and you want them from the same era.</p>
+4 -5 cs16-server-setup-checklist/en.md M
@@ -27,7 +27,7 @@ sudo adduser --disabled-password --gecos "" steam</pre>
27 27
28 28 <h2>3. Replace the engine and game logic</h2>
29 29 <ul>
30 -<li><a href="/tutorials/install-rehlds-on-linux">ReHLDS</a> over stock HLDS — verify with <code>rehlds_version</code>.</li>
30 +<li><a href="/tutorials/install-rehlds-on-linux">ReHLDS</a> over stock HLDS — verify with <code>version</code> (it must print a <code>ReHLDS version:</code> line).</li>
31 31 <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>
32 32 </ul>
33 33
@@ -66,15 +66,14 @@ sv_rcon_maxfailures 5</pre>
66 66
67 67 <h2>8. Firewall and go-live</h2>
68 68 <ul>
69 -<li>Open UDP 27015 (game) and TCP 27015 (RCON).</li>
69 +<li>Open UDP 27015: game traffic, server queries and RCON all use it (GoldSrc RCON uses the game's UDP port, not TCP).</li>
70 70 <li>Put the server under systemd so it survives a reboot.</li>
71 71 </ul>
72 -<pre>sudo ufw allow 27015/udp
73 -sudo ufw allow 27015/tcp</pre>
72 +<pre>sudo ufw allow 27015/udp</pre>
74 73
75 74 <h2>Pre-launch verification</h2>
76 75 <p>Run this list in the server console before you advertise the IP. Every one must pass:</p>
77 -<pre>rehlds_version // prints a version
76 +<pre>version // must include a ReHLDS version: line
78 77 regamedll_version // prints a version
79 78 meta list // every plugin RUN
80 79 amxx plugins // every plugin running
+2 -2 dproto-vs-reunion/en.md M
@@ -13,7 +13,7 @@ read_time: "8 min read"
13 13 <li><strong>ReHLDS &rarr; Reunion.</strong> Reunion is written for ReHLDS and hooks engine functions ReHLDS exposes cleanly.</li>
14 14 <li><strong>Original Valve HLDS &rarr; dproto.</strong> dproto predates ReHLDS and works on the stock engine.</li>
15 15 </ul>
16 -<p>Install <a href="/tutorials/install-reunion">Reunion</a> on plain HLDS and it refuses to load or misbehaves; install dproto on ReHLDS and it may load but reject clients unpredictably. So the real question is not "dproto or Reunion" &mdash; it is "which engine am I on," and that answer picks the tool. Check with <code>rehlds_version</code>: a real version means ReHLDS and Reunion; <code>Unknown command</code> means stock HLDS and dproto.</p>
16 +<p>Install <a href="/tutorials/install-reunion">Reunion</a> on plain HLDS and it refuses to load or misbehaves; install dproto on ReHLDS and it may load but reject clients unpredictably. So the real question is not "dproto or Reunion" &mdash; it is "which engine am I on," and that answer picks the tool. Check with <code>version</code>: a <code>ReHLDS version:</code> line means ReHLDS and Reunion; without that line it is stock HLDS and dproto.</p>
17 17
18 18 <h2>2. Side by side</h2>
19 19 <table><thead><tr><th></th><th>dproto</th><th>Reunion</th></tr></thead><tbody>
@@ -48,4 +48,4 @@ read_time: "8 min read"
48 48 </ul>
49 49
50 50 <h2>Verification</h2>
51 -<p>Run <code>rehlds_version</code> to confirm your engine, then <code>meta list</code> to confirm exactly one provider &mdash; Reunion on ReHLDS or dproto on HLDS &mdash; is loaded and running. Connect one Steam and one non-Steam client and check <code>status</code>: both should join and hold a stable id. If that works with a single provider on the matching engine, you are on the right tool and can stop second-guessing the choice.</p>
51 +<p>Run <code>version</code> (look for the <code>ReHLDS version:</code> line) to confirm your engine, then <code>meta list</code> to confirm exactly one provider &mdash; Reunion on ReHLDS or dproto on HLDS &mdash; is loaded and running. Connect one Steam and one non-Steam client and check <code>status</code>: both should join and hold a stable id. If that works with a single provider on the matching engine, you are on the right tool and can stop second-guessing the choice.</p>
+2 -2 fix-25th-anniversary-server-broken/en.md M
@@ -27,7 +27,7 @@ read_time: "8 min read"
27 27 <li><a href="/tutorials/install-rehlds-on-linux">ReHLDS</a> — the engine. Older builds are the most common cause of post-update connection failures.</li>
28 28 <li><a href="/tutorials/install-regamedll-cs16">ReGameDLL_CS</a> — keep it paired with ReHLDS from the same era; a mismatched pair crashes on its own.</li>
29 29 </ol>
30 -<p>After each, verify the component actually loaded — <code>rehlds_version</code> and <code>regamedll_version</code> in the console — before moving on, so you know which layer a remaining problem is in.</p>
30 +<p>After each, verify the component actually loaded — <code>version</code> (look for the <code>ReHLDS version:</code> line) and <code>regamedll_version</code> in the console — before moving on, so you know which layer a remaining problem is in.</p>
31 31
32 32 <h2>3. Update Metamod-r, AMXX, and — critically — Reunion</h2>
33 33 <p>The plugin layer needs to match too:</p>
@@ -50,7 +50,7 @@ read_time: "8 min read"
50 50
51 51 <h2>Verification</h2>
52 52 <p>Once the stack is updated, test with a <strong>current</strong> Steam client (not a legacy one) and a current non-Steam client. Both must connect and spawn. In the console confirm the versions:</p>
53 -<pre>rehlds_version
53 +<pre>version
54 54 regamedll_version
55 55 meta list</pre>
56 56 <p>All three should report current builds with every Metamod plugin at <code>RUN</code>. Watch a full map for connect-time crashes. When a fresh, updated client connects cleanly and non-Steam auth issues distinct ids, you are back on a stack that lives with the anniversary update rather than fighting it.</p>
+2 -2 fix-hlds-segfault-startup/en.md M
@@ -34,7 +34,7 @@ Add "-debug" to the ./hlds_run command line to generate a debug.log</pre>
34 34 <h2>4. Mismatched engine and game DLL</h2>
35 35 <p>A current <a href="/tutorials/install-regamedll-cs16">ReGameDLL</a> against a stale <a href="/tutorials/install-rehlds-on-linux">ReHLDS</a> (or a Valve engine) crashes at init because the interfaces do not match. Update both to releases from the same era. Confirm the engine actually is what you think:</p>
36 36 <pre>./hlds_run -game cstrike +map de_dust2 +sv_lan 1
37 -] rehlds_version</pre>
37 +] version</pre>
38 38 <p>If it segfaults before you can type that, revert to the Valve <code>engine_i486.so.valve.bak</code> you backed up and confirm the bare Valve stack boots — if it does, the ReHLDS/ReGameDLL pairing is the fault.</p>
39 39
40 40 <h2>5. Metamod, plugins and modules</h2>
@@ -56,7 +56,7 @@ ldd cstrike/dlls/cs.so</pre>
56 56
57 57 <h2>Verification</h2>
58 58 <p>Once it boots, prove the stack is coherent rather than merely surviving:</p>
59 -<pre>rehlds_version
59 +<pre>version
60 60 regamedll_version
61 61 meta list
62 62 amxx plugins</pre>
+1 -1 fix-segfault-map-change/en.md M
@@ -40,7 +40,7 @@ changelevel cs_assault</pre>
40 40
41 41 <h2>6. Engine/game DLL mismatch</h2>
42 42 <p>If nothing above holds, a mismatched <a href="/tutorials/install-rehlds-on-linux">ReHLDS</a>/ReGameDLL pair can be stable mid-round and crash on transition. Update both to the same-era releases and confirm:</p>
43 -<pre>rehlds_version
43 +<pre>version
44 44 regamedll_version</pre>
45 45
46 46 <h2>Common errors</h2>
+2 -3 get-server-in-master-list/en.md M
@@ -16,9 +16,8 @@ read_time: "8 min read"
16 16
17 17 <h2>2. Make the public UDP port actually reachable</h2>
18 18 <p>The master tells clients your <code>IP:port</code>, and clients then query that port directly over UDP. If the port is closed, you are "listed" but every query times out and you effectively vanish from the browser. Open UDP 27015 (or your chosen port) on both the host firewall and the provider's firewall:</p>
19 -<pre>sudo ufw allow 27015/udp
20 -sudo ufw allow 27015/tcp</pre>
21 -<p>UDP 27015 is gameplay and A2S queries; TCP 27015 is RCON. Also confirm your provider does not block inbound UDP by default — some do. Full breakdown: <a href="/tutorials/cs16-server-firewall-ports">which ports to open</a>.</p>
19 +<pre>sudo ufw allow 27015/udp</pre>
20 +<p>UDP 27015 carries gameplay, A2S queries and RCON (GoldSrc RCON uses the game's UDP port, so no TCP rule is needed). Also confirm your provider does not block inbound UDP by default — some do. Full breakdown: <a href="/tutorials/cs16-server-firewall-ports">which ports to open</a>.</p>
22 21
23 22 <h2>3. Use a dedicated IPv4 address</h2>
24 23 <p>A CS 1.6 server needs a <strong>dedicated public IPv4</strong> for a clean master-list identity. When several servers share one IP on different ports, the master and clients struggle to tell them apart, and servers get merged, culled, or shown intermittently. If you are on a shared IP and your server flickers in and out of the list, this is very likely why. A dedicated IPv4 is not a luxury for a public server — it is a requirement. IPv6-only will not work; the GoldSrc master infrastructure is IPv4.</p>
+2 -2 install-amx-mod-x-1-10/en.md M
@@ -10,10 +10,10 @@ read_time: "8 min read"
10 10
11 11 <h2>1. Prerequisites</h2>
12 12 <p>In the server console, all three of these must answer:</p>
13 -<pre>rehlds_version
13 +<pre>version
14 14 regamedll_version
15 15 meta version</pre>
16 -<p>If any comes back <code>Unknown command</code>, install that layer first: <a href="/tutorials/install-rehlds-on-linux">ReHLDS</a>, <a href="/tutorials/install-regamedll-cs16">ReGameDLL</a>, <a href="/tutorials/install-metamod-r">Metamod-r</a>. AMXX is the top of the stack, not the bottom.</p>
16 +<p><code>version</code> must show a <code>ReHLDS version:</code> line, and the other two must print their versions. If one does not, install that layer first: <a href="/tutorials/install-rehlds-on-linux">ReHLDS</a>, <a href="/tutorials/install-regamedll-cs16">ReGameDLL</a>, <a href="/tutorials/install-metamod-r">Metamod-r</a>. AMXX is the top of the stack, not the bottom.</p>
17 17
18 18 <h2>2. Download Base + Counter-Strike, both 1.10</h2>
19 19 <p>Two packages, same version, same platform:</p>
+6 -5 install-reapi/en.md M
@@ -12,15 +12,16 @@ read_time: "8 min read"
12 12
13 13 <h2>1. Confirm the stack below it</h2>
14 14 <p>In the server console, all four must answer:</p>
15 -<pre>rehlds_version
15 +<pre>version
16 16 regamedll_version
17 17 meta version
18 18 amxx version</pre>
19 -<p>Anything that comes back <code>Unknown command</code> is a layer you have to install first: <a href="/tutorials/install-rehlds-on-linux">ReHLDS</a>, <a href="/tutorials/install-regamedll-cs16">ReGameDLL</a>, <a href="/tutorials/install-metamod-r">Metamod-r</a>, <a href="/tutorials/install-amx-mod-x-1-9">AMX Mod X</a>.</p>
19 +<p><code>version</code> must show a <code>ReHLDS version:</code> line, and the others must print their versions. Anything that does not is a layer you have to install first: <a href="/tutorials/install-rehlds-on-linux">ReHLDS</a>, <a href="/tutorials/install-regamedll-cs16">ReGameDLL</a>, <a href="/tutorials/install-metamod-r">Metamod-r</a>, <a href="/tutorials/install-amx-mod-x-1-9">AMX Mod X</a>.</p>
20 20
21 21 <h2>2. Get a build for your AMXX version</h2>
22 -<p>Download the ReAPI release from the project's GitHub releases page. The archive contains builds for both AMXX 1.8.2 and 1.9/1.10 — <strong>take the one matching your AMXX</strong>. A ReAPI built for 1.10 dropped into a 1.9 install produces:</p>
23 -<pre>Module was compiled for a newer AMXX version</pre>
22 +<p>Download the ReAPI release from the project's GitHub releases page. The archive contains builds for both AMXX 1.8.2 and 1.9/1.10 — <strong>take the one matching your AMXX</strong>. A ReAPI built for 1.9/1.10 dropped into a 1.8.2 install fails to load: <code>amxx modules</code> shows it as <code>newer</code>, and the log has a line like this, naming the core function 1.8.2 does not have (the misspelling is 1.8.2's own):</p>
23 +<pre>Module requested a not exisitng function (file "...reapi_amxx_i386.so") (func "...")</pre>
24 +<p>See <a href="/tutorials/fix-module-compiled-newer-amxx">that error</a>.</p>
24 25
25 26 <h2>3. Install the module and the includes</h2>
26 27 <pre>cd /home/steam/hlds/cstrike/addons/amxmodx
@@ -91,7 +92,7 @@ cp compiled/nofalldamage.amxx ../plugins/</pre>
91 92 <li><strong><code>Function not found: RegisterHookChain</code></strong> / <strong><code>Native not found</code></strong> — the module is not loaded. Check <code>amxx modules</code>. If ReAPI is not listed, the <code>.so</code> is missing from <code>modules/</code> or is the wrong AMXX build. Full walkthrough: <a href="/tutorials/fix-reapi-native-not-found">native not found after installing ReAPI</a>.</li>
92 93 <li><strong><code>error 017: undefined symbol "RG_CBasePlayer_TakeDamage"</code></strong> at compile time — you copied <code>reapi.inc</code> but not the rest of the includes.</li>
93 94 <li><strong>The module is <code>running</code> but hooks never fire</strong> — you are on a stock Valve <code>cs.so</code>. <code>regamedll_version</code> will tell you in one command.</li>
94 -<li><strong><code>Module was compiled for a newer AMXX version</code></strong> — wrong ReAPI build for your AMXX. Take the one from the matching directory in the archive.</li>
95 +<li><strong><code>Module requested a not exisitng function</code>, status <code>newer</code></strong> — wrong ReAPI build for your AMXX. Take the one from the matching directory in the archive.</li>
95 96 <li><strong>Server crashes at map start after adding ReAPI</strong> — a ReAPI far newer than your ReGameDLL, or vice versa. Update both to current releases from the same period.</li>
96 97 </ul>
97 98
+5 -5 install-rehlds-on-windows/en.md M
@@ -33,8 +33,8 @@ copy /Y C:\downloads\rehlds\hlds.exe C:\hlds\hlds.exe</pre>
33 33 <pre>cd /d C:\hlds
34 34 hlds.exe -console -game cstrike -port 27015 +map de_dust2 +maxplayers 20 +sv_lan 0</pre>
35 35 <p>In the console:</p>
36 -<pre>rehlds_version</pre>
37 -<p>Stock HLDS replies <code>Unknown command: rehlds_version</code>. ReHLDS prints its version. That is the only verification that means anything — file dates and folder contents can lie, the cvar cannot.</p>
36 +<pre>version</pre>
37 +<p>ReHLDS prints a line starting <code>ReHLDS version:</code>. Stock HLDS prints only the <code>Protocol version</code>, <code>Exe version</code> and <code>Exe build</code> lines. That is the only verification that means anything — file dates and folder contents can lie, this command cannot.</p>
38 38
39 39 <h2>5. ReHLDS cvars on Windows</h2>
40 40 <p>Identical to Linux; add them to <code>cstrike\server.cfg</code>:</p>
@@ -62,18 +62,18 @@ sv_rcon_minfailuretime 30</pre>
62 62 <li><strong>Console flashes and closes</strong> — run it from <code>cmd.exe</code> with a <code>pause</code> at the end of your batch file so you can read the last line.</li>
63 63 <li><strong><code>The application was unable to start correctly (0xc000007b)</code></strong> — you mixed a 64-bit DLL into a 32-bit process. Everything in a CS 1.6 server is 32-bit; there is no 64-bit build.</li>
64 64 <li><strong><code>The program can't start because MSVCP140.dll is missing</code></strong> — install the Visual C++ redistributable (x86, not x64).</li>
65 -<li><strong><code>rehlds_version</code> is unknown after the swap</strong> — either the DLL was quarantined by antivirus (check the quarantine list), or you copied it next to a <em>different</em> <code>hlds.exe</code> than the one you are launching. Confirm the running path in Task Manager → Details → right-click → <em>Open file location</em>.</li>
65 +<li><strong><code>version</code> shows no <code>ReHLDS version:</code> line after the swap</strong> — either the DLL was quarantined by antivirus (check the quarantine list), or you copied it next to a <em>different</em> <code>hlds.exe</code> than the one you are launching. Confirm the running path in Task Manager → Details → right-click → <em>Open file location</em>.</li>
66 66 <li><strong><code>Access is denied</code> copying swds.dll</strong> — the server is still running. Kill <code>hlds.exe</code> in Task Manager first.</li>
67 67 </ul>
68 68
69 69 <h2>Rollback</h2>
70 70 <pre>cd /d C:\hlds
71 71 copy /Y swds.dll.valve.bak swds.dll</pre>
72 -<p>Restart and check <code>rehlds_version</code> is unknown again. Alternatively re-run <code>app_update 90 validate</code> in SteamCMD, which restores every stock file it manages — including <code>swds.dll</code>, and <strong>including</strong> anything else you had replaced, so do not reach for validate casually once you have a customised install.</p>
72 +<p>Restart and check that <code>version</code> no longer shows a <code>ReHLDS version:</code> line. Alternatively re-run <code>app_update 90 validate</code> in SteamCMD, which restores every stock file it manages — including <code>swds.dll</code>, and <strong>including</strong> anything else you had replaced, so do not reach for validate casually once you have a customised install.</p>
73 73
74 74 <h2>Verification</h2>
75 75 <ol>
76 -<li><code>rehlds_version</code> prints a version.</li>
76 +<li><code>version</code> prints a <code>ReHLDS version:</code> line.</li>
77 77 <li><code>status</code> shows the map and slot count.</li>
78 78 <li>A client can <code>connect YOUR_IP:27015</code> and spawn.</li>
79 79 <li>If Metamod is installed, <code>meta list</code> shows every plugin as <code>RUN</code>, none as <code>bad load</code>.</li>
+3 -3 upgrade-amxmodx-1-8-2-to-1-10/en.md M
@@ -53,9 +53,9 @@ cp /tmp/plugins.ini.keep addons/amxmodx/configs/plugins.ini</pre>
53 53 <pre>diff -u /tmp/amxx.cfg.keep addons/amxmodx/configs/amxx.cfg</pre>
54 54
55 55 <h2>4. Delete every stale module</h2>
56 -<p>This is the step people skip and then spend two hours on. A 1.8.2 module in a 1.10 <code>modules/</code> directory produces:</p>
57 -<pre>Module was compiled for a newer AMXX version</pre>
58 -<p>or a bare <code>Module failed to load</code>. The 1.10 packages ship all the standard modules; you removed <code>modules/</code> entirely in step 3, which is exactly right. Only re-add third-party modules (ReAPI, Orpheu) after you have downloaded 1.10-compatible builds of them.</p>
56 +<p>This is the step people skip and then spend two hours on. A 1.8.2 module in a 1.10 <code>modules/</code> directory still loads and shows <code>running</code>, but it lacks every native added since 1.8.2, so plugins built for 1.10 that need one fail with:</p>
57 +<pre>Plugin uses an unknown function (name "...") - check your modules.ini.</pre>
58 +<p>Check the version column in <code>amxx modules</code>: a stock module still showing 1.8.2 is stale. The 1.10 packages ship all the standard modules; you removed <code>modules/</code> entirely in step 3, which is exactly right. Only re-add third-party modules (ReAPI, Orpheu) after you have downloaded 1.10-compatible builds of them.</p>
59 59
60 60 <h2>5. Recompile every custom plugin</h2>
61 61 <pre>cd /home/steam/hlds-staging/cstrike/addons/amxmodx/scripting
62 62