![单个 UDP 端口受限制的可能原因](https://linux22.com/image/697401/%E5%8D%95%E4%B8%AA%20UDP%20%E7%AB%AF%E5%8F%A3%E5%8F%97%E9%99%90%E5%88%B6%E7%9A%84%E5%8F%AF%E8%83%BD%E5%8E%9F%E5%9B%A0.png)
我在 Ubuntu 16.04 上运行基于 Quake 3 引擎的游戏服务器(Wolfenstein: Enemy Territory),遇到了一个相当令人费解的问题。一周前,玩家在连接服务器时开始遇到问题。基本上,服务器会尝试在客户端连接时发送游戏状态的快照,但这会失败数百次才能成功,从而将平均连接初始化时间从几秒减慢到几分钟。
这些问题似乎只与一个端口有关。将服务器移至另一个端口(默认 27960 --> 27961)可解决该问题。似乎有些玩家能够顺利连接,但大多数玩家(来自不同国家,例如芬兰、西班牙、英国等,不限于单个 ISP 或国家)需要几分钟才能连接。
我已经好几个月没有动过任何与防火墙/网络接口相关的配置了。我使用 fail2ban,但它使用的是默认配置(基于此https://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers)。我尝试禁用fail2ban,但是没有效果。
我想知道是否有任何可能的原因导致单个端口上的数据包丢失?
答案1
显然,这是一个与 quake 3 引擎相关的问题。在客户端上运行以下命令将修复此问题:
net_port 1
net_restart