- Visual Studio 2019+ (or Visual Studio Build Tools) with the C++ Desktop workload installed
Open a command prompt in the repository root and run:
build_client.bat # Build Release client (default)
build_client.bat debug # Build Debug client
build_client.bat release # Build Release client (explicit)
build_client.bat clean # Clean all build artifactsThe script auto-detects your MSBuild installation via vswhere.exe. Build output is placed in bin_win32/.
- Visual Studio 2019+ with the C++ Desktop workload
- Windows Driver Kit (WDK) matching your Windows SDK version
The driver project is at source/src/anticheat/driver/phanticheat.vcxproj. Build it with MSBuild (x64 only):
msbuild source\src\anticheat\driver\phanticheat.vcxproj /p:Configuration=Release /p:Platform=x64Or open the .vcxproj in Visual Studio and build from there. Output is placed in bin_win32/ as phanticheat.sys, alongside ac_client.exe.
Docker builds the server from source on Linux (Ubuntu 22.04) and runs it alongside a web monitoring dashboard.
- Docker and Docker Compose
docker compose starts two services:
| Service | Port | Description |
|---|---|---|
| acserver | UDP 28763 (game), UDP 28764 (server info) | Game server |
| dashboard | TCP 8080 | Web dashboard for live player stats and anti-cheat telemetry |
Build images and start both services in the background:
docker compose up -dVerify the services are running:
docker compose psServer config files live in the config/ directory and are bind-mounted into the container, so edits take effect without rebuilding the image. Key files:
| File | Purpose |
|---|---|
config/servercmdline.txt |
Startup flags (port, max clients, MOTD, etc.) |
config/maprot.cfg |
Map rotation |
config/serverpwd.cfg |
Server and admin passwords |
config/serverblacklist.cfg |
IP blacklist |
config/serverparameters.cfg |
Runtime parameters (re-read every 60 s) |
After editing config, restart the server to pick up the changes:
docker compose restart acserverWhen you modify server source code, rebuild the images and restart:
docker compose up -d --buildTo rebuild only a specific service:
docker compose up -d --build acserver # rebuild server only
docker compose up -d --build dashboard # rebuild dashboard onlydocker compose logs -f # all services
docker compose logs -f acserver # server only
docker compose logs -f dashboard # dashboard onlyServer file logs are also persisted to the logs/ directory on the host.
Stop and remove all containers:
docker compose downTo also remove the shared data volume:
docker compose down -v