PIE多人游戏选项

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

Choose your operating system:

Windows

macOS

Linux

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

设置联网测试

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

Click image for full size.

用户端数目(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)

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

启用网络模拟(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