首先要在服务器端查清楚实际监听的端口,而不是猜默认值。检查启动脚本/启动参数(启动命令里通常会有类似 -Port= 或 --Port 的配置),也可以查看服务器配置文件或控制台日志,日志里会输出监听端口。若无法从配置中得出结论,在服务器上运行端口监听检测命令:Linux 上用 ss -tulnp 或 netstat -tulnp,Windows 上用 netstat -ano,并结合进程 PID 对应到游戏进程确认。注意 SCUM 可能同时使用多个端口(游戏数据、查询/浏览器、RCON/管理端口),常见默认端口示例包括 UDP 7777(Unreal 引擎类)、UDP/TCP 27015(Steam 查询),但以实际启动参数为准。
在 Windows 上需要在系统防火墙开入站规则并允许对应协议。推荐的命令行操作示例(以 UDP/12345 为例):
netsh advfirewall firewall add rule name="SCUM-UDP-12345" dir=in action=allow protocol=UDP localport=12345
如果使用多个端口或端口范围,按需修改 localport 为 "12345-12350"。同时确认没有第三方安全软件(杀毒、IPS)拦截,必要时在第三方软件中也添加放行规则。最后在服务器上用 netstat/ss 确认端口已处于 LISTEN 状态,并尝试本机用 telnet/nc 或外部端口检测网站校验端口是否可达。
对 Linux 服务器常见做法是使用 UFW 或直接用 iptables/ nftables。UFW 示例:sudo ufw allow 12345/udp;若是端口范围:sudo ufw allow 12345:12350/udp。使用 iptables 的示例命令:sudo iptables -A INPUT -p udp --dport 12345 -j ACCEPT 并保存规则(视发行版而定)。检查服务是否真的在对应端口监听:ss -u -l -n 或 netstat -u -l -n。若服务器在云主机(例如 AWS、GCP、Azure),还必须在控制台中打开安全组/防火墙规则,否则云端入口会被拦截。
如果服务器在内网(路由器或 NAT 后面),还要在路由器上把外网端口映射到服务器的内网 IP 与端口。步骤:1) 为服务器配置静态内网 IP;2) 在路由器的端口转发/虚拟服务器里添加规则,协议选择 UDP 或 TCP(以服务需求为准);3) 将外部端口(可以与内部端口相同)指向服务器内网 IP 与端口;4) 若有双层 NAT(例如 ISP CGNAT),必须联系 ISP 申请公网 IP 或使用 VPS 中转/反向代理。确认映射后,可在外网使用端口检测工具(例如 portchecker.co)检查端口是否在公网可达。
先在服务器端确认服务监听并且防火墙/安全组已放行。服务器端测试可用 nc -u -l 12345(监听)配合外部 nc 发送数据。客户端测试:使用 nc/telnet(TCP)或 ncat(UDP)尝试连接;若端口检测工具显示不可达,进一步用 traceroute / tracert 检查路径是否被阻断;通过查看 SCUM 服务器日志或游戏控制台查找连接拒绝、超时或验证失败的错误码。若怀疑 ISP 层面封堵,尝试把服务器移到其他节点或通过 VPS 做端口中转;若是玩家能 ping 通服务器但无法加入,检查游戏版本、VAC/反作弊或服务器白名单、最大玩家数设置等可能导致“进不去”的原因。