--- title: "plugins.ini: Load Order, the debug Flag and Disabling Plugins" excerpt: "How AMX Mod X reads plugins.ini top to bottom, why order changes behavior, how to run a plugin in debug mode, and how to disable one cleanly." category: "administration" tags: "plugins.ini, amxmodx" image: "" read_time: "8 min read" ---
addons/amxmodx/configs/plugins.ini is the list of AMX Mod X plugins the server loads and the order it loads them in. It looks trivial — one filename per line — but the order is not cosmetic: it decides which plugin gets first crack at menus, chat and events, and getting it wrong produces conflicts that are maddening to debug because nothing errors, the behavior is just subtly off.
Each line names a compiled plugin in addons/amxmodx/plugins/. No path, just the .amxx filename. Comments start with ;:
; AMX Mod X plugins admin.amxx ; admin base — must load early adminhelp.amxx adminslots.amxx ; reserved slots mapchooser.amxx nextmap.amxx timeleft.amxx ; antiflood.amxx ; disabled csb_adverts.amxx
Plugins load strictly top to bottom. That order is also the order in which they register forwards, menus and event hooks.
Several AMXX subsystems hand an event to plugins in load order and let the first one "claim" it:
nextmap, mapchooser and any RTV plugin all want to set the next map; load order decides the winner. See the RTV guide.users.ini and establishes access should load before plugins that check ADMIN_ flags, or early access checks can miss.Rule of thumb: core/admin plugins at the top, gameplay and cosmetic plugins below.
Three ways, in order of preference:
;. The file stays self-documenting and you can re-enable it later.amxx pause <plugin> stops it until the next map without editing the file.Do not just remove the .amxx from the plugins folder while leaving the line — you will get a plugin failed to load style error on every map load. Comment the line instead.
Append debug after a plugin name to load it in debug mode:
myplugin.amxx debug
Debug mode makes run-time errors report the exact line and a proper call trace instead of a bare address, at a small performance cost. When a plugin throws Run time error in the logs and you cannot tell where, add debug, reproduce, and read the trace — then remove it once fixed. This is the fastest way to find a crashing plugin.
From the server console (not in-game chat):
amxx plugins
This lists every plugin with a status: running, paused, bad load, or error. amxx modules does the same for modules. Trust this over the file — if a line says bad load, the plugin is listed but the engine could not initialise it, which is a different problem from a plugin that simply is not in the file.
bad load on a plugin — usually a missing module the plugin needs (see module failed to load) or a version mismatch, e.g. a 1.10-compiled plugin on a 1.8.2 core. Check bad load after upgrading.admin.amxx and checked access before it was set up. Move admin plugins to the top..amxx is absent. amxx plugins tells you which.plugins.ini is only re-read on map change or restart; changing it mid-map does nothing until then.After editing, change the map and run amxx plugins in the console. Every plugin you expect should read running; anything bad load or error needs attention before you move on. For a specific plugin you are debugging, add debug, reproduce the fault, and confirm the log now shows a file and line number. Once the list is clean, revisit amxx.cfg to tune how those plugins behave.