Photon Fusion 2
探索如何使用来自 Fusion 2 小行星示例.
✔️ 准备工作
在开始之前,您需要:
Unity 6 - 使用 Unity Hub 下载,
为 Edgegap 修改的 Fusion 2 小行星示例项目 - 从 GitHub 下载.
⚡ 部署并连接
1. 在 Edgegap 部署服务器
☑️ 要开始,您需要 创建一个 Edgegap 免费帐户。无需信用卡。
☑️ 为您的应用创建一个新的应用版本,选择 Fusion 2 小行星示例。
☑️ 在 Unity 中打开您的新项目。
☑️ 导航到 Tools / 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 .
☑️ 在 Tools / 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 进行中继(会增加延迟),使用
Fusion 的 NetAddress.CreateFromIpPort方法,提供服务器的 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 区域。
最后更新于
这有帮助吗?

