翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プレイヤーのマッチメーキングのリクエスト
ゲームバックエンドサービスにコードを追加し、FlexMatch マッチメーカーへのマッチメーキングリクエストを管理します。FlexMatch マッチメーキングをリクエストするプロセスは、FlexMatch ホスティングで Amazon GameLift Servers を使用するゲームと、スタンドアロンソリューションとして FlexMatch を使用するゲームでも同じです。
マッチメーキングリクエストを作成するには:
Amazon GameLift Servers API StartMatchmaking を呼び出します。各リクエストには、以下の情報が必要です。
- マッチメーカー
-
リクエストに使用するマッチメーキング設定の名前。FlexMatch は各リクエストを指定されたマッチメーカーのプールに配置し、リクエストはマッチメーカーが設定されている方法に基づいて処理されます。これには、プレイヤーにマッチングの承諾をリクエストするかどうか、生成されたゲームセッションを配置する際にどのようなキューを使用するかなど、強制的な時間制限が含まれます。マッチメーカーとルール設定の詳細については、「FlexMatch マッチメーカーの設計」を参照してください。
- チケット ID
-
リクエストに割り当てられている一意のチケット ID。イベントや通知などリクエストに関連するものすべてが、チケット ID を参照します。
- プレイヤーデータ
-
マッチングを作成する対象のプレイヤーのリスト。リクエスト内のプレイヤーのいずれかが、マッチルールと最小レイテンシーに基づいてマッチ要件を満たしていない場合、マッチメーキングリクエストが成功することはありません。マッチリクエストには最大 10 人のプレイヤーを含めることができます。リクエストに複数のプレイヤーがいる場合、FlexMatch は 1 つのマッチを作成し、すべてのプレイヤーを同じチーム (ランダムに選択) に割り当てようとします。リクエストに含まれるプレイヤーが多すぎて、マッチチームの 1 つに収まらない場合、リクエストは一致しません。例えば、2v2 のマッチ (2 人のプレイヤーで構成される 2 つのチーム) を作成するようにマッチメーカーを設定した場合は、3 人以上のプレイヤーを含むマッチメーキングリクエストを送信することはできません。
注記
プレイヤー (プレーヤー ID によって識別) は、一度に 1 つのアクティブなマッチメーキングリクエストにのみ含めることができます。プレイヤーの新しいリクエストを作成すると、同じプレイヤー ID のアクティブなマッチメーキングチケットは自動的にキャンセルされます。
リストされたプレイヤーごとに、次のデータを含めます。
-
プレイヤー ID - 各プレイヤーごとにユニークなプレイヤー ID の生成が必要です。「プレイヤー ID の生成」を参照してください。
重要
既存のアクティブなマッチメーキングリクエストにすでに含まれているプレイヤー ID を含む新しいマッチメーキングリクエストを作成すると、既存のリクエストは自動的にキャンセルされます。ただし、キャンセルされたリクエストには
MatchmakingCancelledイベントは送信されません。既存のマッチメーキングリクエストのステータスをモニタリングするには、DescribeMatchmaking を使用して、頻度の低い間隔 (30~60 秒) でリクエストステータスをポーリングします。キャンセルされたリクエストには、CANCELLEDのステータスと理由「Cancelled due to duplicate player」が表示されます。 -
プレイヤー属性 - 使用されているマッチメーカーがプレイヤー属性を呼び出した場合、リクエストは各プレイヤーにそれらの属性を提供する必要があります。必須のプレイヤー属性は、マッチメーカーのルールセット内で定義され、属性のデータ型も指定されます。プレイヤー属性は、ルールセットで属性のデフォルト値が指定された場合のみ、オプションとなります。マッチングリクエストが必要なプレイヤー属性をすべてのプレイヤーに提供しない場合、マッチメーキングリクエストは成功しません。マッチメーカーのルールセットおよびプレイヤー属性の詳細については、「FlexMatch ルールセットの作成」および「FlexMatch ルールセットの例」を参照してください。
-
プレイヤーレイテンシー - 使用されているマッチメーカーにプレイヤーレイテンシールールがある場合、リクエストは各プレイヤーのレイテンシーを報告する必要があります。プレイヤーレイテンシーデータは、プレイヤーごとに 1 つ以上の値が表示されたリストです。これは、マッチメーカーのキューのリージョンで、プレイヤーに発生するレイテンシーを表しています。プレイヤーのレイテンシー値がリクエストに含まれていない場合、プレイヤーがマッチングされることはなく、リクエストは失敗します。正確なレイテンシー測定値を取得するには、Amazon GameLift Servers の UDP ping ビーコンを使用します。これらのエンドポイントを使用すると、プレイヤーデバイスと潜在的なホスティング場所間の実際の UDP ネットワークレイテンシーを測定できるため、ICMP ping を使用するよりも正確な配置決定を行うことができます。UDP ping ビーコンを使用してレイテンシーを測定する方法の詳細については、「UDP ping ビーコン」を参照してください。
-
マッチングリクエストの詳細を取得するには
マッチングリクエストが送信されたら、リクエストのチケット ID を使用して DescribeMatchmaking を呼び出すことで、リクエストの詳細を表示できます。この呼び出しは、現在のステータスを含むリクエスト情報を返します。リクエストが正常に完了すると、チケットにはゲームクライアントがマッチングに接続するために必要な情報も含まれます。
マッチングリクエストをキャンセルするには
マッチングリクエストは、リクエストのチケット ID を使用して StopMatchmaking を呼び出すことで、いつでもキャンセルできます。