

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ゲームサーバー上のマッチデータの更新
<a name="match-backfill-server-data"></a>

ゲーム内でマッチバックフィルリクエストを開始する方法にかかわらず、Amazon GameLift Servers がマッチバックフィルリクエストの結果として送信するゲームセッション更新をゲームサーバーで処理できる必要があります。

Amazon GameLift Servers がバックフィルリクエストを (正常であってもそうでなくても) 完了すると、コールバック関数 `onUpdateGameSession` を使用してゲームサーバーを呼び出します。この呼び出しには 3 つの入力パラメータが存在します。マッチバックフィルチケット ID、ステータスメッセージ、およびプレーヤー情報を含む最新のマッチメーキングデータを含む GameSession オブジェクトです。ゲームサーバー統合の一部として、ゲームサーバーに次のコードを追加する必要があります。

1. `onUpdateGameSession` 関数を実装します。この関数は次のステータスメッセージ (`updateReason`) を処理できる必要があります。
   + MATCHMAKING\_DATA\_UPDATED 新しいプレーヤーが正常にゲームセッションにマッチされました。`GameSession` オブジェクトには、既存のプレイヤーおよび新しくマッチされたプレイヤーのプレイヤーデータを含む、更新されたマッチメーカーデータが含まれます。
   + BACKFILL\_FAILED マッチバックフィル試行が内部エラーのために失敗しました。`GameSession` オブジェクトは変更されません。
   + BACKFILL\_TIMED\_OUT マッチメーカーが制限時間内にバックフィルマッチを見つけることができませんでした。`GameSession` オブジェクトは変更されません。
   + BACKFILL\_CANCELLED - マッチバックフィルリクエストが、StopMatchmaking (クライアント) または StopMatchBackfill (サーバー) の呼び出しによりキャンセルされました。`GameSession` オブジェクトは変更されません。

1. バックフィルマッチが成功するには、更新されたマッチメーカーデータを使用して、新しいプレイヤーがゲームセッションに接続した際にこれを処理します。少なくとも、プレイヤーがゲームを開始するために必要な他のプレイヤーの属性とともに、新しいプレイヤーのチーム割り当てを使用する必要があります。

1. ゲームサーバーのサーバー SDK アクション [ProcessReady()](https://docs.aws.amazon.com/gamelift/latest/developerguide/integration-server-sdk-cpp-ref-actions.html#integration-server-sdk-cpp-ref-processready) に対する呼び出しで、`onUpdateGameSession` コールバックメソッド名をプロセスパラメータとして追加します。