

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

# 什麼是Amazon GameLift ServersFlexMatch？
<a name="match-intro"></a>

Amazon GameLift Servers FlexMatch 是多玩家遊戲的可自訂配對服務。使用 FlexMatch，您可以建立一組自訂規則，定義多玩家配對在遊戲中的樣子，並決定如何評估和選取每個配對的相容玩家。您也可以微調配對演算法的關鍵層面，以符合您的遊戲需求。

使用 FlexMatch做為獨立配對服務，或與Amazon GameLift Servers遊戲託管解決方案整合。例如，您可以使用具有peer-to-peer架構的遊戲或使用其他雲端運算解決方案的遊戲，實作 FlexMatch 做為獨立功能。或者，您可以將 FlexMatch 新增至Amazon GameLift Servers受管 EC2 或受管容器託管，或使用 Amazon GameLift ServersAnywhere 的內部部署託管。本指南提供如何為特定案例建置FlexMatch配對系統的詳細資訊。

FlexMatch 可讓您根據遊戲需求靈活地設定配對優先順序。例如，您可以執行下列動作：
+ 尋找配對速度和品質之間的平衡。設定配對規則以快速尋找夠好的配對，或讓玩家等待更長的時間，以找到最佳配對來獲得最佳玩家體驗。
+ 根據配對良好的玩家或配對良好的隊伍進行配對。建立所有玩家具有類似特性的配對，例如技能或經驗。或表單比對，其中每個團隊的合併特性符合共同條件。
+ 排定玩家延遲如何納入配對的優先順序。您想要為所有玩家設定硬性延遲限制，還是只要配對中的每個人都有類似的延遲，就可以接受較高的延遲？

**準備好開始使用 FlexMatch了嗎？**  
如需使用 啟動和執行遊戲的step-by-step指引FlexMatch，請參閱下列主題：  
[路線圖：將配對新增至Amazon GameLift Servers託管解決方案](match-tasks.md)
[路線圖：使用 建立獨立的配對解決方案 FlexMatch](match-tasks-safm.md)

## 主要FlexMatch功能
<a name="match-intro-features"></a>

無論您使用 FlexMatch做為獨立服務或搭配Amazon GameLift Servers遊戲託管，下列功能適用於所有FlexMatch案例。
+ **可自訂玩家配對。**設計和建置配對建構器，以符合您提供玩家的所有遊戲模式。建置一組自訂規則來評估關鍵玩家屬性 （例如技能等級或角色） 和地理延遲資料，為您的遊戲形成絕佳的玩家配對。
+ **以延遲為基礎的比對。**提供玩家延遲資料並建立配對規則，要求配對中的玩家有類似的回應時間。當您的玩家配對集區跨越多個地理區域時，此功能非常有用。
+ **支援最多 200 名玩家的配對大小。**使用為您的遊戲自訂的配對規則，建立最多 40 名玩家的配對。使用使用簡化的自訂配對程序來建立最多 200 名玩家的配對，讓玩家等待時間可以管理。
+ **玩家接受。**在完成配對並開始遊戲工作階段之前，要求玩家選擇加入提議的配對。使用此功能啟動您的自訂接受工作流程，並在為配對放置新的遊戲工作階段FlexMatch之前向 報告玩家回應。如果並非所有玩家都接受配對，則提議的配對會失敗，而接受的玩家會自動返回配對集區。
+ **玩家方支援。**為想要在同一隊伍一起玩的玩家群組產生配對。使用 FlexMatch 尋找其他玩家，視需要填寫配對。
+ **可擴展的相符規則。**在經過一定的時間後逐漸放寬配對要求，而不會找到成功的配對。規則擴展可讓您決定放寬初始配對規則的位置和時間，讓玩家可以更快進入可玩遊戲。
+ **符合回填。**將現有遊戲工作階段中的空玩家位置填入配對良好的新玩家。自訂請求新玩家的時間和方式，並使用相同的自訂配對規則來尋找其他玩家。

## FlexMatch 使用 Amazon GameLift Servers 託管
<a name="match-intro-hosting"></a>

FlexMatch 提供下列其他功能，可搭配您透過 託管的遊戲使用Amazon GameLift Servers。這包括具有自訂遊戲伺服器或 的遊戲Amazon GameLift ServersRealtime。
+ **遊戲工作階段置放。**當成功配對時， FlexMatch會自動向 請求新的遊戲工作階段放置Amazon GameLift Servers。在配對過程中產生的資料，包括玩家 IDs和團隊指派，會提供給遊戲伺服器，以便其可以使用該資訊來啟動配對的遊戲工作階段。FlexMatch然後， 會傳回遊戲工作階段連線資訊，讓遊戲用戶端可以加入遊戲。為了將玩家在配對中遇到的延遲降至最低，使用 的遊戲工作階段置放Amazon GameLift Servers也可以使用區域玩家延遲資料。
+ **自動配對回填。**啟用此功能後，當新的遊戲工作階段從未填滿的玩家位置開始時， FlexMatch會自動傳送配對回填請求。您的配對系統會以最少的玩家數量開始遊戲工作階段置放程序，然後快速填滿剩餘的位置。您無法使用自動回填來取代退出相符遊戲工作階段的玩家。

如果您使用 Amazon GameLift ServersFleetIQ 搭配 Amazon Elastic Compute Cloud (Amazon EC2) 資源託管的遊戲，請將 實作FlexMatch為獨立服務。

## 的定價 Amazon GameLift ServersFlexMatch
<a name="match-intro-pricing"></a>

Amazon GameLift Servers 依使用持續時間計算的執行個體費用，以及依傳輸資料數量計算的頻寬費用。如果您在 上託管遊戲Amazon GameLift Servers，FlexMatch用量會包含在 的費用中Amazon GameLift Servers。如果您在另一個伺服器解決方案上託管遊戲，則會另外收取FlexMatch使用費。如需 Amazon GameLift Servers 的完整收費清單與定價，請參閱 [Amazon GameLift Servers 定價](https://aws.amazon.com/gamelift/servers/pricing)。

如需使用 計算託管遊戲或配對成本的資訊Amazon GameLift Servers，請參閱[產生Amazon GameLift Servers定價預估](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-calculator.html)，其中說明如何使用 [AWS 定價計算工具](https://calculator.aws/#/createCalculator/GameLift)。

# 如何Amazon GameLift Servers FlexMatch運作
<a name="gamelift-match"></a>

本主題提供 Amazon GameLift ServersFlexMatch服務的概觀，包括FlexMatch系統的核心元件及其互動方式。

您可以FlexMatch搭配使用Amazon GameLift Servers受管託管的遊戲使用 ，或是搭配使用其他託管解決方案的遊戲使用 。託管在 上的遊戲Amazon GameLift Servers，包括Amazon GameLift Servers Realtime，使用整合Amazon GameLift Servers服務來自動尋找可用的遊戲伺服器，並為配對啟動遊戲工作階段。使用 FlexMatch做為獨立服務的遊戲，包括 Amazon GameLift Servers FleetIQ，必須與現有的託管系統協調，為配對指派託管資源並啟動遊戲工作階段。

如需FlexMatch設定遊戲的詳細指引，請參閱 [FlexMatch 入門](match-getting-started.md)。

## 配對元件
<a name="gamelift-match-components"></a>

FlexMatch 配對系統包含以下部分或全部元件。

**Amazon GameLift Servers 元件**

這些Amazon GameLift Servers資源可控制FlexMatch服務如何為您的遊戲執行配對。它們是使用 Amazon GameLift Servers工具建立和維護，包括 主控台和 AWS CLI，或者，以程式設計方式使用適用於 的 AWS SDKAmazon GameLift Servers。
+ **FlexMatch 配對組態 （也稱為配對建構器）** – 配對建構器是一組組態值，可自訂遊戲的配對程序。遊戲可以有多個配對建構器，每個配對建構器會視需要針對不同的遊戲模式或體驗進行設定。當您的遊戲將配對請求傳送至 時FlexMatch，它會指定要使用的配對建構器。
+ **FlexMatch 配對規則集** – 規則集包含評估玩家潛在配對以及核准或拒絕所需的所有資訊。規則集會定義配對的團隊結構、宣告用於評估的玩家屬性，並提供描述可接受配對條件的規則。規則可以套用到個別玩家、隊伍或整個配對。例如，規則可能需要配對中的每個玩家都選擇相同的遊戲地圖，或者可能需要所有隊伍都有類似的玩家技能平均值。
+ **Amazon GameLift Servers 遊戲工作階段佇列 （僅限FlexMatch具有Amazon GameLift Servers受管託管的 )** – 遊戲工作階段佇列會尋找可用的託管資源，並為配對啟動新的遊戲工作階段。佇列的組態會決定在何處Amazon GameLift Servers尋找可用的託管資源，以及如何為配對選取最佳的可用主機。

**自訂元件**

下列元件包含完整FlexMatch系統所需的功能，您必須根據遊戲的架構實作這些功能。
+ **配對的玩家界面** – 此界面可讓玩家加入配對。它至少會透過用戶端配對服務元件啟動配對請求，並視需要提供玩家特定的資料，例如技能水準和延遲資料。
**注意**  
最佳實務是，與 FlexMatch服務的通訊應該由後端服務完成，而不是從遊戲用戶端完成。
+ **用戶端配對服務** – 此服務會從玩家界面將玩家聯結請求建立欄位、產生配對請求，並將請求傳送至FlexMatch服務。對於處理中的請求，它會監控配對事件、追蹤配對狀態，並視需要採取行動。視您在遊戲中管理遊戲工作階段託管的方式而定，此服務可能會將遊戲工作階段連線資訊傳回給玩家。此元件使用 AWS SDK 搭配 Amazon GameLift Servers API 來與服務通訊FlexMatch。
+ **配對置放服務 （僅適用於 FlexMatch做為獨立服務）** – 此元件可與現有的遊戲託管系統搭配使用，以尋找可用的託管資源，並為配對啟動新的遊戲工作階段。元件必須取得配對結果，並擷取啟動新遊戲工作階段所需的資訊，包括配對中所有玩家的玩家 IDs、屬性和隊伍指派。

# 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更新所有相符的票證。

# FlexMatch 支援 AWS 區域
<a name="match-regions"></a>

如果您使用 FlexMatch搭配 Amazon GameLift Servers託管解決方案，您可以在託管遊戲的任何位置託管相符的遊戲工作階段。請參閱 [AWS 區域 和 Amazon GameLift Servers 託管位置的完整清單](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html)。