San Andreas Multiplayer has been running roleplay, freeroam and deathmatch servers for well over a decade, and open.mp is the modern way to host one. It is a multiplayer mod for GTA San Andreas that is built to be compatible with existing SA-MP scripts and clients, while fixing long-standing bugs and adding features SA-MP never had. Running a good server comes down to understanding how scripts load, keeping plugins compatible, and treating your database with care. This guide covers each of those, then explains how we set a server up for you on GGHOST Cloud.
How an open.mp server works
The server is a single program, omp-server, that runs your gamemode: a script written in Pawn and compiled into an .amx file. The gamemode decides everything about your server, from spawn points and vehicles to jobs, houses and admin commands. On top of it you can load filterscripts, smaller scripts for separate features such as a map, an anti-cheat or an admin tool.
Because open.mp is designed to run SA-MP gamemodes, most existing servers can move across with little or no change to their scripts. Players can join with the SA-MP 0.3.7 client or with the open.mp launcher.
config.json
open.mp’s settings live in config.json. It can still read a legacy server.cfg, but config.json is recommended because it exposes more settings. The keys you will touch most often:
name: the server name shown in the server browser.max_players: how many players can join.password: set it to lock the server for private testing.rcon.password: the remote console password. If it is left as the defaultchangeme, the server will not start.pawn.main_scripts: the gamemode to load.pawn.side_scripts: filterscripts, written asfilterscripts/name.pawn.legacy_plugins: SA-MP-style plugins to load, listed by name.
If you need a fresh file to start from, omp-server --default-config generates one, and --dump-config writes out your current settings.
Components and plugins
open.mp has two kinds of native extensions, and putting them in the wrong place is a common reason a server fails to start:
componentsholds open.mp components. Some popular extensions, such as Pawn.CMD, Pawn.RakNet and sampvoice, need an open.mp-compatible build placed here rather than inplugins.pluginsholds legacy SA-MP plugins, which you list inpawn.legacy_plugins. Widely used examples include streamer, sscanf, crashdetect and the MySQL plugin.
Some plugins are no longer needed at all, because open.mp already includes what they provided. YSF is the usual example. Check each plugin’s page for an open.mp build or a note about compatibility before you upload it.
How much RAM and CPU does it need?
An open.mp server is light compared with most modern game servers. Memory and CPU are driven by the gamemode more than by the player count: how many vehicles and objects it creates, how much the streamer has to track, how often timers run and how many database queries fire per second. A small deathmatch server and a large roleplay server with thousands of streamed objects have very different needs even at the same player count.
We do not publish a fixed table for open.mp, because the gamemode matters so much. Tell us your gamemode, plugin list and expected player count, and we size it with you.
On GGHOST Cloud you pay for memory, not player slots.
max_playersis a value you set inconfig.json, not something we bill for.
Databases: SQLite or MySQL
Most roleplay and freeroam gamemodes store accounts, houses, vehicles and stats in a database.
- SQLite is built in and keeps the data in a single file inside the server folder. It suits small and medium servers and is easy to back up.
- MySQL or MariaDB through the MySQL plugin suits larger servers or setups where a website or panel also reads the data. On our Pterodactyl panel you have database access alongside the server.
Whichever you use, run queries through the plugin’s threaded functions rather than blocking calls, so a slow query does not freeze the whole server.
Performance tips for open.mp
- Use the streamer for objects. SA-MP clients can only show a limited number of objects at once. The streamer plugin loads objects, pickups and icons near each player, so large maps stay usable.
- Tune streaming.
network.stream_radiusandnetwork.stream_ratecontrol how far away and how often players are streamed to each other. Lower values reduce work on busy servers. - Watch your timers. Many short repeating timers are a common cause of lag in older gamemodes. Combine them where you can.
- Catch crashes properly. The crashdetect plugin gives readable errors with line numbers when a script misbehaves, which saves hours of guessing.
- Restart on a schedule. A daily restart with an in-game warning keeps long-running gamemodes tidy. Set it as a scheduled task in our panel.
Adding scripts and plugins safely
Upload compiled .amx files to gamemodes or filterscripts, components to components and legacy plugins to plugins, using the panel’s file manager or SFTP. Update config.json, restart, and read the console output.
- Use the right build. Plugins come as
.dllfiles for Windows and.sofiles for Linux. Make sure you upload the build that matches the server, and ask us if you are not sure which one you need. - Recompile after changing includes. Upload the new
.amx, not just the.pwnsource; the server runs the compiled file. - Back up before big changes. Take a backup before swapping gamemodes or upgrading the server, so you can roll back.
Backups and migrations
Your gamemode, scriptfiles and database are years of work for some communities. On GGHOST Cloud, backups run on a schedule you set and restore from the panel without opening a ticket. If you use MySQL, export the database as well before any major update.
Moving from SA-MP or another host? Bring your gamemode, filterscripts, scriptfiles folder, plugin list and database dump. Because open.mp aims to run SA-MP scripts as they are, most migrations are a matter of converting server.cfg to config.json and swapping in compatible plugin builds.
Getting your open.mp server on GGHOST Cloud
open.mp / SA-MP is set up on request at the moment, rather than ordered through checkout.
- Ask us on Discord (or open a ticket) with your gamemode, plugins and expected player count.
- We size it and quote a monthly price based on what you are running.
- We set it up on our Pterodactyl panel, usually within a few days. Singapore and Europe (France–Germany border) are live today; the United States (East, Central and West), the United Kingdom, India, Japan and Australia are available on demand.
- Connect. Your server address and port are shown in the panel; players add it to their favourites in the client.
You get the full panel: live console, file manager, SFTP, scheduled tasks, sub-users for your admins and database access. Every node is behind DDoS protection from our network providers, on every plan, and you can change the server build or startup flags from the panel and restart. No setup fee, no contract; billing is at app.gghost.cloud, and support comes from the people who run the servers, on Discord and at hello@gghost.cloud.
The short version
Run your Pawn gamemode on open.mp, configure it in config.json, set an RCON password before the first start, and keep components and legacy plugins in their own folders with the right builds. Use the streamer for large maps, keep database queries threaded, and back up scripts and data before every change.