常见问题排查
这页按症状列出常见排查路径。
管理后台打不开
检查:
- 管理器进程或容器是否运行。
L4D2_MANAGER_PORT是否和访问端口一致。- 防火墙或云安全组是否放行
27020/tcp。 - “访问控制”中的面板黑白名单是否允许当前 IP。
- 使用反向代理时,直接连接管理器的代理 IP/CIDR 是否已加入可信代理,并且代理是否正确发送
X-Forwarded-For或X-Real-IP。
Docker 查看日志:
sh
docker logs l4d2-manager如果 data/access_control.json 损坏,管理器会进入恢复模式,只允许直接来自 127.0.0.0/8 或 ::1 的请求。可在服务器本机登录后保存有效配置,或停止管理器后修复该文件。
加入黑名单后仍然可以操作
依次检查:
- 页面顶部的“启用面板黑白名单”总开关是否已经打开并保存。只启用单条黑名单规则不会打开总开关。
- 修改后是否点击了“保存”;按钮仍可放弃修改时,说明页面中可能还有未保存的草稿。
- 规则类型是否正确。单 IP 只匹配一个地址,整个网段应使用 CIDR,例如
192.168.143.0/24。 - 当前请求是否来自
127.0.0.0/8或::1。回环地址为恢复通道,始终允许,不受面板黑白名单限制。 - 使用反向代理时,管理器识别到的最终客户端 IP 是否与规则一致。检查代理转发头、可信代理列表和操作审计中的 IP;不要把操作审计中的“失败”误认为访问控制拒绝,它表示该业务操作本身执行失败。
保存已启用的规则时,如果当前管理员会被新黑名单拒绝,服务端会返回冲突并保留旧配置。这是防止管理员把当前连接锁在面板外的保护,不代表规则已经保存。需要测试会拦截当前地址的规则时,可从服务器本机回环地址登录后配置。
反向代理下记录的客户端 IP 不正确
管理器只接受可信 TCP 对端发送的转发头。不可信对端提供的 X-Forwarded-For 和 X-Real-IP 会被忽略,以防客户端伪造来源。
检查:
- “可信代理”中填写的是代理连接管理器时使用的源 IP/CIDR,而不是用户的公网 IP 或域名。
- 多层代理链中的受控代理是否都已加入可信代理列表。
- 代理是否发送合法的纯 IP 地址链。可信代理发送非法转发头会收到
400。 - Docker 场景下是否使用了实际桥接网段;容器重建后地址或网段是否发生变化。
解析后的最终客户端 IP 会统一用于面板访问控制、登录限流、自助授权和操作审计。更完整的规则见面板访问控制。
登录提示密码错误或被锁定
管理器使用 Bearer 认证,密码来自 L4D2_MANAGER_PASSWORD。连续输错过多会临时锁定当前 IP。
处理方式:
- 确认环境变量或
start_manager.bat中的密码。 - 等待锁定时间结束。
- 重启管理器会清空内存中的错误计数。
首页没有服务器状态
优先检查 RCON:
- 游戏服是否启动。
server.cfg是否设置了rcon_password。L4D2_RCON_URL是否可从管理器访问。L4D2_RCON_PASSWORD是否和游戏服一致。
可以在 RCON 控制台执行:
text
statusDocker 游戏服启动失败
Docker 29.3+ 下,如果日志中出现 32 位程序相关的系统调用问题,请确认游戏服容器保留了:
yaml
security_opt:
- seccomp:unconfined同时确认数据卷没有被错误地挂载为空目录,导致 srcds_run 或游戏文件缺失。
插件启用后没有生效
检查:
- SourceMod 和 Metamod 是否正确启用。
- 插件 ZIP 目录是否符合 插件 ZIP 规范。
- 插件是否依赖额外扩展、gamedata 或 translations。
- SourceMod 错误日志中是否有加载失败记录。
- 是否需要换图或重启服务器。
常用 RCON:
text
sm plugins list
sm exts list地图上传失败
检查:
- 文件格式是否为
.vpk、.zip、.rar或.7z。 - 浏览器到服务器的网络是否稳定。
- 管理器容器或进程是否有写入
L4D2_GAME_PATH的权限。 - 磁盘空间是否足够。
大文件上传会分片进行,失败后可以尝试重新上传,已上传分片会尽量复用。
首页玩家游戏时长无法查询
首页玩家列表中的 L4D2 游戏时长来自 Steam API,和“玩家统计”页面的服务器在线时长不同。无法查询时检查:
- 设置
STEAM_API_KEY。 - Steam API 可访问。
- 玩家 SteamID 可转换为 Steam64。
- 玩家资料或游戏时长隐私允许查询。
“玩家统计”页面的服务器在线时长来自本地采样数据库,不需要 STEAM_API_KEY。
