Fixesopen.mp

open.mp Plugin Failed to Load? Fixes for Linux and Windows Servers

Fix open.mp plugins that will not load: a .dll on Linux, wrong legacy_plugins names, 64 bit builds, missing libraries or plugins that belong in components.

Updated Oct 7, 2026 · 5 min read

On this page

When an open.mp plugin fails to load, it is nearly always one of five things: a Windows .dll uploaded to a Linux server (Linux needs the .so build), a name in pawn.legacy_plugins that does not match the file exactly, a 64 bit build on the 32 bit server, a shared library the plugin depends on that is missing from the machine, or a plugin that is meant to go in components/ instead of plugins/. The server console names the plugin that failed, and the line after it usually says which of these it is.

This matters more than it seems, because many gamemodes crash or behave strangely when a plugin is missing. A "broken gamemode" after a move is often just one plugin that never loaded.

A San Andreas street on an open.mp server

How open.mp loads plugins

open.mp has two places for native code:

Folder What goes there How it loads
plugins/ Classic SA-MP plugins, like streamer, mysql, crashdetect, PawnPlus Only if listed in pawn.legacy_plugins in config.json
components/ open.mp components, including current Pawn.CMD, Pawn.RakNet and recent sscanf builds Everything in the folder loads on start

A healthy config.json block:

"pawn": {
  "main_scripts": ["mygamemode 1"],
  "side_scripts": [],
  "legacy_plugins": ["crashdetect", "mysql", "streamer"]
}

Cause 1: A Windows .dll on a Linux server

This is the classic. SA-MP and open.mp plugins are compiled per platform. A Linux server cannot load a .dll, and a Windows server cannot load a .so. If you developed on Windows and moved to a Linux host, every plugin needs to be swapped for its Linux release.

Fix: download the Linux build from each plugin's releases page. The file you want ends in .so, often in an archive named for Linux. Upload it to plugins/ (or components/) and delete the .dll.

Cause 2: The name in legacy_plugins does not match

legacy_plugins takes the file name without the extension. The server adds .so or .dll itself.

File in plugins/ Correct entry Wrong entries
streamer.so "streamer" "streamer.so", "Streamer"
mysql.so "mysql" "mysql_static" (unless that is the file name)
crashdetect.so "crashdetect" "plugins/crashdetect"

Linux file names are case sensitive, so Streamer and streamer are different files. Rename the file or fix the entry so they match exactly. Some releases ship with names like mysql_static.so. Either rename the file to mysql.so or list "mysql_static".

Cause 3: A 64 bit build on a 32 bit server

The open.mp Linux server is a 32 bit (x86) program, like SA-MP before it. It can only load 32 bit plugins. Most SA-MP plugin releases are 32 bit for exactly this reason, but if you compiled a plugin yourself on a 64 bit system, or grabbed the wrong archive, the loader rejects it. On Linux the error often mentions wrong ELF class.

Fix: use the official release or compile with 32 bit flags (-m32). You can check a file with:

file plugins/streamer.so

You want to see ELF 32-bit in the output.

Cause 4: A missing system library

Some plugins depend on shared libraries that must exist on the machine: MySQL plugins on SSL and MySQL client libraries, others on a recent C++ runtime. When one is missing, the error usually reads cannot open shared object file followed by the library's name, or complains about a GLIBC or GLIBCXX version.

Fix options, in order of preference:

  1. Use the plugin's static build if it has one. Static builds bundle their dependencies.
  2. If you run your own Linux machine, install the 32 bit version of the missing library (on Debian and Ubuntu, packages ending in :i386).
  3. Use ldd plugins/mysql.so to list exactly which libraries are missing.

On a managed host you usually cannot install system packages, so the static build is the way to go.

Cause 5: It belongs in components, or it is loaded twice

Plugins that have been rebuilt as open.mp components do not go in legacy_plugins. The open.mp docs name Pawn.CMD, Pawn.RakNet, sampvoice, discord-connector and recent sscanf releases as components. Put those in components/ and remove them from legacy_plugins.

Do not keep two copies. An old sscanf.so in plugins/ listed in legacy_plugins plus a new sscanf component is asking for trouble. Pick the component and remove the legacy copy.

Cause 6: Version mismatch between include and plugin

A plugin can load fine and still break things if your gamemode was compiled with a different version of its include. Streamer and sscanf are frequent offenders: the console may warn about a version mismatch, or natives behave oddly. Recompile the gamemode with the include from the same release as the plugin binary.

An open.mp roleplay server in San Andreas

Quick reference

Symptom Fix
Server cannot find the plugin file Name in legacy_plugins differs from the file, or the file is not in plugins/
File is found but will not load .dll on Linux, .so on Windows
wrong ELF class 64 bit build. Use the 32 bit release
cannot open shared object file Missing system library. Use the static build
Loaded, but natives fail Include and plugin versions do not match

Plugins on a hosted open.mp server

A GamezServers open.mp server runs the Linux build, so upload .so files, preferably static builds, to plugins/ or components/ with the file manager or SFTP, and edit config.json in place. The live console shows each plugin loading the moment you restart, so you can fix one entry, restart and check without guessing. Take a one click backup before a plugin overhaul so you can roll back if a new build misbehaves. If you are bringing a whole SA-MP server over, our SA-MP to open.mp migration guide covers the full move, and the open.mp setup guide covers config.json from scratch.

FAQ

Where do plugins go on an open.mp server?

Classic SA-MP plugins go in plugins/ and must be listed in pawn.legacy_plugins. open.mp components go in components/ and load automatically.

Do I include .so in legacy_plugins?

No. List the name only, such as "streamer". The server adds the extension for the platform.

Can I use SA-MP plugins on open.mp?

Yes. Most SA-MP plugins load as legacy plugins. Some have newer component builds, which are the better choice.

Why does my plugin work on Windows but not Linux?

You need the Linux .so build of that plugin, and it must be 32 bit. Windows .dll files cannot load on Linux.

Skip the setup. Your own open.mp server.

$2.49USD first month

Then $4.99/mo. Just trying it? $1.25 for 3 days

Keep reading