Skip to content

Which AMX Mod X plugin crashed my server?

A backtrace names AMX Mod X, not the plugin. Find the plugin with the error log, debug mode and turning plugins off by halves. On xHLDS, the crash page names it.

Audience
For experienced admins
Last checked
Steps
7
Reading time
3 min
On Hostsrc
Includes the steps for a Hostsrc server

A crash inside an AMX Mod X plugin shows up in a backtrace as amxmodx_mm_i386.so, or as a module such as hamsandwich_amxx_i386.so, not as the plugin's name. Plugins are .amxx files that AMX Mod X runs, so the backtrace only sees AMX Mod X.

To find the plugin, read the AMX Mod X error log, turn on debug mode for the suspects, and turn plugins off by halves until the crashes stop. On xHLDS, the crash report does this for you: its crash page names the plugin.

On Hostsrc

New servers install with xHLDS, and every crash report goes to crash.hostsrc.com after the restart. Signing in to see crash pages is open to invited beta testers for now.

Before you start

  • Access to the server's files and console.
  • The list of custom plugins you added, newest first.

Steps

  1. Step 1: Check that the crash is in AMX Mod X

    Get a backtrace first: the segmentation fault guide shows how. If the first server file in it is amxmodx_mm_i386.so or a file ending in _amxx_i386.so, the crash happened in AMX Mod X, and a plugin is the usual cause.

  2. Step 2: Read the AMX Mod X error log

    Open the error log for the day of the crash, cstrike/addons/amxmodx/logs/error_YYYYMMDD.log. Errors there name the plugin. A run time error doesn't crash the server by itself, but a plugin that logs errors just before each crash is the first suspect.

    L 10/24/2026 - 18:02:11: [AMXX] Displaying debug trace (plugin "example_plugin.amxx", version "1.0")L 10/24/2026 - 18:02:11: [AMXX] Run time error 4: index out of bounds
  3. Step 3: Turn on debug mode for the suspects

    Add debug after a suspect's name in plugins.ini, then change the map. Its errors then name the source file and line, which the plugin's author needs. Remove debug once you're done, because debug mode makes plugins slower.

    cstrike/addons/amxmodx/configs/plugins.ini
    example_plugin.amxx debug
  4. Step 4: Check what changed

    Type amxx plugins in the server console to see which plugins run, with their versions. A plugin added or updated just before the crashes began is the next suspect, and so is a new map or module.

    Console
    amxx plugins
  5. Step 5: Turn plugins off by halves

    Put ; in front of half your custom plugins in plugins.ini, change the map, and wait as long as a crash usually takes. If the crashes stop, the plugin is in the half you turned off. If they don't, it is in the half still on. Repeat with the half that holds it: with 32 plugins, five rounds leave one.

    Leave the plugins AMX Mod X ships with, such as admin.amxx, on until the end, so your admins keep working while you test.

    cstrike/addons/amxmodx/configs/plugins.ini
    ; Custom plugins, half turned off for the testplugin_one.amxxplugin_two.amxx;plugin_three.amxx;plugin_four.amxx
  6. Step 6: Confirm it and report it

    Turn every plugin back on except the suspect, and check the crashes stay away. Then send the plugin's author the plugin version, your AMX Mod X version from amxx version, the error log lines and the backtrace.

    Console
    amxx version
  7. Step 7: On xHLDS: read the crash page

    Since xHLDS 3.15.0-hs.8, the crash page on crash.hostsrc.com names the plugin that crashed, AMX Mod X plugins included, and says what to do. On Hostsrc's network every report is sent. Elsewhere, set xhlds_crash_owner to your SteamID64 in server.cfg. Without it, nothing leaves the machine. Signing in to the crash service is open to invited beta testers for now.

    cstrike/server.cfg
    xhlds_crash_owner "76561198000000001"

Troubleshooting

The backtrace only shows amxmodx_mm_i386.so

That is AMX Mod X running a plugin. The backtrace can't see inside the plugin, so use the error log, debug mode and turning plugins off by halves (steps 2 to 5).

The crashes stopped with half the plugins off, then came back

Some crashes need two plugins together, or a certain map or player count. Turn the suspects back on in pairs, and test on the map and at the time the crashes happened.

Can a plugin crash the server without an error in the log?

Yes. A plugin that passes a bad value to a module or to the game, through Fakemeta, Ham Sandwich or Orpheu, can crash the server at once, before AMX Mod X logs anything. That is when turning plugins off by halves finds it.

Can xHLDS stop a plugin from crashing the server?

For some mistakes, yes. With xhlds_api_guard on, the default, some plugin mistakes that would stop the server are skipped and reported on the console with the file that made them. xhlds_api_incidents counts them. Not every crash is caught, so fix the plugin anyway.