在编辑器中进行联网游戏

通过用户端和服务器测试游戏

Windows
MacOS
Linux

在编辑器中游戏 支持多个环境,因此,您可以测试联网游戏。编辑器会在已装入的 UE4 实例中生成多个环境,这可缩短迭代时间,并 允许您调试每个环境的 蓝图

设置联网测试

关卡编辑器工具栏蓝图编辑器工具栏 中的 游戏位置(Play In) 下拉菜单中,您可以设置在开始 在编辑器中游戏 会话时要创建多少个用户端环境。 另外,您可以指定是否运行专用的服务器。

networking_settings.png

用户端数目(Number of Clients) 字段允许您指定要测试的玩家总数。如果设置为 1,并且未选中 运行专用服务器(Run Dedicated Server)复选框, 那么 在编辑器中游戏 会话将允许您测试非联网的单机游戏。

此下拉菜单中提供的另一个基本联网选项是 运行专用服务器(Run Dedicated Server)复选框。如果选中此项,那么将启动"专用服务器"环境,但是没有专用服务器的显示或本地玩家。 使用专用服务器意味着没有用户端作为侦听服务器来运行。专用服务器使您能够查找局限于专用服务器的错误,例如依赖于本地玩家的代码。对于功能依赖于服务器和用户端的 蓝图, 简单的测试配置是将 玩家数(Number of Players)设置为 1,并将 运行专用服务器(Run Dedicated Server)设置为 true。只有一个窗口用于测试游戏,但其具备连接到专用服务器的用户端的完整功能。

设置这些选项后,请选择您偏爱的 在编辑器中游戏 模式开始测试游戏。如果您有多个用户端环境,并且为 在编辑器中游戏 会话选择 视口(Viewport)显示类型,那么将在视口中显示一个用户端环境,而所有其他用户端环境都将显示在新窗口中。以下示例图像显示使用 4 个玩家和专用服务器进行测试。

单击可查看标准大小的图片:

您可以使用 Shift+TabControl+Tab 在用户端窗口之间循环切换焦点。

高级设置

用户端环境数目以及是否使用专用服务器也可以在 "关卡编辑器 - 游戏位置设置"(Level Editor - Play In Settings)窗口 中设置。在此处, 您还可以指定要发送给预览会话的任何命令行选项。您还可以通过取消选中 使用单个进程(Use Single Process)复选框来恢复先前的联网 在编辑器中游戏 行为。

设置

描述

启动独立服务器(Launch Separate Server)

启动一个单独的服务器,即便网络模式不需要它。这允许你通过让离线游戏连接服务器,来测试离线服务器的工作流程。

游戏网络模式(Play Net Mode)

设置PIE会话使用的网络模式。

  • 作为独立进程游戏播放(Play Standalone)**: 启动一个独立进程游戏。这样不会创建一个专用服务器,也不会自动连接到一个服务器。

  • 作为监听服务器播放(Play As Listen Server): 让编辑器同时充当服务器和客户端。根据客户端的数量,可以打开额外的客户端。

  • 作为客户端播放(Play As Client): 让编辑器充当客户端。在后端生成一个专用服务器以便连接用。

在单个进程下运行(Run Under One Process)

在一个单一的UE4实例下生成多人游戏窗口。这样加载速度会快很多,但有可能出现更多问题。

启用网络模拟(Enable Network Emulation)

在启动游戏时应用所选的网络模拟设置,用于测试你的游戏如何处理网络问题。

  • 模拟目标(Emulation Target):将模拟设置仅用于服务器(Server Only)、仅用于客户端(Clients Only)、或用于所有人(Everyone)。

  • 网络模拟配置(Network Emulation Profile)。对输入流量和外发流量应用预设。选项包括 "平均(Average)"、"糟糕(Bad)" 或 "自定义(Custom)"。

  • 输入流量(Incoming traffic)。可以为所有输入的数据包添加延迟和数据包丢失的设置。可以添加最小和最大延迟,以及数据包丢失的百分比。

  • 外发流量(Outgoing traffic): 可以为所有外发数据包添加延迟和数据包丢失的设置。可以添加最小和最大延迟,以及数据包丢失的百分比。

客户端(Client)

启动游戏时应用所选的客户端设置。

  • 游戏客户端数量(Play Number of Clients):打开多个客户端窗口。第一个窗口将遵循在"编辑器模式中播放"(Play In Editor)的选项,其余的将遵循"在一个进程下运行"(Run Under One Process)的设置。

  • 将游戏手柄路由给第二个窗口(Route Gampad to Second Window): 在多人游戏会话中,路由游戏手柄的输入。如未勾选,则第一个游戏手柄绑定第一个多人游戏窗口,第二个绑定第二个窗口,依此类推。如勾选,游戏手柄绑定第二个多人游戏窗口,第一个窗口则由键盘和鼠标控制。

  • 为每个玩家创建音频设备(Create Audio Device for Every Player)。控制创建多少个音频设备。如果勾选,将为每个玩家创建一个单独的音频设备。这能为每个玩家的视角提供准确匹配的音频效果,但代价是CPU开销变大。如果不勾选,则只为前两个玩家创建单独的音频设备。

  • 客户端固定FPS(Client Fixed FPS)。将各个客户端的帧率设置为列表中的元素。包括监听服务器。

服务器(Server)

启动游戏时,应用选定的服务器设置:

  • 服务器端口(Server Port)。打开所选端口,进行简单服务器联网。

  • 服务器地图名称重载(Server Map Name Override)。重载服务器启动的地图。目前只有PIE_StandaloneWithServer网络模式使用。

  • 其他服务器游戏选项(Additonal Server Game Options): 添加其他参数,作为URL参数传递给服务器。

  • 其他服务器启动参数(Additonal Server Launch Parameters): 添加其他参数,以便作为参数传递给服务器。

  • 服务器固定FPS(Server Fixed FPS): 让服务器以指定帧率运行。不影响监听服务器。

  • 多人游戏视口大小(按像素计)(Multiplayer Viewport Size (in pixels)): 以指定的宽度和高度生成额外的客户端。当你需要多个客户端但只想与一个窗口交互时,这会很有用。

调试蓝图

现在,在多环境场景中运行时,蓝图编辑器 将提供一个额外的下拉菜单,用于选择要调试的环境:

bp_debugger_multiplayer_pie.png

环境列表将对 Actor 列表中的 Actor 进行过滤。例如,如果选择"全部环境",那么您将在另一个下拉列表中看到每个环境中的 Actor。如果选择其他环境中的某个环境,那么您将只看到该环境实例中的 Actor。

这也会影响断点。例如,如果将调试环境设置为"用户端 1",那么断点只会在"用户端 1"环境中的 Actor 上触发。

通过查看窗口标题,您可以看到预览窗口的用户端数目。例如,在以上联网游戏图像中,有一个标题为 ShooterGame 游戏预览用户端 1((64 位/PCD3D_SM5))(ShooterGame Game Preview Client 1 (64bit/PCD3D_SM5))的窗口。

如果选择"所有环境"(All Worlds),那么任何环境都可以触发断点。那些断点触发时,蓝图编辑器将显示所调试的环境:

bp_graph_multiplayer_pie.png

Select Skin
Light
Dark
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见