Photon Fusion 2
探索如何使用以下技术在 Edgegap 上托管 Unity 项目: Fusion 2 小行星 示例.
✔️ 准备工作
在开始之前,您将需要:
Unity 6 - 使用 Unity Hub 下载,
为 Edgegap 修改的 Fusion 2 小行星 示例项目 - 从 GitHub 下载.
⚡ 部署与连接
1. 在 Edgegap 上部署服务器
☑️ 要开始,您需要 在 Edgegap 创建一个免费账号。无需信用卡。
☑️ 为您的应用创建一个新的应用版本,选择 Fusion 2 小行星 示例。
☑️ 在 Unity 中打开您的新项目。
☑️ 导航到 工具 / Edgegap Hosting,然后到第 6 步。 在 Edgegap 上部署服务器。
☑️ 按 部署到云 并且 打开您新部署的详细信息.
☑️ 找到您部署的唯一一次性连接详情:
主机 URL 格式为
780aa4260e83.pr.edgegap.net.
✅ 现在您可以继续到下一步。
2. 从编辑器连接
☑️ 在 Unity 中打开您的新项目。
☑️ 按 ▶️ 播放 按钮以启动您的游戏客户端。
☑️ 将主机 URL(上一步的连接详情)作为房间名输入。
☑️ 按 开始 Edgegap 按钮以连接到您的服务器。
☑️ 使用第二个虚拟玩家连接,方法是 多人游戏 播放 模式 或 ParrelSync.
🙌 恭喜您完成在 Edgegap 上的首次部署!
✏️ 自定义服务器构建
参见 Unity 以便 Unity 了解如何构建和自定义服务器.
在 Photon 上创建应用
为了让初始演示更简单,我们使用了由 Edgegap 拥有的免费层 Photon Cloud 帐户。
☑️ 创建 Photon 免费账号.
☑️ 在 Photon 上创建一个应用:
多人游戏,FusionPhoton SDK,Fusion 2SDK 版本。
☑️ 找到您的应用 ID,格式为 85314a99-56fc-4ab3-ba26-50efca09f303 .
☑️ 在 工具 / Fusion / Fusion Hub (Alt + F) 下的 Photon 设置中输入您的 ID。
将 Fusion 2 项目与 Edgegap 集成
参见 EdgegapServerManager.cs 用于示例性将 Fusion 2 与 Edgegap 集成的脚本。
您的 NetworkProjectConfig 必须使用 对等模式 = 单一 (专用 服务器),而不是 多重 (客户端-主机)!
游戏客户端将通过 Photon Fusion 2 会话(房间) 功能 连接到游戏服务器.
您的游戏服务器需要在调用时用会话名称注册其 IP 地址和外部端口, _runnerInstance.StartGame(StartGameArgs args):
使用
GameMode.Server以确保您的连接不会通过 Photon Cloud 中继(会增加延迟),使用
NetAddress.CreateFromIpPort来自 Fusion 的方法,提供服务器的 IP 地址:
Environment.GetEnvironmentVariable("ARBITRIUM_PUBLIC_IP")提供服务器的外部端口:
Environment.GetEnvironmentVariable("ARBITRIUM_PORT_GAMEPORT_EXTERNAL")如果您使用我们的默认端口映射名称,这是默认名称, 将您的服务器打包的 Unity 插件.
使用 Edgegap 部署主机 URL 作为会话名称:
在游戏服务器中,通过以下方式获取:
$"{Environment.GetEnvironmentVariable("ARBITRIUM_REQUEST_ID")}.pr.edgegap.net"在测试游戏客户端时,从仪表板 - 部署详情页面 / 主机 URL 获取
从我们的以下位置为测试创建部署: 快速入门 托管 插件,
在游戏客户端上线时,从以下位置获取: 匹配 / 工单分配 / FQDN:
另请参见 入门:匹配服务.
故障排除
游戏不存在 (32758)
Photon 房间要求玩家连接到与部署所在位置相同的 Photon Cloud 区域。 从仪表板部署使用了随机的玩家 IP。
您可能需要在地图上找到部署的位置,并在 Assets / Photon / Fusion / Resources / PhotonAppSettings.asset 中将您的游戏客户端配置为匹配的 Photon Cloud 区域.
Edgegap 会尽可能靠近玩家进行部署 当使用我们的 插件 时 或 API 因此在生产环境中,设置 Photon Cloud 区域不是必需的。
最后更新于
这有帮助吗?

