plugins.ini: Load Order, the debug Flag and Disabling Plugins

December 17, 2025 Daemon666 8 min read 19 vistas

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:

  • Menus — two plugins that bind the same menu key fight; the one loaded first usually wins the keypress.
  • say / chat handlers — a plugin that intercepts a chat command can stop later plugins from ever seeing it.
  • Map / vote controlnextmap, mapchooser and any RTV plugin all want to set the next map; load order decides the winner. See the RTV guide.
  • admin.amxx first — the admin base that reads 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.

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

  • 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.
  • Two plugins conflict, no error — same menu key or chat command claimed by both. Reorder so the intended one loads first, or disable the other.
  • Admin commands ignored — a gameplay plugin loaded before admin.amxx and checked access before it was set up. Move admin plugins to the top.
  • Plugin not running but no error — the line is commented, misspelled, or the .amxx is absent. amxx plugins tells you which.
  • Edits ignoredplugins.ini is only re-read on map change or restart; changing it mid-map does nothing until then.

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.

Colaboradores: Daemon666 ✦
Compartir: