跳轉到主要內容
本主題說明如何將 MPA 與 PlayFab Lobby 和 Match 服務整合。這包括適用於其他類似大廳和配對服務的最佳做法和一般指引。

設計概觀

若要將 MPA 與 PlayFab Lobby 和 Match 或類似服務整合,遊戲或遊戲服務必須從大廳狀態查詢相關資訊,然後將此資訊移轉至 MPA 服務。MPA 服務不適用於大廳或工作階段狀態資訊。

活動

對於 MPA 活動,來源資訊應該是基礎的大廳資訊。遊戲或服務需要依照下列最佳做法,在 MPA 活動內容欄位中設定相關資訊:
  • 更新頻率 從大廳資料進行狀態移轉時,應以合理的頻率反映變更,例如 CurrentPlayers 資訊的更新。更新呼叫不應超過精細速率限制中所述的呼叫限制。也不應刪除/重新建立 MPA 活動來更新資訊。
  • XBOX 使用者身分識別 (XUID) 在 XBOX 服務以外的服務中,玩家的 XUID 通常是未經驗證的資訊,也不是跨網路服務的主要識別碼。PlayFab Lobby 對玩家使用跨網路的 PlayFab 使用者實體識別碼,可透過 API 或服務呼叫將其轉換為作用中使用者的 XUID。如需詳細資料,請參閱 PlayFab 教學課程:取得玩家個人檔案。只有此解析的 XUID 才應被視為安全的。 無法以這種方式擷取其他玩家的 XUID。解決方法是將 XUID 以大廳中玩家的自訂字串屬性提供。這些字串不應被視為安全的,且應一律透過 PlayFab 服務使用 PFAccountManagementClientGetPlayFabIDsFromXboxLiveIDsGetResult 進行驗證,以比較 XUID 的預期和實際 PlayFab 使用者實體識別碼。不相符表示 XUID 不正確。 對於所有服務,以不安全字串提供的 XUID 都不安全,若未經驗證可能會導致模擬攻擊。
  • 連線字串 若要與 PlayFab Lobby 服務整合,MPA 活動的連線字串應設定為可透過 PFLobbyGetConnectionString 擷取的大廳連線字串。其他服務應使用對等的加入字串。
  • 反映大廳的可加入性 活動的目的是讓玩家加入遊戲體驗,因此需要與基礎大廳狀態的可加入性相符。當活動已滿 (CurrentPlayers 達到 MaxPlayers 值) 時,活動會自動變成無法加入。想要讓活動暫時無法加入的遊戲也可以使用此行為。只有在未來不可能再加入時,才應刪除活動。請注意,改變活動的隱私權設定只會限制加入,但無法封鎖所有加入。 由於活動加入的延遲,遊戲應一律考慮對已滿或無法加入的工作階段執行加入的流程,並向玩家提供適當的錯誤。
  • 反映隱私權變更 透過加入限制所表示的活動隱私權狀態和變更,應反映為基礎 PlayFab Lobby 定義的存取原則。這同樣適用於類似的服務,且可能需要對應隱私權值。

邀請

對於 MPA 邀請,建議的來源也應該是基礎的大廳資訊。此最佳做法方法比邀請加入 PlayFab Party 之類的網路網格更可靠,且可透過大廳資料立即提供狀態資訊。 若要與 PlayFab Lobby 服務整合,MPA 邀請的連線字串應設定為大廳連線字串。此字串可透過 PFLobbyGetConnectionString 擷取。此外,應為邀請設定適當的跨平台加入值。

最近的玩家

MPA 最近的玩家功能的使用與基礎大廳沒有密切關聯,可以由遊戲邏輯驅動。最近的玩家呼叫不應超過精細速率限制中所述的呼叫限制。最佳做法是在合理的時間範圍內批次處理最近的玩家活動,以遵守呼叫限制。遊戲回報最近的玩家不需要是即時的,建議以批次方式提交。

配對

整合 PlayFab Match 或類似的配對服務不需要任何直接的 MPA 功能。如果無法加入,遊戲可能會想要在配對期間更新 MPA 活動的可加入性。最佳做法是將 PlayFab Match 與 PlayFab Lobby 搭配使用。 就像大廳使用者身分識別一樣,PlayFab Match 對玩家使用跨網路的 PlayFab 使用者實體識別碼,可透過 API 或服務呼叫將其轉換為作用中使用者的 XUID。無法以這種方式擷取其他玩家的 XUID。與大廳類似的解決方法是將 XUID 以大廳中玩家的自訂字串屬性提供。這些字串不應被視為安全的,且應一律透過 PlayFab 服務,依照上述針對 PlayFab Lobby 所概述的方式,比較 XUID 的預期和實際 PlayFab 使用者實體識別碼進行驗證。不相符表示 XUID 不正確。 對於配對,以不安全字串提供的 XUID 都不安全,若未經驗證可能會導致模擬攻擊。

一般最佳做法

MPA 服務的設計是作為大廳或配對服務 (例如 PlayFab Lobby 和 Match) 之上 XBOX 功能的輕量型整合點。此整合可以是輕量型的,只需在特定的連線點執行,以將所需的資訊和相關更新反映到活動、邀請和最近的玩家功能中。 此外,MPA 服務的整合也應考慮服務對服務端點。視遊戲、多人遊戲和伺服器架構而定,直接的服務對服務呼叫可能比用戶端呼叫簡單且可靠得多。這通常適用於 MMO 遊戲。 就像儲存在 PlayFab Lobby 和 Match 自訂字串中的 XUID 資訊一樣,任何其他自訂身分識別資訊都應一律被視為不安全的,並在使用前進行驗證。缺乏驗證可能會導致模擬攻擊,特別是當遊戲包含具有更多使用者存取權和保護的平台時。
最後修改於 2026年10月8日