New

EmeraldHost 2.0 is here: faster, more intuitive, and made for everyone - the new panel!

Learn more
Guides
How to Add Mods to Your GTA San Andreas Server

How to Add Mods to Your GTA San Andreas Server

Add gamemodes, filterscripts, plugins and custom models to a GTA San Andreas server

5 min read
Jul 30, 2026

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

  1. Stop the server
    Stop your server via the dashboard.

  2. Connect via SFTP
    Connect to your server via SFTP.

  3. Upload the gamemode
    Upload the .amx file of your gamemode to the following directory:

    /gamemodes/
    
  4. Register the gamemode
    Enter the file name without the .amx extension in your configuration.

    open.mp – config.json:

    {
        "pawn": {
            "main_scripts": ["my-gamemode 1", "second-gamemode 1"]
        }
    }
    

    SA-MP – server.cfg:

    gamemode0 my-gamemode 1
    

    The number behind it defines how many rounds the gamemode runs before the server switches to the next entry. In config.json you separate several gamemodes with a comma – if you only use one gamemode, remove the second entry including the comma.

  5. 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.

  1. Upload the filterscript
    Upload the .amx file via SFTP to the following directory:

    /filterscripts/
    
  2. Register the filterscript

    open.mp – config.json:

    {
        "pawn": {
            "side_scripts": ["filterscripts/Race_System", "filterscripts/Anticheat"]
        }
    }
    

    SA-MP – server.cfg:

    filterscripts Race_System Anticheat Adminspec
    

    In config.json you separate several filterscripts with a comma – if you only use one filterscript, remove the second entry including the comma. In server.cfg you separate several filterscripts with spaces.

  3. Start the server
    Save the change and start your server.

Install a plugin

  1. Upload the plugin
    Upload the .so file via SFTP to the following directory:

    /plugins/
    
  2. Place the include
    If the plugin ships an include file (e.g. streamer.inc or sscanf2.inc), it belongs in the following directory so you can compile your gamemode against it:

    /qawno/include/
    
  3. Register the plugin

    open.mp – config.json:

    {
        "pawn": {
            "legacy_plugins": ["mysql", "streamer"]
        }
    }
    

    SA-MP – server.cfg:

    plugins mysql.so streamer.so
    
  4. 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.

  1. Upload the models
    Upload your .dff and .txd files via SFTP to the following directory:

    /models/
    
  2. Enable artwork

    open.mp – config.json:

    {
        "artwork": {
            "enable": true,
            "models_path": "models"
        }
    }
    

    SA-MP – server.cfg:

    useartwork 1
    artpath models
    
  3. Register the models in the script
    The files alone are not enough. Your gamemode has to register the models in OnGameModeInit using AddSimpleModel or AddCharModel. Only then are they delivered to the players.

  4. 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/
Written byEmeraldHost Team
Last updated on Aug 29, 2026 Edit on GitHub

Did this article help you?

Your feedback helps us improve our guides.

Help shape the guides

€10.00 in credit for every new guide, €5.00 for every improvement.

Contact Support

Create a support ticket and our team will get back to you as soon as possible – personal and professional.

Go to Support
1257 members online

Discord Community

Connect with other players, get quick help from the community, and stay up to date with the latest news.

Join Discord
GTA San Andreas

Ready to get started?

Rent your GTA San Andreas Server now

Join our Discord community 1257 members online right now