Promote server
44 lines 5.5 KiB Markdown Source Rendered Raw Permalink History
---
title: "metamod/plugins.ini Explained (Paths, win32 vs linux)"
excerpt: "A precise breakdown of metamod/plugins.ini: the win32 vs linux platform columns, relative paths, and why it is not AMXX's plugins.ini."
category: "installation"
tags: "metamod, config"
image: ""
read_time: "8 min read"
---
<p>Metamod's <code>plugins.ini</code> is the file that tells Metamod which game-DLL plugins to load &mdash; AMX Mod X, bots like POD-Bot and YaPB, and any other Metamod plugin. It is small and its syntax is simple, but two things trip people up constantly: it is not the same file as AMXX's own <code>plugins.ini</code>, and each line has a platform column that must match your OS. This is a precise breakdown of the format.</p>
<h2>1. There are two files called plugins.ini</h2>
<p>This is the number-one confusion. There are two completely different <code>plugins.ini</code> files:</p>
<ul>
<li><strong><code>addons/metamod/plugins.ini</code></strong> &mdash; lists <em>Metamod</em> plugins (native DLLs/SOs): AMXX itself, bots, and similar. This is the file this guide is about.</li>
<li><strong><code>addons/amxmodx/configs/plugins.ini</code></strong> &mdash; lists <em>AMXX</em> plugins (Pawn <code>.amxx</code> files): admin.amxx, your custom plugins. Covered in <a href="/tutorials/plugins-ini-load-order">plugins.ini load order</a>.</li>
</ul>
<p>Adding a bot to the AMXX file, or a <code>.amxx</code> to the Metamod file, silently fails. AMXX is the bridge: it is a line in the Metamod file, and it then reads its own file for Pawn plugins.</p>
<h2>2. The line format</h2>
<p>Each non-comment line has two parts &mdash; a platform keyword and a path to the binary:</p>
<pre>&lt;platform&gt; &lt;path-to-plugin-binary&gt;</pre>
<p>For example, the line that loads AMX Mod X looks like this on each OS:</p>
<pre>linux addons/amxmodx/dlls/amxmodx_mm_i386.so
win32 addons/amxmodx/dlls/amxmodx_mm.dll</pre>
<p>The first token is the platform; the rest of the line is the file Metamod loads.</p>
<h2>3. win32 vs linux</h2>
<p>The platform keyword tells Metamod to only load that line on the matching operating system. <code>win32</code> lines load on a Windows server; <code>linux</code> lines load on a Linux server. You can keep both lines for the same plugin in one file &mdash; Metamod loads the one that matches the host and ignores the other &mdash; which is exactly how a plugin ships a cross-platform <code>plugins.ini</code>:</p>
<pre>linux addons/podbot/podbot_mm_i386.so
win32 addons/podbot/podbot_mm.dll</pre>
<p>On Linux, Metamod loads the <code>.so</code> and skips the <code>.dll</code>; on Windows, the reverse. If you list only the <code>win32</code> line and run on Linux, the plugin simply never loads &mdash; and there is no error, because Metamod correctly skipped a non-matching platform line. That silent skip is why "I added the line but nothing loaded" is so often a wrong platform keyword.</p>
<h2>4. Paths are relative to the game directory</h2>
<p>The path is relative to the mod folder &mdash; <code>cstrike/</code> for Counter-Strike &mdash; not to <code>addons/metamod/</code> and not absolute. So <code>addons/amxmodx/dlls/amxmodx_mm_i386.so</code> resolves to <code>cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so</code>. On Linux the file is a 32-bit <code>.so</code> ending <code>_i386.so</code>; on Windows a <code>.dll</code>. Use forward slashes; they work on both platforms. A wrong path, or a Linux server pointed at a <code>.dll</code>, produces a load failure at map start.</p>
<h2>5. AMXX is just another plugin here</h2>
<p>The key mental model: AMX Mod X is not special to Metamod &mdash; it is one Metamod plugin among several, loaded by one line in this file. Bots are peers of AMXX, each their own line. The load order between Metamod plugins rarely matters (unlike AMXX's Pawn plugins, where it can), so you can list AMXX and a bot in either order. Comment a line out with a leading semicolon to disable it without deleting it:</p>
<pre>; win32 addons/podbot/podbot_mm.dll   ; disabled for now
linux addons/amxmodx/dlls/amxmodx_mm_i386.so</pre>
<h2>Troubleshooting</h2>
<ul>
<li><strong>Plugin does not load, no error</strong> &mdash; wrong platform keyword (a <code>win32</code> line on Linux). Metamod silently skips non-matching lines. Use the keyword for your OS.</li>
<li><strong>"Couldn't load plugin" / bad load</strong> &mdash; wrong path or wrong binary type (a <code>.dll</code> on Linux). See <a href="/tutorials/fix-metamod-bad-load">fix Metamod bad load</a>.</li>
<li><strong><code>meta list</code> shows no AMXX</strong> &mdash; the AMXX line is missing or in the wrong <code>plugins.ini</code>. Work through <a href="/tutorials/fix-meta-list-no-amxx">meta list has no AMXX</a>.</li>
<li><strong>Edited the file, nothing changed</strong> &mdash; <code>plugins.ini</code> is read at map load; change the map or restart.</li>
<li><strong>Put a <code>.amxx</code> in this file</strong> &mdash; wrong file. Pawn plugins go in <code>addons/amxmodx/configs/plugins.ini</code>, not here.</li>
</ul>
<h2>Verification</h2>
<p>After editing, change the map and run <code>meta list</code> in the server console. Every plugin from this file that matched your platform should appear with a <code>running</code> status &mdash; AMXX, your bot, and anything else. A plugin you expected but do not see was skipped (wrong platform) or failed (wrong path); a plugin marked <code>bad load</code> loaded but errored. Cross-check against <a href="/tutorials/install-metamod-r">the Metamod-r install</a> if the whole list is empty, which means Metamod itself is not loading.</p>