Skip to main content
Version: 0.4.1

Installation

The WukongMP server is currently distributed in the following formats:

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.

The official installer puts the runtime where the server expects it, so there is nothing else to do.

note

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

PlatformArchitectureDownload
Linuxx64Download for Linux
Windowsx64Download for Windows

Installation

Extract the binary package to a location of your choice.

After extraction, the directory structure should look like this:

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...

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:

  1. Move WukongMp.PvP from optional_mods/ into mods/.
  2. Delete the WukongMp.Coop folder from mods/.

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.

SettingTypePurpose
Server:PortnumberThe port on which the server listens for incoming connections
Server:PasswordstringOptional. When set, players must enter this password in the Launcher to join. Leave empty or omit for an open server.
Telemetry:OptOutbooleanSet to true to opt out of sending anonymous telemetry to ReadyM. Defaults to false.
note

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:

PortProtocolPurpose
9050UDPGame traffic (player connections, game state synchronization, etc.)
9050HTTPAdmin 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 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
important

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/ and optional_mods/ directories.
  • From source. Both game modes are open source: co-op mod and PvP mod. Run each repository's MakeModFolder.ps1 script with the Release argument, then copy the mod folder out of the resulting Output/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:

docker-compose.yml
ports:
- "9060:9060/tcp"
- "9060:9060/udp"