How to Upgrade AMX Mod X 1.8.2 to 1.10 Without Breaking Plugins

February 18, 2026 Daemon666 9 min read 4 vizualizări

The upgrade itself is a file copy. The risk is entirely in your plugins: .amxx 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 .sma for.

0. Before you touch anything: inventory

On the running server:

amxx version
amxx plugins
amxx modules

Save that output. Then check what you actually have sources for:

cd /home/steam/hlds/cstrike/addons/amxmodx
ls plugins/*.amxx | wc -l
ls scripting/*.sma | wc -l

Any .amxx without a matching .sma is your real risk. 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.

1. Full backup

cd /home/steam/hlds
tar -czf ~/amxx-1.8.2-backup-$(date +%F).tar.gz cstrike/addons

That single tarball is your rollback. It contains Metamod, AMXX, every plugin, every config.

2. Upgrade on a staging copy, not on the live server

cp -a /home/steam/hlds /home/steam/hlds-staging
cd /home/steam/hlds-staging
./hlds_run -game cstrike -port 27016 +map de_dust2 +maxplayers 12 +sv_lan 1

Different port, sv_lan 1 so it does not appear publicly. Everything below happens here first.

3. Replace the AMXX core, keep your configs

The 1.10 packages will overwrite configs/ if you extract them carelessly, and that means losing users.ini and your plugins.ini. Preserve them:

cd /home/steam/hlds-staging/cstrike/addons/amxmodx
cp configs/users.ini    /tmp/users.ini.keep
cp configs/plugins.ini  /tmp/plugins.ini.keep
cp configs/amxx.cfg     /tmp/amxx.cfg.keep

# remove the old core, modules and stock plugins
rm -rf dlls modules
rm -f  plugins/*.amxx

# extract 1.10 base + cstrike over cstrike/
cd /home/steam/hlds-staging/cstrike
tar -xzf amxmodx-1.10.0-base-linux.tar.gz
tar -xzf amxmodx-1.10.0-cstrike-linux.tar.gz

# put your configs back
cp /tmp/users.ini.keep   addons/amxmodx/configs/users.ini
cp /tmp/plugins.ini.keep addons/amxmodx/configs/plugins.ini

Do not restore the old amxx.cfg wholesale — 1.10 added cvars. Diff it instead and port your changes across:

diff -u /tmp/amxx.cfg.keep addons/amxmodx/configs/amxx.cfg

4. Delete every stale module

This is the step people skip and then spend two hours on. A 1.8.2 module in a 1.10 modules/ directory produces:

Module was compiled for a newer AMXX version

or a bare Module failed to load. The 1.10 packages ship all the standard modules; you removed modules/ 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.

5. Recompile every custom plugin

cd /home/steam/hlds-staging/cstrike/addons/amxmodx/scripting
mkdir -p compiled
for f in *.sma; do
  ./amxxpc "$f" -o "compiled/${f%.sma}.amxx"
done

Read the output. Typical breakages when moving off 1.8.2:

  • error 017: undefined symbol "client_print_color" — the plugin is newer than your old core and always needed 1.9+. On 1.10 it now compiles. Good.
  • warning 213: tag mismatch — usually harmless, but on 1.10 the compiler is stricter about Float: tags. Fix them; they hide real bugs.
  • error 021: symbol already defined — you have two include paths, or an old copy of an include in scripting/include/ shadowing the new one. Delete stale includes.

Copy the successful builds:

cp compiled/*.amxx ../plugins/

6. Test on staging with real load

meta list
amxx version
amxx plugins
amxx modules

Then play. Connect, buy, plant, defuse, use every admin command, open every menu, force a map change. Then read:

tail -n 100 /home/steam/hlds-staging/cstrike/addons/amxmodx/logs/error_*.log

The two errors you are hunting for:

Run time error 4: index out of bounds
Run time error 10: native error

Both are plugin bugs that 1.10 surfaces and 1.8.2 hid. Fix them in the .sma, recompile, retest. Details in runtime error 4 and runtime error 10.

7. Cut over

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:

cd /home/steam/hlds
rm -rf cstrike/addons
tar -xzf ~/amxx-1.8.2-backup-2026-07-14.tar.gz

Restart, amxx version should report 1.8.2 again, and you are back where you started in under a minute.

Common errors during the upgrade

  • Plugin failed to load: Invalid Plugin — a 1.8.2-compiled .amxx you did not recompile. No workaround; you need the source. See Invalid Plugin.
  • bad load on the AMXX line in meta list — you left the old dlls/amxmodx_mm_i386.so, or you have two AMXX entries in metamod/plugins.ini. See bad load after upgrading.
  • Admins stopped working — you extracted the package over configs/ and lost users.ini. Restore it from the backup.
  • Zombie Plague / CoD Mod stopped working — 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: AMX Mod X 1.9 takes most modern plugins and breaks far fewer old ones.
Contribuitori: Daemon666 ✦
Distribuie: