MPSD 邀请和活动故障排除指南

以下指南是帮助游戏使用 MPSD 对邀请和活动功能进行故障排除的起点。

使用此 MPSD 功能并遇到问题的游戏开发人员应首先确保使用的 MPSD 会话有效,且不存在其他 MPSD 调用的 API 错误或 HTTP 错误。

如果没有错误,禁用的邀请/活动加入 UI 通常是由于游戏或服务配置错误所致。

最佳故障排除方法是执行以下步骤:

  1. 验证 MPSD 会话是否未关闭、锁定或已满。
    对于已关闭("closed": true)或已满的会话,会禁用邀请和加入。 锁定的 MPSD 会话("locked": true)仅允许之前的会话成员重新加入。

  2. 验证测试中所有游戏实例的沙盒和 titleID。
    所有游戏实例都需要位于相同的沙盒中、使用相同的 titleID (和 SCID),且需要在此沙盒中配置 MPSD 会话模板。

  3. 验证是否已正确设置 MicrosoftGame.config 文件中的所有 ID。
    MicrosoftGame.config 必须包含与游戏的合作伙伴中心配置(在“游戏设置”中可见)匹配的正确 titleID、SCID 和“身份”信息。

  4. 验证是否已为场景设置正确的 MPSD 会话配置。

    • inviteProtocol 常量在 MPSD 会话中定义。 游戏必须设置 "inviteProtocol": "game" 常量才可实现正确的邀请行为。

    • MPSD 会话不包含任何加入限制。 验证 joinRestriction 属性是否未设置为已关注/本地,从而阻止非关注者加入或完全限制加入。

    • MPSD 会话 userAuthorizationStyle 属性设置正确。 必须为非主机设备 MPSD 会话启用 userAuthorizationStyle 属性,该属性还需要 joinRestriction (“本地”或“已关注”)。 这是阻止任意玩家加入且无法删除的系统限制。

    推荐的 MPSD 模板配置为:

     /Constants/System/Capabilities:
         "inviteProtocol" : "game"
         "userAuthorizationStyle": true   (required for non-console devices)
     /Properties/System:
         "joinRestriction" : "none"   (console only) - "followed" (non-console devices) will allow Joins as well as invites. - "local" invite only, no joins allowed.
    
  5. 验证邀请/加入问题是否仅限于跨设备场景。
    如果仅在不同的主机类型(Xbox Series X|S、Xbox One)或控制台/电脑之间出现邀请/加入问题,则游戏或 MPSD 会话的 crossPlay 配置可能错误。 默认情况下,如果未设置 Xbox Series X|S 设备系列,Xbox One 设备将支持跨平台游戏。

    • 一旦游戏在 Xbox One 以外的其他平台上发布,验证是否已在合作伙伴中心“Xbox 设置”/“设备系列”列表中启用所有相关平台。

    • 验证是否已启用跨平台游戏 MPSD 会话功能("crossPlay": true)。

    推荐的 MPSD 模板配置为:

     /Constants/System/Capabilities:
         "crossPlay" : "true"   if you want to support crossPlay between supported deviceTypes (Xbox One as the only device in Partner Center default supports Xbox Series X|S)
    
  6. 验证会话的所有权行为是否未导致邀请限制。
    具有 hasOwners 和会话所有者集的会话还需要将 allowNonOwnerInviteHandles 设置为 true,以便非所有者发送邀请。 针对所需行为相应地设置此常量。

  7. 在合作伙伴中心内验证游戏的“设备”可用性。
    合作伙伴中心的“游戏设置”/“设备系列可用性”设置可以限制游戏的功能和可用性。 确保已启用所有相关平台。 默认情况下,如果未设置 Xbox Series X|S 设备系列,Xbox One 设备将支持跨平台游戏。

  8. 验证游戏是否未限制为“特定受众”组。
    将游戏可见性限制为“特定受众”(在合作伙伴中心中为“定价和可用性”/“可见性”)可能会限制游戏访问和服务功能。 如果启用此功能,请确保主机/用户都属于“特定受众”组。

  9. 验证电脑游戏的 MicrosoftGame.config 文件中是否存在 MultiplayerProtocol 设置。
    Windows 游戏的 MultiplayerProtocol 设置必须设为 true,才能正确集成 Xbox Game Bar UI。 有关更多详细信息,请参阅 MicrosoftGame.config 概述

  10. 验证你是否未意外混合 MPA 和 MPSD 服务调用。
    不能同时使用 MPSD 和 MPA 服务。 这样做将导致意外的“活动/加入/邀请”行为。 游戏必须仅选择一项服务。