Modules

From Multi Theft Auto: Wiki
Revision as of 16:14, 6 June 2022 by Quiret (talk | contribs) (added hint about using Lua on Linux)
Jump to navigation Jump to search

Modules are extensions for Multi Theft Auto's Lua core, allowing the integration and use of custom Lua functions that have been written in C++, and compiled as a DLL or SO file. Modules are commonly used to create functions for such purposes that Multi Theft Auto lacks, such as sockets. All modules listed here are not distributed with Multi Theft Auto, and must be manually installed.

Modules list

You can view a list of all the documented modules here:

Modules SDK

To be able to create your own modules, you must use the Modules SDK. You can download it from one of the links below - choose a link in accordance with your server's operating system.

SDK Functions

  • Currently in there:
    • Base:
      • HelloWorld
    • MySQL
      • MySQLCreate
      • MySQLOpen
      • MySQLDestroy
      • MySQLQuery
      • MySQLSafeString

Using Lua inside of Linux Modules

If you want to make use of Lua functions as exported by the MTA Server you have to link against the official deathmatch.so file. Then the export resolution during dlopen of your module will respect the symbol table of deathmatch.so which contains all of the Lua exports. Do NOT link against a static version of a freshly-compiled Lua library because that will create code conflicts and potentially crashes in the long run.