docs: 补充 RCON 未启动的实测失败模式

实机部署验证时发现 21114/tcp 不监听,根因不是端口冲突,而是
Rcon.cfg 的 Password= 为空导致 RCON 服务不启动。补充:
- 服务端的确切告警日志与设置成功后的日志
- Rcon.cfg 为 CRLF 行尾,sed 修改需保留 \r
- 建议在服务器本机生成随机密码,不经过剪贴板或聊天记录
- 排障表新增该条目

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
gongzhiyong
2026-07-27 21:08:36 +08:00
co-authored by Claude Opus 5
parent 3a76b40dbf
commit 22c9581ef4
+26 -2
View File
@@ -245,8 +245,31 @@ docker compose logs -f squad1
| `Bans.cfg` | 封禁列表 | | `Bans.cfg` | 封禁列表 |
| `License.cfg` | 服务器授权 | | `License.cfg` | 服务器授权 |
**RCON 密码必须在这里改。** 镜像没有 `RCONPASSWORD` 环境变量,`entry.sh` 只重写端口、不管密码。 **RCON 密码必须在这里改,否则 RCON 根本不会启动。** 镜像没有 `RCONPASSWORD` 环境变量,
默认密码不改等于把服务器管理权公开。 `entry.sh` 只重写端口、不管密码。
**[实测]** 默认 `Rcon.cfg` 的 `Password=` 是空的,此时服务端启动会输出:
```
LogRCONServer: Warning: Start(): RCONServer was not setup because the password
was not specified on the command line or in the ini file
```
现象是 21114/tcp **不监听** —— 容易被误判为端口冲突,实际是密码没设。
设好密码后重启,日志应出现:
```
LogRCONServer: Start(): RCONServer setup on 0.0.0.0:21114
```
> ⚠️ **`Rcon.cfg` 是 CRLF 行尾。** 用 `sed` 改的时候要保留 `\r`,否则可能出现解析问题:
> ```bash
> sudo sed -i -E "s/^Password=.*$/Password=<你的密码>\r/" Rcon.cfg
> ```
> 生成随机密码时建议直接在服务器上生成,不要经过聊天记录或剪贴板:
> ```bash
> openssl rand -base64 24 | tr -d '/+=' | cut -c1-24
> ```
改完重启生效: 改完重启生效:
```bash ```bash
@@ -416,6 +439,7 @@ $ env RANDOM=NONE bash -c 'echo ${RANDOM}'
| `http: server gave HTTP response to HTTPS client` | 未配 insecure-registries | §5.3 | | `http: server gave HTTP response to HTTPS client` | 未配 insecure-registries | §5.3 |
| 服务器在游戏内搜不到 | 安全组未放行 UDP,或用了 `-p` 而非 host 网络 | §3.3 / §4.3 | | 服务器在游戏内搜不到 | 安全组未放行 UDP,或用了 `-p` 而非 host 网络 | §3.3 / §4.3 |
| 第二实例起不来 | BEACONPORT 或 RCON 端口冲突 | §4.1 | | 第二实例起不来 | BEACONPORT 或 RCON 端口冲突 | §4.1 |
| **RCON 端口 21114 不监听** | `Rcon.cfg` 的 `Password=` 为空,RCON 服务不启动<br>(不是端口冲突) | §6.4 |
| 改了 RCONPORT 后 RCON 连不上 | `Rcon.cfg` 没跟着变(sed 只匹配 21114) | §7.1 | | 改了 RCONPORT 后 RCON 连不上 | `Rcon.cfg` 没跟着变(sed 只匹配 21114) | §7.1 |
| 容器反复重启 | 内存不足被 OOM kill | `dmesg \| grep -i oom` 确认;降人数或调 `mem_limit` | | 容器反复重启 | 内存不足被 OOM kill | `dmesg \| grep -i oom` 确认;降人数或调 `mem_limit` |
| 下载卡住不动 | Steam CDN 限速或中断 | 看日志;SteamCMD 会自动重试 | | 下载卡住不动 | Steam CDN 限速或中断 | 看日志;SteamCMD 会自动重试 |