本文总结了在游戏中实现网络的步骤。 有关详细信息,请务必查看本文末尾的 “另请参阅” 部分中的文章。
使用 PlayFab Party 实现网络功能
PlayFab Party 旨在提供默认的安全通信环境。 PlayFab Party 对所有通信(管理数据、游戏数据和实时通信)使用行业标准进行加密和身份验证。 限制对网络的访问是保护其完整性的核心部分。 有关 PlayFab Party 如何在多人游戏中支持实时语音和数据通信的信息,请参阅 异步 PlayFab Party作和通知。
加入网络需要四项作。
- 了解网络描述符
- 拥有有效的Microsoft Azure PlayFab
title_user_account
实体令牌 - 了解邀请标识符
- 是否存在指定邀请中令牌的 PlayFab 实体 ID,或者指定的邀请是打开邀请
邀请 (PartyInvitation) 是网络中向玩家授予对网络的访问权限的对象。 邀请具有创建者、唯一标识符、可撤销性设置以及指定为实体 ID 的可选玩家集。 网络可以有任意数量的活动邀请,包括无邀请。 网络始终通过初始邀请创建。
PlayFab 群网络最多可以有 128 名玩家。
- 下载并设置 PlayFab Party SDK:PlayFab Party SDK 为游戏提供网络和玩家通信。 有适用于不同平台和游戏引擎的 PlayFab Party SDK。 选择并下载所需的文件。
- 对玩家进行身份验证:如果你在 Xbox 和电脑游戏中使用 PlayFab Party,我们建议你使用 Party Xbox Live 帮助程序库 来确保一致的功能和行为。 此库可帮助你的游戏满足 Xbox 服务要求。
- 创建网络:将 PlayFab Party 网络与游戏会话配合使用时,选择哪个客户端和玩家将使用 PartyManager::CreateNewNetwork () 创建网络。
- 创建网络的客户端负责以下事项:
- 使用 PartyNetworkConfiguration 设置不可变的网络配置。
- 使用 PartyInvitationConfiguration 实现初始邀请。 初始邀请包含一个标识符和一个允许加入网络的玩家列表。 玩家被指定为实体 ID 列表
title_user_account
。 列表也可以为空,使具有网络描述符和邀请标识符的任何玩家都可以加入。 - 向其他玩家宣传网络。
- 创建网络的客户端负责以下事项:
- 播发网络:若要加入现有 PlayFab Party 网络,客户端需要描述符和标识符。
- 网络描述符:PlayFab Party 网络由 PartyNetworkDescriptor 网络描述符标识。
- 邀请标识符: 邀请标识符 是唯一标识邀请的字符串。 当显式创建邀请或在创建网络时创建初始邀请时,它由客户端提供。 如果客户端不提供邀请标识符,则会唯一生成一个。
- 若要向其他玩家播发新网络,请通过任何适当的通信媒体发送这两个项目。
- 加入网络是一个两步过程。 要加入网络的客户端必须首先通过向 PartyManager::ConnectToNetwork () 提供反序列化的网络描述符来连接到网络,然后通过向 PartyNetwork::AuthenticateLocalUser () 提供邀请标识符来对玩家进行身份验证。
- 玩家加入网络后,使用 PartyNetwork::CreateEndpoint 为游戏消息流量建立网络终结点。
加入网络有三种方案。
- 加入网络社交邀请:最简单的方案是,单个玩家创建游戏会话,并希望通过共享社交平台邀请其他已知玩家。
- 邀请者使用开放邀请或包含邀请者想要玩的所有玩家的邀请创建网络。
- 创建网络后,邀请者通过社交平台的邀请机制向其他玩家发送网络描述符和邀请标识符。
- 每个受邀玩家使用网络描述符和邀请标识符连接到网络。
- 加入网络的大厅:如果你的游戏提供允许在客户端之间发送数据的大厅,则它可以用作交换网络连接信息的通信媒体。
- 选择一组玩家一起玩游戏。 其中一个玩家被选为创建者。
- 集中的每个玩家都将其title_user_account实体 ID 发送给创建者。
- 创建者创建网络,在初始邀请配置中指定玩家的实体 ID。
- 网络创建完成后,创建者会将网络描述符和初始邀请标识符发送给想要加入的玩家集。
- 每个玩家使用网络描述符和邀请标识符连接到网络。
- 加入网络匹配服务:匹配服务(如 PlayFab Matchmaking)可用于查找要玩的玩家列表。
- 玩家通过服务发起匹配请求。 title_user_account实体 ID 必须是请求的一部分,因为匹配结果必须包含每个玩家的实体 ID。
- 玩家会收到一个匹配结果,其中包含想要成为网络的一部分的玩家集。
- 预先确定的算法用于选择哪个玩家将成为创建者。
- 创建者创建网络,在初始邀请配置中指定其他匹配玩家的实体 ID。
- 网络创建完成后,创建者使用带外通信媒体(如电子邮件或消息传递应用)将网络描述符和初始邀请标识符发送给其他匹配的玩家。
- 每个匹配的玩家使用网络描述符和邀请标识符连接到网络。
另请参阅
PlayFab 文档 是最新信息的最佳来源。 有关详细信息,请参阅以下文章。