体验真实的冷战战斗,与好友一同争夺广袤的51平方公里大西洋中部岛屿——或扮演游戏大师,为他人创造专属的精彩剧情。
预设配置详情
武装突袭:重铸者
作者/贡献者
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/redthirten">
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
</a>
<br />
<a href="https://github.com/pelican-eggs/games-steamcmd/commits?author=redthirten" title="代码">💻</a>
<a href="https://github.com/pelican-eggs/games-steamcmd/commits?author=redthirten" title="维护">🔨</a>
</td>
<td align="center">
<a href="https://github.com/Soljian">
<img src="https://avatars.githubusercontent.com/u/4036453" width="50px;" alt=""/><br /><sub><b>Soljian</b></sub>
</a>
<br />
<a href="https://github.com/pelican-eggs/games-steamcmd/commits?author=Soljian" title="贡献者">💡</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
游戏描述
来自 Bohemia Interactive 的官方网站:
体验真实的冷战战斗,与朋友一起在广阔的中大西洋岛屿(51平方公里)上奋战——或者扮演游戏大师的角色,为他人创建属于你自己的游戏场景。
孵化器功能
- 可配置通过 SteamCMD 在启动时自动检查服务器更新。强制验证也是可配置的。
- 能够在启动时下载并加载武装突袭:重铸者工坊模组(需要手动编辑
config.json文件)。 - 通过启动参数配置
config.json文件中的多个常用设置:- 服务器名称、密码、场景ID、禁用第三人称、最大FPS等...
- 最大玩家数可配置,并可由主机强制执行(*参见推荐的孵化器修改)。
- 兼容 WHMCS。
服务器端口
| 端口 | 默认值 | 协议 | 必需 | 备注 |
|---|---|---|---|---|
| 游戏端口 | 2001 | UDP | 是 | 面板中的主端口 |
| A2S | 17777 | UDP | 否 | Steam查询 / 需要在 config.json 中进行额外配置 |
| RCON | 19999 | UDP | 否 | 需要在 config.json 中进行额外配置 |
安装/系统要求
| 最低配置 | 推荐配置 | |
|---|---|---|
| 处理器 | 近期 x86/64(AMD/Intel)处理器。不支持ARM架构。 | 在未限制FPS的高负载下可能占用300-600% CPU(建议设置最大FPS以防止)。 |
| 内存 | 3328 MiB | 6144-8192 MiB |
| 存储空间 | 5 GB | 7-10 GB(或更多,取决于下载的模组数量) |
| 网络 | 如果节点位于NAT后,则需要修改孵化器(*参见定义主机注册绑定地址) | Wings节点不在NAT后 |
| 游戏所有权 | 启动或下载模组无需拥有游戏。 | ---- |
如何添加模组
目前,为服务器添加模组较为复杂,因为相关文档很少且难以找到模组ID。希望未来会有所改善,但按照以下步骤可以成功添加:
- 打开客户端版本的武装突袭:重铸者,订阅/下载你想要添加到服务器的任何模组(目前,如果不使用游戏,我无法找到获取模组ID的方法)。
- 完成后,关闭游戏并导航到电脑上的此文件夹:
我的文档\My Games\ArmaReforger\addons\ - 逐个打开文件夹,找到你想要添加的模组,并用文本编辑器打开每个模组的
ServerData.json文件。 - 然后,在服务器面板中打开
config.json文件进行编辑。 - 找到
"mods": []并将其替换为以下内容:
"mods": [
{
"modId": "591AF5BDA9F7CE8B",
"name": "占领与坚守",
"version": "1.0.0"
},
{
"modId": "9A51598BACFBFDE7",
"name": "爆炸山羊测试版",
"version": "0.5.42"
}
]
- 将
modId设置为你在ServerData.json文件顶部找到的id值。 - 将
name设置为你在ServerData.json文件顶部找到的name值。 - 将
version设置为你在ServerData.json文件顶部找到的version值。 - 对于每个要添加的模组,重复上述步骤,通过复制/粘贴如上所示的
{}部分。确保每个{}部分后面都有,,最后一个除外。
服务器将在启动时自动下载并运行你指定的模组。对于添加场景的模组,你可以在 ServerData.json 文件中找到作为 gameId 列出的场景ID。最后,如果模组更新,你可能需要更改 version 值以匹配其新版本。你可能还需要删除 addons/ 目录中的模组文件夹,以便重新下载(关于此点的反馈不一)。
推荐的孵化器修改
以下是将孵化器导入面板后强烈建议进行的变量修改。
定义主机注册绑定地址
由于面板的当前行为,如果节点位于NAT后,SERVER_IP 将不会返回节点的公共IP地址;它将返回其私有IP地址。不幸的是,目前武装突袭:重铸者要求在 config.json 中严格定义服务器的公共IP地址。如果你知道你的节点位于NAT后(或者你发现节点的私有IP地址被添加到 config.json 中),你需要按照以下步骤编辑此孵化器:
- 作为面板管理员,在"巢穴"选项卡中找到并打开该孵化器。
- 在第一个"配置"选项卡中,找到"进程管理"部分下的"配置文件"框。
- 小心地(以免触及任何其他内容),找到
{{server.build.default.ip}}并将其替换为节点的公共IP地址。如果操作正确,该行现在应类似于:
"publicAddress": "123.4.56.789",
限制最大玩家数
如果你希望限制客户端服务器可加入的最大玩家数,可以更改"最大玩家数"变量的权限,使客户端只能查看此值(而不能编辑)。其默认值也可以更改,或者根据需要按服务器逐个更改该值。
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/steamcmd:debian
sed -i 's/"true"/true/g; s/"false"/false/g' config.json; ./ArmaReforgerServer -gproj ./addons/data/ArmaReforger.gproj -config ./config.json -profile ./profile -backendlog -nothrow -listScenarios -logStats $(({{LOG_INTERVAL}}*1000)) -maxFPS {{MAX_FPS}} -addonTempDir ./tmp
| 变量名 | 变量 | 描述 | 默认值 | 规则 | 可查看 | 可编辑 |
|---|---|---|---|---|---|---|
| 管理员密码 | ADMIN_PASS |
|
nullable|string|max:32
可选 字符串 最大 32
|
|||
| 自动更新 | AUTO_UPDATE |
启动时快速检查任何服务器或模组更新,并在必要时进行更新。 | 1 |
boolean
布尔
|
||
| 禁用第三人称 | DISABLE_THIRD |
false |
required|string|in:true,false
必填 字符串 选项: true,false
|
|||
| 启用BattlEye | BATTLEYE |
在服务器上启用反作弊引擎,并要求所有客户端都运行它。 | true |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| 最大玩家数 | MAX_PLAYERS |
服务器允许的最大玩家数量。 | 32 |
required|integer|between:1,256
必填 整数 介于 1-256 之间
|
||
| 场景ID | SCENARIO_ID |
要运行/游玩的场景ID。有效的ID可以在服务器启动时在控制台中查看。 | {ECC61978EDCC2B5A}Missions/23_Campaign.conf |
required|string
必填 字符串
|
||
| 服务器名称 | SERVER_NAME |
服务器浏览器中显示的名称。 | Arma Reforger Server |
required|string|max:255
必填 字符串 最大 255
|
||
| 服务器密码 | SERVER_PASS |
客户端加入服务器前需要输入的密码。留空则无需密码。 | |
nullable|string|max:32
可选 字符串 最大 32
|
||
| 在服务器浏览器中可见 | VISIBLE |
在服务器浏览器中设置服务器的可见性。 | true |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| [高级] Arma Reforger 专用服务器应用ID | SRCDS_APPID |
用于安装和更新。通常无需更改。 | 1874900 |
required|integer
必填 整数
|
||
| [高级] 日志FPS间隔 | LOG_INTERVAL |
每隔多少秒(以秒为单位)将FPS和其他调试统计信息记录到控制台。设置为0以禁用。 | 0 |
required|integer|min:0
必填 整数 最小 0
|
||
| [高级] 最大帧率 | MAX_FPS |
为服务器设置最大FPS限制,在某些情况下可节省性能。留空表示无限制。 | 120 |
nullable|integer|gt:0
可选 整数
|
||
| [修复] 验证服务器文件 | VALIDATE |
设置为 "true" 启用;留空禁用。当自动更新启用时,验证所有服务器文件。注意:这将显著增加服务器启动时间,因此建议仅在需要时启用此功能。 | |
nullable|string
可选 字符串
|
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian
/bin/bash
#!/bin/bash
## File: Pelican Arma Reforger Egg - egg-arma-reforger.json
## Author: David Wolfe (Red-Thirten)
## Date: 2024/11/28
## License: MIT License
## Image to install with is 'registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian'
## Download and install SteamCMD
export HOME=/mnt/server
cd /tmp
mkdir -p $HOME/steamcmd $HOME/steamapps
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C $HOME/steamcmd
cd $HOME/steamcmd
# Workaround for experimental
if [[ "${SRCDS_APPID}" == "1890870" ]]; then
WINDOWS_INSTALL="1"
fi
# SteamCMD fails otherwise for some reason, even running as root.
chown -R root:root /mnt
# Install/Verify game server using SteamCMD
./steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) validate +quit
# Set up 32 and 64 bit libraries
mkdir -p /mnt/server/.steam/sdk{32,64}
cp -v linux32/steamclient.so /mnt/server/.steam/sdk32/steamclient.so
cp -v linux64/steamclient.so /mnt/server/.steam/sdk64/steamclient.so
## Arma Reforger setup
# Check for successful installation
if [[ ! -f "$HOME/ArmaReforgerServer" && ! -f "$HOME/ArmaReforgerServer.exe" ]]; then
echo -e "
SteamCMD failed to install the Arma Reforger Dedicated Server!"
echo -e "\tTry reinstalling the server again.
"
exit 1
fi
mkdir -p $HOME/profile $HOME/tmp
echo -e 'Creating default "config.json" configuration file...'
cat > $HOME/config.json << EOF
{
"bindAddress": "0.0.0.0",
"bindPort": ${SERVER_PORT},
"publicAddress": "${SERVER_IP}",
"publicPort": ${SERVER_PORT},
"game": {
"name": "${SERVER_NAME}",
"password": "${SERVER_PASS}",
"passwordAdmin": "${ADMIN_PASS}",
"admins" : [],
"scenarioId": "${SCENARIO_ID}",
"maxPlayers": ${MAX_PLAYERS},
"visible": ${VISIBLE},
"gameProperties": {
"serverMaxViewDistance": 1600,
"serverMinGrassDistance": 50,
"networkViewDistance": 1500,
"disableThirdPerson": ${DISABLE_THIRD},
"fastValidation": true,
"battlEye": ${BATTLEYE},
"VONDisableUI": false,
"VONDisableDirectSpeechUI": false
},
"mods": []
}
}
EOF
echo -e "
Arma Reforger Dedicated Server successfully installed!
"
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": "https://eggs.pterodactyl.top/eggs/23/download/egg-arma-reforger.json"
},
"exported_at": "2025-08-22T11:47:36+00:00",
"name": "Arma Reforger",
"author": "red_thirten@yahoo.com",
"description": "体验真实的冷战战斗,与好友一同争夺广袤的51平方公里大西洋中部岛屿——或扮演游戏大师,为他人创造专属的精彩剧情。",
"features": [
"steam_disk_space"
],
"docker_images": {
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/steamcmd:debian": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/steamcmd:debian"
},
"file_denylist": [],
"startup": "sed -i 's/\"true\"/true/g; s/\"false\"/false/g' config.json; ./ArmaReforgerServer -gproj ./addons/data/ArmaReforger.gproj -config ./config.json -profile ./profile -backendlog -nothrow -listScenarios -logStats $(({{LOG_INTERVAL}}*1000)) -maxFPS {{MAX_FPS}} -addonTempDir ./tmp",
"config": {
"files": "{\n \"config.json\": {\n \"parser\": \"json\",\n \"find\": {\n \"bindAddress\": \"0.0.0.0\",\n \"bindPort\": \"{{server.build.default.port}}\",\n \"publicAddress\": \"{{server.build.default.ip}}\",\n \"publicPort\": \"{{server.build.default.port}}\",\n \"game.name\": \"{{server.build.env.SERVER_NAME}}\",\n \"game.password\": \"{{server.build.env.SERVER_PASS}}\",\n \"game.passwordAdmin\": \"{{server.build.env.ADMIN_PASS}}\",\n \"game.scenarioId\": \"{{server.build.env.SCENARIO_ID}}\",\n \"game.maxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\n \"game.visible\": \"{{server.build.env.VISIBLE}}\",\n \"game.gameProperties.disableThirdPerson\": \"{{server.build.env.DISABLE_THIRD}}\",\n \"game.gameProperties.fastValidation\": true,\n \"game.gameProperties.battlEye\": \"{{server.build.env.BATTLEYE}}\"\n }\n }\n}",
"startup": "{\n \"done\": \"Starting RPL server\"\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!/bin/bash\r\n\r\n## File: Pelican Arma Reforger Egg - egg-arma-reforger.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2024/11/28\r\n## License: MIT License\r\n## Image to install with is 'registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian'\r\n\r\n## Download and install SteamCMD\r\nexport HOME=/mnt/server\r\ncd /tmp\r\nmkdir -p $HOME/steamcmd $HOME/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C $HOME/steamcmd\r\ncd $HOME/steamcmd\r\n\r\n# Workaround for experimental\r\nif [[ \"${SRCDS_APPID}\" == \"1890870\" ]]; then\r\n WINDOWS_INSTALL=\"1\"\r\nfi\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\nchown -R root:root /mnt\r\n\r\n# Install/Verify game server using SteamCMD\r\n./steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p /mnt/server/.steam/sdk{32,64}\r\ncp -v linux32/steamclient.so /mnt/server/.steam/sdk32/steamclient.so\r\ncp -v linux64/steamclient.so /mnt/server/.steam/sdk64/steamclient.so\r\n\r\n## Arma Reforger setup\r\n# Check for successful installation\r\nif [[ ! -f \"$HOME/ArmaReforgerServer\" && ! -f \"$HOME/ArmaReforgerServer.exe\" ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Arma Reforger Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nfi\r\n\r\nmkdir -p $HOME/profile $HOME/tmp\r\n\r\necho -e 'Creating default \"config.json\" configuration file...'\r\ncat > $HOME/config.json << EOF\r\n{\r\n\t\"bindAddress\": \"0.0.0.0\",\r\n\t\"bindPort\": ${SERVER_PORT},\r\n\t\"publicAddress\": \"${SERVER_IP}\",\r\n\t\"publicPort\": ${SERVER_PORT},\r\n\t\"game\": {\r\n\t\t\"name\": \"${SERVER_NAME}\",\r\n\t\t\"password\": \"${SERVER_PASS}\",\r\n\t\t\"passwordAdmin\": \"${ADMIN_PASS}\",\r\n\t\t\"admins\" : [],\r\n\t\t\"scenarioId\": \"${SCENARIO_ID}\",\r\n\t\t\"maxPlayers\": ${MAX_PLAYERS},\r\n\t\t\"visible\": ${VISIBLE},\r\n\t\t\"gameProperties\": {\r\n\t\t\t\"serverMaxViewDistance\": 1600,\r\n\t\t\t\"serverMinGrassDistance\": 50,\r\n\t\t\t\"networkViewDistance\": 1500,\r\n\t\t\t\"disableThirdPerson\": ${DISABLE_THIRD},\r\n\t\t\t\"fastValidation\": true,\r\n\t\t\t\"battlEye\": ${BATTLEYE},\r\n\t\t\t\"VONDisableUI\": false,\r\n\t\t\t\"VONDisableDirectSpeechUI\": false\r\n\t\t},\r\n\t\t\"mods\": []\r\n\t}\r\n}\r\nEOF\r\n\r\necho -e \"\\nArma Reforger Dedicated Server successfully installed!\\n\"",
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
"entrypoint": "/bin/bash"
}
},
"variables": [
{
"name": "管理员密码",
"description": "",
"env_variable": "ADMIN_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "自动更新",
"description": "启动时快速检查任何服务器或模组更新,并在必要时进行更新。",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean",
"field_type": "text"
},
{
"name": "禁用第三人称",
"description": "",
"env_variable": "DISABLE_THIRD",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "启用BattlEye",
"description": "在服务器上启用反作弊引擎,并要求所有客户端都运行它。",
"env_variable": "BATTLEYE",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "最大玩家数",
"description": "服务器允许的最大玩家数量。",
"env_variable": "MAX_PLAYERS",
"default_value": "32",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:1,256",
"field_type": "text"
},
{
"name": "场景ID",
"description": "要运行/游玩的场景ID。有效的ID可以在服务器启动时在控制台中查看。",
"env_variable": "SCENARIO_ID",
"default_value": "{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "服务器名称",
"description": "服务器浏览器中显示的名称。",
"env_variable": "SERVER_NAME",
"default_value": "Arma Reforger Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:255",
"field_type": "text"
},
{
"name": "服务器密码",
"description": "客户端加入服务器前需要输入的密码。留空则无需密码。",
"env_variable": "SERVER_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "在服务器浏览器中可见",
"description": "在服务器浏览器中设置服务器的可见性。",
"env_variable": "VISIBLE",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "[高级] Arma Reforger 专用服务器应用ID",
"description": "用于安装和更新。通常无需更改。",
"env_variable": "SRCDS_APPID",
"default_value": "1874900",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "[高级] 日志FPS间隔",
"description": "每隔多少秒(以秒为单位)将FPS和其他调试统计信息记录到控制台。设置为0以禁用。",
"env_variable": "LOG_INTERVAL",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:0",
"field_type": "text"
},
{
"name": "[高级] 最大帧率",
"description": "为服务器设置最大FPS限制,在某些情况下可节省性能。留空表示无限制。",
"env_variable": "MAX_FPS",
"default_value": "120",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|integer|gt:0",
"field_type": "text"
},
{
"name": "[修复] 验证服务器文件",
"description": "设置为 \"true\" 启用;留空禁用。当自动更新启用时,验证所有服务器文件。注意:这将显著增加服务器启动时间,因此建议仅在需要时启用此功能。",
"env_variable": "VALIDATE",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}附属文件
暂无附属文件
提交历史
Fork 关系
查看关系图暂无 Fork,成为第一个 Fork 的人吧!