Compile SMA to AMXX – Best Online Compilers & Tools
Last updated: May 8, 2026
Compiling SMA to AMXX is the required step before any AMX Mod X plugin can run on a CS 1.6 server. A .sma file is the Pawn source code – the human-readable script. An .amxx file is the compiled binary the server actually loads. This page lists every working AMXX compiler option available: online web compilers, the official offline compiler for Windows and Linux, and ReAPI for modern servers.
Table of Contents
- Online AMXX web compilers
- Offline compiler – Windows and Linux
- ReAPI for ReHLDS servers
- AMXX version compatibility
- Custom include files
- Common compile errors
Online AMXX web compilers
Online AMXX compilers let you compile SMA to AMXX directly in a browser with no local installation. Upload your .sma file, select the AMXX version matching your server, and download the compiled .amxx binary. All tools below are free and publicly available.
| Compiler | URL | Versions supported | Custom .inc upload | Notes |
|---|---|---|---|---|
| IceGame AMXX Compiler | amx.icegame.ro | 1.7.6, 1.8.0, 1.8.1, 1.8.2, 1.8.3, 1.9.0, 1.10.0 | Yes | Most versions, custom include upload, 16 languages, fast |
| AMXModX.org Official | amxmodx.org/webcompiler.cgi | Latest stable | No | Official tool, stable but limited include support |
| WorldCS Compiler | amx.worldcs.ro | 1.8.2, 1.8.3 | Yes | Simple interface, custom include upload supported |
| NGZ.RO Compiler | amx.ngz.ro | 1.8.2, 1.8.3, 1.9.0, 1.10 | Yes | Runs on dedicated Linux environment, matches live server compilation |
| AMXX.pl Compiler | amxx.pl/kompilator | 1.8.1 | No | Polish community, 4M+ compiles, older version only |
If your plugin uses custom includes (Zombie Plague, Jailbreak, Warcraft 3, ReAPI, and similar mods require external .inc files), use IceGame, WorldCS, or NGZ.RO – these three support uploading custom includes before compilation. The official amxmodx.org compiler and AGHL.RU do not support custom include upload, so plugins with non-standard dependencies will fail on those.
Offline compiler – Windows and Linux
The offline AMXX compiler is included inside the AMX Mod X package itself. It is the most reliable method for compiling plugins with complex include dependencies and gives you full control over the compilation environment. Download the full AMX Mod X package from the official source:
amxmodx.org/downloads-new.php – official AMX Mod X downloads page (Windows and Linux builds)
After installing, the compiler is located at:
addons/amxmodx/scripting/amxxpc.exe (Windows)
addons/amxmodx/scripting/amxxpc (Linux)
Place your .sma file in the scripting/ folder. All standard .inc files are in scripting/include/. Custom includes for specific mods go in that same include folder.
Windows – three ways to compile
| Method | Steps |
|---|---|
| Drag and drop | Drag your .sma file onto compile.exe. The compiled .amxx appears in the scripting/compiled/ folder. |
| Compile all | Double-click compile.exe with no file – compiles every .sma in the scripting folder at once. |
| Command line | Open cmd, navigate to the scripting folder, run: amxxpc.exe myplugin.sma |
Linux – command line
cd addons/amxmodx/scripting
./amxxpc myplugin.sma
Or compile all plugins at once:
sh compile.sh
The compiled .amxx file goes into scripting/compiled/. Copy it to addons/amxmodx/plugins/ and add the plugin name to addons/amxmodx/configs/plugins.ini to activate it.
ReAPI for ReHLDS servers
ReAPI is an AMX Mod X module that provides extended APIs for servers running ReHLDS and ReGameDLL instead of the standard HLDS engine. If your server runs ReHLDS, plugins that use ReAPI functions must be compiled with the ReAPI .inc files available – standard AMX Mod X includes do not contain them.
ReAPI source and releases: github.com/rehlds/ReAPI
To compile a plugin that uses ReAPI with an online compiler, upload reapi.inc as a custom include file before compiling. IceGame, WorldCS, and NGZ.RO all support this. With the offline compiler, place reapi.inc in your scripting/include/ folder and compile normally.
For more on setting up a server that runs ReHLDS, see the ReHLDS server setup guide.
AMXX version compatibility
The AMXX version you compile against must match the version installed on your server. Compiling with 1.9.0 and running AMXX 1.8.2 on the server will produce “Plugin failed to load” errors. Check your server’s AMXX version in the console with amxx version.
| AMXX version | Use case |
|---|---|
| 1.10.0 | Modern Linux servers with ReHLDS, latest features |
| 1.9.0 | Modern servers, widely used, ReHLDS support |
| 1.8.2 | Most stable legacy version, used on the majority of active public servers |
| 1.8.3 | Transition version between old and new builds |
| 1.8.0 / 1.8.1 | Older servers requiring backward compatibility |
| 1.7.6 | Very old or specialized server builds only |
When in doubt, 1.8.2 is the safest choice for legacy CS 1.6 public servers. If you manage a modern server and want the latest features, compile with 1.9.0 or 1.10.0.
Custom include files
Standard AMXX plugins only need the default include files that come with AMX Mod X (amxmodx.inc, amxmisc.inc, cstrike.inc, etc). Plugins for specific mods need additional .inc files that are not bundled with AMXX. These must be provided to the compiler manually.
| Mod / plugin type | Required custom includes | Where to get them |
|---|---|---|
| Zombie Plague | zombieplague.inc |
Inside the Zombie Plague plugin package from AlliedModders |
| ReAPI plugins | reapi.inc |
github.com/rehlds/ReAPI |
| Jailbreak | jailbreak.inc |
Inside the Jailbreak mod package |
| HamSandwich | Bundled with AMXX 1.8.2+ | Already in the standard include folder |
| FakeMeta | Bundled with AMXX | Already in the standard include folder |
With online compilers that support custom include upload (IceGame, WorldCS, NGZ.RO): upload the required .inc files before clicking compile. With the offline compiler: place all custom .inc files into addons/amxmodx/scripting/include/.
Common compile errors
| Error message | Cause | Fix |
|---|---|---|
fatal error 100: cannot read from file: "zombieplague" |
Missing custom include file | Upload zombieplague.inc before compiling, or add it to your local include folder |
error 013: no entry point (no public functions) |
The file is empty or contains no valid plugin entry point | Check the .sma file has at least one public plugin_init() function |
Plugin failed to load on server |
Compiled with wrong AMXX version | Recompile using the exact version your server runs – check with amxx version in console |
error 017: undefined symbol |
Function or variable not defined – usually a missing include | Find which include defines that symbol and add it to the compiler |
You must upload a valid file |
Wrong file format uploaded to web compiler | Make sure the file has a .sma extension and is plain text, not a compiled binary |
If none of the online compilers resolve your include errors, switch to the offline compiler where you have full control over the include folder. The AlliedModders wiki has the complete compilation guide at wiki.alliedmods.net.
For CS 1.6 server setup and administration guides, see the CS 1.6 server guide and the admin commands list.
To obtain the stable version safely and also explore more Counter-Strike 1.6 resources, feel free to use our links. If you are looking for extra content.
