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 |
- CMake 3.19+
- Conan 1.57+ (You can't use conan v2.x, so may need to download directly from github releases or install it using
pip3 install conan==1.57.0
)
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 you must ensure you get the correct version; however, the cmake-conan script will not detect it from the default install location. You must therefore also alias it elsewhere:
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