

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

# C\$1\$1 サーバー SDK 5.x for Amazon GameLift Servers -- アクション
<a name="integration-server-sdk5-cpp-actions"></a>

サーバー SDK 5.x リファレンスを使用して、Amazon GameLift Servers でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「[サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。](gamelift-sdk-server-api.md)」を参照してください。

**注記**  
このトピックでは、C\$1\$1 標準ライブラリ (`std`) を使用して構築するときに利用できる Amazon GameLift Servers C\$1\$1 API について説明します。特に、このドキュメントは `-DDGAMELIFT_USE_STD=1` オプションを使用してコンパイルするコードが対象です。

# C\$1\$1 サーバー SDK 5.x for Amazon GameLift Servers -- データ型
<a name="integration-server-sdk5-cpp-datatypes"></a>

Amazon GameLift Servers C\$1\$1 サーバー SDK 5.x リファレンスを使用して、Amazon GameLift Servers でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「[サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。](gamelift-sdk-server-api.md)」を参照してください。

**注記**  
このトピックでは、C\$1\$1 標準ライブラリ (`std`) を使用して構築するときに利用できる Amazon GameLift Servers C\$1\$1 API について説明します。特に、このドキュメントは `-DDGAMELIFT_USE_STD=1` オプションを使用してコンパイルするコードが対象です。

[C\$1\$1 サーバー SDK 5.x for Amazon GameLift Servers -- アクション](integration-server-sdk5-cpp-actions.md)

**Topics**
+ [LogParameters](#integration-server-sdk5-cpp-dataypes-log)
+ [MetricsParameters](#integration-server-sdk5-cpp-datatypes-metricsparameters)
+ [ProcessParameters](#integration-server-sdk5-cpp-dataypes-process)
+ [UpdateGameSession](#integration-server-sdk5-cpp-dataypes-updategamesession)
+ [GameSession](#integration-server-sdk5-cpp-dataypes-gamesession)
+ [ServerParameters](#integration-server-sdk5-cpp-dataypes-serverparameters)
+ [StartMatchBackfillRequest](#integration-server-sdk5-cpp-dataypes-startmatchbackfillrequest)
+ [プレイヤー](#integration-server-sdk5-cpp-dataypes-player)
+ [DescribePlayerSessionsRequest](#integration-server-sdk5-cpp-dataypes-playersessions)
+ [StopMatchBackfillRequest](#integration-server-sdk5-cpp-dataypes-stopmatchbackfillrequest)
+ [AttributeValue](#integration-server-sdk5-cpp-dataypes-attributevalue)
+ [GetFleetRoleCredentialsRequest](#integration-server-sdk5-cpp-dataypes-getfleetrolecredentialsrequest)
+ [AwsLongOutcome](#integration-server-sdk5-cpp-datatypes-awslongoutcome)
+ [AwsStringOutcome](#integration-server-sdk5-cpp-datatypes-awsstringoutcome)
+ [DescribePlayerSessionsOutcome](#integration-server-sdk5-cpp-datatypes-describeplayersessionsoutcome)
+ [DescribePlayerSessionsResult](#integration-server-sdk5-cpp-datatypes-describeplayersessionsresult)
+ [GenericOutcome](#integration-server-sdk5-cpp-datatypes-genericoutcome)
+ [GenericOutcomeCallable](#integration-server-sdk5-cpp-datatypes-genericoutcomecallable)
+ [PlayerSession](#integration-server-sdk5-cpp-datatypes-playersession)
+ [StartMatchBackfillOutcome](#integration-server-sdk5-cpp-datatypes-startmatchbackfilloutcome)
+ [StartMatchBackfillResult](#integration-server-sdk5-cpp-datatypes-startmatchbackfillresult)
+ [GetComputeCertificateOutcome](#integration-server-sdk5-cpp-datatypes-getcomputecertificateoutcome)
+ [GetComputeCertificateResult](#integration-server-sdk5-cpp-datatypes-getcomputecertificateresult)
+ [GetFleetRoleCredentialsOutcome](#integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsoutcome)
+ [GetFleetRoleCredentialsResult](#integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsresult)
+ [InitSDKOutcome](#integration-server-sdk5-cpp-datatypes-initsdkoutcome)
+ [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror)
+ [列挙型](#integration-server-sdk5-cpp-dataypes-enums)

## LogParameters
<a name="integration-server-sdk5-cpp-dataypes-log"></a>

ゲームセッション中に生成されたファイルを識別するオブジェクトで、ゲームセッション終了時に Amazon GameLift Servers でアップロードして保存します。ゲームサーバーは、[ProcessReady()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-processready) 呼び出しで `ProcessParameters` オブジェクトの一部として `LogParameters` を Amazon GameLift Servers に提供します。


|  |  | 
| --- |--- |
|  **プロパティ**  | 説明 | 
| LogPaths |  Amazon GameLift Servers で将来のアクセスに備えて保存するゲームサーバーログファイルへのディレクトリパスのリスト。サーバープロセスは各ゲームセッション中にこれらのファイルを生成します。ファイルのパスと名前はゲームサーバーで定義し､ルートゲームビルドディレクトリに保存します。 ログパスは絶対パスである必要があります。例えば、ゲームビルドによって `MyGame\sessionLogs\` などのパスに保存されるゲームセッションログの場合、パスは `c:\game\MyGame\sessionLogs` (Windows インスタンスの場合) となります。 **タイプ**: `std:vector<std::string>` **必須:** いいえ  | 

## MetricsParameters
<a name="integration-server-sdk5-cpp-datatypes-metricsparameters"></a>

このデータ型を使用して、ゲームサーバーのメトリクス収集とクラッシュレポートを設定します。ゲームサーバーは、[InitMetrics()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-initmetrics) 呼び出しで `MetricsParameters` を Amazon GameLift Servers に送信します。


|  |  | 
| --- |--- |
|  **プロパティ**  | 説明 | 
| StatsdHost |  メトリクス収集用の StatsD サーバーのホスト名または IP アドレス。 **タイプ**: `std::string` **必須:** いいえ  | 
| StatsdPort |  メトリクス収集用の StatsD サーバーのポート番号です。 **タイプ**: `int` **必須:** いいえ  | 
| CrashReporterHost |  クラッシュレポーターサーバーのホスト名または IP アドレスです。 **タイプ**: `std::string` **必須:** いいえ  | 
| CrashReporterPort |  クラッシュレポーターサーバーのポート番号です。 **タイプ**: `int` **必須:** いいえ  | 
| FlushIntervalMs |  メトリクスデータをサーバーにフラッシュする際のミリ秒単位の間隔です。 **タイプ**: `int` **必須:** いいえ  | 
| MaxPacketSize |  サーバーに送信されるメトリクスパケットの最大サイズ (バイト) です。 **タイプ**: `int` **必須:** いいえ  | 

## ProcessParameters
<a name="integration-server-sdk5-cpp-dataypes-process"></a>

このデータ型には、[ProcessReady()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-processready) の中で Amazon GameLift Servers に送信されるパラメータのセットが含まれます。


|  |  | 
| --- |--- |
|  **プロパティ**  | 説明 | 
| LogParameters | ゲームセッション中に生成されるファイルへのディレクトリパスを持つオブジェクトです。Amazon GameLift Servers はこれらのファイルをコピーして保存し、後で参照できるようにします。**タイプ**: `Aws::GameLift::Server::LogParameters`**必須:** いいえ | 
| OnHealthCheck | Amazon GameLift Servers がサーバープロセスにヘルスステータスレポートを要求するために呼び出すコールバック関数です。Amazon GameLift Servers はこの関数を 60 秒ごとに呼び出し、応答を最大 60 秒間待機します。サーバープロセスは正常であれば TRUE を返し、正常でない場合は FALSE を返します。応答が返されない場合、Amazon GameLift Servers はサーバープロセスを正常ではないと記録します。**タイプ**: `std::function<bool()> onHealthCheck`**必須:** いいえ | 
| OnProcessTerminate | Amazon GameLift Servers がサーバープロセスを強制的にシャットダウンするために呼び出すコールバック関数です。この関数を呼び出すと、Amazon GameLift Servers はサーバープロセスがシャットダウンするまで最大 5 分間待機し、サーバープロセスがシャットダウンする前に [ProcessEnding()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-processending) 呼び出しで応答するのを待ちます。**タイプ**: `std::function<void()> onProcessTerminate`**必須:** はい | 
| OnStartGameSession | Amazon GameLift Servers が新しいゲームセッションをアクティブ化するために呼び出すコールバック関数。Amazon GameLift Servers は、クライアントリクエスト [CreateGameSession](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_CreateGameSession.html) に応じてこの関数を呼び出します。コールバック関数は [GameSession](#integration-server-sdk5-cpp-dataypes-gamesession) オブジェクトを渡します。**タイプ**: `const std::function<void(Aws::GameLift::Model::GameSession)> onStartGameSession`**必須:** はい | 
| OnUpdateGameSession | 更新されたゲームセッションオブジェクトをサーバープロセスに渡すために、Amazon GameLift Servers が呼び出すコールバック関数。Amazon GameLift Servers は、更新されたマッチメーカーデータを提供するために、マッチバックフィルリクエストが処理された際にこの関数を呼び出します。これは、[GameSession](#integration-server-sdk5-cpp-dataypes-gamesession) オブジェクト、ステータス更新 (updateReason) そして、マッチバックフィルチケット ID を渡します。**タイプ**: `std::function<void(Aws::GameLift::Server::Model::UpdateGameSession)> onUpdateGameSession`**必須:** いいえ | 
| ポート | サーバープロセスが新しいプレイヤーの接続をリスンするポート番号。値は、このゲームサーバービルドをデプロイするすべてのフリートで設定されているポート番号の範囲に含まれる必要があります。このポート番号は、ゲームセッションオブジェクトとプレイヤーセッションオブジェクトに含まれ、ゲームセッションがサーバープロセスに接続するときに使用します。**タイプ**: `Integer`**必須:** はい | 

## UpdateGameSession
<a name="integration-server-sdk5-cpp-dataypes-updategamesession"></a>

このデータ型はゲームセッションオブジェクトに更新されます。これには、ゲームセッションが更新された理由と、バックフィルを使用してゲームセッション内のプレイヤーセッションを埋めるための関連するバックフィルチケット ID が含まれます。


| プロパティ | **説明** | 
| --- | --- | 
| GameSession | [GameSession](#integration-server-sdk5-cpp-dataypes-gamesession) オブジェクト。GameSession オブジェクトにはゲームセッションを説明するプロパティが含まれています。**タイプ**: `Aws::GameLift::Server::GameSession`**必須:** はい | 
| UpdateReason | ゲームセッションが更新されている理由。**タイプ**: `Aws::GameLift::Server::UpdateReason`**必須:** はい | 
| BackfillTicketId | ゲームセッションの更新を試みるバックフィルチケットの ID。**タイプ**: `std::string`**必須:** いいえ | 

## GameSession
<a name="integration-server-sdk5-cpp-dataypes-gamesession"></a>

このデータ型はゲームセッションの詳細を提供します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionId |  ゲームセッションの一意の識別子。ゲームセッション ARN の形式 は `arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>` です。 **タイプ**: `std::string` **必須:** いいえ  | 
| 名前 |  ゲームセッションについて説明するラベル。 **タイプ**: `std::string` **必須:** いいえ  | 
| FleetId |  ゲームセッションが実行されているフリートの一意の識別子。 **タイプ**: `std::string` **必須:** いいえ  | 
| MaximumPlayerSessionCount |  ゲームセッションへのプレーヤー接続の最大数。 **タイプ**: `int` **必須:** いいえ  | 
| ポート |  ゲームセッションのポート番号。Amazon GameLift Servers ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。 **タイプ**: `in` **必須:** いいえ  | 
| IpAddress |  ゲームセッションの IP アドレス。Amazon GameLift Servers ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。 **タイプ**: `std::string` **必須:** いいえ  | 
| GameSessionData |  単一の文字列値としてフォーマットされたカスタムゲームセッションプロパティのセット。 **タイプ**: `std::string` **必須:** いいえ  | 
| MatchmakerData |  ゲームセッションの作成に使用されたマッチメーキングプロセスに関する情報。JSON 構文で、文字列としてフォーマットされています。使用されたマッチメーキング設定に加えて、プレイヤー属性やチーム割り当てなど、マッチに割り当てられた全プレイヤーに関するデータが含まれます。 **タイプ**: `std::string` **必須:** いいえ  | 
| GameProperties |  ゲームセッションのカスタムプロパティのセットで、キーと値のペアとしてフォーマットされます。これらのプロパティは、新しいゲームセッションを開始するリクエストとともに渡されます。 **タイプ**: `std :: vector < GameProperty >` **必須:** いいえ  | 
| DnsName |  ゲームセッションを実行しているインスタンスに割り当てられた DNS 識別子。値の形式は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk5-cpp-datatypes.html) TLS 対応フリートで実行しているゲームセッションに接続する場合、IP アドレスではなく DNS 名を使用する必要があります。 **タイプ**: `std::string` **必須:** いいえ  | 

## ServerParameters
<a name="integration-server-sdk5-cpp-dataypes-serverparameters"></a>

ゲームサーバープロセスが、Amazon GameLift Servers サービスへの接続を確立するために使用する情報。ゲームサーバービルドが、Amazon GameLift Servers エージェントを使用しない Anywhere フリートまたはコンテナフリートにデプロイされる場合にのみ、[InitSDK()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-initsdk-anywhere) を呼び出す際にこれらのパラメータを含めます。他のすべてのデプロイシナリオでは、パラメータなしで [InitSDK()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-initsdk) が呼び出されます。


| プロパティ | **説明** | 
| --- | --- | 
| webSocketUrl |  Amazon GameLift Servers Anywhere コンピューティングリソース用に [https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html) を実行すると、`GameLiftServerSdkEndpoint` Amazon GameLift Servers が返されます。 **タイプ**: `std::string` **必須:** はい   | 
| processId |  ゲームをホストするサーバープロセスに登録された固有の識別子。 **タイプ**: `std::string` **必須:** はい  | 
| hostId | HostID はコンピューティングを登録したときに使用される ComputeName です。詳細については、「[RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)」を参照してください。**タイプ**: `std::string`**必須:** はい | 
| fleetId | コンピューティングが登録されているフリートの固有識別子。詳細については、「[RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)」を参照してください。**タイプ**: `std::string`**必須:** はい | 
| authToken | Amazon GameLift Servers によって生成され、サーバーを Amazon GameLift Servers に対して認証するための認証トークン。詳細については、「[GetComputeAuthToken](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_GetComputeAuthToken.html)」を参照してください。**タイプ**: `std::string`**必須:** はい | 

## StartMatchBackfillRequest
<a name="integration-server-sdk5-cpp-dataypes-startmatchbackfillrequest"></a>

マッチメーキングバックフィルリクエストの作成に使用される情報。ゲームサーバーは、この情報を [StartMatchBackfill()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-startmatchbackfill) 呼び出しで Amazon GameLift Servers に送信します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionArn |  一意のゲームセッション識別子。API オペレーション `[GetGameSessionId](https://docs.aws.amazon.com/gameliftservers/latest/developerguide/integration-server-sdk5-cpp-actions.html#integration-server-sdk5-cpp-getgamesessionid)` は ARN 形式の識別子を返します。 **タイプ**: `std::string` **必須:** はい  | 
| MatchmakingConfigurationArn |  このリクエストに使用されるマッチメーカーの ARN 形式の一意な識別子。元のゲームセッションののマッチメーカー ARN は、マッチメーカーデータプロパティのゲームセッションオブジェクトにあります。マッチメーカーデータの詳細については「[マッチメーカーデータの処理](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-server.html#match-server-data.html)」を参照してください。 **タイプ**: `std::string` **必須:** はい  | 
| プレイヤー |  ゲームセッションに参加しているすべてのプレイヤーを表すデータのセット。マッチメーカーはこの情報を使用して、現在のプレイヤーとマッチする新しいプレイヤーを検索します。 **タイプ**: `std::vector<Player>` **必須:** はい  | 
| TicketId |  マッチメーキングまたはバックフィルリクエストチケットの一意の識別子。値を指定しない場合、Amazon GameLift Servers ソリューションが値を生成します。この識別子を使用してマッチバックフィルチケットのステータスを追跡したり、必要に応じてリクエストをキャンセルしたりします。 **タイプ**: `std::string` **必須:** いいえ  | 

## プレイヤー
<a name="integration-server-sdk5-cpp-dataypes-player"></a>

このデータ型はマッチメーキングのプレイヤーを表します。マッチメーキングリクエストを開始すると、プレイヤーにはプレイヤー ID、属性、必要に応じてレイテンシーデータが含まれます。マッチが成立すると、Amazon GameLift Servers がチーム情報を追加します。


| プロパティ | **説明** | 
| --- | --- | 
| LatencyInMS |  プレイヤーがロケーションに接続したときに発生するレイテンシーの量を示すミリ秒単位の値のセット。 このプロパティを使用すると、プレーヤーはリストに表示されている場所でのみマッチングされます。マッチメーカーにプレイヤーレイテンシーを評価するルールがある場合、プレイヤーはレイテンシーを報告しないとマッチングされません。 **タイプ**: `Dictionary<string,int>` **必須:** いいえ  | 
| PlayerAttributes |  マッチメーキングに使用するプレイヤー情報を含むキーと値のペアの集合。プレイヤー属性キーは、マッチメーキングルールセットで使用されている PlayerAttributes と一致する必要があります。 プレイヤー属性の詳細については、「[AttributeValue](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_AttributeValue.html)」を参照してください。 **タイプ**: `std::map<std::string,AttributeValue>` **必須:** いいえ  | 
| PlayerId |  プレイヤーを表す一意の識別子。 **タイプ**: `std::string` **必須:** いいえ  | 
| チーム |  マッチでプレーヤーが割り当てられるチームの名前。チーム名はマッチメーキングルールセットで定義します。 **タイプ**: `std::string` **必須:** いいえ  | 

## DescribePlayerSessionsRequest
<a name="integration-server-sdk5-cpp-dataypes-playersessions"></a>

取得するプレイヤーセッションを指定するオブジェクト。サーバープロセスは、この情報を [DescribePlayerSessions()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-describeplayersessions) 呼び出しで Amazon GameLift Servers に提供します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionId |  一意のゲームセッション識別子。このパラメータを使用して、指定したゲームセッションのすべてのプレイヤーセッションをリクエストします。 ゲームセッション ID の形式は `arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string>` です。`GameSessionID` はカスタム ID 文字列または **タイプ**: `std::string` **必須:** いいえ  | 
| PlayerSessionId |  プレイヤーセッションを表す一意の識別子。このパラメータを使用して、特定の 1 つのプレイヤーセッションをリクエストします。 **タイプ**: `std::string` **必須:** いいえ  | 
| PlayerId |  プレイヤーの一意識別子。このパラメータを使用して、特定の 1 人のプレイヤーに対するすべてのプレイヤーセッションをリクエストします。「[プレイヤー ID を生成する](player-sessions-player-identifiers.md)」を参照してください。 **タイプ**: `std::string` **必須:** いいえ  | 
| PlayerSessionStatusFilter |  結果をフィルタリングするプレイヤーセッションステータス。可能なプレイヤーセッションステータスには以下が含まれます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk5-cpp-datatypes.html) **タイプ**: `std::string` **必須:** いいえ  | 
| NextToken |  結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 **タイプ**: `std::string` **必須:** いいえ  | 
| 制限 |  返される結果の最大数。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 **タイプ**: `int` **必須:** いいえ  | 

## StopMatchBackfillRequest
<a name="integration-server-sdk5-cpp-dataypes-stopmatchbackfillrequest"></a>

マッチメーキングバックフィルリクエストのキャンセルに使用される情報。ゲームサーバーは、この情報を [StopMatchBackfill()](integration-server-sdk5-cpp-actions.md#integration-server-sdk5-cpp-stopmatchbackfill) 呼び出しで Amazon GameLift Servers サービスに送信します。


| プロパティ | **説明** | 
| --- | --- | 
| GameSessionArn |  キャンセルされるリクエストの一意のゲームセッション識別子。 **タイプ**: `char[]` **必須:** いいえ  | 
| MatchmakingConfigurationArn |  このリクエストが送信されたマッチメーカーの一意の識別子。 **タイプ**: `char[]` **必須:** いいえ  | 
| TicketId |  キャンセルされるバックフィルリクエストチケットの一意の識別子。 **タイプ**: `char[]` **必須:** いいえ  | 

## AttributeValue
<a name="integration-server-sdk5-cpp-dataypes-attributevalue"></a>

これらの値を [プレイヤー](#integration-server-sdk5-cpp-dataypes-player) 属性のキーと値のペアで使用します。このオブジェクトでは、文字列、数値、文字列配列、データマップのいずれかの有効なデータ型を使用して属性値を指定できます。各 `AttributeValue` オブジェクトは `S`、`N`、`SL`、または `SDM` の使用可能なプロパティのうちの 1 つだけを使用する必要があります。


| プロパティ | 説明 | 
| --- | --- | 
| AttrType |  属性値のタイプを指定します。可能な属性値のタイプは次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk5-cpp-datatypes.html) **必須:** いいえ  | 
| S |  文字列の属性値を表します。 **タイプ**: `std::string` **必須:** いいえ  | 
| いいえ |  数値の属性値を表します。 **タイプ**: `double` **必須:** いいえ  | 
| SL |  文字列の属性値の配列を表します。 **タイプ**: `std::vector<std::string>` **必須:** いいえ  | 
| SDM |  文字列キーと二重値のディクショナリを表します。 **タイプ**: `std::map<std::string, double>` **必須:** いいえ  | 

## GetFleetRoleCredentialsRequest
<a name="integration-server-sdk5-cpp-dataypes-getfleetrolecredentialsrequest"></a>

このデータ型により、ゲームサーバーは他の AWS リソースへのアクセスが制限されます。詳細については、[Amazon GameLift Servers 用に IAM サービスロールをセットアップする](setting-up-role.md) を参照してください。


| プロパティ | **説明** | 
| --- | --- | 
| RoleArn | リソースへの制限付きアクセスを拡張するサービスロールの Amazon AWS リソースネーム (ARN)。**タイプ**: `std::string`**必須:** いいえ | 
| RoleSessionName |  AWS Security Token Service [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) セッションを一意に識別するために使用できるロールセッション名。この名前は、CloudTrail などの監査ログに公開されます。**タイプ**: `std::string`  **必須:** いいえ  | 

## AwsLongOutcome
<a name="integration-server-sdk5-cpp-datatypes-awslongoutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| 結果 |  アクションの結果。 **タイプ**: `long` **必須:** いいえ  | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `long&&` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## AwsStringOutcome
<a name="integration-server-sdk5-cpp-datatypes-awsstringoutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| 結果 |  アクションの結果。 **タイプ**: `std::string` **必須:** いいえ  | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `long&&` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## DescribePlayerSessionsOutcome
<a name="integration-server-sdk5-cpp-datatypes-describeplayersessionsoutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| 結果 |  アクションの結果。 **タイプ**: [DescribePlayerSessionsResult](#integration-server-sdk5-cpp-datatypes-describeplayersessionsresult) **必須:** いいえ   | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `Aws::GameLift::Server::Model::DescribePlayerSessionsResult&&` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## DescribePlayerSessionsResult
<a name="integration-server-sdk5-cpp-datatypes-describeplayersessionsresult"></a>

リクエストに一致する各プレイヤーセッションのプロパティを含むオブジェクトの集合。


| プロパティ | 説明 | 
| --- | --- | 
| NextToken |  結果の次の順次ページの先頭を示すトークン。このオペレーションの以前の呼び出しで返されたトークンを使用します。結果セットの先頭で開始するには、値を指定しないでください。プレイヤーセッション ID を指定した場合、このパラメータは無視されます。 **タイプ**: `std::string` **必須:** はい  | 
| PlayerSessions |  **タイプ**: `IList<PlayerSession>` **必須:**   | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `std::string&&` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## GenericOutcome
<a name="integration-server-sdk5-cpp-datatypes-genericoutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## GenericOutcomeCallable
<a name="integration-server-sdk5-cpp-datatypes-genericoutcomecallable"></a>

このデータ型は非同期の一般的な結果です。以下のプロパティがあります。


| プロパティ | 説明 | 
| --- | --- | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## PlayerSession
<a name="integration-server-sdk5-cpp-datatypes-playersession"></a>

このデータ型は、Amazon GameLift Servers がゲームサーバーに渡すプレイヤーセッションを表します。詳細については、「[PlayerSession](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_PlayerSession.html)」を参照してください。


| プロパティ | 説明 | 
| --- | --- | 
| CreationTime |  **タイプ**: `long` **必須:** いいえ  | 
| FleetId |  **タイプ**: `std::string` **必須:** いいえ  | 
| GameSessionId |  **タイプ**: `std::string` **必須:** いいえ  | 
| IpAddress |  **タイプ**: `std::string` **必須:** いいえ  | 
| PlayerData |  **タイプ**: `std::string` **必須:** いいえ  | 
| PlayerId |  **タイプ**: `std::string` **必須:** いいえ  | 
| PlayerSessionId |  **タイプ**: `std::string` **必須:** いいえ  | 
| ポート |  **タイプ**: `int` **必須:** いいえ  | 
| ステータス |  結果をフィルタリングするプレイヤーセッションステータス。PlayerSessionId または PlayerId が提供された場合、PlayerSessionStatusFilter はレスポンスに影響を与えません。 **型:** `PlayerSessionStatus` enum。以下に示しているのは、可能な値です。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk5-cpp-datatypes.html) **必須:** いいえ  | 
| TerminationTime |  **タイプ**: `long` **必須:** いいえ  | 
| DnsName |  **タイプ**: `std::string` **必須:** いいえ  | 

## StartMatchBackfillOutcome
<a name="integration-server-sdk5-cpp-datatypes-startmatchbackfilloutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| 結果 |  アクションの結果。 **タイプ**: [StartMatchBackfillResult](#integration-server-sdk5-cpp-datatypes-startmatchbackfillresult) **必須:** いいえ  | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `StartMatchBackfillResult&&` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## StartMatchBackfillResult
<a name="integration-server-sdk5-cpp-datatypes-startmatchbackfillresult"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| TicketId |  マッチメーキングチケットの一意の識別子。ここでチケット ID を指定しない場合、Amazon GameLift Servers が UUID 形式の ID を自動生成します。この識別子を使用して、マッチバックフィルチケットのステータスを追跡し、マッチ結果を取得します。 **タイプ**: `std::string` **必須:** いいえ  | 

## GetComputeCertificateOutcome
<a name="integration-server-sdk5-cpp-datatypes-getcomputecertificateoutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| 結果 |  アクションの結果。 **タイプ**: [GetComputeCertificateResult](#integration-server-sdk5-cpp-datatypes-getcomputecertificateresult) **必須:** いいえ   | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `Aws::GameLift::Server::Model::GetComputeCertificateResult&&` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## GetComputeCertificateResult
<a name="integration-server-sdk5-cpp-datatypes-getcomputecertificateresult"></a>

コンピューティングの TLS 証明書へのパスとコンピューティングのホスト名。


| プロパティ | 説明 | 
| --- | --- | 
| CertificatePath |  コンピューティングリソースの TLS 証明書へのパス。Amazon GameLift Serversマネージドフリートを使用する場合、このパスには次の内容が含まれます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk5-cpp-datatypes.html) **タイプ**: `std::string` **必須:** いいえ  | 
| ComputeName |  コンピューティングリソースの名前。 **タイプ**: `std::string` **必須:** いいえ  | 

## GetFleetRoleCredentialsOutcome
<a name="integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsoutcome"></a>

このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。


| プロパティ | 説明 | 
| --- | --- | 
| 結果 |  アクションの結果。 **タイプ**: [GetFleetRoleCredentialsResult](#integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsresult) **必須:** いいえ   | 
| ResultWithOwnership |   アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 **タイプ**: `Aws::GameLift::Server::Model::GetFleetRoleCredentialsResult` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## GetFleetRoleCredentialsResult
<a name="integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsresult"></a>


| プロパティ | 説明 | 
| --- | --- | 
| AccessKeyId |   AWS へのアクセスを認証して提供するためのアクセスキー ID。 **タイプ**: `string` **必須:** いいえ  | 
| AssumedRoleId |  サービスロールが属するユーザーの ID。 **タイプ**: `string` **必須:** いいえ  | 
| AssumedRoleUserArn |  サービスロールが属するユーザーの Amazon リソースネーム (ARN)。 **タイプ**: `string` **必須:** いいえ  | 
| 有効期限 |  セッション認証情報の有効期限が切れるまでの時間。 **タイプ**: `DateTime` **必須:** いいえ  | 
| SecretAccessKey |  認証のためのシークレットアクセスキー ID。 **タイプ**: `string` **必須:** いいえ  | 
| SessionToken |   AWS リソースとやり取りする現在のアクティブなセッションを識別するトークン。 **タイプ**: `string` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](integration-server-sdk5-csharp-datatypes.md#integration-server-sdk5-csharp-datatypes-gamelifterror) **必須:** いいえ  | 

## InitSDKOutcome
<a name="integration-server-sdk5-cpp-datatypes-initsdkoutcome"></a>

**注記**  
`InitSDKOutcome` は `std` フラグを付けて SDK を構築した場合にのみ返されます。`nostd` フラグを付けて構築すると、代わりに [GenericOutcome](#integration-server-sdk5-cpp-datatypes-genericoutcome) が返されます。


| プロパティ | 説明 | 
| --- | --- | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [GameLiftError](#integration-server-sdk5-cpp-datatypes-gamelifterror) **必須:** いいえ  | 

## GameLiftError
<a name="integration-server-sdk5-cpp-datatypes-gamelifterror"></a>


| プロパティ | 説明 | 
| --- | --- | 
| ErrorType |  エラーのタイプ。 **型:** `GameLiftErrorType` [enum](#integration-server-sdk5-cpp-dataypes-enums)。 **必須:** いいえ   | 
| ErrorName |  エラータイプの名前。  **タイプ**: `std::string`  **必須:** いいえ   | 
| ErrorMessage |  エラーメッセージです。  **タイプ**: `std::string`  **必須:** いいえ   | 

## 列挙型
<a name="integration-server-sdk5-cpp-dataypes-enums"></a>

サーバー SDK for Amazon GameLift Servers (C\$1\$1) で定義されている列挙体は、次のとおりです。

**GameLiftErrorType**  
エラータイプを示す文字列値。有効な値を次に示します。  
+ **BAD\$1REQUEST\$1EXCEPTION** 
+ **GAMESESSION\$1ID\$1NOT\$1SET** - ゲームセッション ID が設定されていません。
+ **INTERNAL\$1SERVICE\$1EXCEPTION** 
+ **LOCAL\$1CONNECTION\$1FAILED** - Amazon GameLift Serversへのローカル接続に失敗しました。
+ **NETWORK\$1NOT\$1INITIALIZED** - ネットワークは初期化されていません。
+ **SERVICE\$1CALL\$1FAILED** – AWS サービスへの呼び出しに失敗しました。
+ **WEBSOCKET\$1CONNECT\$1FAILURE** 
+ **WEBSOCKET\$1CONNECT\$1FAILURE\$1FORBIDDEN** 
+ **WEBSOCKET\$1CONNECT\$1FAILURE\$1INVALID\$1URL** 
+ **WEBSOCKET\$1CONNECT\$1FAILURE\$1TIMEOUT** 
+ **ALREADY\$1INITIALIZED** - Amazon GameLift Servers サーバーまたはクライアントはすでに Initialize() で初期化されています。
+ **FLEET\$1MISMATCH** - ターゲットフリートが gameSession または playerSession のフリートと一致しません。
+ **GAMELIFT\$1CLIENT\$1NOT\$1INITIALIZED** - Amazon GameLift Servers クライアントは初期化されていません。
+ **GAMELIFT\$1SERVER\$1NOT\$1INITIALIZED** - Amazon GameLift Servers クライアントは初期化されていません。
+ **GAME\$1SESSION\$1ENDED\$1FAILED** - サーバー SDK for Amazon GameLift Servers はサービスにアクセスしてゲームセッションが終了したことを報告できませんでした。
+ **GAME\$1SESSION\$1NOT\$1READY** - Amazon GameLift Servers サーバーのゲームセッションがアクティブ化されませんでした。
+ **GAME\$1SESSION\$1READY\$1FAILED** - サーバー SDK for Amazon GameLift Servers は、サービスにアクセスしてゲームセッションの準備が完了したことを報告できませんでした。
+ **INITIALIZATION\$1MISMATCH** - Server:: Initialize() の後にクライアントメソッドが呼び出されました。その逆も同様です。
+ **NOT\$1INITIALIZED** - Amazon GameLift Servers サーバーまたはクライアントは Initialize() で初期化されていません。
+ **NO\$1TARGET\$1ALIASID\$1SET** - ターゲットの aliasId が設定されていません。
+ **NO\$1TARGET\$1FLEET\$1SET** - ターゲットフリートが設定されていません。
+ **PROCESS\$1ENDING\$1FAILED** - サーバー SDK for Amazon GameLift Servers はサービスにアクセスしてプロセスの終了を報告できませんでした。
+ **PROCESS\$1NOT\$1ACTIVE** - サーバープロセスはまだアクティブではなく、GameSession にバインドされていないため、PlayerSessions を受け入れたり処理したりすることはできません。
+ **PROCESS\$1NOT\$1READY** - サーバープロセスをまだアクティブ化する準備ができていません。
+ **PROCESS\$1READY\$1FAILED** - サーバー SDK for Amazon GameLift Servers はサービスにアクセスしてプロセスの準備が完了したことを報告できませんでした。
+ **SDK\$1VERSION\$1DETECTION\$1FAILED** - SDK バージョン検出に失敗しました。
+ **STX\$1CALL\$1FAILED** - XStx サーバーのバックエンドコンポーネントへの呼び出しが失敗しました。
+ **STX\$1INITIALIZATION\$1FAILED** - XStx サーバーのバックエンドコンポーネントが初期化に失敗しました。
+ **UNEXPECTED\$1PLAYER\$1SESSION** - 未登録のプレイヤーセッションがサーバーによって検出されました。
+ **WEBSOCKET\$1CONNECT\$1FAILURE** 
+ **WEBSOCKET\$1CONNECT\$1FAILURE\$1FORBIDDEN** 
+ **WEBSOCKET\$1CONNECT\$1FAILURE\$1INVALID\$1URL** 
+ **WEBSOCKET\$1CONNECT\$1FAILURE\$1TIMEOUT** 
+ **WEBSOCKET\$1RETRIABLE\$1SEND\$1MESSAGE\$1FAILURE** - GameLift Service WebSocket にメッセージを送信する際に再試行可能な障害が発生しました。
+ **WEBSOCKET\$1SEND\$1MESSAGE\$1FAILURE** - GameLift Service WebSocket へのメッセージの送信に失敗しました。
+ **MATCH\$1BACKFILL\$1REQUEST\$1VALIDATION** - リクエストの検証に失敗しました。
+ **PLAYER\$1SESSION\$1REQUEST\$1VALIDATION** - リクエストの検証に失敗しました。

**PlayerSessionCreationPolicy**  
ゲームセッションで新しいプレイヤーを承諾するかどうかを示す文字列値。有効な値を次に示します。  
+ **ACCEPT\$1ALL** - すべての新しいプレイヤーセッションを承諾します。
+ **DENY\$1ALL** - すべての新しいプレイヤーセッションを拒否します。
+ **NOT\$1SET** - ゲームセッションは、新規プレイヤーセッションを受け入れたり拒否したりするように設定されていません。

[C\$1\$1 サーバー SDK 5.x for Amazon GameLift Servers -- データ型](integration-server-sdk5-cpp-datatypes.md)

**Topics**
+ [C\$1\$1 サーバー SDK 5.x for Amazon GameLift Servers -- データ型](integration-server-sdk5-cpp-datatypes.md)
+ [GetSdkVersion()](#integration-server-sdk5-cpp-getsdkversion)
+ [InitMetrics()](#integration-server-sdk5-cpp-initmetrics)
+ [InitSDK()](#integration-server-sdk5-cpp-initsdk)
+ [InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere)
+ [ProcessReady()](#integration-server-sdk5-cpp-processready)
+ [ProcessReadyAsync()](#integration-server-sdk5-cpp-processreadyasync)
+ [ProcessEnding()](#integration-server-sdk5-cpp-processending)
+ [ActivateGameSession()](#integration-server-sdk5-cpp-activategamesession)
+ [UpdatePlayerSessionCreationPolicy()](#integration-server-sdk5-cpp-updateplayersessioncreationpolicy)
+ [GetGameSessionId()](#integration-server-sdk5-cpp-getgamesessionid)
+ [GetTerminationTime()](#integration-server-sdk5-cpp-getterm)
+ [AcceptPlayerSession()](#integration-server-sdk5-cpp-acceptplayersession)
+ [RemovePlayerSession()](#integration-server-sdk5-cpp-removeplayersession)
+ [DescribePlayerSessions()](#integration-server-sdk5-cpp-describeplayersessions)
+ [StartMatchBackfill()](#integration-server-sdk5-cpp-startmatchbackfill)
+ [StopMatchBackfill()](#integration-server-sdk5-cpp-stopmatchbackfill)
+ [GetComputeCertificate()](#integration-server-sdk5-cpp-getcomputecertificate)
+ [GetFleetRoleCredentials()](#integration-server-sdk5-cpp-getfleetrolecredentials)
+ [Destroy()](#integration-server-sdk5-cpp-ref-destroy)

## GetSdkVersion()
<a name="integration-server-sdk5-cpp-getsdkversion"></a>

サーバープロセスに組み込まれた SDK の現在のバージョン番号を返します。

### 構文
<a name="integration-server-sdk5-cpp-getsdkversion-syntax"></a>

```
Aws::GameLift::AwsStringOutcome Server::GetSdkVersion();
```

### 戻り値
<a name="integration-server-sdk5-cpp-getsdkversion-return"></a>

成功した場合、[AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome) オブジェクトとして現在の SDK バージョンを返します。返されるオブジェクトには、バージョン番号が含まれます (例: `5.0.0`)。成功しなかった場合、エラーメッセージを返します。

### 例
<a name="integration-server-sdk5-cpp-getsdkversion-example"></a>

```
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion(); 
```

## InitMetrics()
<a name="integration-server-sdk5-cpp-initmetrics"></a>

サーバーパフォーマンスデータを収集およびレポートするためのメトリクスシステムを初期化します。最良の結果を得るには、[InitSDK()](#integration-server-sdk5-cpp-initsdk) の前にこのメソッドを呼び出して、SDK の初期化中にメトリクス収集を有効にします。

### 構文
<a name="integration-server-sdk5-cpp-initmetrics-syntax"></a>

```
Aws::GameLift::GenericOutcome InitMetrics();
Aws::GameLift::GenericOutcome InitMetrics(const Aws::GameLift::Server::MetricsParameters &metricsParameters);
```

### パラメータ
<a name="integration-server-sdk5-cpp-initmetrics-parameter"></a>

[MetricsParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-metricsparameters) (オプション)  
メトリクス収集の設定パラメータ。指定しない場合は、環境変数で上書きできる既定値を使用します。

### 戻り値
<a name="integration-server-sdk5-cpp-initmetrics-return"></a>

成功すると、成功を示す [GenericOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-genericoutcome) オブジェクトが返されます。成功しなかった場合、エラーメッセージを返します。

### 例
<a name="integration-server-sdk5-cpp-initmetrics-example"></a>

```
// Initialize with default parameters (uses environment variables if available)
// Defaults: localhost:8125 for StatsD, localhost:8126 for crash reporter
// FlushInterval: 10000ms, MaxPacketSize: 512 bytes
Aws::GameLift::GenericOutcome outcome = Aws::GameLift::Server::InitMetrics();
if (outcome.IsSuccess()) {
    // Metrics system initialized successfully
}

// Initialize with custom parameters
Aws::GameLift::Server::MetricsParameters metricsParams("localhost", 8125, "crash-host", 8126, 5000, 1024);
Aws::GameLift::GenericOutcome customOutcome = Aws::GameLift::Server::InitMetrics(metricsParams);
if (customOutcome.IsSuccess()) {
    // Metrics system initialized with custom parameters
}
```

## InitSDK()
<a name="integration-server-sdk5-cpp-initsdk"></a>

Amazon GameLift Servers SDK を初期化します。他のAmazon GameLift Servers 関連の初期化が実行される前に、起動時にこのメソッドを呼び出します。このアクションは、ホスト環境からサーバーパラメータを読み取り、ゲームサーバープロセスと Amazon GameLift Servers サービス間の通信を設定します。べき等性トークンを使用するため、失敗したときにこの呼び出しを安全に再試行できます。

ゲームサーバービルドを Amazon GameLift Servers エージェントなしで Amazon GameLift Servers Anywhere フリートまたはコンテナフリートにデプロイする場合は、[InitSDK()](#integration-server-sdk5-cpp-initsdk-anywhere) を呼び出し、サーバーパラメータのセットを指定します。

### 構文
<a name="integration-server-sdk5-cpp-initsdk-syntax"></a>

```
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK();
```

### 戻り値
<a name="integration-server-sdk5-cpp-initsdk-return"></a>

サーバープロセスが [ProcessReady()](#integration-server-sdk5-cpp-processready) を呼び出す準備ができているかどうかを示す [InitSDKOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) オブジェクトを返します。

### 例
<a name="integration-server-sdk5-cpp-initsdk-example"></a>

```
//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = 
  Aws::GameLift::Server::InitSDK();
```

## InitSDK()
<a name="integration-server-sdk5-cpp-initsdk-anywhere"></a>

Amazon GameLift Servers SDK を初期化します。他のAmazon GameLift Servers 関連の初期化が実行される前に、起動時にこのメソッドを呼び出します。このアクションには、ゲームサーバープロセスと Amazon GameLift Servers サービス間の通信を設定するサーバーパラメータのセットが必要です。べき等性トークンを使用するため、失敗したときにこの呼び出しを安全に再試行できます。

ゲームサーバービルドを Amazon GameLift Servers マネージド EC2 フリート、または Amazon GameLift Servers エージェントを使用する Amazon GameLift Servers Anywhere フリート、またはコンテナフリートにデプロイする場合は、サーバーパラメータなしで [InitSDK()](#integration-server-sdk5-cpp-initsdk) を呼び出します。

### 構文
<a name="integration-server-sdk5-cpp-initsdk-anywhere-syntax"></a>

```
Server::InitSDKOutcome Server::initSdkOutcome = InitSDK(serverParameters);
```

### パラメータ
<a name="integration-server-sdk5-cpp-initsdk-anywhere-parameter"></a>

[ServerParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-serverparameters)  
Amazon GameLift Servers Anywhere フリートのゲームサーバーを初期化するには、次の情報を含む `ServerParameters` オブジェクトを作成します。  
+ ゲームサーバーへの接続に使用される WebSocket の URL。
+ ゲームサーバーのホストに使用されるプロセスの ID。
+ ゲームサーバープロセスをホスティングするコンピューティングの ID。
+ Amazon GameLift Servers Anywhere コンピューティングを含む Amazon GameLift Servers フリートの ID。
+ Amazon GameLift Servers オペレーションによって生成された認可トークン。

### 戻り値
<a name="integration-server-sdk5-cpp-initsdk-anywhere-return"></a>

サーバープロセスが [ProcessReady()](#integration-server-sdk5-cpp-processready) を呼び出す準備ができているかどうかを示す [InitSDKOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-initsdkoutcome) オブジェクトを返します。

**注記**  
Anywhere フリートにデプロイされたゲームビルドに対して `InitSDK()` への呼び出しが失敗する場合は、ビルドリソースの作成時に使用した `ServerSdkVersion` パラメータを確認してください。この値は、使用中のサーバー SDK バージョンに明示的に設定する必要があります。このパラメータのデフォルト値は 4.x で、互換性がありません。この問題を解決するには、新しいビルドを作成して新しいフリートにデプロイします。

### 例
<a name="integration-server-sdk5-cpp-initsdk-anywhere-example"></a>

Amazon GameLift Servers Anywhere の例

```
//Define the server parameters
std::string websocketUrl = "wss://us-west-1.api.amazongamelift.com";
std::string processId = "PID1234";
std::string fleetId = "arn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa";
std::string hostId = "HardwareAnywhere";
std::string authToken = "1111aaaa-22bb-33cc-44dd-5555eeee66ff";
Aws::GameLift::Server::Model::ServerParameters serverParameters = 
  Aws::GameLift::Server::Model::ServerParameters(webSocketUrl, authToken, fleetId, hostId, processId);

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
Aws::GameLift::Server::InitSDKOutcome initSdkOutcome = Aws::GameLift::Server::InitSDK(serverParameters);
```

## ProcessReady()
<a name="integration-server-sdk5-cpp-processready"></a>

サーバープロセスがゲームセッションをホストする準備ができたことを Amazon GameLift Servers に通知します。[InitSDK()](#integration-server-sdk5-cpp-initsdk) を呼び出した後にこのメソッドを呼び出します。このメソッドは、プロセスごとに 1 回だけ呼び出す必要があります。

### 構文
<a name="integration-server-sdk5-cpp-processready-syntax"></a>

`GenericOutcome ProcessReady(const Aws::GameLift::Server::ProcessParameters &processParameters);`

### パラメータ
<a name="integration-server-sdk5-cpp-processready-parameter"></a>

**processParameters**  
サーバープロセスに関する以下の情報を伝える [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) オブジェクト。  
+ サーバープロセスと通信するために Amazon GameLift Servers サービスが呼び出す、ゲームサーバーコードで実装されたコールバックメソッドの名前。
+ サーバープロセスがリッスンするポートの番号。
+ Amazon GameLift Servers でキャプチャして保存するゲームセッション固有のファイルへのパス。

### 戻り値
<a name="integration-server-sdk5-cpp-processready-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-processready-example"></a>

この例では、[ProcessReady()](#integration-server-sdk5-cpp-processready) 呼び出しと委任関数の実装の両方を示します。

```
// Set parameters and call ProcessReady
std::string serverLog("serverOut.log");        // Example of a log file written by the game server
std::vector<std::string> logPaths;
logPaths.push_back(serverLog);
int listenPort = 9339;

Aws::GameLift::Server::ProcessParameters processReadyParameter = 
  Aws::GameLift::Server::ProcessParameters(
    std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
    std::bind(&Server::onProcessTerminate, this), 
    std::bind(&Server::OnHealthCheck, this), 
    std::bind(&Server::OnUpdateGameSession, this), 
    listenPort, 
    Aws::GameLift::Server::LogParameters(logPaths)
  ); 

Aws::GameLift::GenericOutcome outcome = 
  Aws::GameLift::Server::ProcessReady(processReadyParameter);

// Implement callback functions
void Server::onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
  // game-specific tasks when starting a new game session, such as loading map
  GenericOutcome outcome = 
    Aws::GameLift::Server::ActivateGameSession (maxPlayers);
}

void Server::onProcessTerminate()
{
  // game-specific tasks required to gracefully shut down a game session, 
  // such as notifying players, preserving game state data, and other cleanup
  GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
}

bool Server::onHealthCheck()
{
  bool health;
  // complete health evaluation within 60 seconds and set health
  return health;
}
```

## ProcessReadyAsync()
<a name="integration-server-sdk5-cpp-processreadyasync"></a>

サーバープロセスがゲームセッションをホストする準備ができたことを Amazon GameLift Servers サービスに通知します。サーバープロセスがゲームセッションをホストする準備ができたら、このメソッドを呼び出します。パラメータで、Amazon GameLift Servers が特定の状況で呼び出すコールバック関数の名前を指定します。ゲームサーバーコードは、これらの関数を実装する必要があります。

この呼び出しは非同期です。同期呼び出しを実行するには、[ProcessReady()](#integration-server-sdk5-cpp-processready) を使用します。詳細については、「[サーバープロセスを初期化する](gamelift-sdk-server-api.md#gamelift-sdk-server-initialize)」を参照してください。

### 構文
<a name="integration-server-sdk5-cpp-processreadyasync-syntax"></a>

```
GenericOutcomeCallable ProcessReadyAsync(
    const Aws::GameLift::Server::ProcessParameters &processParameters);
```

### パラメータ
<a name="integration-server-sdk5-cpp-processreadyasync-parameter"></a>

**processParameters**  
サーバープロセスに関する以下の情報を伝える [ProcessParameters](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-process) オブジェクト。  
+ サーバープロセスと通信するために Amazon GameLift Servers サービスが呼び出す、ゲームサーバーコードで実装されたコールバックメソッドの名前。
+ サーバープロセスがリッスンするポートの番号。
+ Amazon GameLift Servers でキャプチャして保存するゲームセッション固有のファイルへのパス。
必須: はい

### 戻り値
<a name="integration-server-sdk5-cpp-processreadyasync-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-processreadyasync-example"></a>

```
// Set parameters and call ProcessReady
std::string serverLog("serverOut.log");        // This is an example of a log file written by the game server
std::vector<std::string> logPaths;
logPaths.push_back(serverLog);
int listenPort = 9339;

Aws::GameLift::Server::ProcessParameters processReadyParameter = 
  Aws::GameLift::Server::ProcessParameters(std::bind(&Server::onStartGameSession, this, std::placeholders::_1),
  std::bind(&Server::onProcessTerminate, this), std::bind(&Server::OnHealthCheck, this),
  std::bind(&Server::OnUpdateGameSession, this), listenPort, Aws::GameLift::Server::LogParameters(logPaths));

Aws::GameLift::GenericOutcomeCallable outcome = 
  Aws::GameLift::Server::ProcessReadyAsync(processReadyParameter);

// Implement callback functions
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
  // game-specific tasks when starting a new game session, such as loading map
  GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession (maxPlayers);
}

void onProcessTerminate()
{
  // game-specific tasks required to gracefully shut down a game session, 
  // such as notifying players, preserving game state data, and other cleanup
  GenericOutcome outcome = Aws::GameLift::Server::ProcessEnding();
}

bool onHealthCheck()
{
  // perform health evaluation and complete within 60 seconds
  return health;
}
```

## ProcessEnding()
<a name="integration-server-sdk5-cpp-processending"></a>

サーバープロセスが終了していることを Amazon GameLift Servers に通知します。アクティブなゲームセッションのシャットダウンを含むその他すべてのクリーンアップタスクの後そして、プロセスを終了する前にこのメソッドを呼び出します。`ProcessEnding()` の結果に応じて、プロセスは成功 (0) またはエラー (-1) で終了し、フリートイベントが生成されます。プロセスがエラーで終了した場合、生成されるフリートイベントは `SERVER_PROCESS_TERMINATED_UNHEALTHY` です。

### 構文
<a name="integration-server-sdk5-cpp-processending-syntax"></a>

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
```

### 戻り値
<a name="integration-server-sdk5-cpp-processending-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-processending-example"></a>

この例では、サーバープロセスを終了する前に、成功またはエラーの終了コードで `ProcessEnding()` と `Destroy()` を呼び出します。

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Aws::GameLift::Server::Destroy();

// Exit the process with success or failure
if (processEndingOutcome.IsSuccess()) {
  exit(0);
}
else {
  cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage();
  exit(-1);
}
```

## ActivateGameSession()
<a name="integration-server-sdk5-cpp-activategamesession"></a>

サーバープロセスがゲームセッションをアクティブにし、プレイヤーの接続を受ける準備ができていることを Amazon GameLift Servers に通知します。このアクションは、すべてのゲームセッションの初期化の後、`onStartGameSession()` コールバック関数の一部として呼び出されます。

### 構文
<a name="integration-server-sdk5-cpp-activategamesession-syntax"></a>

```
Aws::GameLift::GenericOutcome activateGameSessionOutcome = Aws::GameLift::Server::ActivateGameSession();
```

### 戻り値
<a name="integration-server-sdk5-cpp-activategamesession-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-activategamesession-example"></a>

この例では、`onStartGameSession()` 委任関数の一部として呼び出された `ActivateGameSession()` を示しています。

```
void onStartGameSession(Aws::GameLift::Model::GameSession myGameSession)
{
  // game-specific tasks when starting a new game session, such as loading map
  GenericOutcome outcome = Aws::GameLift::Server::ActivateGameSession();
}
```

## UpdatePlayerSessionCreationPolicy()
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy"></a>

現在のゲームセッションの機能を更新し、新しいプレイヤーセッションを承諾します。ゲームセッションは、新しいプレイヤーセッションをすべて受け入れるか拒否するかを設定できます。

### 構文
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-syntax"></a>

```
GenericOutcome UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy newPlayerSessionPolicy);
```

### パラメータ
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-parameter"></a>

**playerCreationSessionPolicy**  
型: `PlayerSessionCreationPolicy` [enum](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-enums) 値。  
必須: はい

### 戻り値
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-updateplayersessioncreationpolicy-example"></a>

この例は、現在のゲームセッションの参加ポリシーを、すべてのプレイヤーを受け入れるように設定します。

```
Aws::GameLift::GenericOutcome outcome = 
  Aws::GameLift::Server::UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::PlayerSessionCreationPolicy::ACCEPT_ALL);
```

## GetGameSessionId()
<a name="integration-server-sdk5-cpp-getgamesessionid"></a>

アクティブなサーバープロセスにホストされたゲームセッションの ID を取得します。

ゲームセッションでアクティブ化されていないアイドル状態のプロセスの場合、呼び出しは [GameLiftError](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-gamelifterror) を返します。

### 構文
<a name="integration-server-sdk5-cpp-getgamesessionid-syntax"></a>

```
AwsStringOutcome GetGameSessionId()
```

### パラメータ
<a name="integration-server-sdk5-cpp-getgamesessionid-parameter"></a>

このアクションにはパラメータがありません。

### 戻り値
<a name="integration-server-sdk5-cpp-getgamesessionid-return"></a>

成功した場合、ゲームセッション ID を [AwsStringOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-awsstringoutcome) オブジェクトとして返します。成功しなかった場合、エラーメッセージを返します。

ゲームセッションでまだアクティブ化されていないアイドルプロセスの場合、呼び出しは `Success`=`True` および `GameSessionId`=`""` を返します。

### 例
<a name="integration-server-sdk5-cpp-getgamesessionid-example"></a>

```
Aws::GameLift::AwsStringOutcome sessionIdOutcome = Aws::GameLift::Server::GetGameSessionId();
```

## GetTerminationTime()
<a name="integration-server-sdk5-cpp-getterm"></a>

終了時刻が判る場合に、サーバープロセスがシャットダウンを予定している時刻を返します。サーバープロセスは、Amazon GameLift Servers から`onProcessTerminate()` コールバックを受信した後、アクションを実行します。Amazon GameLift Servers は、次の理由で `onProcessTerminate()` を呼び出します。
+ サーバープロセスが健全性異常を報告したり、Amazon GameLift Servers に応答しなかった場合。
+ スケールダウンイベント中にインスタンスを終了する場合。
+ [スポットインスタンスの中断](spot-tasks.md)によりインスタンスが終了した場合。

### 構文
<a name="integration-server-sdk5-cpp-getterm-syntax"></a>

```
AwsDateTimeOutcome GetTerminationTime()
```

### 戻り値
<a name="integration-server-sdk5-cpp-getterm-return"></a>

成功した場合、終了時刻を `AwsDateTimeOutcome` オブジェクトとして返します。値は終了時間で、`0001 00:00:00` 以降の経過ティックで表現されます。例えば、日付時刻の値 `2020-09-13 12:26:40 -000Z` は、`637355968000000000` ティックに等しくなります。終了時間がない場合は、エラーメッセージを返します。

プロセスが ProcessParameters.OnProcessTerminate() コールバックを受信していない場合、エラーメッセージが返されます。サーバープロセスのシャットダウンの詳細については、「[サーバープロセスのシャットダウン通知に応答する](gamelift-sdk-server-api.md#gamelift-sdk-server-terminate)」を参照してください。

### 例
<a name="integration-server-sdk5-cpp-getterm-example"></a>

```
Aws::GameLift::AwsLongOutcome TermTimeOutcome = Aws::GameLift::Server::GetTerminationTime(); 
```

## AcceptPlayerSession()
<a name="integration-server-sdk5-cpp-acceptplayersession"></a>

指定されたプレイヤーセッション ID を持つプレイヤーがサーバープロセスに接続し、検証が必要であることを、Amazon GameLift Servers に通知します。Amazon GameLift Servers は、プレイヤーセッション ID が有効であることを検証します。検証できたら、Amazon GameLift Servers はプレーヤースロットの状態を RESERVED から ACTIVE に変更します。

### 構文
<a name="integration-server-sdk5-cpp-acceptplayersession-syntax"></a>

```
GenericOutcome AcceptPlayerSession(String playerSessionId)
```

### パラメータ
<a name="integration-server-sdk5-cpp-acceptplayersession-parameter"></a>

playerSessionId  
新しいプレイヤーセッションが作成されたときに Amazon GameLift Servers によって発行される一意の ID。

### 戻り値
<a name="integration-server-sdk5-cpp-acceptplayersession-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-acceptplayersession-example"></a>

この例では、無効なプレイヤーセッション ID の検証と拒否を含む接続リクエストを処理します。

```
void ReceiveConnectingPlayerSessionID (Connection& connection, const std::string& playerSessionId)
{
  Aws::GameLift::GenericOutcome connectOutcome = Aws::GameLift::Server::AcceptPlayerSession(playerSessionId);
  if(connectOutcome.IsSuccess())
  {
    connectionToSessionMap.emplace(connection, playerSessionId);
    connection.Accept();
  }
  else 
  {
    connection.Reject(connectOutcome.GetError().GetMessage();
  }       
}
```

## RemovePlayerSession()
<a name="integration-server-sdk5-cpp-removeplayersession"></a>

プレイヤーがサーバープロセスから切断されたことを Amazon GameLift Servers に通知します。それに応じて、Amazon GameLift Servers はプレイヤースロットを利用可能に変更します。

### 構文
<a name="integration-server-sdk5-cpp-removeplayersession-syntax"></a>

```
GenericOutcome RemovePlayerSession(String playerSessionId)
```

### パラメータ
<a name="integration-server-sdk5-cpp-removeplayersession-parameter"></a>

**`playerSessionId`**  
新しいプレイヤーセッションが作成されたときに Amazon GameLift Servers によって発行される一意の ID。

### 戻り値
<a name="integration-server-sdk5-cpp-removeplayersession-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-removeplayersession-example"></a>

```
Aws::GameLift::GenericOutcome disconnectOutcome = Aws::GameLift::Server::RemovePlayerSession(playerSessionId);
```

## DescribePlayerSessions()
<a name="integration-server-sdk5-cpp-describeplayersessions"></a>

設定、セッションメタデータ、プレイヤーデータを含む、プレイヤーセッションデータを取得します。このメソッドを使用して、以下に関する情報を取得します。
+ シングルプレイヤーセッション
+ ゲームセッションのすべてのプレイヤーセッション
+ 1 つのプレイヤー ID に関連付けられているすべてのプレイヤーセッション

### 構文
<a name="integration-server-sdk5-cpp-describeplayersessions-syntax"></a>

```
DescribePlayerSessionsOutcome DescribePlayerSessions(DescribePlayerSessionsRequest describePlayerSessionsRequest)
```

### パラメータ
<a name="integration-server-sdk5-cpp-describeplayersessions-parameter"></a>

**[DescribePlayerSessionsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-playersessions)**  
取得するプレイヤーセッションを記述する [DescribePlayerSessionsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-playersessions) オブジェクト。

### 戻り値
<a name="integration-server-sdk5-cpp-describeplayersessions-return"></a>

成功した場合は、リクエストのパラメータに適合したプレイヤーセッションオブジェクトのセットを含む [DescribePlayerSessionsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-describeplayersessionsoutcome) オブジェクトを返します。

### 例
<a name="integration-server-sdk5-cpp-describeplayersessions-example"></a>

この例は、指定したゲームセッションにアクティブに接続されているすべてのプレイヤーセッションのリクエストします。*NextToken* を省略し、*Limit* 値を 10 に設定すると、Amazon GameLift Servers は、リクエストに一致するプレイヤーセッションレコードの最初の 10 個を返します。

```
// Set request parameters
Aws::GameLift::Server::Model::DescribePlayerSessionsRequest request;
request.SetPlayerSessionStatusFilter(Aws::GameLift::Server::Model::PlayerSessionStatusMapper::GetNameForPlayerSessionStatus(Aws::GameLift::Server::Model::PlayerSessionStatus::Active));
request.SetLimit(10);
request.SetGameSessionId("the game session ID");    // can use GetGameSessionId()

// Call DescribePlayerSessions
Aws::GameLift::DescribePlayerSessionsOutcome playerSessionsOutcome = Aws::GameLift::Server::DescribePlayerSessions(request);
```

## StartMatchBackfill()
<a name="integration-server-sdk5-cpp-startmatchbackfill"></a>

FlexMatch で作成されたゲームセッションの空きスロット用に新規プレイヤーを検索するリクエストを送信します。詳細については、「[FlexMatch バックフィル機能](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html)」を参照してください。

このアクションは非同期です。新規プレイヤーが正常にマッチングされると、Amazon GameLift Servers はコールバック関数 `OnUpdateGameSession()` を使用して更新済みマッチメーカーデータを送信します。

サーバープロセスではアクティブなマッチバックフィルリクエストは一度に 1 つだけです。新しいリクエストを送信するには、まず [StopMatchBackfill()](#integration-server-sdk5-cpp-stopmatchbackfill) を呼び出して元のリクエストをキャンセルする必要があります。

### 構文
<a name="integration-server-sdk5-cpp-startmatchbackfill-syntax"></a>

```
StartMatchBackfillOutcome StartMatchBackfill (StartMatchBackfillRequest startBackfillRequest);
```

### パラメータ
<a name="integration-server-sdk5-cpp-startmatchbackfill-parameter"></a>

**[StartMatchBackfillRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-startmatchbackfillrequest)**  
次の情報を通信する StartMatchBackfillRequest オブジェクト。  
+ バックフィルリクエストに割り当てるチケット ID。この情報はオプションです。ID が指定されていない場合は Amazon GameLift Servers が ID を 1 つ生成します。
+ リクエストを送信するマッチメーカー。完全な設定 ARN が必要です。この値はゲームセッションのマッチメーカーデータに含まれています。
+ バックフィルするゲームセッションの ID。
+ ゲームセッションの現在のプレイヤーに利用可能なマッチメーキングデータ。

### 戻り値
<a name="integration-server-sdk5-cpp-startmatchbackfill-return"></a>

[StartMatchBackfillOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-startmatchbackfilloutcome) オブジェクトを、マッチバックフィルチケット ID またはエラーメッセージを伴うエラーとともに返します。

### 例
<a name="integration-server-sdk5-cpp-startmatchbackfill-example"></a>

```
// Build a backfill request
std::vector<Player> players;
Aws::GameLift::Server::Model::StartMatchBackfillRequest startBackfillRequest;
startBackfillRequest.SetTicketId("1111aaaa-22bb-33cc-44dd-5555eeee66ff");  // optional, autogenerated if not provided
startBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig"); //from the game session matchmaker data
startBackfillRequest.SetGameSessionArn("the game session ARN");        // can use GetGameSessionId()
startBackfillRequest.SetPlayers(players);                                  // from the game session matchmaker data

// Send backfill request
Aws::GameLift::StartMatchBackfillOutcome backfillOutcome = 
  Aws::GameLift::Server::StartMatchBackfill(startBackfillRequest);

// Implement callback function for backfill
void Server::OnUpdateGameSession(Aws::GameLift::Server::Model::GameSession gameSession, Aws::GameLift::Server::Model::UpdateReason updateReason, std::string backfillTicketId)
{
  // handle status messages
  // perform game-specific tasks to prep for newly matched players
}
```

## StopMatchBackfill()
<a name="integration-server-sdk5-cpp-stopmatchbackfill"></a>

アクティブなマッチバックフィルリクエストをキャンセルします。詳細については、「[FlexMatch バックフィル機能](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-backfill.html)」を参照してください。

### 構文
<a name="integration-server-sdk5-cpp-stopmatchbackfill-syntax"></a>

```
GenericOutcome StopMatchBackfill (StopMatchBackfillRequest stopBackfillRequest);
```

### パラメータ
<a name="integration-server-sdk5-cpp-stopmatchbackfill-parameter"></a>

**[StopMatchBackfillRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-stopmatchbackfillrequest)**  
キャンセルするマッチメーキングチケットを識別する StopMatchBackfillRequest オブジェクト:   
+ バックフィルリクエストに割り当てるチケット ID。
+ バックフィルリクエストが送信されたマッチメーカー。
+ バックフィルリクエストに関連付けられたゲームセッション。

### 戻り値
<a name="integration-server-sdk5-cpp-stopmatchbackfill-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-stopmatchbackfill-example"></a>

```
// Set backfill stop request parameters

Aws::GameLift::Server::Model::StopMatchBackfillRequest stopBackfillRequest;
stopBackfillRequest.SetTicketId("1111aaaa-22bb-33cc-44dd-5555eeee66ff");
stopBackfillRequest.SetGameSessionArn("the game session ARN"); // can use GetGameSessionId()
stopBackfillRequest.SetMatchmakingConfigurationArn("arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MyMatchmakerConfig");
// from the game session matchmaker data

Aws::GameLift::GenericOutcome stopBackfillOutcome = 
  Aws::GameLift::Server::StopMatchBackfill(stopBackfillRequest);
```

## GetComputeCertificate()
<a name="integration-server-sdk5-cpp-getcomputecertificate"></a>

Amazon GameLift Servers Anywhere コンピューティングリソースと Amazon GameLift Servers 間のネットワーク接続を暗号化するために使用される TLS 証明書へのパスを取得します。この証明書パスは、コンピューティングデバイスを Amazon GameLift Servers Anywhere フリートに登録するときに使用できます。詳細については、「[RegisterCompute](https://docs.aws.amazon.com/gameliftservers/latest/apireference/API_RegisterCompute.html)」を参照してください。

### 構文
<a name="integration-server-sdk5-cpp-getcomputecertificate-syntax"></a>

```
GetComputeCertificateOutcome Server::GetComputeCertificate()
```

### 戻り値
<a name="integration-server-sdk5-cpp-getcomputecertificate-return"></a>

戻り値は [GetComputeCertificateOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getcomputecertificateoutcome)。

### 例
<a name="integration-server-sdk5-cpp-getcomputecertificate-example"></a>

```
Aws::GameLift::GetComputeCertificateOutcome certificate = Aws::GameLift::Server::GetComputeCertificate();
```

## GetFleetRoleCredentials()
<a name="integration-server-sdk5-cpp-getfleetrolecredentials"></a>

Amazon GameLift Servers が他のとやり取りすることを許可する IAM ロール認証情報を取得します。詳細については、「[Amazon GameLift Servers ホストされたゲームサーバーを他の AWS リソースに接続する](gamelift-sdk-server-resources.md)」を参照してください。

### 構文
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-syntax"></a>

```
GetFleetRoleCredentialsOutcome GetFleetRoleCredentials(GetFleetRoleCredentialsRequest request);
```

### パラメータ
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-parameters"></a>

[GetFleetRoleCredentialsRequest](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-getfleetrolecredentialsrequest)

### 戻り値
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-return"></a>

[GetFleetRoleCredentialsOutcome](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-datatypes-getfleetrolecredentialsoutcome) オブジェクトを返します。

### 例
<a name="integration-server-sdk5-cpp-getfleetrolecredentials-example"></a>

```
// form the fleet credentials request 
Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; 
getFleetRoleCredentialsRequest.SetRoleArn("arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction");

Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

この例は、監査目的でオプションの `RoleSessionName` 値を使用して認証情報セッションに名前を割り当てる方法を示しています。ロールセッション名を指定しない場合、デフォルト値「*[fleet-id]*-*[host-id]*」が使用されます。

```
// form the fleet credentials request 
Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest getFleetRoleCredentialsRequest; 
getFleetRoleCredentialsRequest.SetRoleArn("arn:aws:iam::123456789012:role/service-role/exampleGameLiftAction");
getFleetRoleCredentialsRequest.SetRoleSessionName("MyFleetRoleSession"); 

Aws::GameLift::GetFleetRoleCredentialsOutcome credentials = Aws::GameLift::Server::GetFleetRoleCredentials(getFleetRoleCredentialsRequest);
```

## Destroy()
<a name="integration-server-sdk5-cpp-ref-destroy"></a>

Amazon GameLift Servers ゲームサーバー SDK をメモリから解放します。ベストプラクティスとして、`ProcessEnding()` の後、かつプロセスの終了前にこのメソッドを呼び出します。Anywhere フリートを使用していて、ゲームセッションのたびにサーバープロセスを終了しない場合は、`Destroy()`、`InitSDK()` の順に呼び出して再初期化してから、`ProcessReady()` でゲームセッションをホストする準備ができたことを Amazon GameLift Servers に通知します。

### 構文
<a name="integration-server-sdk5-cpp-ref-destroy-syntax"></a>

```
GenericOutcome Aws::GameLift::Server::Destroy();
```

### パラメータ
<a name="integration-server-sdk5-cpp-ref-destroy-parameter"></a>

パラメータはありません。

### 戻り値
<a name="integration-server-sdk5-cpp-ref-destroy-return"></a>

正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。

### 例
<a name="integration-server-sdk5-cpp-ref-destroy-example"></a>

```
Aws::GameLift::GenericOutcome processEndingOutcome = Aws::GameLift::Server::ProcessEnding();
Aws::GameLift::Server::Destroy();

// Exit the process with success or failure
if (processEndingOutcome.IsSuccess()) {
  exit(0);
}
else {
  cout << "ProcessEnding() failed. Error: " << processEndingOutcome.GetError().GetErrorMessage();
  exit(-1);
}
```