百科目录
DayZ 服务器全部参数
全部命令行参数和 serverDZ.cfg 设置项,附默认值,并说明每一项实际改变了什么。
命令行
这些参数在 Windows 系统中传递给 DayZServer_x64.exe,在 Linux 系统中传递给 ./DayZServer。顺序无关紧要。启动只需要 -config 和 -profiles,其余都是调优。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
-config
|
file path |
- | 指定要读取的配置文件。没有它,服务器会以默认值启动,并忽略你在 serverDZ.cfg 中写的所有内容。这是配置“不起作用”最常见的原因。 |
-profiles
|
folder path |
- | 日志、崩溃转储和 BattlEye 文件夹的存放位置。请指向一个你能访问的文件夹:.RPT 就保存在这里,没有它你只能盲目排查问题。 |
-port
|
number |
2302 |
游戏端口。Steam 查询端口在配置文件中单独设置。两者不是一回事,把它们搞混,正是运行中的服务器在服务器浏览器里看不到的原因。 |
-mod
|
paths separated by semicolons |
- | 客户端模组。玩家必须拥有完全相同的一组模组,否则无法加入。示例:-mod=@CF;@BuilderItems。 |
-serverMod
|
paths separated by semicolons |
- | 仅服务器端模组。玩家不会下载,也不需要它们。反作弊和管理工具通常放在这里,而不是 -mod 里。 |
-mission
|
mission path |
- | 要加载的任务,例如 -mission=mpmissions/dayzOffline.chernarusplus。通常改在配置文件中通过 class Missions 块设置。 |
-cpuCount
|
core count |
all cores |
服务器可以使用的核心数。适用于多台服务器共用一台机器的情况。设置得比机器实际拥有的核心数还多,没有任何好处。 |
-doLogs
|
- | - | 启用日志记录本身。没有它,配置中的 logAverageFps、logMemory 和 logPlayers 设置都不起作用。 |
-adminLog
|
- | - | 写入管理员日志:连接、死亡、命中,以及 adminLog* 设置开启的其他内容。 |
-netLog
|
- | - | 记录网络流量。开销很大:排查不同步问题时打开,排查完关掉。 |
-freezeCheck
|
- | - | 如果服务器卡死超过五分钟,就停止服务器并写入转储。如果你遇到原因不明的无声卡死,值得开启。 |
-filePatching
|
- | - | 允许引擎加载未打包的散装文件,而不是 PBO。仅用于开发。注意:官方百科把这个参数描述反了,好像它强制只用 PBO。那是 -noFilePatching 的含义,而这个错误被抄进了很多教程。 |
-noFilePatching
|
- | - | 强制只使用 PBO,不加载散装文件。在当前版本中是多余的,因为除非你主动开启,文件修补本来就是关闭的,但它无害,在启动脚本里仍很常见。 |
-limitFPS
|
number |
- | 限制服务器 FPS。一定要设置。没有上限时,DayZ 会每秒渲染数千帧,白白烧掉一整个核心。100 是常用值,完全够用;百科规定该值上限为 200。不要设得比 100 低太多:服务器的 tick 频率取决于这个数值,上限太紧会让所有人的游戏体验变差。 |
-storage
|
path |
- | 把持久化存档文件夹移到别处。当你把存档放在单独的磁盘上时很方便。 |
-scrAllowFileWrite
已废弃
|
- | - | 过去用于允许模组脚本写入文件。它来自 1.0 之前,据报告已经不再起作用,但仍被到处复制进启动脚本。官方参数列表中没有它。 |
-BEpath
|
path |
- | BattlEye 文件夹所在的位置。一台机器上有多台服务器时需要它,否则它们会共用一份 BattlEye 配置并互相覆盖。 |
-newErrorsAreWarnings
已废弃
|
1 |
- | 本意是把致命脚本错误变成警告。教程里经常提到,但官方参数列表中没有它,我们也没找到任何来源证实它在 DayZ 中有效果。请视为未经证实。 |
名称与访问
以下所有内容都位于 serverDZ.cfg 中。语法为 名称 = 值;,字符串用双引号,分号不能省略。值得了解的一点:DayZ 没有附带参考配置,所以这里称为默认值的大多是文档中的示例值,而不是某行缺失时引擎回退使用的值。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
hostname
|
string |
"" |
服务器浏览器中显示的名称。保持简短,把有用的词放在前面:列表会截断过长的名称,而且没人会搜索你的装饰性括号。 |
password
|
string |
"" |
加入服务器的密码。留空表示公开。 |
passwordAdmin
|
string |
"" |
游戏内 #login 命令的密码。设置得长一些,并且绝不要与加入密码相同:这个密码能控制服务器。 |
description
|
string |
"" |
在服务器详情中显示的简短文字。 |
motd[]
|
array of strings |
{} |
每日消息,会输出到聊天中。写法为 motd[] = {"第一行","第二行"};。 |
motdInterval
|
seconds |
1 |
消息各行之间的延迟。关于这是行与行之间的间隔,还是整条消息重复之间的间隔,各来源说法不一;按行间间隔理解即可。 |
enableWhitelist
|
0 / 1 |
- | 只允许白名单文件中列出的 Steam ID 进入。在名单为空时开启它,会把所有人挡在外面,包括你自己。 |
maxPlayers
|
number |
60 |
槽位数量。直接决定内存占用,所以在配置较弱的机器上调高它,等于用稳定性换来一个没人会填满的数字。 |
MaxPing
|
milliseconds |
300 |
Ping 高于此值的玩家会被踢出。注意它以大写字母开头,这和几乎所有其他设置都不同。设得太严,你会失去那些距离远但完全能正常游戏的玩家。 |
loginQueueConcurrentPlayers
|
number |
5 |
同时处理登录的人数。防止重启后大量玩家同时重连时服务器卡住。 |
loginQueueMaxPlayers
|
number |
500 |
等待队列最多能排多长,超过后拒绝新的连接。 |
respawnTime
|
seconds |
5 |
玩家死亡后,要等待多久才能开始新角色。 |
disableBanlist
|
true / false |
false |
让服务器不再读取 ban.txt。 |
disablePrioritylist
|
true / false |
false |
让服务器不再读取 priority.txt,这个文件允许特定玩家跳过登录队列。 |
disableMultiAccountMitigation
|
true / false |
false |
仅限主机:关闭多账号防护。在 PC 上没有作用。 |
pingWarning
|
milliseconds |
200 |
玩家开始看到黄色警告时的 Ping 值。 |
pingCritical
|
milliseconds |
250 |
警告变成红色时的 Ping 值。它低于踢出阈值,让玩家在被踢出之前有机会注意到。 |
游戏规则
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
disable3rdPerson
|
0 / 1 |
- | 设为 1 表示仅限第一人称。这是决定服务器定位的硬性选择:1PP 和 3PP 吸引的是不同的玩家,之后再切换会让你失去原有的玩家。 |
disableCrosshair
|
0 / 1 |
- | 移除准星。 |
disablePersonalLight
|
0 / 1 |
1 |
移除跟随每个角色的微弱光晕。如果保留它,夜晚就不再黑暗。 |
lightingConfig
|
0 / 1 / 2 |
- | 0 是较亮的夜晚,1 是黑暗的夜晚,2 是 Sakhal 专用版本。只有当你真的希望玩家需要光源时才选 1。 |
enableDebugMonitor
|
0 / 1 |
1 |
在屏幕角落显示角色状态面板。它默认开启,所以在角色扮演服务器上,这通常是你第一个要关掉的东西。 |
disableBaseDamage
|
0 / 1 |
- | 设为 1 后,围栏和瞭望塔无法被摧毁。 |
disableContainerDamage
|
0 / 1 |
- | 设为 1 后,帐篷、桶、箱子和航海箱无法被摧毁。 |
disableRespawnDialog
|
0 / 1 |
- | 隐藏重生选择对话框。主要用于只有一种固定出生方案的服务器。 |
disableVoN
|
0 / 1 |
- | 关闭游戏内语音。 |
vonCodecQuality
|
0–20 |
20 |
语音质量。数值越高越清晰,占用的带宽也越多。官方页面的上限是 20,社区配置中能见到 30。 |
时间与天气
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
serverTime
|
"SystemTime" or "YYYY/M/D/H/M" |
"SystemTime" |
游戏内的起始时间。"SystemTime" 使用机器的时钟,也可以固定为指定时间:"2026/7/1/9/0"。 |
serverTimeAcceleration
|
0.1–64 |
1 |
游戏内时间流逝加快的倍数。设为 12 时,一整天两小时就过完。官方百科列出的默认值是 1,而服务器自带的文件里设的是 12,所以请检查你的文件里实际写的是什么。 |
serverNightTimeAcceleration
|
0.1–64 |
1 |
仅作用于夜晚的额外倍数。用它可以实现白天长、夜晚短,而不是让所有时间都加速。 |
serverTimePersistent
|
0 / 1 |
- | 在重启之间保留时间,让世界不会每次都跳回早晨。 |
持久化存档
这是大家最先弄坏的部分。一旦出错,玩家就会丢失基地和帐篷,而这是社区唯一不会原谅的错误。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
instanceId
|
number |
1 |
该服务器拥有的存档文件夹。两台服务器使用同一个 ID,会争抢同一组存档文件。给每个实例分配各自的 ID。 |
shardId
|
string |
"" |
把在私有 Hive 上共享角色的服务器归为一组。六个字符。只要设置了任何值,服务器就会从 Community 标签页中消失。000 到 099 这个范围属于官方服务器:用了其中的值,你的服务器将无法启动。 |
storageAutoFix
|
0 / 1 |
1 |
启动时检查存档文件,并用空文件替换损坏的文件。这是修复,而不是抢救:损坏的数据就此丢失。无论如何都要做好备份。 |
lootHistory
|
number |
1 |
每个实例保留多少个持久化历史文件,每次保存时轮换。它已从官方文档中删除,但仍出现在流传的配置文件里。 |
storeHouseStateDisabled
|
true / false |
false |
不再保存房屋门的状态。这是应对持久化问题的变通办法。它已从官方文档中删除,各来源甚至对它的默认值都说法不一。 |
完整性与可见性
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
steamQueryPort
|
number |
2305 |
Steam 用来查询服务器信息的端口。如果你的服务器在运行,却始终不出现在服务器浏览器里,首先要检查的就是它和防火墙。示例中通常是 2305,但也会出现 Steam 惯用的 27016:并没有公认的统一默认值。 |
verifySignatures
|
2 |
2 |
根据签名密钥校验模组的 PBO。只支持值 2,不要设置其他值。 |
forceSameBuild
|
0 / 1 |
1 |
要求客户端版本与服务器版本一致。保持开启:版本不一致会产生谁都无法复现的错误。 |
allowFilePatching
|
0 / 1 |
1 |
允许以 -filePatching 启动的客户端连接,也就是说它们可以加载散装文件。默认值为 1,即允许。在正式运营的服务器上,值得有意识地把它关掉。 |
shotValidation
|
0 / 1 |
1 |
服务器端射击校验。保持开启。 |
clientPort
|
number |
2304 |
强制指定客户端连接时使用的端口。 |
steamProtocolMaxDataSize
1.22
|
number |
- | 允许更大的 Steam 协议数据包,让装了大量模组的服务器仍能出现在启动器中。仅限 PC。 |
guaranteedUpdates
|
1 |
1 |
网络协议设置。只有 1 是有效值,它的存在是出于历史原因。 |
日志
log* 设置需要在命令行中加上 -dologs,adminLog* 设置需要 -adminlog。缺少它们时,这些值会被读取,然后被悄悄忽略。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
timeStampFormat
|
"Full" / "Short" |
"Short" |
.RPT 文件中的时间戳格式。 |
logFile
|
file name |
"server_console.log" |
把控制台输出保存到文件中,与其他日志放在一起。 |
logAverageFps
|
seconds |
1 |
多久写入一次服务器平均 FPS。要发现正在慢慢垮掉的服务器,这是最有用的一个数字。 |
logMemory
|
seconds |
1 |
多久写入一次内存占用。 |
logPlayers
|
seconds |
1 |
多久写入一次已连接的玩家数量。 |
serverFpsWarning
|
number, minimum 11 |
15 |
服务器 FPS 低于该值时触发警告。可以作为服务器不堪重负的早期信号。 |
adminLogPlayerHitsOnly
|
0 / 1 |
- | 1 只记录对玩家的命中。0 记录所有内容,包括动物和感染者,会把有用的行淹没在噪声里。 |
adminLogPlacement
|
0 / 1 |
- | 记录物品的放置,例如陷阱和帐篷。 |
adminLogBuildActions
|
0 / 1 |
- | 记录基地建设:建造、拆除、摧毁。如果你预计会有关于突袭的纠纷,值得开启。 |
adminLogPlayerList
|
0 / 1 |
- | 每隔几分钟写入一份带位置的玩家列表。 |
网络与性能
这些网络范围值决定服务器在玩家周围多远的范围内保持物体活跃。调高它们会增加每一个客户端的 CPU 负载和流量,所以一次只改一个,并留意 FPS 日志。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
networkRangeClose
|
meters |
20 |
装有物品的近距离物体的生成距离,例如背包。 |
networkRangeNear
|
meters |
150 |
附近库存物品的生成距离。消失距离大约再远百分之十。 |
networkRangeFar
|
meters |
1000 |
所有非库存物品的生成距离。 |
networkRangeDistantEffect
|
meters |
4000 |
远距离效果的范围,目前指声音。这就是枪声能传那么远的原因。 |
defaultVisibility
|
meters |
1375 |
服务器对地形可视距离设定的上限。客户端要求更少就给更少;要求更多则被限制在这里。 |
defaultObjectViewDistance
|
meters |
1375 |
对物体的同样上限。 |
simulatedPlayersBatch
|
number |
20 |
每帧模拟多少名玩家。调低它能提升服务器 FPS,代价是响应变慢。 |
multithreadedReplication
|
0 / 1 |
1 |
把复制分配到多个线程。线程数来自 dayzSettings.xml 中的 maxcores 和 reservedcores,而不是这里。 |
speedhackDetection
|
1–10 |
1 |
加速外挂检测的灵敏度:1 最严格,10 最宽松。设得太严,会把只是网络卡顿了一下的玩家踢出。 |
物体批量发送
在 1.25 中加入,用来防止客户端一进入热闹区域,服务器就用大量物体创建把它淹没。默认值是合理的;只有当你在追查某个具体的卡顿,并准备好测量结果时,才去改动它们。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
networkObjectBatchCompute
1.25
|
number |
1000 |
一个服务器帧内检查创建和删除列表中的多少个物体。 |
networkObjectBatchSendCreate
1.25
|
number |
10 |
每帧最多发送多少个物体用于创建。取代了旧参数 networkObjectBatchSend 的一半。 |
networkObjectBatchSendDelete
1.25
|
number |
10 |
删除方面的同类设置。旧参数的另一半。 |
networkObjectBatchLogSlow
|
seconds |
5 |
遍历一个气泡区域允许花费的时间,超过后会被记录为缓慢。 |
networkObjectBatchEnforceBandwidthLimits
1.25
|
0 / 1 |
- | 开启基于带宽的物体创建限制器。补丁说明称它默认关闭,而百科示例中是 1:请检查你的文件里实际写的是什么。 |
networkObjectBatchUseEstimatedBandwidth
1.25
|
0 / 1 |
- | 0 使用自上一帧以来实际发送的数据量,1 使用粗略估算。推荐使用 0。 |
networkObjectBatchUseDynamicMaximumBandwidth
1.25
|
0 / 1 |
1 |
1 让限制值成为当前可发送量的一个比例,0 让它成为绝对上限。 |
networkObjectBatchBandwidthLimit
1.25
|
decimal |
0.8 |
限制值本身。开启动态模式时是 0 到 1 之间的比例,否则是一个以千计的绝对数值。 |
并不存在的参数
这些参数出现在论坛上流传的配置和托管面板中。有些曾经存在过,有些从来没有存在过。它们都做不到旁边注释所承诺的事,而一行不起作用的配置比没有这一行更糟:你以为某项已经配置好了,实际上并没有。
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
networkObjectBatchSend
已废弃
|
number |
- | 在 1.25 之前真实存在,之后被拆分为 networkObjectBatchSendCreate 和 networkObjectBatchSendDelete。更早的配置中仍然带着它,而服务器会忽略它。 |
steamport
已废弃
|
number |
- | 这不是 DayZ 的参数,尽管很多配置里都有它,旁边的注释还承诺它能让服务器出现在 Steam 列表中。真正起这个作用的是 steamQueryPort。 |
BattlEye
已废弃
|
0 / 1 |
- | 官方列表中没有它。BattlEye 由启动参数 -BEpath 和 BEServer_x64.cfg 控制,而不是这里。设置 BattlEye = 0 并不能关闭它。 |
disableThirdPerson
已废弃
|
0 / 1 |
- | 一个拼写错误,至少在一个热门参考网站上流传。正确的名称是 disable3rdPerson,拼错的那一行会被悄悄忽略,于是你的第一人称服务器在不知不觉中仍然是第三人称。 |
MaxBandwidth
已废弃
|
number |
- | 来自 Arma 2 的 basic.cfg,是 DayZ Mod 时代的产物。独立版 DayZ 没有这个设置。MinBandwidth、MaxMsgSend、MaxSizeGuaranteed、MaxSizeNonguaranteed、MinErrorToSend 和 MinErrorToSendNear 也一样:它们同属一个家族,没有一个应该出现在 serverDZ.cfg 中。 |
storageAutoDestroyFlags
已废弃
|
- | - | 它和 storageAutoDestroyInterval 一样,只出自一篇机器生成的教程,别无来源。没有官方出处,也没有其他证实。不要把它写进你的配置。 |
enableMouseAndKeyboard
已废弃
|
- | - | 某家托管服务商在宣传文案中把它说成主机跨平台联机的开关。官方列表中没有它,其他地方也没有证实。 |
任务
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
class Missions
|
block |
- | 要运行的任务文件夹,以块的形式写在文件末尾:class Missions { class DayZ { template="dayzOffline.chernarusplus"; }; };。模板名必须与 mpmissions 中的文件夹完全一致,这里的一个拼写错误,就是服务器启动后却什么都不做的原因。 |
enableCfgGameplayFile
|
0 / 1 |
- | 启用 cfggameplay.json,耐力、建造规则以及许多其他玩法设置都在这个文件里。没有它,该文件会被完全忽略。 |
可直接复制的配置
把它保存为 serverDZ.cfg,放在服务器可执行文件旁边,然后用 -config=serverDZ.cfg -profiles=profiles 启动。它可以直接运行 Chernarus。一定要在启动命令中加上 -limitFPS=100:没有上限时,服务器会烧掉一个核心去渲染没人看的帧。首先修改名称和管理员密码:名称是我们的,因为文件是我们写的,而下面的密码只是占位符,不是真正的密码。
hostname = "dz.arbat16.com"; // 服务器名称。改成你自己的
password = ""; // 加入密码。留空表示公开
passwordAdmin = "CHANGE_ME"; // #login 的管理员密码。启动前修改
description = ""; // 服务器详情中的简短文字
maxPlayers = 60; // 槽位。数值越高,内存占用越大
enableWhitelist = 0; // 1 只允许 whitelist.txt 中的 ID 进入
// --- 完整性 ------------------------------------------------------------
verifySignatures = 2; // 只支持 2
forceSameBuild = 1; // 客户端版本必须与服务器一致
allowFilePatching = 0; // 0 拒绝加载散装文件的客户端
shotValidation = 1; // 服务器端射击校验
speedhackDetection = 1; // 1 最严格,10 最宽松
// --- 游戏规则 ----------------------------------------------------------
disable3rdPerson = 0; // 1 让服务器仅限第一人称
disableCrosshair = 0;
disablePersonalLight = 1; // 没有这一项,夜晚永远不会黑
lightingConfig = 0; // 0 较亮的夜晚,1 黑暗,2 Sakhal
enableDebugMonitor = 0; // 角落里的状态面板
disableBaseDamage = 0; // 1 让围栏无法被摧毁
disableContainerDamage = 0; // 1 让帐篷和桶无法被摧毁
disableRespawnDialog = 0;
disableVoN = 0; // 游戏内语音
vonCodecQuality = 20; // 0 到 20,越高越清晰
// --- 时间 --------------------------------------------------------------
serverTime = "SystemTime"; // 或者固定为:"2026/7/1/9/0"
serverTimeAcceleration = 6; // 一整天四小时过完
serverNightTimeAcceleration = 4; // 夜晚过得更快
serverTimePersistent = 1; // 重启后保留时间
// --- 持久化存档 --------------------------------------------------------
instanceId = 1; // 这台机器上的每台服务器都需要各自的值
storageAutoFix = 1; // 用空存档替换损坏的存档
respawnTime = 5;
// --- 端口 --------------------------------------------------------------
steamQueryPort = 2305; // 服务器浏览器中的可见性取决于它
// --- Ping 与负载 -------------------------------------------------------
pingWarning = 200;
pingCritical = 250;
MaxPing = 300; // 超过此值玩家会被踢出
serverFpsWarning = 15;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
simulatedPlayersBatch = 20;
multithreadedReplication = 1;
// --- 消息 --------------------------------------------------------------
motd[] = {"Welcome.","Rules are in Discord."};
motdInterval = 300;
// --- 日志 --------------------------------------------------------------
timeStampFormat = "Short";
logFile = "server_console.log";
logAverageFps = 60; // 需要在命令行中加上 -doLogs
logMemory = 60;
logPlayers = 60;
adminLogPlayerHitsOnly = 0; // 需要在命令行中加上 -adminLog
adminLogPlacement = 1;
adminLogBuildActions = 1;
adminLogPlayerList = 0;
// --- 网络气泡 ----------------------------------------------------------
networkRangeClose = 20;
networkRangeNear = 150;
networkRangeFar = 1000;
networkRangeDistantEffect = 4000;
defaultVisibility = 1375;
defaultObjectViewDistance = 1375;
// --- 运行哪张地图 ------------------------------------------------------
// 没有这个块,服务器会启动,然后什么都不做
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};
以及启动它的命令行
DayZServer_x64.exe -config=serverDZ.cfg -profiles=profiles -port=2302 -limitFPS=100 -doLogs -adminLog -freezeCheck
