跳到主要内容
版本:0.3.1

安装

WukongMP 服务器当前以以下格式分发:

系统要求

服务器二进制文件本身是自包含的,但服务器端模组运行在 CoreCLR 上,而服务器在启动时就会启动它。这意味着这台机器上必须安装 .NET 10 运行时,即使你并不打算安装任何自己的模组。装 dotnet-runtime-10.0 包就够了,不需要 SDK。

Docker 镜像已经包含它了。

官方安装程序会把运行时装到服务器预期的位置,所以不需要再做别的。

备注

如果缺少运行时,服务器会在启动时退出,并报出 Cannot locate a .NET installation containing host/fxr,同时列出它检查过的目录。

二进制软件包

下载

平台架构下载
Linuxx64Linux 版下载
Windowsx64Windows 版下载

安装

将二进制包解压到你选择的位置。

解压后,目录结构应如下所示:

server/
├── server.exe # 主服务器二进制文件
├── config.json # 配置文件
├── mods/ # 客户端模组目录
| ├── WukongMp.Sdk/ # SDK 模组
| └── WukongMp.Coop/ # 合作模组
├── optional_mods/ # 将其中任意模组移动到 "mods" 文件夹以启用
| └── WukongMp.PvP/ # 对战模组
├── server_mods/ # 服务器端模组目录
| ├── WukongMp.Sdk.Serverside.dll # 服务器端 SDK
| └── WukongMp.Coop.Serverside.dll # 合作模组,服务器端
├── saves/ # 游戏存档目录(默认为空)
├── wwwroot/ # 管理面板资源
├── e_sqlite3.dll # 依赖项
└── aspnetcorev2_inprocess.dll # 依赖项

软件包已经带上了 SDK 和两种游戏模式,因此不需要再安装别的东西。联机合作模式开箱即用,它的客户端一半在 mods/ 中,服务器一半在 server_mods/ 中。

两种游戏模式互斥,所以换成对战模式意味着要移除联机合作模组:

  1. WukongMp.PvPoptional_mods/ 移动到 mods/
  2. mods/ 中删除 WukongMp.Coop 文件夹。
  3. server_mods/ 中删除 WukongMp.Coop.Serverside.dllWukongMp.Coop.Common.dll。其余文件请保留,它们属于 SDK。

对战模组没有自己的服务器端一半,所以不需要往 server_mods/ 里添加任何东西。

两种游戏模式同样是开源的,所以你也可以自己构建,而不使用随包分发的构建产物:联机合作模组对战模组。每个仓库都有一个 MakeModFolder.ps1 脚本,它会生成对应客户端一半的 Output/mods/ 文件夹和对应服务器一半的 Output/server_mods/ 文件夹,结构与上面一致。服务器如何加载它们,请参见模组管理

配置

您可以通过编辑 config.json 文件来调整服务器设置。在以下表格中,使用 : 记法来表示嵌套设置。

设置类型目的
Server:Port数字服务器监听传入连接的端口
Server:Passwordstring可选。设置后,玩家在加入时必须在启动器中输入此密码。留空或省略以表示开放服务器。
Telemetry:OptOut布尔值设置为 true 即可选择不向 ReadyM 发送匿名遥测。默认值为 false
备注

服务器:密码 对包括管理员和白名单用户在内的每位玩家都需要通过密码进行验证。受密码保护的服务器在公开服务器列表中显示为带锁的图标。

首次启动

通过运行 server.exe 二进制文件来启动服务器。

首次启动时,服务器在服务器文件夹内创建一个 data/ 目录。该目录包含用于存储持久数据的 web.db 数据库文件。

除非在 config.json 中进行了更改,否则服务器将监听以下端口:

端口协议目的
9050UDP游戏网络流量(玩家连接、游戏状态同步等)
9050HTTP后台管理面板

Docker

也提供了基于 Linux 的 x64 Docker 镜像,供偏好容器化部署的用户使用。

从注册表拉取镜像:

docker pull ghcr.io/readycodeio/wukongmp-server:0.3.1

从镜像中复制配置文件:

docker create --name wukongmp-tmp ghcr.io/readycodeio/wukongmp-server:0.3.1
docker cp wukongmp-tmp:/app/config.json ./config.json
docker rm wukongmp-tmp

运行:

docker run \
-p 9050:9050/udp -p 9050:9050/tcp \
-v ./data:/app/data \
-v ./mods:/app/mods \
-v ./server_mods:/app/server_mods \
-v ./saves:/app/saves \
-v ./config.json:/app/config.json \
--name wukongmp-server \
ghcr.io/readycodeio/wukongmp-server:0.3.1
important

镜像 不带模组。在启动容器之前,请把 WukongMp.Sdk 和其中一种游戏模式放进你的 mods/ 卷,并把对应的服务器端模组放进 server_mods/ 卷。联机合作模式需要两半都有;对战模式没有服务器端一半。

获取它们有两种方式:

  • 从二进制软件包获取。 下载上面的 ZIP 文件,把其中 mods/optional_mods/server_mods/ 目录里的内容复制出来。
  • 从源码构建。 两种游戏模式都是开源的:联机合作模组对战模组。分别在各自仓库中以 Release 参数运行 MakeModFolder.ps1 脚本,然后把生成的 Output/mods/Output/server_mods/ 文件夹中的内容复制过去。

配置

端口的配置是通过在 docker run 命令或 Docker Compose 文件中重新映射容器端口来完成的。例如,要使用端口 9060 而不是 9050,请将端口部分更改为:

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