> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 跨 XDK 与 GDK 游戏版本的多人游戏邀请

> XBOX 多人游戏服务如何支持在共享游戏 ID 的 XBOX One SDK 和 Microsoft GDK 游戏版本间的邀请、加入、SmartMatch 和活动。

只要 XBOX One 软件开发工具包/GDK 游戏版本共享相同的 XBOX 游戏 ID，多人游戏系统就支持跨 XBOX One 软件开发工具包/GDK 游戏版本的多人游戏会话、SmartMatch 匹配、邀请和活动（加入进行中的游戏）。多人游戏服务不支持使用不同 XBOX 游戏 ID 的 XBOX One 软件开发工具包/GDK 游戏版本。

在此上下文中，需要重要指出的是，XBOX One 软件开发工具包和 GDK 并不指代底层硬件。XBOX One 软件开发工具包游戏在 XBOX One 和 XBOX Series 控制台硬件上使用相同的程序包。GDK 游戏允许在 XBOX One 和 XBOX Series 控制台硬件之间区分程序包，从而产生不同的配置选项。

## 合作伙伴中心平台配置

在合作伙伴中心中，你可以在 **XBOX 设置**页面上指定游戏支持的平台。对于 XBOX 控制台，可用的硬件类别为：

* *XBOX One*，适用于 XBOX One、XBOX One S 和 XBOX One X 控制台。
* *XBOX Series X|S*，适用于 XBOX Series X 和 XBOX Series S 控制台。

邀请行为取决于所选的控制台类型和可用的游戏版本（XBOX One 软件开发工具包/GDK）。

### 仅有现有 XBOX One 软件开发工具包游戏版本

对于没有 GDK 的现有 XBOX One 软件开发工具包游戏，无需进行任何配置更改即可启用 XBOX One 和 XBOX Series 控制台之间的邀请/活动。

对于在 XBOX Series 控制台发布之前发布的 XBOX One 软件开发工具包游戏，合作伙伴中心配置中仅选择 *XBOX One*。在 XBOX Series 控制台上，XBOX One 软件开发工具包游戏以向后兼容模式运行，在功能上被视为相同的控制台类型。这样就实现了跨两种控制台类型的邀请/活动。此行为的实施旨在简化流程，避免仅为启用此行为而需重新发布配置更改。

### 现有 XBOX One 软件开发工具包游戏版本和 GDK 游戏版本

对于除了在 XBOX One 控制台上使用的现有 XBOX One 软件开发工具包游戏版本之外，还发布用于 XBOX Series 控制台的新 GDK 游戏版本的游戏，需要进行配置更改以启用所需的邀请/活动行为。

#### MPSD 游戏

使用多人游戏会话目录服务进行邀请/活动的游戏需要同时启用 *XBOX One* 和 *XBOX Series X|S* 硬件类别，以启用 XBOX One XBOX One 软件开发工具包和 XBOX Series GDK 游戏版本之间的邀请/活动。

除合作伙伴中心配置外，`crossplay` MPSD 会话功能还进一步决定邀请/活动行为：

* `crossplay` 设置为 *true*（默认值）
  启用所有选定硬件类别之间的邀请/活动。
* `crossplay` 设置为 *false*
  仅在选定的硬件类别内启用邀请/活动，不在不同硬件类别之间启用。这允许为某些游戏模式隔离特定的硬件类别（例如 XBOX Series 控制台）。发送给其他硬件类别用户的邀请将被静默丢弃。

#### MPA 游戏

使用多人游戏活动服务的游戏行为取决于所选的硬件类别以及为邀请/活动指定的 `allowCrossPlatformJoin` 字段。要在硬件类别上支持邀请/活动，必须在合作伙伴中心中启用它。

`allowCrossPlatformJoin` 字段用于确定邀请/活动的行为方式：

* `allowCrossPlatformJoin` 设置为 *true*（默认值）
  在合作伙伴中心配置中指定的所有硬件类别之间启用邀请/活动。
* `allowCrossPlatformJoin` 设置为 *false*
  邀请/活动仅在与本地设备匹配的硬件类别上可用。发送给其他硬件类别用户的邀请将被静默丢弃。

要正确发挥功能，必须在 XBOX One 软件开发工具包和 GDK 游戏版本上都使用 MPA。

#### 邀请/活动的细粒度限制

具有不同游戏模式的游戏可能更倾向于将某些竞技多人游戏体验保留在同一硬件类型内。例如，允许在 XBOX One 和 XBOX Series 控制台之间为休闲游戏模式启用邀请/活动，但将竞技游戏模式限制在相同硬件上。

如上所述，可以通过 MPA 使用 `allowCrossPlatformJoin` 或在 MPSD 会话模板中使用 `crossplay` 功能来限制邀请/活动。游戏还可以通过 [`XSystemGetDeviceType`](/reference/system/xsystem/functions/xsystemgetdevicetype) 进一步识别特定的本地硬件。此信息可用于进行细粒度的匹配，或拒绝不使用预期硬件类型的玩家。对于这些失败情形，游戏必须显示明确的失败消息。

强烈建议仅使用 XBOX One 软件开发工具包游戏版本的游戏使用下面各节中概述的默认 MPSD/MPA 行为。禁用 `crossplay` 或 `allowCrossPlatformJoin` 可能会导致不同控制台类型之间的邀请/活动行为不正确。

鼓励游戏尽可能避免限制匹配和邀请/活动，以便为最多的玩家提供游戏体验。

## 另请参阅

* [多人游戏活动功能概述](/services/xbox-services/multiplayer/mpa/live-mpa-overview)
* [MPSD 会话模板常量](/services/xbox-services/multiplayer/mpsd/concepts/live-session-template-constants)


## Related topics

- [邀请概念](/zh-CN/services/xbox-services/multiplayer/invites/concepts/live-invites-concepts-nav.md)
- [XR-007 跨网络游戏 — 多人游戏实现](/zh-CN/publishing/certification/xr/xr-007-multiplayer.md)
- [游戏网状通信：GDK 与 XDK 的差异](/zh-CN/build/console-features/networking/xdk-migration/xdk-migration-game-mesh-networking.md)
- [跨网络多人游戏实现示例](/zh-CN/services/xbox-services/multiplayer/concepts/live-console-xr007-multiplayer-example.md)
- [FMA:XR-124 游戏邀请](/zh-CN/publishing/certification/fma/xr-124.md)
