A SA-MP or open.mp server has no classic mod system. It is extended in four ways:
| Way | What it is | Target folder |
|---|---|---|
| Gamemode | The main script that defines what happens on the server (roleplay, racing, freeroam …) | /gamemodes/ |
| Filterscript | A small additional script that runs alongside the gamemode | /filterscripts/ |
| Plugin | A native extension of the server, e.g. for MySQL or the streamer | /plugins/ |
| Custom models / artwork | Your own 3D models and textures as .dff and .txd files |
/models/ |
Install a gamemode
-
Stop the server
Stop your server via the dashboard. -
Connect via SFTP
Connect to your server via SFTP. -
Upload the gamemode
Upload the.amxfile of your gamemode to the following directory:/gamemodes/ -
Register the gamemode
Enter the file name without the.amxextension in your configuration.open.mp –
config.json:{ "pawn": { "main_scripts": ["my-gamemode 1", "second-gamemode 1"] } }SA-MP –
server.cfg:gamemode0 my-gamemode 1The number behind it defines how many rounds the gamemode runs before the server switches to the next entry. In
config.jsonyou separate several gamemodes with a comma – if you only use one gamemode, remove the second entry including the comma. -
Start the server
Save the change and start your server.
Install a filterscript
Filterscripts run in addition to the gamemode and can be combined freely.
-
Upload the filterscript
Upload the.amxfile via SFTP to the following directory:/filterscripts/ -
Register the filterscript
open.mp –
config.json:{ "pawn": { "side_scripts": ["filterscripts/Race_System", "filterscripts/Anticheat"] } }SA-MP –
server.cfg:filterscripts Race_System Anticheat AdminspecIn
config.jsonyou separate several filterscripts with a comma – if you only use one filterscript, remove the second entry including the comma. Inserver.cfgyou separate several filterscripts with spaces. -
Start the server
Save the change and start your server.
Install a plugin
-
Upload the plugin
Upload the.sofile via SFTP to the following directory:/plugins/ -
Place the include
If the plugin ships an include file (e.g.streamer.incorsscanf2.inc), it belongs in the following directory so you can compile your gamemode against it:/qawno/include/ -
Register the plugin
open.mp –
config.json:{ "pawn": { "legacy_plugins": ["mysql", "streamer"] } }SA-MP –
server.cfg:plugins mysql.so streamer.so -
Start the server
Save the change and start your server.
Add custom models
Custom models let you bring your own vehicles, objects or skins onto the server. Players download these files automatically when they connect – they do not have to install anything.
-
Upload the models
Upload your.dffand.txdfiles via SFTP to the following directory:/models/ -
Enable artwork
open.mp –
config.json:{ "artwork": { "enable": true, "models_path": "models" } }SA-MP –
server.cfg:useartwork 1 artpath models -
Register the models in the script
The files alone are not enough. Your gamemode has to register the models inOnGameModeInitusingAddSimpleModelorAddCharModel. Only then are they delivered to the players. -
Start the server
Save the changes and start your server.
Where do scripts store their data?
Everything a gamemode stores permanently – accounts, houses, vehicles, statistics – is created by the script itself. The only folder Pawn scripts are allowed to write to is:
/scriptfiles/
