因此,我想在虚拟机上运行 L4D2 游戏服务器。部分用于玩游戏,部分用于训练。这是一个简单的住宅网络,配有 DSL 调制解调器和 E4200 路由器(目前)。路由器使用 DHCP 预留来创建虚拟机 xxx150,并使用虚拟机的 MAC 来知道它是 DMZ。调制解调器的设置使得路由器是 DMZ(怀疑存在问题)。
因此,当我启动游戏服务器时,start-ip 脚本中有“-ip xxx150”,该脚本在 LAN 上有效,但在 WAN 上无效。然后,当我将启动脚本设置为“-ip [外部 ip]”时,它只会返回以下内容:
WARNING: NET_OpenSocket: bind: Cannot assign requested address
Couldn't allocate any server IP port, tried 1 addresses
所以,我思考我需要将服务器的网络接口设置为 [外部 IP]。我依稀记得一个朋友的游戏服务器就是这样设置的。无论如何,我不知道如何让 DMZ 服务器的地址成为公共 IP。我尝试过强制使用静态 IP,但我不知道网关应该是什么。
我已经在 Google 上搜索了两天了,除了企业级的解决方法外什么也没找到。
答案1
您需要在路由器上执行端口转发。
首先,你需要知道你的应用程序(L4D2)正在使用的端口。可能在 27000 - 27040 范围内。
然后转到路由器的配置并执行到这些端口(TCP/UDP)的端口转发。