PitchHut logo
Multiplayer mod with full compatibility for SA-MP.
Pitch

Open Multiplayer offers a fully backwards compatible mod for SA-MP, enhancing the multiplayer experience. It provides a robust SDK, allowing developers to create and extend functionalities while ensuring compatibility across versions. Ideal for game enthusiasts looking to innovate within a familiar framework.

Description

Open Multiplayer is a multiplayer modification that maintains full backwards compatibility with SA-MP, enhancing the online gaming experience for users. This project provides a structured framework that includes core SDK headers, server implementation details, and various components designed for extensibility and modularity.

Structure of the Repository

The repository is organized into several key directories:

PathContent
SDK/includeContains core SDK headers that are stable across versions.
SDK/include/Server/Components/*/Houses headers for components and plug-in SDKs, also stable across versions.
Shared/NetCode/Includes netcode headers responsible for RPC and packet structures; this content may vary between versions.
Shared/Network/Contains network utility headers, which might not remain stable.
lib/A collection of various submodules and third-party libraries.
Server/Source/The main implementation of the server, subject to change in future versions.
Server/Components/*/Implementation details for components/plug-ins, not stable across versions.

Core Concepts

The project is built around several fundamental concepts:

NameDescription
EntityRepresents a 3D object in the game world.
PoolA container that consists of entities with a limited number of IDs.
ComponentA separable module designed for specific functionalities.
ExtensibleAllows for extensions that maintain ABI compatibility.
ExtensionAdds extra features to an extensible component without breaking compatibility.

Required Tools

To build and work with Open Multiplayer, the following tools are recommended:

Windows Development Tools

  • Visual Studio 2019+ with the Desktop development with C++ workload and C++ Clang tools for Windows component is required for building on Windows.

Clone the Repository

To clone the Open Multiplayer repository and its submodules, use the following command:

# With HTTPS:
git clone --recursive https://github.com/openmultiplayer/open.mp
# With SSH:
git clone --recursive git@github.com:openmultiplayer/open.mp

Building the Project

Specific build instructions for Windows and Mac are as follows:

On Windows

cd open.mp
mkdir build
cd build
cmake .. -A Win32 -T ClangCL
cmake --build . --config RelWithDebInfo

On Mac

If using Homebrew, install Conan as shown, ensuring the correct version:

brew install conan@1
sudo ln -s /usr/local/opt/conan@1/bin/conan /usr/local/bin/conan
cd open.mp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

This robust framework offers an excellent opportunity for developers looking to create engaging and connected gaming experiences, capitalizing on the existing SA-MP community.

0 comments

No comments yet.

Sign in to be the first to comment.