DayZ 开服,难点不是让进程启动,是客户端版本、地图任务、Workshop 模组、BattlEye 签名和持久化数据始终在同一组合里。这篇按 2026年8月3日 Bohemia 官方资料和 Steam AppInfo 整理,适合运营朋友服、求生社区服或带模组的长期世界。
我核验了官方 Linux 托管路线、App 223350、public Build 24041098、serverDZ.cfg 字段、启动参数、Workshop App 221100、模组路径和正常停服要求;没有实际下载或运行服务端。
DayZ现在可以用Linux开服吗
可以。旧教程常把DayZ专用服务器写成Windows限定,但Bohemia当前已维护正式的DayZ Linux Server托管指南,稳定版仍使用App 223350。因此,如果你熟悉systemd、文件权限和脚本运维,Linux可作为默认选项;如果你的现有工具链、服务端管理器或特定模组流程依赖Windows,则继续使用Windows。
选系统不要只看“能不能运行”,要看谁来维护。Linux通常更容易实现最小权限、定时备份和日志轮转;Windows的桌面工具对不熟悉命令行的管理员更友好。两者最终都要通过同一组进服、停服、备份和恢复验收。

配置怎么选
DayZ是持续世界、大地图、实体和中央经济系统共同驱动的游戏,CPU单核时间、内存、磁盘写入和模组脚本都会影响体验。不要把官方maxPlayers=60理解为某一个VPS必然承载60人。这只是配置上限,不是容量承诺。
采购时先固定四个变量:地图(Chernarus、Livonia或其他地图)、目标同时在线人数、模组数量与类型、世界经济和建筑的长期增长。作为测试起点,纯原版朋友服可从4核、8GB内存和SSD开始;带大量模组、高战利品量或大型建筑的社区服应提高内存与CPU余量。这些是建立样本的起点,还要根据RPT中的平均FPS、内存、玩家登录峰值和实际世界数据调整。
推荐目录结构
程序、配置、持久化数据和备份要分开:
/srv/dayz/
├── app/ # App 223350程序
├── config/ # serverDZ.cfg、BattlEye和参数清单
├── profiles/ # RPT、管理日志、RCON相关数据
├── missions/ # 当前任务模板的工作副本
├── workshop/ # 固定Workshop项与签名密钥
├── manifests/ # Build、模组ID、顺序和哈希
└── backups/ # 不由游戏进程直接覆盖
可以不完全采用这些路径,但要保持同样的责任分离。SteamCMD validate可能改写官方文件,不应让它成为你唯一的配置和任务备份。每个实例还要有独立instanceId、profiles、端口和storage路径。

安装App 223350
Linux官方指南使用具有DayZ许可的Steam账号,而不是笼统写成任何人都能匿名下载:
steamcmd \
+force_install_dir /srv/dayz/app \
+login YOUR_STEAM_LOGIN \
+app_update 223350 validate \
+quit
不要把Steam账号密码写进可公开读取的systemd unit、Git仓库或文章截图。更稳妥的方法是把下载/更新作为受控的维护任务,服务端进程本身使用无登录凭据的低权限用户运行。
安装后先记录实际Build ID和程序文件清单,不要立即往程序目录覆盖模组。先用原版任务验证基线,再逐批加模组,故障定位会简单很多。
端口怎么开
Bohemia的官方示例同时出现过-port=2301与-port=2302,并在serverDZ.cfg中给出steamQueryPort=2305和clientPort=2304。这意味着你必须以自己的实例配置为准,不能把网上不同教程的端口混在一起。
建议为单实例固定一组端口规则,例如游戏端口以2302开始,查询端口为2305,然后用ss -lunp、云安全组、主机防火墙和外部查询四处交叉验证。如果同机运行多实例,每一组都要分离,并在manifests中记录映射。
不要向全网开放BattlEye RCon、SSH或其他管理端口。RCon只对管理员固定IP、VPN或安全跳板可达,密码单独保管。
serverDZ.cfg最小起点
下面只保留决定服务器身份、安全和任务的字段:
hostname = "CHANGE_ME_DayZ_Server";
description = "Persistent survival world";
password = "";
passwordAdmin = "CHANGE_ME_ADMIN_PASSWORD";
maxPlayers = 20;
verifySignatures = 2;
forceSameBuild = 1;
enableWhitelist = 0;
instanceId = 1;
storageAutoFix = 1;
steamQueryPort = 2305;
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};
storageAutoFix=1可在检测到持久化文件损坏时用空数据替换损坏数据。这有助于恢复启动,但也意味着不能把“服务器又起来了”当成世界数据完整。必须同时有外部多代备份、日志告警和玩家标记验收。
verifySignatures=2是官方当前支持的签名验证值。不要因为某个模组签名错误就直接关闭全局验证;先检查mod顺序、keys目录、客户端版本和模组发布者的当前签名。
启动服务端
Linux官方路线的结构如下:
cd /srv/dayz/app
./DayZServer \
-config=/srv/dayz/config/serverDZ.cfg \
-port=2302 \
-BEpath=/srv/dayz/config/battleye \
-profiles=/srv/dayz/profiles \
-storage=/srv/dayz/missions/storage \
-dologs -adminlog -netlog -freezecheck
首次启动先不加模组,检查RPT、任务模板、实际socket、BattlEye与Steam列表。-freezecheck会在服务器冻结超过官方定义时间时停止并产生dump,它是可观测性辅助,不是自动修复。
如用systemd,进程用普通用户,ExecStop 发送官方指南使用的SIGINT,留出写入时间,而不是一开始就kill -9。自动重启只对异常退出生效,不在无限崩溃循环中覆盖有价值的日志。
Workshop模组怎么管
DayZ模组的Workshop项隶属消费端App 221100,官方Linux示例用Steam账号下载item,再将目录和keys/中的签名密钥引入服务端。生产上不要把所有Workshop目录无差别mount;维护一份有顺序的清单:
1559212036 Community Framework client-visible
1564026768 Community Online Tools client-visible
启动参数中,客户端也必须安装的模组用-mod;只在服务端运行、不传给客户端的才用-serverMod。分类错误会造成客户端缺内容、签名失败或把本应私有的服务端组件暴露给客户端。
每次更新先在预发副本下载,检查模组依赖、keys、启动日志和客户端进服,然后在维护窗口切换。对长期社区服,“最新”不等于“已验收”。
持久化与备份
DayZ世界备份要在正常停服后保护一组状态:
serverDZ.cfg、启动参数与端口映射;- 当前
mpmissions/<MissionName>.<TerrainName>工作副本; - 对应
instanceId的storage/persistence数据; - profiles中的RPT、管理和运行参数证据;
- Workshop ID、顺序、版本/哈希和keys;
- BattlEye/RCon配置的脱敏清单,秘密单独恢复。
备份完成后计算清单哈希,至少保留多个时间点且存在服务器以外。恢复不是解压成功就结束;要在全新目录中安装同Build和同模组组合,读取原世界,用测试角色检查物品、建筑、车辆和经济状态。
更新和回退
将更新拆成三个版本:游戏服务端Build、任务/经济配置版本、Workshop组合版本。任何一项变更都可以导致进服或世界状态异常,所以不在生产存档上原地尝试。
标准流程是:正常停服→完整备份→复制到预发→更新程序与模组→启动日志验收→客户端进服→保存重开→切换。回退时恢复整组组合,不要只恢复一个storage目录却保留新模组。
常见故障
服务器进程存在,列表里找不到
先检查实际-port和steamQueryPort,再检查云安全组、主机防火墙、socket监听和外部A2S。不要只在服务器内部对localhost测试。
玩家提示版本或模组不一致
对比服务端Build、客户端revision、forceSameBuild、有序模组清单和每个Workshop item的当前状态。检查keys是否属于本次下载的模组,而不是从旧备份混入。
重启后世界像新服
检查instanceId、任务template、-storage路径和当前用户权限。如果启用storageAutoFix,还要查日志是否因损坏而生成空数据,不要继续运行并覆盖最后一份好备份。
进程占满CPU
先看RPT中平均FPS、登录峰值、实体生成与模组脚本,再看单核是否饱和。官方支持-limitFPS用于降低低人数服务器的CPU消耗,但不能用它掩盖真实高峰处理不足。
FAQ
DayZ Linux服务器可以匿名下载吗
本轮官方Linux指南使用Steam账号登录,未实际执行下载,因此不把匿名下载写成已确认能力。上线前用实际有许可的账号验收。
DayZ服务器需要开哪些端口
以你的-port、steamQueryPort、clientPort和BattlEye/RCon配置为准。官方示例中常见2301/2302起点与2305查询端口,但最终要看实际socket和外部连接,不照抄大段防火墙范围。
只备份storage可以吗
不够。世界数据需要与游戏Build、任务模板、经济配置、模组版本与顺序绑定恢复。
购买前清单
选购YGCloud VPS前,准备下列输入:
- Linux还是Windows,谁负责日常运维;
- 主地图、目标并发玩家和峰值登录量;
- Workshop ID、依赖顺序、服务端模组与客户端模组分类;
- 当前世界数据大小、日增长和备份保留周期;
- 玩家主要地区和测试IP的路由/抖动/丢包数据;
- 是否需要多实例、预发服和独立备份容量。
配置可以参考VPS配置选择方法,地域不要只看机房名称,应结合玩家位置、路线与业务来选,并在购买前对测试IP进行Ping、路由和丢包测试。







