--- 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.

1. The format

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.

2. Why order matters

Several AMXX subsystems hand an event to plugins in load order and let the first one "claim" it:

Rule of thumb: core/admin plugins at the top, gameplay and cosmetic plugins below.

3. Disabling a plugin

Three ways, in order of preference:

  1. Comment it out — prefix the line with ;. The file stays self-documenting and you can re-enable it later.
  2. Delete the line — cleaner but you lose the record of what was there.
  3. Runtime pause — from the server console, 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.

4. The debug flag

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.

5. Inspecting what actually loaded

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.

Common errors

Verification

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.