fill传输示例

在使用匹配器或大厅管理玩家并通过 Edgegap API 为他们创建中继会话后,当中继准备好时,需要将玩家连接到该中继。Edgegap 提供了一个专用传输来实现此目的,本指南将向你展示如何在项目中实现它。该传输可在 我们的 GitHub 上获得arrow-up-right.

对于 Unity,目前该传输有以下 netcode 的版本:

  • Mirror;

  • Fishnet;

  • Unity Netcode for GameObjects (NGO)。

添加传输

在下载适合你所用 netcode 的传输后,需要将其包含到项目中。首先,将其添加到项目文件的以下位置:

  • Mirror :在 Edgegap 文件夹下添加 Assets/Mirror/Transports;

  • Fishnet :在 Edgegap KcpTransport 文件夹下添加 Assets/Fishnet/Plugins;

  • NGO :在 EdgegapRelaykcp2k 文件夹下 Assets/Edgegap.

然后,添加 EdgegapKcpTransport 脚本到你的 NetworkManager gameObject,确保将该新组件拖拽到该 Transport 属性上。

circle-info

如果有该选项,请确保禁用 Relay GUIEdgegapKcpTransport 组件的 NetworkManager。否则,在尝试连接到中继时它会产生干扰。

该选项主要存在于 Mirror 和 NGO 版本的传输中。

连接到中继

在完成匹配并创建中继会话后,使用 Edgegap API 来确定中继何时准备好接受连接。一旦准备就绪,使用 API 响应中提供的数据来设置传输的各项数值。你需要在相应字段中填写以下值:

  • 中继的 IP 地址用作 传输的中继地址;

  • 会话授权令牌 用作 传输的会话 ID;

  • 用户的授权令牌 用作 传输的用户 ID.

服务器/主机 连接

  • 中继的 服务器端口 值用作 传输的中继端口 .

客户端 连接

  • 中继的 客户端端口 值用作 传输的中继端口 .

circle-info

每个玩家都会有自己唯一的授权令牌,但会话令牌在会话中的每个玩家之间保持相同。

使用 Mirror

使用 Fishnet

使用 NGO

使用 ApiResponse

一旦这些数值正确设置,使用传输将每个玩家连接到中继。过一会儿,你就可以开始玩游戏了!

示例项目

以下项目是使用 Edgegap 中继传输的简单示例。

要使它们正常工作,请打开命令提示符终端并通过 git clone [URL] 命令下载项目。在 Unity Hub 中打开项目文件夹,然后更改 RelayProfileToken 值在 HelloWorldManager 组件的 NetworkManager gameObject 中为你自己的中继配置文件令牌。

circle-info

使用你自定义的 中继配置文件令牌arrow-up-right 置于 HelloWorldManager.csEdgegapRelayService.cs.

最后更新于

这有帮助吗?