diff --git a/README.md b/README.md index 9fa3cd9..186ecf3 100644 --- a/README.md +++ b/README.md @@ -245,8 +245,31 @@ docker compose logs -f squad1 | `Bans.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 @@ -416,6 +439,7 @@ $ env RANDOM=NONE bash -c 'echo ${RANDOM}' | `http: server gave HTTP response to HTTPS client` | 未配 insecure-registries | §5.3 | | 服务器在游戏内搜不到 | 安全组未放行 UDP,或用了 `-p` 而非 host 网络 | §3.3 / §4.3 | | 第二实例起不来 | BEACONPORT 或 RCON 端口冲突 | §4.1 | +| **RCON 端口 21114 不监听** | `Rcon.cfg` 的 `Password=` 为空,RCON 服务不启动
(不是端口冲突) | §6.4 | | 改了 RCONPORT 后 RCON 连不上 | `Rcon.cfg` 没跟着变(sed 只匹配 21114) | §7.1 | | 容器反复重启 | 内存不足被 OOM kill | `dmesg \| grep -i oom` 确认;降人数或调 `mem_limit` | | 下载卡住不动 | Steam CDN 限速或中断 | 看日志;SteamCMD 会自动重试 |