- 配對
- 回填票證無法彼此配對。
- 回填票證在搜尋期間會獲得優先權,以減少玩家群的分散。
- 合約
- 建立回填票證時可以包含
ServerDetails欄位。這可讓伺服器指出配對成功的玩家應如何連線到伺服器。 - 建立回填票證時可以包含隊伍指派。這可讓有隊伍的遊戲保留其隊伍資訊。
- 建立回填票證時可以包含
- 佇列屬性
- 回填票證不會觸發 Multiplayer Server 配置。
- 回填票證不會反映在佇列統計資料中,因為其玩家已經在玩遊戲,會不正確地扭曲等候時間。
- 擁有權
- 回填票證由遊戲伺服器擁有,而非使用者。使用者無法以任何方式檢視回填票證或與之互動。
先決條件
- 基本熟悉 PlayFab Multiplayer SDK。如需詳細資訊,請參閱 Matchmaking SDK 快速入門。
- 在包含配對標頭之前,先定義
PFMULTIPLAYER_INCLUDE_SERVER_APIS。例如:
設定伺服器回填票證
建立 PFMatchmakingServerBackfillTicketConfiguration 結構,並填入必要的詳細資料:-
timeoutInSeconds:嘗試填滿票證的時間長度 (以秒為單位)。 -
queueName:比賽佇列的名稱。 -
memberCount:目前在比賽中的成員數目。 -
members:目前在比賽中的 PFMatchmakingMatchMember 成員。 -
serverDetails(選用):在 PFMultiplayerServerDetails 中填入要提供給用戶端的伺服器資訊 (FQDN、IP 位址、連接埠、區域)。
PFMultiplayerServerDetails::ipv4Address 欄位不會經過驗證,可用來將任意連線字串資訊提供給用戶端。建立伺服器回填票證
使用 PFMultiplayerCreateServerBackfillTicket 建立伺服器回填票證時,需要傳遞遊戲伺服器的實體 (作為 PFEntityKey),以及在上一個步驟中建立的回填設定。檢查配對票證的狀態
您必須呼叫 PFMultiplayerStartProcessingMatchmakingStateChanges 來接收狀態變更,以檢查票證的更新,並在處理完這些狀態變更後呼叫 PFMultiplayerFinishProcessingMatchmakingStateChanges。 每當票證狀態變更時,SDK 都會傳回 TicketStatusChanged 狀態變更;配對完成時,則會傳回 TicketCompleted 狀態變更。取得比賽
收到 PFMatchmakingStateChangeType::TicketCompleted 狀態變更之後,呼叫 PFMatchmakingTicketGetMatch 以取得比賽的詳細資料。這些詳細資料包含比賽識別碼、已配對在一起的使用者、比賽的偏好區域,以及與比賽相關聯之大廳的安排字串。 從 PFMatchmakingMatchDetails 結構中擷取所需的任何資訊之後,應使用 PFMultiplayerDestroyMatchmakingTicket 終結票證。取消票證
如果您想要在PFMatchmakingServerBackfillTicketConfiguration 中設定的逾時之前取消配對程序,請使用票證控制代碼呼叫 PFMatchmakingTicketCancel。
呼叫此 API 不保證票證會被取消。票證仍可能在取消作業處理之前完成,或取消要求可能因網路或服務錯誤而失敗。如果您想要在繼續之前確認票證取消已完成,仍可處理配對狀態變更以取得票證的結果。否則,您可以立即呼叫 PFMultiplayerDestroyMatchmakingTicket。
