游戏服务器和大厅

本文介绍如何从游戏服务器使用 PlayFab Lobbies。

在 PlayFab 多人游戏 SDK 中启用游戏服务器 API

若要在 PlayFab 多人游戏中启用游戏服务器 API,必须在包含 PFLobby.h 之前定义PFMULTIPLAYER_INCLUDE_SERVER_APIS。

#define PFMULTIPLAYER_INCLUDE_SERVER_APIS
#include <PFMultiplayer.h>
#include <PFLobby.h>

创建服务器拥有的大厅

若要创建服务器拥有的大厅,请执行以下步骤:

  1. 使用 AuthenticateGameServerWithCustomId 以 game_server PlayFab 实体身份登录,并检索实体密钥和令牌对。
  2. 使用 PFMultiplayerSetEntityToken向 PlayFab 多人游戏 SDK 提供game_server的实体密钥和令牌。
  3. 使用game_server的实体键调用 PFMultiplayerCreateAndClaimServerLobby

有关详细信息和示例代码,请参阅 创建大厅

服务器不是成员

在客户端拥有的大厅中,大厅的所有者也是大厅的成员。

服务器拥有的大厅在此方面有所不同。 拥有大厅的game_server实体不是大厅的成员。

服务器所有者可以修改全局大厅属性,但没有自己的成员属性部分。

有关此区别的详细信息,请参阅 大厅所有者与成员

所有权和所有权迁移策略

与客户端拥有的大厅不同,服务器拥有的大厅只有一个有效的所有权迁移策略:“服务器”所有权迁移策略。

这会对所有权迁移和大厅恢复产生重要影响。

主要是当服务器拥有的大厅的所有者断开连接(例如,由于服务器崩溃)时,大厅的所有权不会自动转移到大厅中的任何成员。 相反,大厅会隐藏在大厅搜索结果中(以避免新成员无意中加入此大厅),由游戏来协调一些恢复逻辑。

在下一个可用机会中,崩溃的game_server实体应通过 PFMultiplayerFindLobbies 使用 大厅/amOwner 搜索密钥来搜索需要恢复的大厅。

找到需要恢复的大厅后,游戏服务器可以尝试恢复游戏会话或删除大厅。

有关所有权更改的详细信息,请参阅 所有权更改

另请参阅