将 PlayFab GSDK 集成到 Unity 中
多人游戏服务器平台提供了一个 GSDK 库,你可以将其集成到 Unity 的游戏服务器中。 该库是开放源代码的,可在 GitHub 上的 GSDK 存储库 中找到。
安装
可以将 Assets/PlayFabSdk 文件夹复制到 Unity 项目中。 之后,需要在 Unity 编译设置(示例)中启用脚本指令 ENABLE_PLAYFABSERVER_API
。
或者,可以使用提供的 Unity 包文件。
可以在 MultiplayerServerSample 项目中找到示例代码。
用法
至少需要实现PlayFabMultiplayerAgentAPI.Start()
方法并为PlayFabMultiplayerAgentAPI.ReadyForPlayers()
方法启动协同例程,如下面的代码所示
//...
StartCoroutine(ReadyForPlayers());
//...
private IEnumerator ReadyForPlayers()
{
yield return new WaitForSeconds(.5f);
PlayFabMultiplayerAgentAPI.ReadyForPlayers();
}
还要在游戏服务器使用 PlayFabMultiplayerAgentAPI.OnServerActiveCallback
转换为"活动"时注册,如以下示例所示:
PlayFabMultiplayerAgentAPI.OnServerActiveCallback += OnServerActive;
// ...
private void OnServerActive()
{
Debug.Log("Server Started From Agent Activation");
// players can now connect to the server
}
注意
有关游戏服务器状态的详细信息,请查看 此处 的 PlayFab 游戏服务器基本信息部分
此外,可以在游戏服务器上实现以下回调:
-
PlayFabMultiplayerAgentAPI.OnMaintenanceCallback
当 Azure 需要在 VM 上执行维护时触发 -
PlayFabMultiplayerAgentAPI.OnShutDownCallback
收到终止通知时触发 -
PlayFabMultiplayerAgentAPI.OnAgentErrorCallback
游戏服务器与 PlayFab VM 代理之间出现通信错误时触发
注意
有关更多 GSDK 示例,可在此处查看 MPS 示例存储库