Installation
The WukongMP server is currently distributed in the following formats:
- Binary package
- Docker image
Requirements
The server binary itself is self-contained, but server-side mods run on CoreCLR, which the server starts at launch. That means the .NET 10 runtime has to be installed on the machine, even if you do not intend to install any mods of your own. The dotnet-runtime-10.0 package is enough, you do not need the SDK.
The Docker image already includes it.
- Windows
- Linux
The official installer puts the runtime where the server expects it, so there is nothing else to do.
Install it with your package manager, or with Microsoft's install script. The server looks for the runtime in the usual locations, in this order:
/usr/lib/dotnet(Debian and Ubuntu packages)/usr/lib64/dotnet(Fedora and RHEL)/usr/share/dotnet(Microsoft packages and the install script)~/.dotnet
A directory only counts if it actually contains host/fxr, so a leftover from an uninstalled version does not get in the way. If your runtime lives somewhere else, point DOTNET_ROOT at it:
DOTNET_ROOT=/opt/dotnet ./server
Check where yours is with dotnet --info | grep 'Base Path'.
If the runtime is missing, the server exits at startup with Cannot locate a .NET installation containing host/fxr and lists the directories it checked.
Binary package
Downloads
| Platform | Architecture | Download |
|---|---|---|
| Linux | x64 | Download for Linux |
| Windows | x64 | Download for Windows |
Installation
Extract the binary package to a location of your choice.
After extraction, the directory structure should look like this:
- Windows
- Linux
server/
├── server.exe # Main server binary
├── config.json # Configuration file
├── mods/ # Installed mods, one folder each
| ├── WukongMp.Sdk/ # SDK mod
| └── WukongMp.Coop/ # Co-op mod
├── optional_mods/ # Move any of these mods to the "mods" folder to enable them
| └── WukongMp.PvP/ # PvP mod
├── saves/ # Directory for game saves (empty by default)
├── wwwroot/ # Admin panel assets
└── other dependency files...
server/
├── server # Main server binary
├── config.json # Configuration file
├── mods/ # Installed mods, one folder each
| ├── WukongMp.Sdk/ # SDK mod
| └── WukongMp.Coop/ # Co-op mod
├── optional_mods/ # Move any of these mods to the "mods" folder to enable them
| └── WukongMp.PvP/ # PvP mod
├── saves/ # Directory for game saves (empty by default)
├── wwwroot/ # Admin panel assets
└── other dependency files...
The package ships the SDK and both game modes, so there is nothing else to install. Co-op is enabled out of the box.
The two game modes are mutually exclusive, so switching to PvP means removing co-op:
- Move
WukongMp.PvPfromoptional_mods/intomods/. - Delete the
WukongMp.Coopfolder frommods/.
Both game modes are also open source, so you can build them yourself instead of using the shipped builds: co-op mod and PvP mod. Each repository has a MakeModFolder.ps1 script that produces an Output/mods/ folder holding the finished mod, matching the layout above. See Mod management for how the server loads it.
Configuration
You can adjust server settings by editing the config.json file. In the following table, the : notation is used to represent nested settings.
| Setting | Type | Purpose |
|---|---|---|
Server:Port | number | The port on which the server listens for incoming connections |
Server:Password | string | Optional. When set, players must enter this password in the Launcher to join. Leave empty or omit for an open server. |
Telemetry:OptOut | boolean | Set to true to opt out of sending anonymous telemetry to ReadyM. Defaults to false. |
Server:Password gates every player, including admins and whitelisted users. Password-protected servers are shown with a lock on the public server list.
First launch
Start the server by running the server.exe binary.
On first launch, the server creates a data/ directory inside the server folder.
This directory contains the web.db database file, where persistent data is stored.
Unless changed in config.json, the server listens on the following ports:
| Port | Protocol | Purpose |
|---|---|---|
| 9050 | UDP | Game traffic (player connections, game state synchronization, etc.) |
| 9050 | HTTP | Admin panel |
Docker
A Linux-based x64 Docker image is also available for those who prefer containerized deployments.
Pull the image from the registry:
docker pull ghcr.io/readycodeio/wukongmp-server:0.4.1
Copy the config file from the image:
docker create --name wukongmp-tmp ghcr.io/readycodeio/wukongmp-server:0.4.1
docker cp wukongmp-tmp:/app/config.json ./config.json
docker rm wukongmp-tmp
Run:
- Docker
- Docker Compose
docker run \
-p 9050:9050/udp -p 9050:9050/tcp \
-v ./data:/app/data \
-v ./mods:/app/mods \
-v ./saves:/app/saves \
-v ./config.json:/app/config.json \
--name wukongmp-server \
ghcr.io/readycodeio/wukongmp-server:0.4.1
services:
server:
image: ghcr.io/readycodeio/wukongmp-server:0.4.1
container_name: wukongmp-server
restart: unless-stopped
ports:
- "9050:9050/tcp"
- "9050:9050/udp"
volumes:
- ./data:/app/data
- ./mods:/app/mods
- ./saves:/app/saves
- ./config.json:/app/config.json
The image ships without mods. Before starting the container, put the WukongMp.Sdk folder and exactly one game mode into your mods/ volume. Each mod folder carries both of its halves, so there is nothing else to place.
You can get them two ways:
- From the binary package. Download the ZIP above and copy the folders out of its
mods/andoptional_mods/directories. - From source. Both game modes are open source: co-op mod and PvP mod. Run each repository's
MakeModFolder.ps1script with theReleaseargument, then copy the mod folder out of the resultingOutput/mods/.
Configuration
Configuring the port is done by remapping the container ports in the docker run command or Docker Compose file. For example, to use port 9060 instead of 9050, change the ports section to:
ports:
- "9060:9060/tcp"
- "9060:9060/udp"