传输示例
在使用匹配器或大厅管理玩家并通过 Edgegap API 为他们创建中继会话后,当中继准备好时,需要将玩家连接到该中继。Edgegap 提供了一个专用传输来实现此目的,本指南将向你展示如何在项目中实现它。该传输可在 我们的 GitHub 上获得.
对于 Unity,目前该传输有以下 netcode 的版本:
Mirror;
Fishnet;
Unity Netcode for GameObjects (NGO)。
添加传输
在下载适合你所用 netcode 的传输后,需要将其包含到项目中。首先,将其添加到项目文件的以下位置:
Mirror :在
Edgegap文件夹下添加Assets/Mirror/Transports;Fishnet :在
Edgegap KcpTransport文件夹下添加Assets/Fishnet/Plugins;NGO :在
EdgegapRelay与kcp2k文件夹下Assets/Edgegap.
然后,添加 EdgegapKcpTransport 脚本到你的 NetworkManager gameObject,确保将该新组件拖拽到该 Transport 属性上。
如果有该选项,请确保禁用 Relay GUI 在 EdgegapKcpTransport 组件的 NetworkManager。否则,在尝试连接到中继时它会产生干扰。
该选项主要存在于 Mirror 和 NGO 版本的传输中。
连接到中继
在完成匹配并创建中继会话后,使用 Edgegap API 来确定中继何时准备好接受连接。一旦准备就绪,使用 API 响应中提供的数据来设置传输的各项数值。你需要在相应字段中填写以下值:
中继的
IP地址用作传输的中继地址;由
会话授权令牌用作传输的会话 ID;由
用户的授权令牌用作传输的用户 ID.
服务器/主机 连接
中继的
服务器端口值用作传输的中继端口.
客户端 连接
中继的
客户端端口值用作传输的中继端口.
每个玩家都会有自己唯一的授权令牌,但会话令牌在会话中的每个玩家之间保持相同。
使用 Mirror
使用 Fishnet
使用 NGO
使用 ApiResponse
一旦这些数值正确设置,使用传输将每个玩家连接到中继。过一会儿,你就可以开始玩游戏了!
示例项目
以下项目是使用 Edgegap 中继传输的简单示例。
要使它们正常工作,请打开命令提示符终端并通过 git clone [URL] 命令下载项目。在 Unity Hub 中打开项目文件夹,然后更改 RelayProfileToken 值在 HelloWorldManager 组件的 NetworkManager gameObject 中为你自己的中继配置文件令牌。
使用你自定义的 中继配置文件令牌 置于 HelloWorldManager.cs 或 EdgegapRelayService.cs.
最后更新于
这有帮助吗?

