Arma Reforger 开服,核心不是复制一份 JSON,是把场景 ID、公网 IPv4、UDP 端口、跨平台、BattlEye、Workshop 模组和持久化数据绑成一套能验收的组合。这篇以 2026年8月3日 Bohemia 官方 Server Config、Server Hosting、Startup Parameters 和 Steam AppInfo 为基准,面向战队训练、Conflict、Game Master 或模组任务服管理员。
我核验了 App 1874900、Windows/Linux 服务端入口等信息,没有实际运行。
先确认稳定版还是Experimental
官方将Dedicated Server的稳定路线标识为App 1874900,Experimental使用独立路线。建立生产服时,客户端、服务端和模组必须处在能够相互连接的版本组合中。不要在实验分支上打开无人值守的自动更新,也不要用一个生产profile在两个分支间反复写入。
每次上线记录四个值:App ID、Build ID、场景ID、模组列表。如果需要试验Experimental,新建独立程序目录、profile、端口和备份,不覆盖稳定服。
配置怎么选
Arma Reforger的性能受场景、AI、网络视距、语音、玩家和模组共同影响。官方maxPlayers范围为1–128,这是配置允许值,不是任意VPS能稳定承载128人的证据。
作为小型战队测试起点,可先准备4核、8GB内存和SSD;中型Conflict、高AI或多模组任务从更高单核性能、16GB内存和充足下载/出站带宽开始。这些都是建立样本的起点。实际容量要看服务端FPS、单核CPU、内存高水位、玩家同步和模组更新后的回归数据。
networkViewDistance、serverMaxViewDistance与场景设计会改变网络和CPU工作量。不要为了给更高的数字就超出测试边界,也不用降视距掩盖核心性能不足。

安装App 1874900
官方Linux路线使用SteamCMD匿名安装:
steamcmd \
+force_install_dir /srv/reforger/app \
+login anonymous \
+app_update 1874900 validate \
+quit
不要让服务端以root运行。建立独立的reforger用户,程序目录可读执行,profile、模组下载目录和日志目录只授予必要写权限。官方资料也提到容器中大模组下载可能因临时目录无写权而失败,可用-addonTempDir指定有权限的独立临时目录。
安装与运行要分开:只在维护窗口执行app_update,更新前记录Build,更新后用预发profile启动相同场景。不要一边有玩家在线一边替换程序文件。
端口、IPv4与绑定
当前官方端口表是:
| 用途 | 默认端口 | 协议 | 是否必需 |
|---|---|---|---|
| 游戏公网端口 | 2001 | UDP | 是 |
| A2S查询 | 17777 | UDP | 启用A2S时 |
| RCON | 19999 | UDP | 启用RCON时 |
Arma Reforger当前不支持IPv6作为这条服务器路线,因此采购前要确认实例有可路由IPv4。对单公网IP的普通VPS,bindAddress、publicAddress通常可留空让服务端按官方默认值绑定或检测。只有多网卡、NAT或端口转发时才显式设置,而且bindPort与publicPort可能不同。
老教程中常见gameHostBindAddress、gameHostRegisterBindAddress等字段,当前官方配置页已使用bindAddress、bindPort、publicAddress、publicPort。混用旧字段可能被忽略或引起检查错误。
RCON不是一开服就必须全网开放。先在无RCON的情况下完成进服基线,再为运维固定IP或VPN开放。官方最低规则只是密码至少3个字符且不带空格,生产应用足够长的随机密码并限制来源。
config.json最小示例
下面示例只用官方当前字段,真实密码不写入文章:
{
"bindAddress": "",
"bindPort": 2001,
"publicAddress": "",
"publicPort": 2001,
"a2s": {
"address": "0.0.0.0",
"port": 17777
},
"game": {
"name": "CHANGE_ME_Reforger_Server",
"password": "",
"passwordAdmin": "CHANGE_ME_ADMIN_PASSWORD",
"scenarioId": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"maxPlayers": 16,
"visible": true,
"crossPlatform": true,
"gameProperties": {
"networkViewDistance": 1000,
"fastValidation": true,
"battlEye": true
},
"mods": []
}
}
官方特别提醒JSON字段大小写敏感。修改后执行:
jq empty /srv/reforger/config/config.json
这只能确认JSON语法,不能证明scenarioId存在、字段值被当前Build接受、端口已可达或客户端能进服。所以本文将它记为C级静态证据,不写成运行成功。

场景怎么选
scenarioId是服务器载入内容的核心。官方资料提供-listScenarios用于把可用场景.conf路径写入日志。不要凭一篇旧教程的ID就直接上线,要从当前服务端Build和当前模组状态列出可用场景。
原版场景先建基线,模组场景后加。如果目标是Conflict、Game Master或自定义任务,分别记录场景ID、来源modId、版本、玩家上限和持久化规则。不在一个配置里并排多个场景并期待服务端自动轮换;每个运行实例只有一个当前场景。
模组如何配置
官方JSON使用mods数组:
"mods": [
{
"modId": "CHANGE_ME_MOD_ID",
"name": "Recorded display name",
"version": "Recorded tested version"
}
]
生产不要一次加入全部模组。按依赖顺序分批,每批验证下载、mount、场景启动、客户端同步和一次正常重开。为模组目录和-addonTempDir保留磁盘余量,下载空间不等于最终安装大小。
模组更新会同时影响服务端与客户端。运维窗口前保存已验收的modId/version组合,更新后用一个PC和一个目标主机平台完成跨平台回归。crossPlatform=true只是服务器允许的设置,不代表每个模组都支持所有平台。
启动与日志
官方Linux示例结构为:
cd /srv/reforger/app
./ArmaReforgerServer \
-config /srv/reforger/config/config.json \
-profile /srv/reforger/profile \
-maxFPS 60
-maxFPS 60是官方强烈建议的起点,避免服务端为了空载高帧率吃掉可用资源。但不要把“进程被限60FPS”与“高峰服务端始终保持60FPS”混为一谈。用-logStats或当前日志能力记录高峰样本,才能做容量决策。
启动后的最低验收不是systemctl active,而是:有效场景加载、UDP 2001实际监听、后端注册、外部列表/直连、客户端进服、玩家同步、正常结束session与重开。
fastValidation、BattlEye与RCON
官方对公网服务器的明确要求是保持fastValidation=true。本地开发时可能为排错暂时关闭,但不把调试配置直接复制到公网生产。battlEye=true也是公开服的默认安全基线,如某个模组与它冲突,先在预发处理兼容性,不靠全局关闭保护来快速上线。
RCON配置是可选的。启用时必须配置address、port和password,并对来源限制。不在JSON仓库中写真密码;使用限权文件或部署时注入,并在轮换后验证旧密码不再可用。
持久化、备份与恢复
不是每个Arma Reforger场景都以相同方式保存长期状态。首先确认目标场景的持久化设计和模组支持,然后把profile、持久化目录、config.json、模组清单和Build信息作为一个备份单元。
备份前使用正常session结束/停服方法,避免正在写入时拷贝不一致文件。恢复到全新目录后,不只看服务器能启动,还要进入原场景读取一个脱敏业务标记,正常结束后再次读取。
更新策略
将游戏Build、场景和模组更新拆开记录。每次变更先停止玩家写入,完成备份,在预发profile中更新,运行原版场景基线,再加模组场景。测试PC、Xbox和PlayStation时,使用真实目标平台,不因为JSON里crossPlatform=true就略过客户端验收。
回退不是单独把程序降级。模组或持久化数据可能已被新Build写入,因此应恢复更新前的程序组合、profile副本、配置和模组清单。
常见故障
JSON语法通过但服务器拒绝配置
jq empty只验证语法。继续检查字段大小写、旧gameHost...字段、值类型、scenarioId是否属于当前Build/模组以及密码规则。
内网能进,公网不能进
核对bindPort、publicPort、云安全组、主机防火墙、公网IPv4和后端注册日志。有NAT时,publicAddress/publicPort必须映射到玩家真正访问的外部地址。
启动时模组下载失败
检查modId、磁盘余量、模组目录和临时目录权限,再检查模组是否被删除、更新或限制平台。不反复以root启动来“绕过”权限错误。
CPU持续高但玩家很少
先确认是否设置-maxFPS,再看场景AI、网络视距和模组脚本。不只根据玩家数判断负载。
FAQ
Arma Reforger开服要开几个端口
最少是UDP 2001游戏端口。A2S 17777与RCON 19999只在启用对应功能时开放,RCON应限制运维来源。
可以只用IPv6吗
不可把它作为当前公网开服前提。官方当前Server Config明确说明IPv6不支持,需要可路由IPv4。
fastValidation能关吗
本地开发排错可能暂时关闭,但官方要求公网服保持true。不把调试配置带入生产。
购买前清单
选购YGCloud VPS前准备:
- 稳定版还是Experimental,当前Build ID;
- 原版或模组场景ID,主要游戏模式;
- PC/Xbox/PlayStation玩家占比和跨平台需求;
- 模组ID、版本、下载大小和平台限制;
- 目标玩家地区、可路由IPv4与实际线路测试;
- 是否开A2S/RCON,是否需要预发服和外部备份。
配置判断可参考VPS配置怎么选,地域选择参考按玩家位置与线路选节点,下单前对测试IP执行Ping、路由和丢包测试。







