Photon Fusion 2
了解如何使用以下内容中的技术在 Edgegap 上托管 Unity 项目 Fusion 2 小行星示例.
✔️ 准备工作
开始之前,你需要:
Unity 6 - 使用 Unity Hub 下载,
Fusion 2 小行星示例项目(已为 Edgegap 修改) - 从 GitHub 下载.
⚡ 部署并连接
1. 在 Edgegap 上部署服务器
☑️ 要开始,你需要 在 Edgegap 创建一个免费账户. 无需信用卡。
☑️ 为你的应用创建一个新的应用版本,选择 Fusion 2 小行星示例。
☑️ 在 Unity 中打开你的新项目。
☑️ 导航到 Tools / Edgegap Hosting,然后到第 6 步。 在 Edgegap 上部署服务器。
☑️ 点击 Deploy to cloud,然后 打开你新部署的详细信息.
☑️ 找到你部署的唯一一次性连接信息:
主机 URL 格式为
780aa4260e83.pr.edgegap.net.
✅ 你现在可以继续下一步。
2. 从编辑器连接
☑️ 在 Unity 中打开你的新项目。
☑️ 按 ▶️ Play 按钮启动你的游戏客户端。
☑️ 将主机 URL(上一步的连接信息)作为房间名称输入。
☑️ 按 Start Edgegap 按钮连接到你的服务器。
☑️ 连接第二个虚拟玩家,使用 多人游戏模式 或 ParrelSync.
🙌 恭喜你在 Edgegap 上完成了第一次部署!
✏️ 自定义服务器构建
查看 Unity 用于 Unity 的 了解如何构建和自定义服务器.
在 Photon 上创建一个应用
为了让最初的演示更容易,我们使用了一个由 Edgegap 拥有的免费层 Photon Cloud 账户。
多人游戏,FusionPhoton SDK,Fusion 2SDK 版本。
☑️ 找到你的 Application ID,格式为 85314a99-56fc-4ab3-ba26-50efca09f303 .
☑️ 在 Tools / Fusion / Fusion Hub(Alt + F)下的 Photon Settings 中输入你的 ID。
将 Fusion 2 项目与 Edgegap 集成
查看 EdgegapServerManager.cs 用于将 Fusion 2 与 Edgegap 集成的示例脚本。
你的 NetworkProjectConfig 必须使用 Peer Mode = Single (专用服务器),而不是 Multiple (客户端主机)!
游戏客户端将通过 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"在测试游戏客户端时,从仪表板 - 部署详情页面 / Host URL 获取它
从我们的 快速开始托管插件,
在正式运行的游戏客户端中,从以下位置获取它 匹配 / 票据分配 / fqdn:
另见 入门使用 Matchmaking.
故障排除
游戏不存在(32758)
Photon 房间要求玩家连接到部署所在的 Photon Cloud 区域。 从仪表板部署时会使用随机化的玩家 IP。
你可能需要在地图上找到部署的位置,并在 Assets / Photon / Fusion / Resources / PhotonAppSettings.asset 中将你的游戏客户端配置为匹配的 Photon Cloud 区域.
Edgegap 尽可能靠近玩家进行部署 当使用我们的 插件 或 API 因此在生产环境中,不需要设置 Photon Cloud 区域。
最后更新于
这有帮助吗?

