Skip to content

README.md

Nexius edited this page Jun 3, 2025 · 16 revisions

amx - MTA AMX compatibility layer

Introduction

amx is a software package that allows the execution of unmodified San Andreas: Multiplayer 0.3.7 gamemodes, filterscripts and plugins on Multi Theft Auto: San Andreas 1.6 and higher servers. It is open source, and a prebuilt binary for Windows is available for testing purposes right now.

Installation

The installation guide available here.

Compatibility

Compatibility is quite high:

  • Almost all SA-MP scripting functions and callbacks are implemented.
  • Database functions (db_*) are implemented.
  • HTTP function is implemented and properly works with HTTPS requests.
  • SA-MP server plugins work unmodified, if they don't use memory hacking.
  • SA-MP style rcon commands are available from the server console and the ingame console.

Extra features

Apart from being compatible, amx also offers a number of extra features:

  • New scripting functions (include a_amx.inc to use them).

  • In addition to these new native functions, gamemodes run in amx can also call Lua functions. Lua scripts can in turn call public Pawn functions.

    Using Lua not only gives you access to the wide range of MTA functions that offer a lot of functionality that SA-MP doesn't have, but also allows you to write code in a much more comfortable and efficient fashion than Pawn. For example, while Pawn is a subset of C and requires you to create a temporary buffer and call one or more functions to concatenate strings, you can simply do str1 = str2 .. str3 in Lua.

  • You can load plugins dynamically, while the server is running. Use the loadplugin console command for this.

  • There is no hard-coded max filterscript count, the number of running filterscripts is unlimited.

Pawn-Lua interaction

The cross-language interaction guide available here.

Limitations

  • See issues for a list of features which are currently missing.
  • Check the current list of already documented limitations on this page.

Credits

amx was developed by arc_. Special thanks go out to all contributors.

Additional thanks to everyone who tested or participated in group tests during the initial development.

Clone this wiki locally