Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 15/32
Sunucu tanitimi

Add upgrade-amxmodx-1-8-2-to-1-10/en.md

Browse Source
Daemon666 committed parent 84f6984f39 commit 443cd853bbd4f50949ed68cc5e7b06ab25457f8c
1 changed file with 101 additions and 0 deletions
+101 -0 upgrade-amxmodx-1-8-2-to-1-10/en.md A
@@ -0,0 +1,101 @@
1 +---
2 +title: "How to Upgrade AMX Mod X 1.8.2 to 1.10 Without Breaking Plugins"
3 +excerpt: "A safe, staged upgrade from AMX Mod X 1.8.2 to 1.10: what breaks, how to recompile, how to test, and how to roll back in thirty seconds."
4 +category: "installation"
5 +tags: "amxmodx, upgrade"
6 +image: ""
7 +read_time: "9 min read"
8 +---
9 +<p>The upgrade itself is a file copy. The risk is entirely in your plugins: <code>.amxx</code> files compiled against 1.8.2 may refuse to load on 1.10, and plugins with latent array bugs that 1.8.2 quietly tolerated will start throwing runtime errors. The way to do this without a bad evening is to do it on a copy of the server first, and to only upgrade plugins you have the <code>.sma</code> for.</p>
10 +
11 +<h2>0. Before you touch anything: inventory</h2>
12 +<p>On the running server:</p>
13 +<pre>amxx version
14 +amxx plugins
15 +amxx modules</pre>
16 +<p>Save that output. Then check what you actually have sources for:</p>
17 +<pre>cd /home/steam/hlds/cstrike/addons/amxmodx
18 +ls plugins/*.amxx | wc -l
19 +ls scripting/*.sma | wc -l</pre>
20 +<p><strong>Any <code>.amxx</code> without a matching <code>.sma</code> is your real risk.</strong> If it fails on 1.10 you cannot recompile it and your only options are finding the source or replacing the plugin. Go find those sources now, before you start.</p>
21 +
22 +<h2>1. Full backup</h2>
23 +<pre>cd /home/steam/hlds
24 +tar -czf ~/amxx-1.8.2-backup-$(date +%F).tar.gz cstrike/addons</pre>
25 +<p>That single tarball is your rollback. It contains Metamod, AMXX, every plugin, every config.</p>
26 +
27 +<h2>2. Upgrade on a staging copy, not on the live server</h2>
28 +<pre>cp -a /home/steam/hlds /home/steam/hlds-staging
29 +cd /home/steam/hlds-staging
30 +./hlds_run -game cstrike -port 27016 +map de_dust2 +maxplayers 12 +sv_lan 1</pre>
31 +<p>Different port, <code>sv_lan 1</code> so it does not appear publicly. Everything below happens here first.</p>
32 +
33 +<h2>3. Replace the AMXX core, keep your configs</h2>
34 +<p>The 1.10 packages will overwrite <code>configs/</code> if you extract them carelessly, and that means losing <code>users.ini</code> and your <code>plugins.ini</code>. Preserve them:</p>
35 +<pre>cd /home/steam/hlds-staging/cstrike/addons/amxmodx
36 +cp configs/users.ini /tmp/users.ini.keep
37 +cp configs/plugins.ini /tmp/plugins.ini.keep
38 +cp configs/amxx.cfg /tmp/amxx.cfg.keep
39 +
40 +# remove the old core, modules and stock plugins
41 +rm -rf dlls modules
42 +rm -f plugins/*.amxx
43 +
44 +# extract 1.10 base + cstrike over cstrike/
45 +cd /home/steam/hlds-staging/cstrike
46 +tar -xzf amxmodx-1.10.0-base-linux.tar.gz
47 +tar -xzf amxmodx-1.10.0-cstrike-linux.tar.gz
48 +
49 +# put your configs back
50 +cp /tmp/users.ini.keep addons/amxmodx/configs/users.ini
51 +cp /tmp/plugins.ini.keep addons/amxmodx/configs/plugins.ini</pre>
52 +<p>Do <strong>not</strong> restore the old <code>amxx.cfg</code> wholesale — 1.10 added cvars. Diff it instead and port your changes across:</p>
53 +<pre>diff -u /tmp/amxx.cfg.keep addons/amxmodx/configs/amxx.cfg</pre>
54 +
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>
59 +
60 +<h2>5. Recompile every custom plugin</h2>
61 +<pre>cd /home/steam/hlds-staging/cstrike/addons/amxmodx/scripting
62 +mkdir -p compiled
63 +for f in *.sma; do
64 + ./amxxpc "$f" -o "compiled/${f%.sma}.amxx"
65 +done</pre>
66 +<p>Read the output. Typical breakages when moving off 1.8.2:</p>
67 +<ul>
68 +<li><code>error 017: undefined symbol "client_print_color"</code> — the plugin is <em>newer</em> than your old core and always needed 1.9+. On 1.10 it now compiles. Good.</li>
69 +<li><code>warning 213: tag mismatch</code> — usually harmless, but on 1.10 the compiler is stricter about <code>Float:</code> tags. Fix them; they hide real bugs.</li>
70 +<li><code>error 021: symbol already defined</code> — you have two include paths, or an old copy of an include in <code>scripting/include/</code> shadowing the new one. Delete stale includes.</li>
71 +</ul>
72 +<p>Copy the successful builds:</p>
73 +<pre>cp compiled/*.amxx ../plugins/</pre>
74 +
75 +<h2>6. Test on staging with real load</h2>
76 +<pre>meta list
77 +amxx version
78 +amxx plugins
79 +amxx modules</pre>
80 +<p>Then play. Connect, buy, plant, defuse, use every admin command, open every menu, force a map change. Then read:</p>
81 +<pre>tail -n 100 /home/steam/hlds-staging/cstrike/addons/amxmodx/logs/error_*.log</pre>
82 +<p>The two errors you are hunting for:</p>
83 +<pre>Run time error 4: index out of bounds
84 +Run time error 10: native error</pre>
85 +<p>Both are plugin bugs that 1.10 surfaces and 1.8.2 hid. Fix them in the <code>.sma</code>, recompile, retest. Details in <a href="/tutorials/fix-amxx-run-time-error-4">runtime error 4</a> and <a href="/tutorials/fix-amxx-run-time-error-10">runtime error 10</a>.</p>
86 +
87 +<h2>7. Cut over</h2>
88 +<p>Once staging survives a full map rotation with an empty error log, apply the same steps to the live server during your quietest hour. Keep the backup tarball. If anything goes wrong:</p>
89 +<pre>cd /home/steam/hlds
90 +rm -rf cstrike/addons
91 +tar -xzf ~/amxx-1.8.2-backup-2026-07-14.tar.gz
92 +</pre>
93 +<p>Restart, <code>amxx version</code> should report 1.8.2 again, and you are back where you started in under a minute.</p>
94 +
95 +<h2>Common errors during the upgrade</h2>
96 +<ul>
97 +<li><strong><code>Plugin failed to load: Invalid Plugin</code></strong> — a 1.8.2-compiled <code>.amxx</code> you did not recompile. No workaround; you need the source. See <a href="/tutorials/fix-invalid-plugin-amxx">Invalid Plugin</a>.</li>
98 +<li><strong><code>bad load</code> on the AMXX line in <code>meta list</code></strong> — you left the old <code>dlls/amxmodx_mm_i386.so</code>, or you have two AMXX entries in <code>metamod/plugins.ini</code>. See <a href="/tutorials/fix-plugins-bad-load-after-19">bad load after upgrading</a>.</li>
99 +<li><strong>Admins stopped working</strong> — you extracted the package over <code>configs/</code> and lost <code>users.ini</code>. Restore it from the backup.</li>
100 +<li><strong>Zombie Plague / CoD Mod stopped working</strong> — big mod packs are the usual casualties, because they ship dozens of 1.8.2-era binaries. Budget real time for these, or stay on 1.9 as a compromise: <a href="/tutorials/install-amx-mod-x-1-9">AMX Mod X 1.9</a> takes most modern plugins and breaks far fewer old ones.</li>
101 +</ul>
0 102