Add install-amx-mod-x-1-10/en.md
Browse Source
1 changed file
with 96 additions and 0 deletions
install-amx-mod-x-1-10/en.md
A
| @@ -0,0 +1,96 @@ | ||
| 1 | +--- | |
| 2 | +title: "How to Install AMX Mod X 1.10 on ReHLDS" | |
| 3 | +excerpt: "Install the current AMX Mod X 1.10 on a ReHLDS + Metamod-r server, get the modules right, and verify with amxx version and amxx plugins." | |
| 4 | +category: "installation" | |
| 5 | +tags: "amxmodx, 1.10" | |
| 6 | +image: "" | |
| 7 | +read_time: "8 min read" | |
| 8 | +--- | |
| 9 | +<p>AMX Mod X 1.10 is the current line. On a modern stack — ReHLDS, ReGameDLL, Metamod-r — it is what you want: it has every 1.9 native plus later additions, its core carries fixes 1.9 never got, and it is what current plugin sources are written against. The one caveat is old binary plugins: an <code>.amxx</code> compiled for 1.8.2 is not guaranteed to run on 1.10, and if you do not have the <code>.sma</code>, you cannot fix that.</p> | |
| 10 | + | |
| 11 | +<h2>1. Prerequisites</h2> | |
| 12 | +<p>In the server console, all three of these must answer:</p> | |
| 13 | +<pre>rehlds_version | |
| 14 | +regamedll_version | |
| 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> | |
| 17 | + | |
| 18 | +<h2>2. Download Base + Counter-Strike, both 1.10</h2> | |
| 19 | +<p>Two packages, same version, same platform:</p> | |
| 20 | +<ul> | |
| 21 | +<li>AMX Mod X 1.10 <strong>Base</strong></li> | |
| 22 | +<li>AMX Mod X 1.10 <strong>Counter-Strike</strong> addon (provides <code>cstrike</code>, <code>csx</code>, the CS plugins and configs)</li> | |
| 23 | +</ul> | |
| 24 | + | |
| 25 | +<h2>3. Extract</h2> | |
| 26 | +<pre>cd /home/steam/hlds/cstrike | |
| 27 | +tar -xzf amxmodx-1.10.0-base-linux.tar.gz | |
| 28 | +tar -xzf amxmodx-1.10.0-cstrike-linux.tar.gz | |
| 29 | +chown -R steam:steam addons/amxmodx | |
| 30 | +chmod -R u+rwX,go+rX addons/amxmodx | |
| 31 | +chmod +x addons/amxmodx/scripting/amxxpc addons/amxmodx/scripting/compile.sh</pre> | |
| 32 | + | |
| 33 | +<h2>4. Register with Metamod</h2> | |
| 34 | +<p>In <code>cstrike/addons/metamod/plugins.ini</code>:</p> | |
| 35 | +<pre>linux addons/amxmodx/dlls/amxmodx_mm_i386.so</pre> | |
| 36 | +<p>If you are replacing an older AMXX, make sure there is exactly <strong>one</strong> uncommented AMXX line. Two AMXX entries — a leftover 1.8.2 path plus the new one — is a genuinely nasty failure: Metamod tries to load both cores and the server crashes or behaves erratically.</p> | |
| 37 | + | |
| 38 | +<h2>5. modules.ini</h2> | |
| 39 | +<p><code>addons/amxmodx/configs/modules.ini</code>:</p> | |
| 40 | +<pre>fun | |
| 41 | +engine | |
| 42 | +fakemeta | |
| 43 | +geoip | |
| 44 | +sockets | |
| 45 | +regex | |
| 46 | +nvault | |
| 47 | +cstrike | |
| 48 | +csx | |
| 49 | +hamsandwich | |
| 50 | +;mysql | |
| 51 | +;sqlite</pre> | |
| 52 | +<p>Enable what your plugins actually <code>#include</code>. If you plan to use <a href="/tutorials/install-reapi">ReAPI</a>, its module is dropped into <code>modules/</code> and auto-loaded when a plugin requires it — you do not normally need to list it by hand, but doing so does no harm.</p> | |
| 53 | + | |
| 54 | +<h2>6. Restart and verify</h2> | |
| 55 | +<pre>meta list | |
| 56 | +amxx version | |
| 57 | +amxx plugins | |
| 58 | +amxx modules</pre> | |
| 59 | +<pre>Currently loaded plugins: | |
| 60 | + name version author file status | |
| 61 | + [ 1] Admin Base 1.10.0 AMXX Dev Team admin.amxx running | |
| 62 | + [ 2] Admin Commands 1.10.0 AMXX Dev Team admincmd.amxx running | |
| 63 | + … | |
| 64 | +25 plugins, 25 running</pre> | |
| 65 | +<p><code>amxx modules</code> should show each module as <code>running</code> with its version. A module listed as <code>error</code> or missing entirely is a version mismatch — a 1.9 module in a 1.10 <code>modules/</code> directory. Delete the stale file; the 1.10 packages ship all of them.</p> | |
| 66 | + | |
| 67 | +<h2>7. Old plugins on a new core</h2> | |
| 68 | +<p>This is the whole reason people hesitate to move to 1.10. Three outcomes for an old <code>.amxx</code>:</p> | |
| 69 | +<ul> | |
| 70 | +<li><strong>It just works.</strong> Most simple plugins do.</li> | |
| 71 | +<li><strong><code>Plugin failed to load: Invalid Plugin</code></strong> — the bytecode version is not accepted. You need the <code>.sma</code> and a recompile.</li> | |
| 72 | +<li><strong>It loads and then throws <code>Run time error 10: native error</code></strong> — it calls a native whose behaviour changed, or one that was removed. Again: recompile from source, fix what the compiler complains about.</li> | |
| 73 | +</ul> | |
| 74 | +<p>Recompiling is usually trivial:</p> | |
| 75 | +<pre>cd /home/steam/hlds/cstrike/addons/amxmodx/scripting | |
| 76 | +./amxxpc myplugin.sma -o compiled/myplugin.amxx</pre> | |
| 77 | +<p>Fix any errors it prints, then copy the result into <code>plugins/</code>. If you are moving a whole server, work through <a href="/tutorials/upgrade-amxmodx-1-8-2-to-1-10">the 1.8.2 → 1.10 upgrade guide</a> — it covers the specific natives that changed and the ordering that avoids downtime.</p> | |
| 78 | + | |
| 79 | +<h2>Common errors</h2> | |
| 80 | +<ul> | |
| 81 | +<li><strong><code>Module was compiled for a newer AMXX version</code></strong> — you have a 1.10 module sitting in a 1.9 install (or vice versa). Modules and core must come from the same release. See <a href="/tutorials/fix-module-compiled-newer-amxx">that error</a>.</li> | |
| 82 | +<li><strong><code>Plugin failed to load: Invalid Plugin</code></strong> — bytecode from a different AMXX major. Recompile.</li> | |
| 83 | +<li><strong>Plugins show <code>bad load</code> after the upgrade</strong> — the common upgrade symptom; see <a href="/tutorials/fix-plugins-bad-load-after-19">plugins bad load after upgrading</a>.</li> | |
| 84 | +<li><strong><code>Run time error 4: index out of bounds</code></strong> in a plugin that used to work — an array-bounds bug that 1.8.2 tolerated and 1.10 catches. That is the newer core doing its job; fix the plugin.</li> | |
| 85 | +<li><strong>Server crashes at map start after the upgrade</strong> — two AMXX cores in <code>metamod/plugins.ini</code>, or a leftover <code>modules/</code> from the old version.</li> | |
| 86 | +</ul> | |
| 87 | + | |
| 88 | +<h2>Verification checklist</h2> | |
| 89 | +<ol> | |
| 90 | +<li><code>amxx version</code> reports 1.10.x.</li> | |
| 91 | +<li><code>amxx plugins</code> — count of <code>running</code> equals the total; nothing in <code>bad load</code> or <code>error</code>.</li> | |
| 92 | +<li><code>amxx modules</code> — every module <code>running</code>.</li> | |
| 93 | +<li><code>amxmodmenu</code> opens in-game.</li> | |
| 94 | +<li><code>addons/amxmodx/logs/error_*.log</code> is empty after a full map with players.</li> | |
| 95 | +</ol> | |
| 96 | +<p>Watch that error log for the first day. Runtime errors in AMXX do not crash the server; they get logged and the plugin keeps limping. An empty <code>error_*.log</code> after 24 hours of real traffic is the only upgrade verification that actually means anything.</p> | |
| 0 | 97 |









