mirror of
https://github.com/alterware/master-server.git
synced 2025-09-17 21:37:26 +00:00
a96634787e47cd0da5e84a67b94868f8add8fd66
AlterWare: Master Server
This is the master server our clients use. It is based on the DP Master Server (ID Tech) protocol
Usage
Run using Docker
docker run -p 20810:20810/udp -e AW_STATS_LOCATION=<UTF-8 C-string> alterware/master-server:latest
When setting the AW_STATS_LOCATION
environment variable, you may want the container to write stats to a file or directory on the host system. In this case, you must mount a directory from the host into the container and ensure it has write permissions.
or run as a systemd service
[Unit]
Description=AlterWare Master Server
After=network.target
[Service]
Type=simple
ExecStart=<working dir>/alterware-master
WorkingDirectory=<working dir>
Environment="AW_STATS_LOCATION=/var/www/<domain name>/html/stats.json"
StandardOutput=null
Restart=on-failure
RestartSec=10
KillMode=process
User=<username>
Group=<group name>
[Install]
WantedBy=multi-user.target
Build
- Install Premake5 and add it to your system PATH
- Clone this repository using Git
- Update the submodules using
git submodule update --init --recursive
- Run Premake with either of these two options
premake5 vs2022
(Windows) orpremake5 gmake
(Linux/macOS)
IMPORTANT Requirements for Unix systems:
- Compilation: Please use Clang as the preferred compiler
- Dependencies: Ensure the LLVM C++ Standard library is installed
- Alternative compilers: If you opt for a different compiler such as GCC, use the Mold linker
- Customization: Modifications to the Premake5.lua script may be required
- Platform support: Details regarding supported platforms are available in build.yml. Linux ARM64 should be supported out of the box even if it's not present in the CI scripts
Languages
C++
96.6%
Lua
2.9%
Dockerfile
0.5%