Photon Fusion 2

探索如何使用以下技术在 Edgegap 上托管 Unity 项目: Fusion 2 小行星 示例arrow-up-right.

✔️ 准备工作

在开始之前,您将需要:

⚡ 部署与连接

1. 在 Edgegap 上部署服务器

☑️ 要开始,您需要 在 Edgegap 创建一个免费账号arrow-up-right。无需信用卡。

☑️ 为您的应用创建一个新的应用版本arrow-up-right,选择 Fusion 2 小行星 示例。

☑️ 在 Unity 中打开您的新项目。

☑️ 导航到 工具 / Edgegap Hosting,然后到第 6 步。 在 Edgegap 上部署服务器。

☑️ 按 部署到云 并且 打开您新部署的详细信息arrow-up-right.

☑️ 找到您部署的唯一一次性连接详情:

  • 主机 URL 格式为 780aa4260e83.pr.edgegap.net .

✅ 现在您可以继续到下一步。

2. 从编辑器连接

☑️ 在 Unity 中打开您的新项目。

☑️ 按 ▶️ 播放 按钮以启动您的游戏客户端。

☑️ 将主机 URL(上一步的连接详情)作为房间名输入。

☑️ 按 开始 Edgegap 按钮以连接到您的服务器。

☑️ 使用第二个虚拟玩家连接,方法是 多人游戏 播放 模式arrow-up-rightParrelSyncarrow-up-right.

🙌 恭喜您完成在 Edgegap 上的首次部署!

✏️ 自定义服务器构建

circle-check

在 Photon 上创建应用

circle-info

为了让初始演示更简单,我们使用了由 Edgegap 拥有的免费层 Photon Cloud 帐户。

☑️ 创建 Photon 免费账号arrow-up-right.

☑️ 在 Photon 上创建一个应用arrow-up-right:

  • 多人游戏,

  • Fusion Photon SDK,

  • Fusion 2 SDK 版本。

☑️ 找到您的应用 ID,格式为 85314a99-56fc-4ab3-ba26-50efca09f303 .

☑️ 在 工具 / Fusion / Fusion Hub (Alt + F) 下的 Photon 设置中输入您的 ID。

将 Fusion 2 项目与 Edgegap 集成

circle-check
circle-exclamation

游戏客户端将通过 Photon Fusion 2 arrow-up-right会话(房间) arrow-up-right功能 连接到游戏服务器arrow-up-right.

您的游戏服务器需要在调用时用会话名称注册其 IP 地址和外部端口, _runnerInstance.StartGame(StartGameArgs args):

  • 使用 GameMode.Server 以确保您的连接不会通过 Photon Cloud 中继(会增加延迟),

  • 使用 NetAddress.CreateFromIpPort 来自 Fusion 的方法,

  • 提供服务器的 IP 地址: Environment.GetEnvironmentVariable("ARBITRIUM_PUBLIC_IP")

  • 提供服务器的外部端口: Environment.GetEnvironmentVariable("ARBITRIUM_PORT_GAMEPORT_EXTERNAL")

使用 Edgegap 部署主机 URL 作为会话名称:

  • 在游戏服务器中,通过以下方式获取: $"{Environment.GetEnvironmentVariable("ARBITRIUM_REQUEST_ID")}.pr.edgegap.net"

  • 在测试游戏客户端时,从仪表板 - 部署详情页面 / 主机 URL 获取

  • 在游戏客户端上线时,从以下位置获取: 匹配 / 工单分配 / FQDN:

故障排除

chevron-right游戏不存在 (32758)hashtag
  • Photon 房间要求玩家连接到与部署所在位置相同的 Photon Cloud 区域。 从仪表板部署使用了随机的玩家 IP。

  • 您可能需要在地图上找到部署的位置,并在 Assets / Photon / Fusion / Resources / PhotonAppSettings.asset 中将您的游戏客户端配置为匹配的 Photon Cloud 区域arrow-up-right.

  • Edgegap 会尽可能靠近玩家进行部署 当使用我们的 插件 时API 因此在生产环境中,设置 Photon Cloud 区域不是必需的。

最后更新于

这有帮助吗?