有些朋友和我正在尝试使用UDK创建游戏3.现在它没什么特别的;我们有一个产生并在自定义地图上移动的Pawn,它都是在UDK附带的示例游戏中编写的。我正在尝试设置专用服务器,以便我们可以测试我们的更改(这将是一个多人游戏)。我们都在同一网络上的强大Windows机器上,而且服务器没有通过Steam运行。
我一直在使用Unreal Frontend来编译和打包游戏。安装程序工作正常,它安装的游戏也可以。我们可以建立一个简单的点对点多人游戏,这是有效的。问题是当我尝试从命令行将其作为专用服务器运行时。我输入的命令是
UDK.exe server provinggrounds.udk?bIsLanMatch=true
执行并启动第二个控制台,说明游戏引擎已初始化,然后等待。不幸的是,网络上游戏的其他副本都没有看到这个服务器,这是一个问题。现在这里变得疯狂。
我在“尝试随机的东西看看有什么用处”阶段进行了故障排除。如果我从命令行将游戏作为专用服务器运行,则在同一台计算机上以正常游戏模式打开游戏的第二个实例,然后让该实例主持多人游戏匹配,游戏中的任何其他实例网络将看到一台服务器,当它们连接到它时,它们将连接到我的计算机上的专用命令行服务器。一旦他们加入,我可以在不影响服务器的情况下关闭正常的托管游戏,但之后再也没人能看到服务器了。
我真的不明白这里发生了什么。为什么任何人的游戏都无法在正常情况下找到服务器?为什么只有在同一台计算机上托管对等游戏的游戏实例时,服务器才可见?有办法解决这个问题吗?
答案 0 :(得分:0)
尝试:
UDK.exe server map.udk?listen=true?bIsLanMatch=true?dedicated=true
这就是我用来启动专用服务器的方法。您错过的是listen=true
部分。
有关详细信息,请参阅documentation。
编辑1:
作为一种解决方法,您可以强制您的游戏连接到给定的IP。在您的游戏中打开带有Tab的控制台并键入Open #SERVER_IP#
(当然将#SERVER_IP#替换为实际的IP)。
您可以将游戏连接到服务器,将服务器的IP作为参数传递给命令行:UDK.exe #SERVER_IP#
编辑2:
另一个问题可能是防火墙,也许UDK在作为专用服务器运行时使用不同的端口。尽管不太可能,但以下是需要为UDP打开/转发UDK的端口6500,7777,7778,7787,13000,27900。