

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# FlexMatch 配對程序
<a name="gamelift-match-howitworks"></a>

本主題說明基本配對案例中的事件順序，包括各種遊戲元件與 FlexMatch服務之間的互動。

**步驟 1：為玩家請求配對**  
使用遊戲用戶端的玩家按一下「加入遊戲」按鈕。此動作會導致您的用戶端配對服務將配對請求傳送至 FlexMatch。請求會識別滿足請求時要使用的FlexMatch配對建構器。請求也包含自訂配對建構器所需的玩家資訊，例如技能水準、播放偏好設定或地理延遲資料。您可以對一個玩家或多個玩家提出配對請求。

**步驟 2：將請求新增至配對集區**  
當 FlexMatch收到配對請求時，會產生配對票證，並將其新增至配對建構器的票證集區。票證會保留在集區中，直到相符或達到時間上限為止。您的用戶端配對服務會定期收到配對事件的通知，包括票證狀態的變更。

**步驟 3：建立配對**  
您的FlexMatch配對建構器會持續在其集區中的所有票證上執行下列程序：  

1. 配對建構器會依票證存留期排序集區，然後開始從最舊的票證開始建置潛在的配對。

1. 配對建構器會將第二個票證新增至潛在配對，並根據自訂配對規則評估結果。如果潛在配對通過評估，票證的玩家會指派給團隊。

1. 配對建構器會依序新增下一個票證，並重複評估程序。當所有玩家位置都填滿後，配對就會準備就緒。
大型配對的配對 (41 到 200 名玩家） 使用上述程序的修改版本，以便在合理的時間範圍內建置配對。配對建構器不會個別評估每個票證，而是將預先排序的票證集區分成潛在配對，然後根據您指定的玩家特性來平衡每個配對。例如，配對建構器可能會根據類似的低延遲位置預先排序票證，然後使用配對後平衡來確保隊伍平均地符合玩家技能。

**步驟 4：報告配對結果**  
找到可接受的相符項目時，所有相符的票證都會更新，並為每個相符的票證產生成功的配對事件。  
+ FlexMatch 作為獨立服務：您的遊戲會收到成功配對事件的配對結果。結果資料包含所有配對玩家及其團隊指派的清單。如果您的配對請求包含玩家延遲資訊，結果也會建議配對的最佳地理位置。
+ FlexMatch 使用Amazon GameLift Servers託管解決方案：比對結果會自動傳遞至 Amazon GameLift Servers佇列以進行遊戲工作階段放置。配對建構器會決定用於遊戲工作階段置放的佇列。

**步驟 5：啟動配對的遊戲工作階段**  
成功形成提議的配對後，就會啟動新的遊戲工作階段。設定配對的遊戲工作階段時，您的遊戲伺服器必須能夠使用配對結果資料，包括玩家 IDs 和團隊指派。  
+ FlexMatch 作為獨立服務：您的自訂配對置放服務會從成功的配對事件取得配對結果資料，並連接到現有的遊戲工作階段置放系統，以尋找配對的可用託管資源。找到託管資源後，配對置放服務會與您現有的託管系統協調，以啟動新的遊戲工作階段並取得連線資訊。
+ FlexMatch 使用Amazon GameLift Servers託管解決方案：遊戲工作階段佇列會尋找配對的最佳可用遊戲伺服器。根據佇列的設定方式，它會嘗試將遊戲工作階段放置在成本最低的資源，以及玩家會遇到低延遲的位置 （如果提供玩家延遲資料）。遊戲工作階段成功放置後，Amazon GameLift Servers服務會提示遊戲伺服器啟動新的遊戲工作階段，傳遞配對結果和其他選用的遊戲資料。

**步驟 6：將玩家連接到配對**  
遊戲工作階段開始後，玩家會連線至工作階段、宣告其團隊指派，並開始遊戲。  
+ FlexMatch 作為獨立服務：您的遊戲使用現有的遊戲工作階段管理系統，將連線資訊傳回給玩家。
+ FlexMatch 使用Amazon GameLift Servers託管解決方案：在成功的遊戲工作階段放置上， 會使用遊戲工作階段連線資訊和玩家工作階段 ID FlexMatch更新所有相符的票證。