Before building, make sure you have all required dependencies. See Requirements for the full list.
Clone the repository
The repository must be cloned as a git repo — plain file extraction is not supported (required by
dbtool.py).Install Python dependencies
The build system calls Python during CMake configuration to generate IPC stubs.
Configure with CMake
Run CMake to configure the build. The flags below match the defaults used in the CI pipeline and Docker image.CMake option reference:
| Option | Default | Description |
|---|---|---|
CMAKE_BUILD_TYPE | — | Release, Debug, RelWithDebInfo |
TRACY_ENABLE | OFF | Enable Tracy profiler instrumentation |
PCH_ENABLE | ON | Enable precompiled headers (speeds up builds) |
WARNINGS_AS_ERRORS | TRUE | Treat compiler warnings as errors |
ENABLE_CLANG_TIDY | OFF | Run clang-tidy during build |
Build
xi_connect— login/connection serverxi_search— search and auction house serverxi_world— world/lobby serverxi_map— zone map server (one or more instances)
Set up the database
Before starting the server, run the database tool to import all SQL files and run migrations:See Database setup for full details.
Building the Docker image
If you want to build a custom Docker image (for example, to include C++ modules), use the provided Dockerfiles.REPO_URL and COMMIT_SHA are required for dbtool.py unless you mount the host .git directory at runtime. They also add org.opencontainers.image labels that link to your source code.