Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 15/32
Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
France EMIRATES.KiNGS 亗 GAMEAREA ||͇̿P͇̿U͇̿B͇̿L͇̿I͇̿C͇̿| ✪ 32/32
Promouvoir serveur

Fix: 'Module/Library cstrike required for plugin' (AMX Mod X) #3

Open counter-strike-boost.com wants to merge 1 commits from tutorial/fix-module-cstrike-required-en into main
1 changed file with 77 additions and 0 deletions
+77 -0 fix-module-cstrike-required/en.md A
@@ -0,0 +1,77 @@
1 +---
2 +title: "Fix: 'Module/Library cstrike required for plugin' (AMX Mod X)"
3 +excerpt: "Read the real AMX Mod X error, find which plugin and which module it is about, and fix the actual cause: a missing cstrike file, a module that failed to load, the wrong build, or a CS plugin on a server that is not Counter-Strike."
4 +category: "errors"
5 +tags: "amxx, modules, cstrike, bad load, modules.ini"
6 +image: ""
7 +read_time: "7 min read"
8 +---
9 +<p>A plugin sits at <code>bad load</code> in <code>amxx plugins</code>, and the AMX Mod X log has a line like this:</p>
10 +<pre><code>L 10/12/2026 - 18:04:11: [AMXX] Plugin &quot;shop.amxx&quot; failed to load: Module/Library &quot;cstrike&quot; required for plugin. Check modules.ini.</code></pre>
11 +<p>This is a plugin error with a module cause. When a plugin is compiled with <code>#include &lt;cstrike&gt;</code>, the compiled <code>.amxx</code> records that it needs the <code>cstrike</code> library. Every time a map starts, AMX Mod X checks each plugin's list against the modules that are actually running. If nothing running provides <code>cstrike</code>, that plugin is refused and the others keep working. So the fix is never inside the plugin: it is making the module load. Older guides quote it as <code>Module "cstrike" required for plugin</code>, which is how AMXX 1.71 and earlier worded it. Same error.</p>
12 +
13 +<h2>1. Find the exact line and the plugin</h2>
14 +<p>The line is printed to the server console at map start and written to the daily AMXX log, <code>addons/amxmodx/logs/LYYYYMMDD.log</code>. It is a normal log entry, so do not look for it in <code>error_YYYYMMDD.log</code>. Pull every occurrence at once:</p>
15 +<pre><code>cd /home/steam/hlds/cstrike/addons/amxmodx/logs
16 +grep -h &quot;required for plugin&quot; L*.log | tail -n 20</code></pre>
17 +<p>Search for that phrase rather than the whole sentence: depending on how the plugin declared the dependency, there are one or two spaces before <code>Check modules.ini</code>. The first quoted name is the plugin file, the second is the library it wants. The same error appears with <code>fakemeta</code>, <code>hamsandwich</code>, <code>engine</code>, <code>fun</code> or <code>reapi</code> in place of <code>cstrike</code>, and everything below applies to them too (ReAPI has extra requirements of its own, see <a href="/tutorials/install-reapi">installing ReAPI</a>).</p>
18 +<p>A variant reads <code>Module/Library Class "xstats" required for plugin</code>. A class is a role a module fills: <code>xstats</code> is provided by <code>csx</code>, so stats plugins fail this way when <code>csx</code> is missing or broken.</p>
19 +<p>In the console, <code>amxx plugins</code> lists the failed plugin as <code>bad load</code> with <code>unknown</code> name and version (its init code never ran), and below the table prints one line per failure:</p>
20 +<pre><code>( 7) Load fails: Module/Library &quot;cstrike&quot; required for plugin. Check modules.ini.</code></pre>
21 +<p>The number in parentheses matches the <code>[ 7]</code> row in the table, which shows the file name.</p>
22 +
23 +<h2>2. Ask AMX Mod X what it actually loaded</h2>
24 +<pre><code>amxx modules</code></pre>
25 +<p>Find the CStrike row. There are three possibilities, and each points to a different fix:</p>
26 +<ul>
27 +<li><strong>CStrike is not listed at all.</strong> AMXX never loaded the file: either it is not there (step 3) or nothing asked for it (step 4). When a plugin asks for a module, AMXX looks for one exact file name and silently gives up if it is missing.</li>
28 +<li><strong>CStrike is listed with a status other than <code>running</code></strong> (<code>bad load</code>, <code>newer</code>, <code>old</code>, <code>bad game</code>). The file was found but the module failed, and the plugin error is only the knock-on effect. Go to step 5, or step 6 for <code>bad game</code>.</li>
29 +<li><strong>CStrike is <code>running</code>.</strong> Then the error is not current for <code>cstrike</code>: you are reading a line from before a restart, or the line names a different library. Re-read it.</li>
30 +</ul>
31 +
32 +<h2>3. The module file is not in modules/</h2>
33 +<p>This is the most common cause. The AMX Mod X <strong>Base</strong> package does not contain the Counter-Strike modules: <code>cstrike</code> and <code>csx</code> ship in the separate <strong>Counter-Strike</strong> package. Install only Base and every CS plugin fails with this error. Check:</p>
34 +<pre><code>ls -l /home/steam/hlds/cstrike/addons/amxmodx/modules/ | grep -E &#039;cstrike|csx&#039;</code></pre>
35 +<p>You want <code>cstrike_amxx_i386.so</code> and <code>csx_amxx_i386.so</code> (on Windows, <code>cstrike_amxx.dll</code> and <code>csx_amxx.dll</code>). If they are missing, read your core version with <code>amxx version</code>, download the Counter-Strike package of <strong>exactly that version</strong>, and copy the two files from its <code>addons/amxmodx/modules/</code> into yours. On a fresh install you can extract the whole package in <code>cstrike/</code> like Base, but not over a configured server: it also carries <code>plugins.ini</code>, <code>modules.ini</code> and <code>amxx.cfg</code> and would replace yours. A cstrike module from a different release fails in another way (step 5).</p>
36 +<p>The file name matters. AMXX builds it from the library name, so <code>cstrike</code> becomes <code>modules/cstrike_amxx_i386.so</code> on Linux and <code>modules/cstrike_amxx.dll</code> on Windows. Linux is case-sensitive, so <code>Cstrike_amxx_i386.so</code> or a file renamed to <code>cstrike.so</code> is never found, and a Windows <code>.dll</code> in a Linux install is ignored. If <code>cstrike</code> is enabled in <code>modules.ini</code> but the file is missing, it shows up as <code>bad load</code> with <code>No such file or directory</code> in the log instead.</p>
37 +
38 +<h2>4. Auto-load is off and modules.ini has it commented out</h2>
39 +<p>The stock <code>modules.ini</code> in 1.9 and 1.10 ships with <code>;cstrike</code> and <code>;csx</code> commented out, under a note saying these modules are auto-detected (1.8.2 shipped them enabled). Auto-detection works because the stock <code>cstrike.inc</code> makes the compiler write two things into the plugin: "this plugin requires cstrike" and "load cstrike for me". A plugin compiled with <code>#define AMXMODX_NOAUTOLOAD</code> keeps only the first, so it fails unless something else already loaded the module. Load it explicitly:</p>
40 +<pre><code>; addons/amxmodx/configs/modules.ini
41 +cstrike
42 +csx</code></pre>
43 +<p>Short name only, no semicolon, no <code>_amxx_i386.so</code>. A module listed here loads at startup whether or not a plugin asks for it, so you no longer depend on auto-load, and listing a module that would have auto-loaded anyway does no harm. <a href="/tutorials/install-amxx-modules">Installing AMXX modules</a> explains both loading mechanisms.</p>
44 +
45 +<h2>5. The module is there but failed to load</h2>
46 +<p>When <code>amxx modules</code> shows CStrike with a bad status, the reason is in the same <code>L</code> log, a few lines above the plugin error. Two you will meet:</p>
47 +<pre><code>[AMXX] Module &quot;cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so&quot; failed to load (cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so: wrong ELF class: ELFCLASS64)
48 +[AMXX] Module requested a not exisitng function (file &quot;cstrike/addons/amxmodx/modules/cstrike_amxx_i386.so&quot;) (func &quot;GetConfigManager&quot;)</code></pre>
49 +<p>The first is a 64-bit build. HLDS and every module in it are 32-bit; <code>file cstrike_amxx_i386.so</code> must say <em>ELF 32-bit LSB shared object, Intel 80386</em>. See <a href="/tutorials/fix-wrong-elf-class-elfclass64">the ELFCLASS64 fix</a>. The second (status <code>newer</code>) is a 1.9 or 1.10 cstrike module inside a 1.8.2 install: the module asks the core for a function that 1.8.2 does not have. The misspelling is 1.8.2's own; newer cores print <code>not existing</code>. Take Base and Counter-Strike from one release.</p>
50 +<p>Every other module failure is covered in <a href="/tutorials/fix-amxx-module-failed-to-load">Module failed to load</a>. Fix the module first: once it reads <code>running</code>, the plugin error disappears by itself, because the plugin was never the problem.</p>
51 +
52 +<h2>6. The server is not running Counter-Strike</h2>
53 +<p>The cstrike and csx modules only agree to load when the game folder is <code>cstrike</code> or <code>czero</code>. On Half-Life, Day of Defeat, TFC or any other mod you get a line like:</p>
54 +<pre><code>[AMXX] Module &quot;valve/addons/amxmodx/modules/cstrike_amxx_i386.so&quot; (version &quot;1.10.0.5487&quot;) reported that it cannot load on game &quot;valve&quot;</code></pre>
55 +<p>and the status <code>bad game</code>. No setting changes this. A plugin that includes <code>cstrike</code> calls Counter-Strike functions (money, CS teams, CS weapons) that do not exist in other games, so a CS plugin cannot run on another mod. Find a version of the plugin written for your game, or remove it.</p>
56 +<p>The check uses the name of the game folder passed with <code>-game</code>, so a Counter-Strike server running from a renamed folder is refused the same way. Name it <code>cstrike</code> again. ReGameDLL is fine: it is still Counter-Strike in the <code>cstrike</code> folder.</p>
57 +
58 +<h2>7. Restart, do not just change map</h2>
59 +<p>After you copy or fix module files, restart the server process. A module that already failed stays registered as failed until the process exits, so a <code>changelevel</code> does not retry it.</p>
60 +
61 +<h2>Common causes</h2>
62 +<ul>
63 +<li><strong>CStrike missing from <code>amxx modules</code></strong> - the Counter-Strike package was never installed, or the file is misnamed. Copy the modules from the matching Counter-Strike package.</li>
64 +<li><strong>CStrike shows <code>bad load</code></strong> - wrong architecture, a missing file listed in <code>modules.ini</code>, or a damaged upload. The log line says which.</li>
65 +<li><strong>CStrike shows <code>newer</code></strong> - the module is from a newer AMXX than the core. Use one release for both.</li>
66 +<li><strong>CStrike shows <code>bad game</code></strong> - not a Counter-Strike server, or the game folder was renamed.</li>
67 +<li><strong>Module file present, nothing in the log about it, one plugin still fails</strong> - that plugin was compiled with auto-load disabled. Enable the module in <code>modules.ini</code>.</li>
68 +<li><strong>Stats plugins fail with <code>Class "xstats"</code></strong> - <code>csx</code> is missing or failed. Same steps with <code>csx_amxx_i386.so</code>.</li>
69 +</ul>
70 +
71 +<h2>Verification checklist</h2>
72 +<ol>
73 +<li><code>amxx modules</code> lists CStrike (and CSX if you run stats) as <code>running</code>, and the last line reads <em>N modules, N correct</em>.</li>
74 +<li><code>amxx plugins</code> prints no <code>Load fails</code> lines.</li>
75 +<li><code>grep "required for plugin"</code> on today's <code>L</code> log finds nothing after the restart.</li>
76 +<li>The plugin's feature works in game. For anything still odd, see <a href="/tutorials/read-amxx-error-log">reading the AMXX logs</a>.</li>
77 +</ol>
0 78