在编辑器中进行联网游戏

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

Choose your operating system:

Windows

macOS

Linux

在编辑器中运行(Play In Editor) 支持多个环境,因此,你可以测试联网游戏。编辑器会在已装入的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+Tab Control+Tab 在客户端窗口之间循环切换焦点。

高级设置

客户端环境数目以及是否使用专用服务器也可以在 关卡编辑器——游戏位置设置窗口 中设置。在此处, 你还可以指定要发送给预览会话的任何命令行选项,并且还能通过取消选中 使用单个进程(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 Game Preview Client 1(64bit/PCD3D_SM5) 的窗口。

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

bp_graph_multiplayer_pie.png

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