amxx plugins shows your plugin as running, yet it does nothing — no messages, no effects, no reaction to kills or spawns. A plugin can load cleanly and still never do its job, because loading only proves the code compiled and initialized; whether its events actually fire depends on modules, cvars, the mod you run, and correct event registration. This walks the reasons a "running" plugin sits inert and how to find which one applies.
1. Confirm it really is running, not paused or bad
amxx plugins
Check the status column precisely. running is good; paused means someone or something paused it (it will not fire until unpaused); bad load means it failed and is not running at all. If it is paused, amxx unpause it. This tutorial assumes it genuinely reads running — if it says bad load, that is a different problem covered in module failed to load.
2. Check for a disabling cvar
Many plugins have an on/off cvar that defaults to enabled but is easy to leave at zero in a config:
plugin_enabled 0
A plugin with its master switch off loads, registers everything, and then does nothing because its handlers bail out immediately. Read the plugin's cvars back in the console and confirm its enable cvar and any mode cvar are set to active values. This is the fastest thing to rule out and a very common cause of "it's running but dead."
3. Verify you are on the mod the plugin targets
A plugin written for a specific mod — a zombie plugin, a CSDM plugin, a plugin using ReAPI hooks — will load on a plain server but its events never fire because the game it hooks into is not there. If a plugin needs ReGameDLL or a particular game mode and you run stock CS, it initializes and then waits for events that never happen. Match the plugin to your actual engine and mod. A plugin that #includes reapi genuinely needs ReGameDLL to do anything, even though it loads without it.
4. Suspect a missing optional module or wrong event
If a plugin hard-requires a module it is missing, it usually fails at load — but some plugins register events conditionally, so a subtly wrong registration leaves the plugin running with a handler that never triggers. Two things to look at:
- A
register_eventwith a mistyped event name or wrong flags never fires — the engine never matches it, and there is no error. - A plugin expecting a game event that your ruleset never produces (an objective event on a map with no objective) waits forever.
You cannot always see this from outside, but the server console at map load often prints registration warnings. Turn on debug for that plugin and watch what it reports.
5. Turn on debug and read the log
Load the plugin with the debug flag so runtime problems surface instead of failing silently. In plugins.ini, append debug to the line:
myplugin.amxx debug
Change the map, trigger the action that should do something, and check addons/amxmodx/logs/. A handler that throws a runtime error on every invocation — a bad array index, a native called with wrong args — will run, error, and abort silently without debug, but with debug it logs the error and the line. That log line usually names the exact reason the plugin "does nothing."
Troubleshooting
- Running but inert, cvar is zero — the plugin's enable cvar is off. Set it and re-check.
- Works on one server, dead on another — the dead one lacks the mod/engine the plugin targets (ReGameDLL, a game mode). Match the environment.
- Fires sometimes, not others — it hooks an event that only some maps or rounds produce. Confirm the event actually occurs.
- Silent runtime errors — add
debugto the plugins.ini line and read the log; an aborting handler looks like "nothing happens." - No effect at all, no log lines — the event registration is wrong (mistyped event, wrong flags), so the handler is never called. Re-check the registration or the plugin's requirements.
Verification
Set the plugin's enable cvar on, add debug to its line, change the map, and perform the exact action the plugin reacts to — a kill, a spawn, a chat trigger. Watch both the game (for the effect) and addons/amxmodx/logs/ (for any error). Success is the visible behavior appearing with a clean log. If the behavior appears, remove debug for production. If the log now shows a runtime error you could not see before, you have found why it did nothing — fix that error, or replace the plugin with a maintained equivalent from the plugin directory.









