

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

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

Amazon GameLift Servers Unreal サーバー SDK 5.x リファレンスは、Amazon GameLift Servers で使用するマルチプレイヤーゲームの準備を整えるのに役立ちます。統合プロセスの詳細については、「[サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。](gamelift-sdk-server-api.md)」を参照してください。Unreal 用 Amazon GameLift Servers プラグインを使用している場合は、「[Unreal Engine 用 Amazon GameLift Servers プラグイン](unreal-plugin.md)」も参照してください。

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

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

Amazon GameLift Servers Unreal サーバー SDK 5.x リファレンスは、Amazon GameLift Servers で使用するマルチプレイヤーゲームの準備を整えるのに役立ちます。統合プロセスの詳細については、「[サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。](gamelift-sdk-server-api.md)」を参照してください。Unreal 用 Amazon GameLift Servers プラグインを使用している場合は、「[Unreal Engine 用 Amazon GameLift Servers プラグイン](unreal-plugin.md)」も参照してください。

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

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

**Topics**
+ [FProcessParameters](#integration-server-sdk5-unreal-dataypes-process)
+ [UpdateGameSession](#integration-server-sdk5-unreal-dataypes-updategamesession)
+ [GameSession](#integration-server-sdk5-unreal-dataypes-gamesession)
+ [FServerParameters](#integration-server-sdk5-unreal-dataypes-serverparameters)
+ [FStartMatchBackfillRequest](#integration-server-sdk5-unreal-dataypes-startmatchbackfillrequest)
+ [FPlayer](#integration-server-sdk5-unreal-dataypes-player)
+ [FGameLiftDescribePlayerSessionsRequest](#integration-server-sdk5-unreal-dataypes-playersessions)
+ [FStopMatchBackfillRequest](#integration-server-sdk5-unreal-dataypes-stopmatchbackfillrequest)
+ [FAttributeValue](#integration-server-sdk5-unreal-dataypes-attributevalue)
+ [FGameLiftGetFleetRoleCredentialsRequest](#integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsrequest)
+ [FGameLiftLongOutcome](#integration-server-sdk5-unreal-dataypes-awslongoutcome)
+ [FGameLiftStringOutcome](#integration-server-sdk5-unreal-dataypes-awsstringoutcome)
+ [FGameLiftDescribePlayerSessionsOutcome](#integration-server-sdk5-unreal-dataypes-describeplayersessionsoutcome)
+ [FGameLiftDescribePlayerSessionsResult](#integration-server-sdk5-unreal-dataypes-describeplayersessionresult)
+ [FGenericOutcome](#integration-server-sdk5-unreal-dataypes-genericoutcome)
+ [FGameLiftPlayerSession](#integration-server-sdk5-unreal-dataypes-playersession)
+ [FGameLiftGetComputeCertificateOutcome](#integration-server-sdk5-unreal-dataypes-getcomputecertificateoutcome)
+ [FGameLiftGetComputeCertificateResult](#integration-server-sdk5-unreal-dataypes-getcomputecertificateresult)
+ [FGameLiftGetFleetRoleCredentialsOutcome](#integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsoutcome)
+ [FGetFleetRoleCredentialsResult](#integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsresult)
+ [FGameLiftError](#integration-server-sdk5-unreal-dataypes-gamelifterror)
+ [列挙型](#integration-server-sdk5-unreal-dataypes-enums)

## FProcessParameters
<a name="integration-server-sdk5-unreal-dataypes-process"></a>

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


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

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

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


| プロパティ | **説明** | 
| --- | --- | 
| GameSession | [GameSession](#integration-server-sdk5-unreal-dataypes-gamesession) オブジェクト。GameSession オブジェクトにはゲームセッションを説明するプロパティが含まれています。**タイプ**: `Aws::GameLift::Server::GameSession`**必須:** いいえ | 
| UpdateReason | ゲームセッションが更新されている理由。**タイプ**: `enum class UpdateReason`  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/gameliftservers/latest/developerguide/integration-server-sdk5-unreal-datatypes.html) **必須:** いいえ   | 
| BackfillTicketId | ゲームセッションの更新を試みるバックフィルチケットの ID。**タイプ**: `char[]`**必須:** いいえ | 

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

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


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

## FServerParameters
<a name="integration-server-sdk5-unreal-dataypes-serverparameters"></a>

Amazon GameLift Servers Anywhere サーバーと Amazon GameLift Servers サービス間の接続を維持するために使用される情報。この情報は、[InitSDK()](integration-server-sdk5-unreal-actions.md#integration-server-sdk5-unreal-initsdk) で新しいサーバープロセスを起動するときに使用されます。Amazon GameLift Servers マネージド EC2 インスタンスでホストされているサーバーには、空のオブジェクトを使用してください。


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

## FStartMatchBackfillRequest
<a name="integration-server-sdk5-unreal-dataypes-startmatchbackfillrequest"></a>

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


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

## FPlayer
<a name="integration-server-sdk5-unreal-dataypes-player"></a>

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


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

## FGameLiftDescribePlayerSessionsRequest
<a name="integration-server-sdk5-unreal-dataypes-playersessions"></a>

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


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

## FStopMatchBackfillRequest
<a name="integration-server-sdk5-unreal-dataypes-stopmatchbackfillrequest"></a>

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


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

## FAttributeValue
<a name="integration-server-sdk5-unreal-dataypes-attributevalue"></a>

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


| プロパティ | 説明 | 
| --- | --- | 
| attrType |  属性値のタイプを指定します。 **型:** `FAttributeType` [enum](#integration-server-sdk5-unreal-dataypes-enums) 値。 **必須:** いいえ  | 
| S |  文字列の属性値を表します。 **タイプ**: `FString` **必須:** いいえ  | 
| いいえ |  数値の属性値を表します。 **タイプ**: `double` **必須:** いいえ  | 
| SL |  文字列の属性値の配列を表します。 **タイプ**: `TArray<FString>` **必須:** いいえ  | 
| SDM |  文字列キーと二重値のディクショナリを表します。 **タイプ**: `TMap<FString, double>` **必須:** いいえ  | 

## FGameLiftGetFleetRoleCredentialsRequest
<a name="integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsrequest"></a>

このデータ型は、 AWS リソースへの制限付きアクセスをゲームサーバーにまで拡張するロール認証情報を提供します。詳細については、「[Amazon GameLift Servers 用に IAM サービスロールをセットアップする](setting-up-role.md)」を参照してください。


| プロパティ | **説明** | 
| --- | --- | 
| RoleArn | リソースへの制限付きアクセスを拡張するサービスロールの Amazon AWS リソースネーム (ARN)。**タイプ**: `FString`**必須:** いいえ | 
| RoleSessionName | ロール認証情報の使用を説明するセッションの名前。**タイプ**: `FString`**必須:** いいえ | 

## FGameLiftLongOutcome
<a name="integration-server-sdk5-unreal-dataypes-awslongoutcome"></a>

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


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

## FGameLiftStringOutcome
<a name="integration-server-sdk5-unreal-dataypes-awsstringoutcome"></a>

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


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

## FGameLiftDescribePlayerSessionsOutcome
<a name="integration-server-sdk5-unreal-dataypes-describeplayersessionsoutcome"></a>

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


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

## FGameLiftDescribePlayerSessionsResult
<a name="integration-server-sdk5-unreal-dataypes-describeplayersessionresult"></a>


| プロパティ | 説明 | 
| --- | --- | 
| PlayerSessions |   **タイプ**: `TArray<FGameLiftPlayerSession>` **必須:** はい  | 
| NextToken |  結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 **タイプ**: `FString` **必須:** いいえ  | 
| Success |  アクションが成功したかどうか。 **タイプ**: `bool` **必須:** はい  | 
| エラー |  アクションが失敗した場合に発生したエラー。 **タイプ**: [FGameLiftError](#integration-server-sdk5-unreal-dataypes-gamelifterror) **必須:** いいえ  | 

## FGenericOutcome
<a name="integration-server-sdk5-unreal-dataypes-genericoutcome"></a>

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


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

## FGameLiftPlayerSession
<a name="integration-server-sdk5-unreal-dataypes-playersession"></a>


| プロパティ | 説明 | 
| --- | --- | 
| CreationTime |  **タイプ**: `long` **必須:** はい  | 
| FleetId |  **タイプ**: `FString` **必須:** はい  | 
| GameSessionId |  **タイプ**: `FString` **必須:** はい  | 
| IpAddress |  **タイプ**: `FString` **必須:** はい  | 
| PlayerData |  **タイプ**: `FString` **必須:** はい  | 
| PlayerId |  **タイプ**: `FString` **必須:** はい  | 
| PlayerSessionId |  **タイプ**: `FString` **必須:** はい  | 
| ポート |  **タイプ**: `int` **必須:** はい  | 
| ステータス |  **型:** `PlayerSessionStatus` [enum](integration-server-sdk5-cpp-datatypes.md#integration-server-sdk5-cpp-dataypes-enums)。 **必須:** はい  | 
| TerminationTime |  **タイプ**: `long` **必須:** はい  | 
| DnsName |  **タイプ**: `FString` **必須:** はい  | 

## FGameLiftGetComputeCertificateOutcome
<a name="integration-server-sdk5-unreal-dataypes-getcomputecertificateoutcome"></a>

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


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

## FGameLiftGetComputeCertificateResult
<a name="integration-server-sdk5-unreal-dataypes-getcomputecertificateresult"></a>

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


| プロパティ | 説明 | 
| --- | --- | 
| CertificatePath |  **タイプ**: `FString` **必須:** はい  | 
| ComputeName |  **タイプ**: `FString` **必須:** はい  | 

## FGameLiftGetFleetRoleCredentialsOutcome
<a name="integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsoutcome"></a>

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


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

## FGetFleetRoleCredentialsResult
<a name="integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsresult"></a>


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

## FGameLiftError
<a name="integration-server-sdk5-unreal-dataypes-gamelifterror"></a>


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

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

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

**FAttributeType**  
+ **なし**
+ **STRING**
+ **DOUBLE**
+ **STRING\$1LIST**
+ **STRING\$1DOUBLE\$1MAP**

**GameLiftErrorType**  
エラータイプを示す文字列値。有効な値を次に示します。  
+ **SERVICE\$1CALL\$1FAILED** – AWS サービスへの呼び出しに失敗しました。
+ **LOCAL\$1CONNECTION\$1FAILED** - Amazon GameLift Serversへのローカル接続に失敗しました。
+ **NETWORK\$1NOT\$1INITIALIZED** - ネットワークは初期化されていません。
+ **GAMESESSION\$1ID\$1NOT\$1SET** - ゲームセッション ID が設定されていません。
+ **BAD\$1REQUEST\$1EXCEPTION** 
+ **INTERNAL\$1SERVICE\$1EXCEPTION** 
+ **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** – リクエストの検証に失敗しました。

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

**EPlayerSessionStatus**  
+ **アクティブ**
+ **COMPLETED**
+ **NOT\$1SET**
+ **RESERVED**
+ **TIMEDOUT**

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

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

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

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

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

```
FGameLiftStringOutcome GetSdkVersion();
```

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

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

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

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

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

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

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

```
FGameLiftGenericOutcome InitSDK()
```

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

成功した場合は、サーバープロセスが [ProcessReady()](#integration-server-sdk5-unreal-processready) を呼び出す準備ができていることを示す `InitSdkOutcome` オブジェクトを返します。

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

```
//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
FGameLiftGenericOutcome initSdkOutcome = GameLiftSdkModule->InitSDK();
```

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

Anywhere フリートまたはマネージドコンテナフリートの Amazon GameLift Servers SDK を初期化します。起動時に、他の Amazon GameLift Servers 関連の初期化が実行される前にこのメソッドを呼び出します。この方法では、サーバーと Amazon GameLift Servers サービス間の通信をセットアップするための明示的なサーバーパラメータが必要です。べき等性トークンを使用するため、失敗したときにこの呼び出しを安全に再試行できます。

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

```
FGameLiftGenericOutcome InitSDK(serverParameters)
```

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

[FServerParameters](integration-server-sdk5-unreal-datatypes.md#integration-server-sdk5-unreal-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-unreal-initsdk-anywhere-return"></a>

成功した場合は、サーバープロセスが [ProcessReady()](#integration-server-sdk5-unreal-processready) を呼び出す準備ができていることを示す `InitSdkOutcome` オブジェクトを返します。

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

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

```
//Define the server parameters
FServerParameters serverParameters;
parameters.m_authToken = "1111aaaa-22bb-33cc-44dd-5555eeee66ff"; 
parameters.m_fleetId = "arn:aws:gamelift:us-west-1:111122223333:fleet/fleet-9999ffff-88ee-77dd-66cc-5555bbbb44aa";
parameters.m_hostId = "HardwareAnywhere"; 
parameters.m_processId = "PID1234";
parameters.m_webSocketUrl = "wss://us-west-1.api.amazongamelift.com"; 

//Call InitSDK to establish a local connection with the Amazon GameLift Servers Agent to enable further communication.
FGameLiftGenericOutcome initSdkOutcome = GameLiftSdkModule->InitSDK(serverParameters);
```

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

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

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

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

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

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

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

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

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

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

```
//Calling ProcessReady tells Amazon GameLift Servers this game server is ready to receive incoming game sessions!
UE_LOG(GameServerLog, Log, TEXT("Calling Process Ready"));
FGameLiftGenericOutcome processReadyOutcome = GameLiftSdkModule->ProcessReady(*params);
```

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

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

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

```
FGameLiftGenericOutcome ProcessEnding()
```

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

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

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

```
//OnProcessTerminate callback. Amazon GameLift Servers will invoke this callback before shutting down an instance hosting this game server.
//It gives this game server a chance to save its state, communicate with services, etc., before being shut down.
//In this case, we simply tell Amazon GameLift Servers we are indeed going to shutdown.
params->OnTerminate.BindLambda([=]() {
  UE_LOG(GameServerLog, Log, TEXT("Game Server Process is terminating"));
  GameLiftSdkModule->ProcessEnding();
});
```

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

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

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

```
FGameLiftGenericOutcome ActivateGameSession()
```

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

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

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

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

```
//When a game session is created, Amazon GameLift Servers sends an activation request to the game server and passes along the game session object containing game properties and other settings.
//Here is where a game server should take action based on the game session object.
//Once the game server is ready to receive incoming player connections, it should invoke GameLiftServerAPI.ActivateGameSession()
auto onGameSession = [=](Aws::GameLift::Server::Model::GameSession gameSession)
{
  FString gameSessionId = FString(gameSession.GetGameSessionId());
  UE_LOG(GameServerLog, Log, TEXT("GameSession Initializing: %s"), *gameSessionId);
  GameLiftSdkModule->ActivateGameSession();
};
```

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

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

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

```
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
```

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

**playerCreationSessionPolicy**  
ゲームセッションで新しいプレイヤーを承諾するかどうかを示す文字列値。  
有効な値を次に示します。  
+ **ACCEPT\$1ALL** - すべての新しいプレイヤーセッションを承諾します。
+ **DENY\$1ALL** - すべての新しいプレイヤーセッションを拒否します。

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

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

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

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

```
FGameLiftGenericOutcome outcome = GameLiftSdkModule->UpdatePlayerSessionCreationPolicy(Aws::GameLift::Model::EPlayerSessionCreationPolicy::ACCEPT_ALL);
```

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

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

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

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

```
FGameLiftStringOutcome GetGameSessionId()
```

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

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

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

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

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

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

```
//When a game session is created, Amazon GameLift Servers sends an activation request to the game server and passes along the game session object containing game properties and other settings.
//Here is where a game server should take action based on the game session object.
//Once the game server is ready to receive incoming player connections, it should invoke GameLiftServerAPI.ActivateGameSession()
auto onGameSession = [=](Aws::GameLift::Server::Model::GameSession gameSession)
{
  FString gameSessionId = FString(gameSession.GetGameSessionId());
  UE_LOG(GameServerLog, Log, TEXT("GameSession Initializing: %s"), *gameSessionId);
  GameLiftSdkModule->ActivateGameSession();
};
```

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

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

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

```
AwsDateTimeOutcome GetTerminationTime()
```

### 戻り値
<a name="integration-server-sdk5-unreal-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-unreal-getterm-example"></a>

```
AwsDateTimeOutcome TermTimeOutcome = GameLiftSdkModule->GetTerminationTime();
```

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

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

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

```
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
```

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

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

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

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

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

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

```
bool GameLiftManager::AcceptPlayerSession(const FString& playerSessionId, const FString& playerId)
{
  #if WITH_GAMELIFT
  UE_LOG(GameServerLog, Log, TEXT("Accepting GameLift PlayerSession: %s . PlayerId: %s"), *playerSessionId, *playerId);
  FString gsId = GetCurrentGameSessionId();
  if (gsId.IsEmpty()) {
    UE_LOG(GameServerLog, Log, TEXT("No GameLift GameSessionId. Returning early!"));
    return false;
  }
  
  if (!GameLiftSdkModule->AcceptPlayerSession(playerSessionId).IsSuccess()) {
    UE_LOG(GameServerLog, Log, TEXT("PlayerSession not Accepted."));
    return false;
  }

  // Add PlayerSession from internal data structures keeping track of connected players
  connectedPlayerSessionIds.Add(playerSessionId);
  idToPlayerSessionMap.Add(playerSessionId, PlayerSession{ playerId, playerSessionId });
  return true;
  #else
  return false;
  #endif
}
```

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

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

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

```
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
```

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

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

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

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

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

```
bool GameLiftManager::RemovePlayerSession(const FString& playerSessionId)
{
  #if WITH_GAMELIFT
  UE_LOG(GameServerLog, Log, TEXT("Removing GameLift PlayerSession: %s"), *playerSessionId);

  if (!GameLiftSdkModule->RemovePlayerSession(playerSessionId).IsSuccess()) {
    UE_LOG(GameServerLog, Log, TEXT("PlayerSession Removal Failed"));
    return false;
  }

  // Remove PlayerSession from internal data structures that are keeping track of connected players
  connectedPlayerSessionIds.Remove(playerSessionId);
  idToPlayerSessionMap.Remove(playerSessionId);

  // end the session if there are no more players connected
  if (connectedPlayerSessionIds.Num() == 0) {
    EndSession();
  }

  return true;
  #else
  return false;
  #endif
}
```

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

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

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

```
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
```

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

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

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

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

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

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

```
void GameLiftManager::DescribePlayerSessions()
{
  #if WITH_GAMELIFT
  FString localPlayerSessions;
  for (auto& psId : connectedPlayerSessionIds)
  {
    PlayerSession ps = idToPlayerSessionMap[psId];
    localPlayerSessions += FString::Printf(TEXT("%s : %s  ; "), *(ps.playerSessionId), *(ps.playerId));
  }
  UE_LOG(GameServerLog, Log, TEXT("LocalPlayerSessions: %s"), *localPlayerSessions);

  UE_LOG(GameServerLog, Log, TEXT("Describing PlayerSessions in this GameSession"));
  FGameLiftDescribePlayerSessionsRequest request;
  request.m_gameSessionId = GetCurrentGameSessionId();

  FGameLiftDescribePlayerSessionsOutcome outcome = GameLiftSdkModule->DescribePlayerSessions(request);
  LogDescribePlayerSessionsOutcome(outcome);
  #endif
}
```

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

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

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

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

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

```
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
```

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

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

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

`StartMatchBackfillOutcome` オブジェクトを、マッチバックフィルチケット ID またはエラーメッセージを伴うエラーとともに返します。

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

```
FGameLiftStringOutcome FGameLiftServerSDKModule::StartMatchBackfill(const FStartMatchBackfillRequest& request) 
{
  #if WITH_GAMELIFT
  Aws::GameLift::Server::Model::StartMatchBackfillRequest sdkRequest;
  sdkRequest.SetTicketId(TCHAR_TO_UTF8(*request.m_ticketId));
  sdkRequest.SetGameSessionArn(TCHAR_TO_UTF8(*request.m_gameSessionArn));
  sdkRequest.SetMatchmakingConfigurationArn(TCHAR_TO_UTF8(*request.m_matchmakingConfigurationArn));
  for (auto player : request.m_players) {
    Aws::GameLift::Server::Model::Player sdkPlayer;
    sdkPlayer.SetPlayerId(TCHAR_TO_UTF8(*player.m_playerId));
    sdkPlayer.SetTeam(TCHAR_TO_UTF8(*player.m_team));
    for (auto entry : player.m_latencyInMs) {
      sdkPlayer.WithLatencyMs(TCHAR_TO_UTF8(*entry.Key), entry.Value);
    }

    std::map<std::string, Aws::GameLift::Server::Model::AttributeValue> sdkAttributeMap;
    for (auto attributeEntry : player.m_playerAttributes) {
      FAttributeValue value = attributeEntry.Value;
      Aws::GameLift::Server::Model::AttributeValue attribute;
      switch (value.m_type) {
        case FAttributeType::STRING:
          attribute = Aws::GameLift::Server::Model::AttributeValue(TCHAR_TO_UTF8(*value.m_S));
        break;
        case FAttributeType::DOUBLE:
          attribute = Aws::GameLift::Server::Model::AttributeValue(value.m_N);
        break;
        case FAttributeType::STRING_LIST:
          attribute = Aws::GameLift::Server::Model::AttributeValue::ConstructStringList();
          for (auto sl : value.m_SL) {
            attribute.AddString(TCHAR_TO_UTF8(*sl));
          };
        break;
        case FAttributeType::STRING_DOUBLE_MAP:
          attribute = Aws::GameLift::Server::Model::AttributeValue::ConstructStringDoubleMap();
          for (auto sdm : value.m_SDM) {
            attribute.AddStringAndDouble(TCHAR_TO_UTF8(*sdm.Key), sdm.Value);
          };
        break;
      }
      sdkPlayer.WithPlayerAttribute((TCHAR_TO_UTF8(*attributeEntry.Key)), attribute);
    }
    sdkRequest.AddPlayer(sdkPlayer);
  }
  auto outcome = Aws::GameLift::Server::StartMatchBackfill(sdkRequest);
  if (outcome.IsSuccess()) {
    return FGameLiftStringOutcome(outcome.GetResult().GetTicketId());
  }
  else {
    return FGameLiftStringOutcome(FGameLiftError(outcome.GetError()));
  }
  #else
  return FGameLiftStringOutcome("");
  #endif
}
```

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

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

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

```
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
```

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

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

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

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

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

```
FGameLiftGenericOutcome FGameLiftServerSDKModule::StopMatchBackfill(const FStopMatchBackfillRequest& request)
{
  #if WITH_GAMELIFT
  Aws::GameLift::Server::Model::StopMatchBackfillRequest sdkRequest;
  sdkRequest.SetTicketId(TCHAR_TO_UTF8(*request.m_ticketId));
  sdkRequest.SetGameSessionArn(TCHAR_TO_UTF8(*request.m_gameSessionArn));
  sdkRequest.SetMatchmakingConfigurationArn(TCHAR_TO_UTF8(*request.m_matchmakingConfigurationArn));
  auto outcome = Aws::GameLift::Server::StopMatchBackfill(sdkRequest);
  if (outcome.IsSuccess()) {
    return FGameLiftGenericOutcome(nullptr);
  }
  else {
    return FGameLiftGenericOutcome(FGameLiftError(outcome.GetError()));
  }
  #else
  return FGameLiftGenericOutcome(nullptr);
  #endif
}
```

## GetComputeCertificate()
<a name="integration-server-sdk5-unreal-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-unreal-getcomputecertificate-syntax"></a>

```
FGameLiftGetComputeCertificateOutcome FGameLiftServerSDKModule::GetComputeCertificate()
```

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

以下を含む `GetComputeCertificateResponse` オブジェクトを返します。
+ CertificatePath: コンピューティングリソース上の TLS 証明書へのパス。
+ HostName: コンピューティングリソースのホスト名。

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

```
FGameLiftGetComputeCertificateOutcome FGameLiftServerSDKModule::GetComputeCertificate()
{
  #if WITH_GAMELIFT
  auto outcome = Aws::GameLift::Server::GetComputeCertificate();
  if (outcome.IsSuccess()) {
    auto& outres = outcome.GetResult();
    FGameLiftGetComputeCertificateResult result;
    result.m_certificate_path = UTF8_TO_TCHAR(outres.GetCertificatePath());
    result.m_computeName = UTF8_TO_TCHAR(outres.GetComputeName());
    return FGameLiftGetComputeCertificateOutcome(result);
  }
  else {
    return FGameLiftGetComputeCertificateOutcome(FGameLiftError(outcome.GetError()));
  }
  #else
  return FGameLiftGetComputeCertificateOutcome(FGameLiftGetComputeCertificateResult());
  #endif
}
```

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

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

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

```
FGameLiftGetFleetRoleCredentialsOutcome FGameLiftServerSDKModule::GetFleetRoleCredentials(const FGameLiftGetFleetRoleCredentialsRequest &request)
```

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

[FGameLiftGetFleetRoleCredentialsRequest](integration-server-sdk5-unreal-datatypes.md#integration-server-sdk5-unreal-dataypes-getfleetrolecredentialsrequest)

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

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

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

```
FGameLiftGetFleetRoleCredentialsOutcome FGameLiftServerSDKModule::GetFleetRoleCredentials(const FGameLiftGetFleetRoleCredentialsRequest &request)
{
  #if WITH_GAMELIFT
  Aws::GameLift::Server::Model::GetFleetRoleCredentialsRequest sdkRequest;
  sdkRequest.SetRoleArn(TCHAR_TO_UTF8(*request.m_roleArn));
  sdkRequest.SetRoleSessionName(TCHAR_TO_UTF8(*request.m_roleSessionName));

  auto outcome = Aws::GameLift::Server::GetFleetRoleCredentials(sdkRequest);

  if (outcome.IsSuccess()) {
    auto& outres = outcome.GetResult();
    FGameLiftGetFleetRoleCredentialsResult result;
    result.m_assumedUserRoleArn = UTF8_TO_TCHAR(outres.GetAssumedUserRoleArn());
    result.m_assumedRoleId = UTF8_TO_TCHAR(outres.GetAssumedRoleId());
    result.m_accessKeyId = UTF8_TO_TCHAR(outres.GetAccessKeyId());
    result.m_secretAccessKey = UTF8_TO_TCHAR(outres.GetSecretAccessKey());
    result.m_sessionToken = UTF8_TO_TCHAR(outres.GetSessionToken());
    result.m_expiration = FDateTime::FromUnixTimestamp(outres.GetExpiration());
    return FGameLiftGetFleetRoleCredentialsOutcome(result);
  }
  else {
    return FGameLiftGetFleetRoleCredentialsOutcome(FGameLiftError(outcome.GetError()));
  }
  #else
  return FGameLiftGetFleetRoleCredentialsOutcome(FGameLiftGetFleetRoleCredentialsResult());
  #endif
}
```

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

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

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

```
FGameLiftGenericOutcome Destroy();
```

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

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

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

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

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

```
// First call ProcessEnding()
FGameLiftGenericOutcome processEndingOutcome = GameLiftSdkModule->ProcessEnding();
  
// Then call Destroy() to free the SDK from memory
FGameLiftGenericOutcome destroyOutcome = GameLiftSdkModule->Destroy();
  
// Exit the process with success or failure
if (processEndingOutcome.IsSuccess() && destroyOutcome.IsSuccess()) 
    {
    UE_LOG(GameServerLog, Log, TEXT("Server process ending successfully"));
}
else {
    if (!processEndingOutcome.IsSuccess()) {
        const FGameLiftError& error = processEndingOutcome.GetError();
        UE_LOG(GameServerLog, Error, TEXT("ProcessEnding() failed. Error: %s"),
        error.m_errorMessage.IsEmpty() ? TEXT("Unknown error") : *error.m_errorMessage);
    }
    if (!destroyOutcome.IsSuccess()) {
        const FGameLiftError& error = destroyOutcome.GetError();
        UE_LOG(GameServerLog, Error, TEXT("Destroy() failed. Error: %s"),
        error.m_errorMessage.IsEmpty() ? TEXT("Unknown error") : *error.m_errorMessage);
    }
}
```