Promouvoir serveur
12 lines 6.7 KiB Markdown Source Rendered Raw Permalink History
---
title: "AMX Mod X Versions: 1.8.2 vs 1.9 vs 1.10 vs 1.11-dev"
excerpt: "What actually differs between the AMX Mod X release lines, which natives arrived when, why a plugin compiled for one branch can bad-load on another, and which version to run."
category: "misc"
tags: "amxmodx, versions"
image: ""
read_time: "8 min read"
---
<p>&quot;Just install AMX Mod X&quot; hides a real decision: which version? The differences between 1.8.2, 1.9, 1.10 and the 1.11 development line are not cosmetic &mdash; they change which natives you can call, which modules load, and whether a plugin someone else compiled will even run on your server. Here is what separates the branches and how to pick.</p><h2>1. The release lines</h2><table><thead><tr><th>Version</th><th>Status</th><th>In one line</th></tr></thead><tbody><tr><td><strong>1.8.2</strong></td><td>Old, still widespread</td><td>The long-time default; stable but missing newer natives.</td></tr><tr><td><strong>1.9</strong></td><td>Stable</td><td>The safe modern default; adds natives 1.8.2 lacks.</td></tr><tr><td><strong>1.10</strong></td><td>Current stable</td><td>The current recommended release.</td></tr><tr><td><strong>1.11-dev</strong></td><td>Development</td><td>Bleeding edge; not for production unless you need something in it.</td></tr></tbody></table><h2>2. Why the version changes what your plugins can do</h2><p>Each line added natives and module capabilities. The most-cited example: coloured chat printing. <code>client_print_color</code> &mdash; the native that prints team-coloured chat with <code>^x01</code>/<code>^x03</code>/<code>^x04</code> codes &mdash; exists from <strong>1.9 onward</strong>, not in 1.8.2. A plugin that calls it will fail to compile on 1.8.2 and, if you download a pre-compiled build, may bad-load on a 1.8.2 server. This is why plugin pages specify a minimum AMXX version: if a plugin lists <code>amxx_min 1.9</code>, it is telling you it uses at least one native that does not exist in 1.8.2.</p><h2>3. The module ABI trap</h2><p>The subtler issue is <strong>binary compatibility of modules and plugins across branches</strong>. AMXX modules (the <code>.so</code>/<code>.dll</code> files providing <code>fakemeta</code>, <code>hamsandwich</code>, etc.) and the compiled <code>.amxx</code> plugins are built against a specific branch's interfaces. A plugin or module compiled for one branch can <strong>bad-load</strong> on another because the internal ABI changed between release lines. Symptoms you will see in <code>amxx plugins</code>:</p><pre>amxx plugins
// a mismatched plugin shows:
//   myplugin.amxx    bad load</pre><p>The fix is to compile the plugin against the branch you actually run, or download the build that matches your version &mdash; not to force a foreign binary. When you upgrade the core, upgrade the modules to the matching build too; a 1.10 core with leftover 1.8.2 modules is a reliable way to produce <code>bad load</code> lines.</p><h2>4. Compiler differences</h2><p>Each AMXX version ships its own <code>amxxpc</code> compiler and its own set of include files. Compiling with the 1.9 compiler bakes in the 1.9 natives and interfaces; compiling the same source with the 1.10 compiler targets 1.10. This is exactly why a live compile service pins multiple toolchains &mdash; the correct binary depends on the target server's version. When in doubt, compile with the toolchain matching the server you will run it on.</p><h2>5. Which version to run</h2><ul><li><strong>New server:</strong> run <strong>1.10</strong> (current stable) or <strong>1.9</strong> (stable, extremely well-supported). Both have the modern natives; you will not hit the 1.8.2 wall.</li><li><strong>Existing 1.8.2 server:</strong> plan an upgrade if you want modern plugins &mdash; see <a href="/tutorials/upgrade-amxmodx-1-8-2-to-1-10">upgrading 1.8.2 to 1.10</a>. Keep 1.8.2 only if you depend on a plugin that was never rebuilt for newer branches.</li><li><strong>1.11-dev:</strong> avoid on production. It is a development branch and may change under you; use it only to test something that specifically requires it.</li></ul><p>Install guides per version: <a href="/tutorials/install-amx-mod-x-1-8-2">1.8.2</a>, <a href="/tutorials/install-amx-mod-x-1-9">1.9</a>, <a href="/tutorials/install-amx-mod-x-1-10">1.10</a>.</p><h2>6. What upgrading actually involves</h2><p>Moving between lines is not just swapping the core binary. A clean upgrade means replacing the AMXX core files, replacing every <strong>module</strong> with the matching-branch build, and recompiling any plugin you built yourself against the new compiler and includes. Third-party plugins you downloaded pre-compiled for the old branch should be re-downloaded in a build for the new one, or recompiled from their <code>.sma</code>. Your configs &mdash; <code>plugins.ini</code>, <code>modules.ini</code>, <code>amxx.cfg</code> &mdash; generally carry over, but new versions sometimes add cvars or change defaults worth reviewing. The single most common upgrade failure is leaving old modules in place: a 1.10 core will happily start but every plugin that touches a stale 1.8.2 module bad-loads. The full procedure for the most common jump is in <a href="/tutorials/upgrade-amxmodx-1-8-2-to-1-10">upgrading 1.8.2 to 1.10</a>. Do it on a test server first and confirm a clean <code>amxx plugins</code> output before touching production.</p><h2>Common misconceptions</h2><ul><li><strong>&quot;Higher version = my old plugins break.&quot;</strong> Usually the opposite &mdash; newer cores run older <em>source</em> fine once recompiled. What breaks is a <em>pre-compiled</em> binary or module from a different branch, which bad-loads. Recompile and it is fine.</li><li><strong>&quot;1.8.2 is fine, everyone uses it.&quot;</strong> Widespread, yes, but it lacks natives like <code>client_print_color</code>. Modern plugins increasingly require 1.9+.</li><li><strong>&quot;I can mix modules from different versions.&quot;</strong> No &mdash; run one matched set. Mismatched modules bad-load.</li><li><strong>&quot;-dev means newest and best.&quot;</strong> It means unfinished. Run stable in production.</li><li><strong>&quot;The version only matters at compile time.&quot;</strong> It matters at load time too &mdash; the running core must match the modules and accept the plugin's build.</li></ul><h2>How to check your version</h2><p>From the server console:</p><pre>amxx version
meta list</pre><p><code>amxx version</code> prints the running AMX Mod X version and build; <code>meta list</code> confirms AMXX loaded under Metamod. Then run <code>amxx plugins</code> and scan for any <code>bad load</code> &mdash; those are your version/ABI mismatches. If you see them after an upgrade, replace those plugins and modules with builds matching your core version and reload the map.</p>