百科目录
如何搭建 DayZ 服务器
在 Windows 上运行自己的 DayZ 服务器的分步指南:安装、启动文件、设置、模组和物资。
这是手动方式,从头到尾完整走一遍。第一次请预留一个晚上。这里不需要编程,但需要耐心:DayZ 对文件名里的拼写错误毫不留情。
你需要准备
- 一台始终开机的 Windows 机器。你自己的电脑可以用来测试,但只有服务器运行时玩家才能看到它。
- 在 Steam 上购买的 DayZ。服务器本身免费,但只有拥有游戏才会显示。
- 一个不会损坏文件的文本编辑器:Notepad++ 或 Sublime Text。Windows 自带的记事本勉强能用,但它喜欢加入隐藏字符。
- 大约 20 GB 的可用磁盘空间。
1. 安装服务器
在 Steam 库中把筛选从 Games 切换到 Tools(中文客户端里是“游戏”和“工具”),然后找到 DayZ Server。安装到默认位置,不要自作聪明挪到别处:
Steam\steamapps\common\DayZServer
你还需要第二个文件夹,也就是 Steam 存放你所订阅模组的文件夹:
Steam\steamapps\common\DayZ\!Workshop
2. 创建启动文件
服务器没有启动器。你要用一个小小的文本文件来启动它,这个文件告诉 Windows 运行什么、使用哪些设置。
在 DayZServer 文件夹中新建一个文本文件,命名为 start.bat。在里面写明四件事:使用哪个端口、服务器可以占用多少个处理器核心、读取哪个设置文件、加载哪些模组。
几乎每个人都会在这里栽在两件事上:
- Windows 默认隐藏文件扩展名,所以
start.bat会悄悄变成start.bat.txt,双击后只会在编辑器里打开,什么也不会启动。保存之前,先在资源管理器中打开扩展名显示。 - 核心数不能超过机器实际拥有的数量。要得更多并不会更快,只会更不稳定。
3. 服务器设置
主设置文件是 serverDZ.cfg,就在服务器旁边。你在这里设置玩家在列表中看到的名称、槽位数量、是否设密码以及谁算管理员。
里面有两个密码,它们不是一回事:
| 设置 | 作用 |
|---|---|
| password | 玩家加入时需要它。公开服务器请留空。 |
| passwordAdmin | 用于控制服务器。绝不要告诉别人,也绝不要使用你在其他地方用过的密码。 |
还要把 -config=serverDZ.cfg 加到启动参数中,否则服务器会以默认设置启动,忽略你刚刚写下的所有内容。
4. 端口
如果服务器在家里运行,需要在路由器上开放这些端口。租用的机器上通常已经开放。
| 端口 | 用途 |
|---|---|
| 2302 | 游戏本身。玩家连接的就是这个端口。 |
| 2303 至 2305 | 服务端口,服务器会连同主端口一起占用。 |
| 27016 | 让服务器出现在公共列表中。 |
5. 模组
即使你在 Steam 上订阅了某个模组,它也不会自动安装到服务器上。每个模组都要经过同样的三步。
- 把模组文件夹从
!Workshop复制到服务器文件夹,保留名称开头的@。 - 把模组的密钥,也就是扩展名为
.bikey的文件,复制到keys文件夹。没有密钥,服务器能启动,但谁也进不去。 - 把模组名称添加到
start.bat中的模组列表。多个模组依次排列,用分号隔开。
顺序很重要。如果某个模组的说明里写着它需要另一个模组,那么被依赖的模组要排在列表前面。
6. 物资
地图上各种物品刷出多少,由一个文件决定:
DayZServer\mpmissions\dayzOffline.chernarusplus\db\types.xml
每个物品在其中都有一行:地图上同时存在多少个、低于多少个时补充新的、一个物品放置多久后消失。
添加物品的模组会自带 types.xml,需要把它的内容合并到你的文件中。这是整个搭建过程中最烦人的部分,也是人们最常丢失工作成果的地方。
把你的 types.xml 复制一份,放在服务器文件夹以外的地方。游戏更新会不打招呼地用默认文件替换它,一整晚的平衡调整就白费了。
7. 启动
双击 start.bat。控制台窗口会打开,一两分钟后服务器就会出现在游戏内的列表中。请按名称搜索,不要靠滚动查找:首次启动时它可能排得很靠后。
服务器运行期间,不要编辑它的文件,也不要添加模组。先停止服务器,修改需要的内容,然后再启动。
出问题时
| 你看到的现象 | 该检查哪里 |
|---|---|
| 控制台打开后立即关闭 | start.bat 中的某个路径指向了不存在的位置,或者文件被保存成了 .bat.txt。 |
| 服务器已启动,但不在列表中 | 端口没有开放,或者启动参数中缺少 -config=serverDZ.cfg。 |
| 玩家收到模组不匹配的错误 | 某个 .bikey 文件没有放进 keys,或者模组版本不一致。 |
| 服务器启动后立刻崩溃 | 几乎总是 types.xml 的问题。把它粘贴到任意在线 XML 校验工具中,它会指出出错的行。 |
无论发生什么,答案通常都在 ServerProfiles 文件夹里的日志文件中。它们看起来很吓人,但崩溃前的最后几行通常会写明是哪个文件导致的。
