How to Install an AMXX Plugin (.amxx) Correctly

August 13, 2025 Daemon666 7 min read 18 просмотров

Installing an AMX Mod X plugin is four files-and-folders decisions that people get wrong in predictable ways: the compiled plugin goes in one place, it must be registered in another, its modules must be loaded, and its config must exist. Miss any one and the plugin is silently absent — AMXX does not crash, it just skips what it cannot load. This guide is the correct, boring procedure and the exact console commands that tell you it worked.

1. Put the .amxx in the plugins directory

Compiled plugins live in exactly one place:

cstrike/addons/amxmodx/plugins/

Copy the .amxx there. If you have the source (.sma), the honest and safer path is to compile it yourself first — see sourcing files safely:

cd cstrike/addons/amxmodx/scripting
./amxxpc myplugin.sma
cp compiled/myplugin.amxx ../plugins/

On Linux amxxpc is 32-bit; if it will not run, that is a missing i386 library problem, not a plugin problem.

2. Register it in plugins.ini

AMXX only loads what is listed in:

cstrike/addons/amxmodx/configs/plugins.ini

Add one line with just the filename — no path:

myplugin.amxx

A leading ; comments the line out. This is the single most common "installed but not loading" cause: the file is in plugins/ but was never added here, or the line is still commented.

3. Provide the modules the plugin needs

Most plugins depend on modules — cstrike, fun, engine, fakemeta, hamsandwich, sqlx, geoip and so on. If the plugin's source has #include <cstrike>, the cstrike module must be enabled in:

cstrike/addons/amxmodx/configs/modules.ini

Modern AMXX auto-loads most bundled modules, but not third-party ones. A plugin that needs a module you do not have fails with Plugin failed to load: Function not found. See installing AMXX modules.

4. Create the config the plugin expects

Plugins register cvars at load; you set them in a config that runs after the plugin exists. The standard file is:

cstrike/addons/amxmodx/configs/amxx.cfg

Put the plugin's cvars there, or in cstrike/server.cfg. Do not set a plugin's cvar in server.cfg if the plugin loads later than the cfg executes — for anything AMXX, prefer amxx.cfg or the plugin's own .cfg under configs/.

5. Reload without a full restart (optional)

You can load a plugin live for testing:

amxx plugins
amx_plugins
amxx pause myplugin.amxx
amxx unpause myplugin.amxx

But a newly-added plugin needs the config re-read at map start, so the reliable way to activate a fresh install is changelevel or a restart. "It works after a map change but not now" is expected, not a bug.

Common errors

  • Plugin file open error — the filename in plugins.ini does not match a file in plugins/. Check spelling and case; Linux is case-sensitive.
  • bad load next to the plugin in amxx plugins — the .amxx was compiled for a newer AMXX than you run. Recompile the .sma for your version, or upgrade AMXX.
  • Plugin failed to load: Function not found — a required module is missing. The plugin calls a native that lives in a module you did not load.
  • Plugin shows running but does nothing — its cvars are unset or set in a cfg that runs before it loads. Move them to amxx.cfg and verify with the cvar name in console.
  • Access-restricted command "you have no access" — the plugin needs an admin flag you do not hold. Check your entry in users.ini.

Verification

Change the map, then in the server console:

amxx plugins

Find your plugin's line. It must read running. Anything else — bad load, error, debug — is a real failure, and the reason is printed above in the log at load time. Confirm the plugin's own effect (a menu, a command, a chat line) and check its cvars resolve:

amx_myplugin_enabled

If the line loads and the feature responds, the install is complete. To manage plugins in bulk from in-game, pair this with the CSB Admin Menu.

Where each piece lives — quick reference

Almost every install problem is a file in the wrong one of these four locations. Keep this table next to you:

ItemPath under cstrike/Registered in
Compiled pluginaddons/amxmodx/plugins/*.amxxconfigs/plugins.ini
Plugin sourceaddons/amxmodx/scripting/*.smacompiled with amxxpc
Module (.so/.dll)addons/amxmodx/modules/configs/modules.ini
Cvar valuesconfigs/amxx.cfgruns after plugins load
Admin listconfigs/users.iniSteamID or name+password

The mental model that prevents most mistakes: the file in plugins/ is what runs, but plugins.ini is what decides whether it runs, modules.ini decides whether it can run, and amxx.cfg decides how it behaves. A plugin needs all four to be right at once, and AMXX will not warn you about the one you missed — it just quietly does less than you expected. When something "does nothing", check them in that order: is it in plugins/, is it listed, are its modules loaded, are its cvars set.

Участники: Daemon666 ✦
Поделиться: