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
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.soor a file ending in_amxx_i386.so, the crash happened in AMX Mod X, and a plugin is the usual cause.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 boundsStep 3: Turn on debug mode for the suspects
Add
debugafter a suspect's name inplugins.ini, then change the map. Its errors then name the source file and line, which the plugin's author needs. Removedebugonce you're done, because debug mode makes plugins slower.cstrike/addons/amxmodx/configs/plugins.ini example_plugin.amxx debugStep 5: Turn plugins off by halves
Put
;in front of half your custom plugins inplugins.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.amxxStep 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_ownerto your SteamID64 inserver.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.
Links
- Debugging Plugins (AMX Mod X) (external site, opens in a new tab)
AlliedModders wiki, debug mode and run time errors
- xHLDS settings
`xhlds_api_guard`, `xhlds_crash_owner` and the other settings xHLDS adds
- xHLDS commands
`xhlds_api_incidents` and `xhlds_stats`
- xHLDS
our ReHLDS fork and its crash reports
Counter-Strike 1.6 server hosting
From €5.99/month for 14 players
Frankfurt or Bucharest. Final price, no VAT added.
Build my serverStart a paid test from €1.99Discord
Ask other admins and our team.
Join our Discord (external site, opens in a new tab)Related guides
How to fix an HLDS segmentation fault on a CS 1.6 server
A segmentation fault means the server crashed, most often inside a Metamod plugin, an AMX Mod X module or a plugin. How to get a backtrace, read it and fix the cause.
8 steps5 min readFor experienced adminsOn Hostsrc
How to install an AMX Mod X plugin on a CS 1.6 server
Copy the .amxx file into the plugins folder, list it in plugins.ini and change the map. Covers extra files, modules and fixes for "bad load".
7 steps4 min readOn Hostsrc
ReHLDS vs HLDS: what changes on a CS 1.6 server
ReHLDS is a rebuild of Valve's HLDS engine, with defects fixed and an extended plugin API, under the MIT licence. Configs and AMX Mod X stay the same. Where xHLDS fits.
6 steps3 min readOn Hostsrc
CS 1.6 server commands and how to use RCON
Set rcon_password in server.cfg and send commands with rcon from your game console. Lists the server and AMX Mod X commands admins use, with their syntax.
5 steps5 min readOn Hostsrc