How to Move a SA-MP Server to open.mp (Migration Guide)
Move a SA-MP server to open.mp: copy gamemodes and scriptfiles, convert server.cfg with --dump-config, sort plugins and recompile with open.mp includes.
Updated Oct 7, 2026 · 5 min read
On this page
- Why move at all
- Step 1: Back up everything
- Step 2: Download open.mp and copy your files
- Step 3: Convert server.cfg to config.json
- Step 4: Sort the plugins
- Step 5: Start it with your old .amx
- Step 6: Recompile with open.mp includes
- Step 7: Point players at the new server
- Common migration problems
- Moving to a hosted open.mp server
- FAQ
To move a SA-MP server to open.mp, download the open.mp server, copy your gamemodes, filterscripts, scriptfiles and models folders across, convert server.cfg to config.json with omp-server --dump-config, move each plugin into either plugins (listed in legacy_plugins) or components, and start it. Your compiled .amx files usually run as they are. Recompiling with #include <open.mp> instead of #include <a_samp> is optional at first, but it is how you get the new functions and catch old bugs.
Players do not have to change anything. The regular SA-MP client can join an open.mp server, so your community can keep its old client while you move the server under it.

Why move at all
The original SA-MP server has not had meaningful updates in years, and its internet list is unreliable. open.mp is built to be backwards compatible with Pawn gamemodes while fixing long standing bugs, adding functions and shipping regular releases. It also has its own masterlist, which is where most players now find servers.
Step 1: Back up everything
Before touching anything, copy the whole SA-MP server folder somewhere safe. In particular:
scriptfiles/, which holds SQLite databases, INI user files and anything your scripts write- your MySQL database, if you use one (export it with your usual tool)
server.cfg- the source
.pwnfiles and every include you compile with
The migration does not touch player data if you copy it correctly, but a backup means a mistake costs minutes instead of your player base.
Step 2: Download open.mp and copy your files
Get the release for your system from the open.mp GitHub releases and extract it to a new folder. Then copy from the SA-MP server into the matching folders:
| From SA-MP | To open.mp | Notes |
|---|---|---|
gamemodes/ |
gamemodes/ |
.amx and .pwn files |
filterscripts/ |
filterscripts/ |
Same |
scriptfiles/ |
scriptfiles/ |
All player and server data |
models/ |
models/ |
Custom models, if you use them |
plugins/ |
plugins/ or components/ |
See Step 4 |
server.cfg |
server root | Converted in Step 3 |
Step 3: Convert server.cfg to config.json
open.mp can still read server.cfg, but config.json has more settings and is where the docs point you. To convert:
- Put your
server.cfgin the open.mp folder. - Delete the
config.jsonthat came with the download. - Run
omp-server --dump-config(Windows) or./omp-server --dump-config(Linux).
That writes a new config.json from your old settings. Check these afterwards:
| SA-MP server.cfg | open.mp config.json |
|---|---|
hostname |
name |
maxplayers |
max_players |
password |
password |
announce |
announce |
port |
network.port |
gamemode0 |
pawn.main_scripts |
filterscripts |
pawn.side_scripts |
plugins |
pawn.legacy_plugins |
rcon_password |
rcon.password |
Plugin names in legacy_plugins drop the .dll or .so extension, so streamer.so becomes "streamer". Make sure the RCON password is not changeme, because the server refuses to start with the default.
Step 4: Sort the plugins
This is where most migrations stall. Plugins fall into two groups:
- Legacy plugins stay in
plugins/and go inlegacy_plugins. The open.mp docs givecrashdetect,mysql,sscanf,streamer,PawnPlusandpawn-memoryas examples. - Component builds go in
components/and load without being listed. The docs namePawn.CMD,Pawn.RakNet,sampvoice,discord-connectorand recentsscanfreleases.
Some plugins exist in both forms. Use one, not both: loading the same plugin twice, once from each folder, invites conflicts. When a plugin has an open.mp component release, prefer it.
If you also move from Windows to a Linux server, every plugin needs its Linux .so build. Our open.mp plugin fix guide covers the load errors in detail.
Step 5: Start it with your old .amx
Start the server with your existing compiled gamemode and read the console. Most gamemodes load and play as before. Join with your usual client and test the basics: logging in, saving, spawning, vehicles, commands and anything that reads from scriptfiles or MySQL.
Step 6: Recompile with open.mp includes
When the server runs, move your source over to the open.mp includes:
- Copy your includes into
qawno/include. - Open the gamemode in
qawno. - Replace
#include <a_samp>with#include <open.mp>. - Press F5 to compile.
Expect warnings, not breakage. The docs list typical ones: functions renamed to their British spelling (TextDrawColor becomes TextDrawColour), tag mismatches where an integer is used as a boolean, and callbacks that now use proper enums. Each warning points at a real line, and fixing them often clears up old bugs. Update YSI and other big libraries to recent versions at the same time.

Step 7: Point players at the new server
If the address changes, announce it in your Discord and in game on the old server. Keep announce set to true so the server appears on the open.mp masterlist, and tell players that the open.mp launcher is the easiest way to find it, though their SA-MP client still works.
Common migration problems
| Problem | Likely cause |
|---|---|
| Server exits right away | rcon.password is changeme, or main_scripts names a file that does not exist |
| "Failed to load" for a plugin | Wrong platform build, or listed in legacy_plugins while also in components |
| Commands stop working | An outdated Pawn.CMD build. Use its current open.mp component release |
| Player data missing | scriptfiles not copied, or MySQL settings point at the old host |
Moving to a hosted open.mp server
A GamezServers open.mp server runs the Linux build, so bring Linux .so plugins. Upload your folders over SFTP, set the RCON password in the panel (it is written into config.json for you), and use the Version setting to pin the release you tested. Take a one click backup before switching your live community over. For a fresh start rather than a move, see our open.mp setup guide, and our general guide to moving a game server to a new host has a checklist for the switch day.
FAQ
Do I need to recompile my SA-MP gamemode for open.mp?
Usually not to get started. Most compiled .amx files run as they are. Recompiling with #include <open.mp> gives you the new functions and helpful warnings.
Will players lose their accounts when I move to open.mp?
No, as long as you copy scriptfiles and keep your MySQL database. Player data lives there, not in the server program.
Do players need the open.mp launcher?
No. The SA-MP client can join open.mp servers. The launcher is recommended for finding servers on the open.mp masterlist.
How do I convert server.cfg to config.json?
Delete the bundled config.json, keep your server.cfg in the folder, and run omp-server --dump-config.
Skip the setup. Your own open.mp server.
Then $4.99/mo. Just trying it? $1.25 for 3 days