Arma Reforger 专用服务器免费,可在 Windows 和 Linux 上通过 SteamCMD(app 1874900)匿名下载。约需 20–40 分钟:安装、config.json、开放 UDP 端口 2001、17777 和 19999,再配置自动服务。
分步安装
检查机器:64 位、多个高性能核心,内存与 SSD 按人数和模组配置。
安装 SteamCMD,并以匿名登录下载 app 1874900。
用本站工具生成 config.json(bindPort 2001,a2s 17777)。
使用 -config 与 -maxFPS 60 首次启动,并连接 127.0.0.1 测试。
在系统和服务商防火墙中开放 2001/UDP、17777/UDP(启用 RCON 时还有 19999/UDP)。
把创意工坊模组加入 game.mods,启动时自动下载。
创建 systemd 服务(Linux)或计划任务(Windows)实现自动重启。
安排更新(app_update)、配置文件备份和每日重启。
从外部测试后,在 game-rank.com 发布服务器。
环境要求
服务器提供 Windows 和 Linux(64 位)版本,托管无需游戏授权(匿名登录)。所查资料未给出按人数划分的官方最低配置:请准备多个单核性能强的 CPU 核心,模组较多时 8–16 GB 或更多内存、SSD 和稳定的上行带宽。服务器与客户端版本必须一致。另有实验分支(app 1890870)。
本地安装(Windows)
从 Valve 下载 SteamCMD(steamcmd.exe)并执行下面的命令。然后把 config.json 放入服务器文件夹并启动,在游戏中连接 127.0.0.1(必要时加端口)。
steamcmd.exe +force_install_dir C:\ArmaReforgerServer +login anonymous +app_update 1874900 validate +quit
cd /d C:\ArmaReforgerServer
ArmaReforgerServer.exe -config .\config.json -profile .\profile -maxFPS 60在 Linux VPS / 独立服务器上安装
在 Ubuntu/Debian 上创建专用的非 root 用户并安装 SteamCMD。Debian 需先启用“non-free”软件源。安装 steamcmd 时需要接受 Steam 许可协议。
sudo apt update && sudo apt install -y software-properties-common
sudo add-apt-repository -y multiverse && sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install -y steamcmd lib32gcc-s1 ca-certificates
sudo adduser --disabled-password --gecos "" reforger首次启动
以专用用户下载并启动服务器。-maxFPS 用于限制 CPU 负载(不限制时服务器可能占满核心);-profile 指定日志和数据目录。
sudo -iu reforger
mkdir -p ~/server ~/steamcmd
/usr/games/steamcmd +force_install_dir ~/server +login anonymous +app_update 1874900 validate +quit
cd ~/server && mkdir -p profile
# put config.json here, then:
./ArmaReforgerServer -config ./config.json -profile ./profile -maxFPS 60需要开放的端口
以下为 Bohemia Interactive wiki 中的默认值,可在 config.json 中修改(bindPort/publicPort、a2s.port、rcon.port)。仅在启用 rcon 时才需要 RCON 端口。
- 2001/UDP — 游戏
- 17777/UDP — A2S(Steam 服务器列表)
- 19999/UDP — RCON(可选)
Linux 防火墙(ufw)
sudo ufw allow 2001/udp
sudo ufw allow 17777/udp
sudo ufw allow 19999/udp
sudo ufw status verboseWindows 防火墙(netsh)
netsh advfirewall firewall add rule name="Arma Reforger 2001 UDP" dir=in action=allow protocol=UDP localport=2001
netsh advfirewall firewall add rule name="Arma Reforger 17777 UDP" dir=in action=allow protocol=UDP localport=17777
netsh advfirewall firewall add rule name="Arma Reforger 19999 UDP" dir=in action=allow protocol=UDP localport=19999服务商防火墙与家用路由器(NAT)
在 OVH、Hetzner、Scaleway 等服务商处,请同时在服务商防火墙(安全组 / 面板防火墙)中开放相同端口:它在到达主机之前过滤流量。家庭自建时,请在路由器上把每个端口按正确协议转发(NAT)到服务器的内网 IP。请从外部(如移动网络)测试;未设置强密码时切勿暴露 RCON 等管理端口。
开机自启(systemd)
将此文件保存为 /etc/systemd/system/reforger.service,然后执行:sudo systemctl daemon-reload && sudo systemctl enable --now reforger。查看日志:journalctl -u reforger -f。Windows 上请创建“启动时”计划任务,以相同参数运行 ArmaReforgerServer.exe。
[Unit]
Description=Arma Reforger server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=reforger
WorkingDirectory=/home/reforger/server
ExecStart=/home/reforger/server/ArmaReforgerServer -config ./config.json -profile ./profile -maxFPS 60
Restart=on-failure
RestartSec=15
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target更新
停止服务,重新执行 app_update 后再启动。客户端与服务器版本必须一致;更新后,过期的模组可能导致无法启动,需等作者更新。
sudo systemctl stop reforger
sudo -u reforger /usr/games/steamcmd +force_install_dir /home/reforger/server +login anonymous +app_update 1874900 validate +quit
sudo systemctl start reforger备份与定时重启
备份 profile 文件夹(持久化存档、日志)和 config.json,并用 cron 在低峰时段每日重启(此处 05:00 重启,04:55 备份)。
# crontab -e (root)
55 4 * * * tar czf /var/backups/reforger-$(date +\%F).tgz -C /home/reforger/server profile config.json
0 5 * * * systemctl restart reforger发布与查找服务器
服务器可从外部访问后,请到 game-rank.com/jeux/arma-reforger(本工具所有者的网站)添加,方便玩家发现。
故障排查
- 服务器无法启动:JSON 无效(多余逗号、键大小写错误如 BindPort)——用工具重新生成 config.json,并查看 -profile 中的日志。
- 列表中找不到服务器:17777/UDP 未开放、config.json 缺少 a2s,或 NAT 后 publicAddress 填写错误。
- 本地可连、外部无法连接:系统/服务商防火墙或 NAT 转发未开放 2001/UDP(是 UDP 而非 TCP)。
- 服务器占满 CPU:在启动命令中加入 -maxFPS(60 到 120)。
- 模组被拒绝或版本不兼容:检查 GUID(16 位十六进制),更新服务器与模组,可选模组可将 required 设为 false。
常见问题
- 托管服务器需要拥有 Arma Reforger 吗?
- 不需要:专用服务器(app 1874900)可通过 SteamCMD 匿名登录下载。
- 默认端口是什么?
- 2001/UDP(游戏)、17777/UDP(A2S)、19999/UDP(RCON,可选)。
- 如何获取 scenarioId?
- 使用 -listScenarios 启动服务器即可列出可用路径。
- 为什么要限制服务器 FPS?
- 不设置 -maxFPS 时服务器不限帧,可能占满整个核心;实际中 60–120 已足够。
