将 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 示例存储库