本主题涵盖直接使用多人 API。有关使用 Microsoft Game Development Kit (GDK) 开发游戏时的多人功能概述,请参见以下主题。
关于多人系统
2015 多人游戏优化了多人会话目录 (MPSD) 和游戏会话的直接使用。它为单个游戏或玩家的多个并发会话提供更好的支持,并更新 XBOX 服务 API (XSAPI),使游戏能够:- 广告玩家当前的活动和可加入性。
- 向会话发送邀请,以及玩家可见(游戏指定)的上下文字符串。
- 通过游戏代码发现并加入会话。
- 维护与 MPSD 的 Web 套接字连接,以便可以接收会话更改的简短通知(轻拍);例如,反映对更改事件和连接状态更改订阅的更新。MPSD 还使用 Web 套接字连接以快速检测并对客户端断开连接采取行动。
- 使用 SmartMatch 匹配。
多人组件、接口和体系结构
2015 多人游戏的组件
多人游戏是一个由多个组件组成的系统。2015 多人游戏足够灵活,可以与其他组件(如专用服务器和外部匹配系统)配合使用。多人会话目录
MPSD 是一个持有会话集合的服务。会话 定义为驻留在云中并代表一组正在玩游戏的人的安全文档。 有关详细信息,请参见 多人会话目录 (MPSD)。多人客户端 API
REST 功能可以在游戏的直接调用中使用,但我们建议您通过 XSAPI 访问 MPSD。有关详细信息,请参见 调用 MPSD。XBOX 派对系统
在 2015 多人游戏中,XBOX 派对系统仅支持聊天派对作为外部实体。游戏可以与派对系统交互以发现聊天派对的成员身份。有关详细信息,请参见本主题稍后的 2015 多人游戏支持的派对。 派对系统现在直接通过 MPSD 会话支持游戏,而不是使用游戏派对。游戏可以使用会话来启用诸如成员交互、在空间可用时将玩家拉入游戏以及在等待期间保持玩家参与等操作。2015 多人游戏接口
2015 多人游戏使用多个接口与其他 XBOX 组件交互。XBOX 安全套接字
2015 多人游戏通过使用 XBOX 安全套接字和 Winsock 支持设备之间的低级网络通信。网络功能使用互联网协议安全 (IPSec),使游戏能够提供安全的设备关联。XBOX 服务实时活动服务
2015 多人游戏使用实时活动 (RTA) 服务,以便游戏可以订阅 MPSD 会话更改并自动检测客户端断开连接。有关详细信息,请参见 实时活动 (RTA) 服务。XBOX 服务 SmartMatch 匹配服务
SmartMatch 匹配服务基于匹配期间提供的玩家偏好和数据以及信息,组建玩家组。有关详细信息,请参见 匹配概述。XBOX 服务信誉服务
信誉服务管理有关信誉的玩家统计信息,并支持基于信誉过滤的匹配。2015 多人游戏通过 SmartMatch 匹配使用信誉服务。有关详细信息,请参见 信誉。典型的 2015 多人游戏体系结构
本节介绍最典型的 2015 多人游戏体系结构。对等体系结构
在对等体系结构中,游戏使用 MPSD 和 SmartMatch 匹配来发现对等地址。然后游戏使用这些地址通过 XBOX 安全套接字连接对等方,如下图所示。有关详细信息,请参见 Windows 套接字简介。
客户端/服务器体系结构
在客户端/服务器体系结构中,游戏使用 MPSD 和 SmartMatch 匹配来发现专用服务器地址。然后游戏使用这些地址通过 XBOX 安全套接字连接到专用服务器,如下图所示。有关详细信息,请参见 Windows 套接字简介。
Azure PlayFab 服务器实例可以作为客户端/服务器体系结构中的服务器。有关详细信息,请参见 多人服务器。
2015 多人游戏支持的派对
XBOX One(或更高版本)的 2015 多人游戏不将 “游戏派对” 作为系统级构造公开。但是,它在系统级支持 “聊天派对”,与 2014 多人游戏一样。通过使用 MPSD 会话,您的游戏仍然可以提供类似于使用游戏派对的玩家体验。聊天派对
聊天派对 是一群互相聊天的人,由玩家通过 XBOX One 派对应用管理。玩家可以在游戏会话中或在执行其他主机活动时处于聊天派对中。但是,聊天派对中的玩家与这些玩家的其他活动之间没有联系。 聊天派对通过PartyChat 类公开,该类允许游戏检查聊天派对的状态。例如,游戏可以使用 PartyChat.GetPartyChatViewAsync 方法枚举聊天派对的成员。
实现类似于游戏派对的功能
在 2014 多人游戏中,游戏派对有多种用途。它允许游戏:- 广告玩家当前的活动和可加入性。
- 向会话发送邀请。
- 发现并加入会话。
- 接收对注册到派对的会话某些更改的通知。
- 使用 SmartMatch 匹配。
- 在多个游戏会话中保持一组人在一起。
