Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 17/32
Promuj serwer
57 lines 6.4 KiB Markdown Source Rendered Raw Permalink History
title, excerpt, category, tags, image, read_time
title excerpt category tags image read_time
Fix: Plugins Show 'bad load' After Upgrading to AMXX 1.9/1.10 Why your AMX Mod X plugins report 'bad load' after an upgrade, how to tell a Metamod failure from an AMXX one, and the module mismatch that causes almost all of it. errors amxmodx, upgrade 8 min read

You dropped a newer AMX Mod X over an old install, restarted, and now half your plugins sit in the list with the status bad load. This is almost never a corrupt plugin. It is a version-mixing problem: the AMXX core got upgraded but its modules did not, and a plugin that needs a native the old module does not have fails at start. The good news is that bad load is a precise symptom, and once you know where to read it, the fix is mechanical.

1. Read the right list first

There are two different "bad load" states and they live in two different lists. Check both from the server console (or RCON):

meta list
amxx plugins
amxx modules

meta list is Metamod's view. If amxmodx_mm itself shows bad load here, AMXX never even started and every plugin will look broken — that is an engine/ABI problem, not a per-plugin one. amxx plugins is AMXX's own view; a plugin marked bad load there means the AMXX core loaded fine but that specific plugin could not.

2. If amxmodx_mm is 'bad load' in meta list

This means Metamod could not load the AMXX core binary. The usual causes:

  • Wrong architecture — a 64-bit or Windows binary in a Linux tree. Confirm with file addons/amxmodx/dlls/amxmodx_mm_i386.so; it must say ELF 32-bit LSB shared object, Intel 80386.
  • A stale path in addons/metamod/plugins.ini pointing at a file you deleted.
  • Metamod itself is too old for the ABI. If you are still on classic Metamod, move to Metamod-r.

Fix that before touching anything else — nothing below matters until meta list shows amxmodx_mm as RUN.

3. Replace the modules, not just the core

This is the actual cause in the large majority of upgrade cases. AMXX modules (fakemeta_amxx_i386.so, hamsandwich_amxx_i386.so, cstrike_amxx_i386.so, sqlite_amxx_i386.so, and so on) are versioned together with the core. When you upgraded, you likely overwrote dlls/amxmodx_mm_i386.so and the plugins/ folder but left the old 1.8.2 modules in addons/amxmodx/modules/. A 1.8.2 module still loads on a 1.10 core and shows running, but it lacks every native added since 1.8.2, so a plugin built for the new version that #includes it and calls one of those natives fails to load.

Copy the entire modules directory from the same release you upgraded to:

cp /path/to/amxx-1.10/addons/amxmodx/modules/*.so \
   /home/steam/hlds/cstrike/addons/amxmodx/modules/

Then check what actually loaded:

amxx modules

Any module that is not running here is your smoking gun. The AMXX log will name it — look in addons/amxmodx/logs/ for a line such as Module requested a not existing function (a module newer than the core) or the native-not-found error Plugin uses an unknown function. A leftover old module still reads running, so also compare the version column: a module showing 1.8.2 next to a 1.10 core is one to replace.

4. Recompile plugins that use changed natives

Old .amxx bytecode usually keeps working across versions, but a plugin that called a native which was renamed or removed will still bad load even with the right module present. The log entry looks like:

[AMXX] Plugin "yourplugin.amxx" failed to load: Plugin uses an unknown function (name "some_native") - check your modules.ini.

Recompile the .sma against the matching AMXX includes. If you do not have the source, you have to find a build that targets your version. See installing AMXX 1.9 for how the versions line up, and the full 1.8.2 to 1.10 upgrade for the complete file list you must swap.

5. Check plugins.ini and configs

A plugin only loads if it is listed in addons/amxmodx/configs/plugins.ini and the .amxx file exists in addons/amxmodx/plugins/. A typo or a Windows/Linux filename-case mismatch shows as bad load too. Linux is case-sensitive; AdminMenu.amxx and adminmenu.amxx are different files.

Common errors

  • bad load in amxx plugins but modules are fine — the plugin needs a native from a module that is present but a different version. Line up all modules to one release.
  • Module requested a not existing function — a module is newer than the core (amxx modules shows it as newer; 1.8.2 spells the message not exisitng). You upgraded modules but not the core; do both. See that error.
  • Everything is bad load at once — read meta list; the AMXX core itself failed and this is not a per-plugin issue.
  • Works on Windows, breaks on Linux after copying — filename case, or you copied _amxx.dll modules into a Linux install. Linux needs the _i386.so files.

Verification

Restart the server and run:

meta list
amxx modules
amxx plugins

You are done when amxmodx_mm is RUN, every module is running, and every plugin is running with none left in bad load. Change the map once and re-check — a plugin that loads on boot but references a missing native only in a late code path can still be healthy in the list, so spot-test the features you actually rely on. If a single plugin remains stubborn, isolate it with the plugin-isolation method.