- 測量 XBOX One (或更新版本) 主機之間或主機與伺服器之間的延遲和頻寬
- 評估產生的測量結果,以判斷節點之間的網路連線是否良好

受管理的初始化
多人遊戲工作階段目錄 (MPSD) 支援一項稱為受管理的初始化的功能,它透過此功能在涉及工作階段的用戶端之間協調目標工作階段初始化程序。 MPSD 會自動追蹤工作階段的初始化階段和相關的逾時。如有需要,MPSD 也會評估用戶端之間的連線。 受管理的初始化由 XblMultiplayerInitializationStage 列舉表示。強烈建議您的遊戲使用 SmartMatch 配對,以利用 MPSD 受管理的初始化功能。
受管理的初始化回合和階段
每當配對將新玩家新增至目標工作階段時,該工作階段就會進行受管理的初始化。 SmartMatch 會以使用者狀態 Reserved 新增工作階段成員,這表示每位成員都佔用一個位置,但尚未加入工作階段。 每一群新玩家都會觸發新的初始化回合。 初始化完成時,每位玩家在此程序中不是成功就是失敗。 成功初始化的玩家可以使用目標工作階段進行遊戲。 失敗的玩家必須重新提交至配對,以被配對到另一個工作階段。 對於在preserveSession 參數設定為 Always 的情況下提交至配對的工作階段,工作階段中原有的成員不會進行初始化,因為 MPSD 假設它們已正確設定。
每個受管理的初始化回合都由下列階段組成。
- **加入:**工作階段成員將自己寫入工作階段,以將其使用者狀態從
Reserved移至Active。他們可以上傳基本資料,例如安全裝置位址。 - **測量:**對於以對等為基礎的拓撲,工作階段成員會測量彼此之間的 QoS,然後將結果上傳至工作階段。
- **評估:**MPSD 會評估前兩個階段的結果,然後判斷工作階段或成員是否已成功初始化。
設定目標工作階段以進行初始化
遊戲可以使用正在初始化之目標工作階段中的常數來設定受管理的初始化程序。 這些常數是在版本 107 的工作階段範本中的 /constants/system 下設定的。建議使用此範本版本。 您可以進行下列兩種類型的設定。- 整體設定受管理之初始化程序的設定
- 設定 QoS 需求的設定
如果未在目標工作階段初始化設定中定義 QoS 需求,就會略過初始化期間的測量階段。
整體設定受管理的初始化
若要整體控制受管理的初始化,請設定下列欄位。 用於控制受管理之初始化的欄位是/constants/system/memberInitialization 物件的一部分。
-
joinTimeout:指定在初始化回合開始之後,MPSD 等待每位成員加入的時間長度。預設值為 10 秒。 -
measurementTimeout:指定在測量階段開始之後,MPSD 等待每位成員上傳 QoS 測量結果的時間長度。預設值為 30,000 秒。 -
membersNeededToStart:指定第一個初始化回合成功所需之成功初始化的成員數目。預設值為 1。
如果未達到此閾值,所有成員的初始化都會失敗。
設定 QoS 需求
只有在遊戲使用點對點或對等對主機拓撲時,初始化期間才需要 QoS。 每個拓撲都對應到 /constants/system/ 下的拓撲特定常數。為點對點拓撲設定 QoS 需求
遊戲很少為點對點拓撲進行 QoS 需求設定。這些設定非常嚴格,會對具有嚴格網路位址轉譯 (NAT) 的玩家造成問題。
peerToPeerRequirements 物件中設定點對點拓撲 QoS 需求。
每個用戶端都必須能夠連線至每個其他用戶端。
peerToPeerRequirements 物件具有下列相關欄位。
-
latencyMaximum:指定任兩個用戶端之間的最大延遲 -
bandwidthMinimum:指定任兩個用戶端之間的最小頻寬
為對等對主機拓撲設定 QoS 需求
您可以在peerToHostRequirements 物件中設定對等對主機拓撲 QoS 需求。
每個用戶端都必須能夠連線至單一共同主機。
如果已設定此物件且初始化成功,MPSD 會建立可能成為主機之用戶端的初始清單,稱為主機候選者。
設定下列欄位。
-
latencyMaximum:指定每個對等與主機之間的最大延遲 -
bandwidthDownMinimum:指定每個對等與主機之間的最小下行頻寬 -
bandwidthUpMinimum:指定每個對等與主機之間的最小上行頻寬 -
hostSelectionMetric:指定用來選取主機的計量
