大厅是如何创建的?
有多种方式可以创建大厅。- 由你的玩家创建:大厅可以由想要组队一起玩的玩家创建。这些是客户端所拥有的大厅。
- 由你的游戏服务器创建:你的游戏服务器可以创建大厅并等待玩家加入。这些是服务器所拥有的大厅。
- 通过匹配创建:一组玩家经过匹配后,创建一个大厅作为游戏开始之前的容纳场所。这些是客户端所拥有的大厅。
支持的实体类型
在创建大厅之前,你的游戏必须以 PlayFab 实体身份登录。- 代表玩家创建客户端所拥有的大厅时,请以 title_player_account 实体身份登录。有关更多信息,请参阅登录基础与最佳实践。
- 代表游戏服务器创建服务器所拥有的大厅时,请以 game_server 实体身份登录。有关更多信息,请参阅 AuthenticateGameServerWithCustomId。
大厅的配置方式
大厅的几项重要设置是在创建时配置的:maxMemberCount、accessPolicy、owner 和 ownerMigrationPolicy。- maxMemberCount 定义大厅可容纳的玩家数量
- accessPolicy 定义谁可以发现大厅的连接字符串
- owner 定义大厅所有者,该所有者拥有更新大厅数据的特殊权限。此值隐式为创建大厅的客户端或服务器实体。
- ownerMigrationPolicy 定义在当前所有者离开大厅或与大厅保持连接出现问题时,如何转移大厅所有权的策略。
使用 Lobby 和 Matchmaking SDK 创建客户端所拥有大厅的示例
此示例使用一名已作为 title_player_account 实体登录到 PlayFab 的本地玩家。 在此代码片段中,大厅属性以 lobbyConfiguration 传入,创建大厅的玩家通过 creatorMemberConfiguration 传入其初始成员属性。本地玩家成为大厅所有者,因此这是一个客户端所拥有的大厅。大厅成功创建后,可以使用 PFLobbyHandle 通过 PFLobbySendInvite 邀请其他玩家。使用 Lobby 和 Matchmaking SDK 创建服务器所拥有大厅的示例
此示例类似于客户端所拥有大厅的示例,不同之处在于它以 game_server 实体身份创建大厅,并调用 PFMultiplayerCreateAndClaimServerLobby 而不是 PFMultiplayerCreateAndJoinLobby。若要在 PlayFab Multiplayer 中启用游戏服务器 API,你必须在包含 PFLobby.h 之前定义 PFMULTIPLAYER_INCLUDE_SERVER_APIS。有关更多信息,请参阅游戏服务器与大厅
