
| Path |
Content |
| SDK/include |
Core SDK headers (stable between versions) |
| SDK/include/Server/Components/*/ |
Components/plug-in SDK headers (stable between versions) |
| Shared/NetCode/ |
Netcode headers (RPC and packet read/write structures, NOT stable between versions) |
| Shared/Network/ |
Network utility headers (NOT stable between versions) |
| lib/ |
Various submodules and third-party libraries |
| Server/Source/ |
Core server implementation (NOT stable between versions, do NOT use headers outside the Source folder) |
| Server/Components/*/ |
Components/plug-in implementation (NOT stable between versions, do NOT use headers outside the component's folder) |
| Name |
Description |
| Entity |
Something that can appear in the 3D world of the game |
| Pool |
Container of something with limited amount of IDs |
| Component |
Something that's conceptually different enough it can be separated into its own module |
| Extensible |
Something to which extensions can be added to preserve ABI compatibility |
| Extension |
Something which adds additional functionality to an extensible and preserves ABI compatibility |
Visual Studio needs the Desktop development with C++ workload with the C++ Clang tools for Windows component.
# With HTTPS:
git clone --recursive https://github.com/openmultiplayer/open.mp
# With SSH:
git clone --recursive git@github.com:openmultiplayer/open.mp
Note the use of the --recursive argument, because this repository contains submodules.
cd open.mp
mkdir build
cd build
cmake .. -A Win32 -T ClangCL
cmake --build . --config RelWithDebInfo
If you install conan via brew the cmake-conan script will not detect it from the default install location. You must therefore also alias it elsewhere:
brew install conan
sudo ln -s /usr/local/opt/conan/bin/conan /usr/local/bin/conan
cd open.mp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make