C++ (Unreal)サーバー SDK 5.x for Amazon GameLift Servers -- データ型
Amazon GameLift Servers Unreal サーバー SDK 5.x リファレンスは、Amazon GameLift Servers で使用するマルチプレイヤーゲームの準備を整えるのに役立ちます。統合プロセスの詳細については、「サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。」を参照してください。Unreal 用 Amazon GameLift Servers プラグインを使用している場合は、「Unreal Engine 用 Amazon GameLift Servers プラグイン」も参照してください。
注記
このトピックでは、Unreal Engine を構築するときに使用できる Amazon GameLift Servers C++ API について説明します。特に、このドキュメントは -DBUILD_FOR_UNREAL=1 オプションを使用してコンパイルするコードが対象です。
C++ (Unreal) サーバー SDK 5.x for Amazon GameLift Servers -- アクション
データ型
FProcessParameters
このデータ型には、ProcessReady() の中で Amazon GameLift Servers に送信されるパラメータのセットが含まれます。
|
プロパティ |
説明 |
| LogParameters | ゲームセッション中に生成されるファイルへのディレクトリパスを持つオブジェクトです。Amazon GameLift Servers はこれらのファイルをコピーして保存し、後で参照できるようにします。 型: 必須: いいえ |
| OnHealthCheck | Amazon GameLift Servers がサーバープロセスにヘルスステータスレポートを要求するために呼び出すコールバック関数です。Amazon GameLift Servers はこの関数を 60 秒ごとに呼び出し、応答を最大 60 秒間待機します。サーバープロセスは正常であれば TRUE を返し、正常でない場合は FALSE を返します。応答が返されない場合、Amazon GameLift Servers はサーバープロセスを正常ではないと記録します。このプロパティは、 型: 必須: いいえ |
| OnProcessTerminate | Amazon GameLift Servers がサーバープロセスを強制的にシャットダウンするために呼び出すコールバック関数です。この関数を呼び出すと、Amazon GameLift Servers はサーバープロセスがシャットダウンするまで最大 5 分間待機し、サーバープロセスがシャットダウンする前に ProcessEnding() 呼び出しで応答するのを待ちます。 型: 必須: はい |
| OnStartGameSession | Amazon GameLift Servers が新しいゲームセッションをアクティブ化するために呼び出すコールバック関数。Amazon GameLift Servers は、クライアントリクエスト CreateGameSession に応じてこの関数を呼び出します。コールバック関数は GameSession オブジェクトを渡します。 このプロパティは、 型: 必須: はい |
| OnUpdateGameSession | 更新されたゲームセッションオブジェクトをサーバープロセスに渡すために、Amazon GameLift Servers が呼び出すコールバック関数。Amazon GameLift Servers は、更新されたマッチメーカーデータを提供するために、マッチバックフィルリクエストが処理された際にこの関数を呼び出します。これは、GameSession オブジェクト、ステータス更新 (updateReason) そして、マッチバックフィルチケット ID を渡します。このプロパティは、 型: 必須: いいえ |
| ポート | サーバープロセスが新しいプレイヤーの接続をリスンするポート番号。値は、このゲームサーバービルドをデプロイするすべてのフリートで設定されているポート番号の範囲に含まれる必要があります。このポート番号は、ゲームセッションオブジェクトとプレイヤーセッションオブジェクトに含まれ、ゲームセッションがサーバープロセスに接続するときに使用します。 型: 必須: はい |
UpdateGameSession
このデータ型はゲームセッションオブジェクトに更新されます。これには、ゲームセッションが更新された理由と、バックフィルを使用してゲームセッション内のプレイヤーセッションを埋めるための関連するバックフィルチケット ID が含まれます。
| プロパティ | 説明 |
|---|---|
| GameSession | GameSession オブジェクト。GameSession オブジェクトにはゲームセッションを説明するプロパティが含まれています。型: 必須: いいえ |
| UpdateReason | ゲームセッションが更新されている理由。 型:
必須: いいえ |
| BackfillTicketId | ゲームセッションの更新を試みるバックフィルチケットの ID。 型: 必須: いいえ |
GameSession
このデータ型はゲームセッションの詳細を提供します。
| プロパティ | 説明 |
|---|---|
| GameSessionId |
ゲームセッションの一意の識別子。ゲームセッション ARN の形式 は 型: 必須: いいえ |
| 名前 |
ゲームセッションについて説明するラベル。 型: 必須: いいえ |
| FleetId |
ゲームセッションが実行されているフリートの一意の識別子。 型: 必須: いいえ |
| MaximumPlayerSessionCount |
ゲームセッションへのプレーヤー接続の最大数。 型: 必須: いいえ |
| ポート |
ゲームセッションのポート番号。Amazon GameLift Servers ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。 型: 必須: いいえ |
| IpAddress |
ゲームセッションの IP アドレス。Amazon GameLift Servers ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。 型: 必須: いいえ |
| GameSessionData |
単一の文字列値としてフォーマットされたカスタムゲームセッションプロパティのセット。 型: 必須: いいえ |
| MatchmakerData |
ゲームセッションの作成に使用されたマッチメーキングプロセスに関する情報。JSON 構文で、文字列としてフォーマットされています。使用されたマッチメーキング設定に加えて、プレイヤー属性やチーム割り当てなど、マッチに割り当てられた全プレイヤーに関するデータが含まれます。 型: 必須: いいえ |
| GameProperties |
ゲームセッションのカスタムプロパティのセットで、キーと値のペアとしてフォーマットされます。これらのプロパティは、新しいゲームセッションを開始するリクエストとともに渡されます。 型: 必須: いいえ |
| DnsName |
ゲームセッションを実行しているインスタンスに割り当てられた DNS 識別子。値の形式は次のとおりです。
TLS 対応フリートで実行しているゲームセッションに接続する場合、IP アドレスではなく DNS 名を使用する必要があります。 型: 必須: いいえ |
FServerParameters
Amazon GameLift Servers Anywhere サーバーと Amazon GameLift Servers サービス間の接続を維持するために使用される情報。この情報は、InitSDK() で新しいサーバープロセスを起動するときに使用されます。Amazon GameLift Servers マネージド EC2 インスタンスでホストされているサーバーには、空のオブジェクトを使用してください。
| プロパティ | 説明 |
|---|---|
| webSocketUrl |
Amazon GameLift Servers Anywhere コンピューティングリソース用に 型: 必須: はい |
| processId |
ゲームをホストするサーバープロセスに登録された固有の識別子。 型: 必須: はい |
| hostId | HostID はコンピューティングを登録したときに使用される ComputeName です。詳細については、「RegisterCompute」を参照してください。型: 必須: はい |
| fleetId | コンピューティングが登録されているフリートの固有識別子。詳細については、「RegisterCompute」を参照してください。 型: 必須: はい |
| authToken | Amazon GameLift Servers によって生成され、サーバーを Amazon GameLift Servers に対して認証するための認証トークン。詳細については、「GetComputeAuthToken」を参照してください。 型: 必須: はい |
FStartMatchBackfillRequest
マッチメーキングバックフィルリクエストの作成に使用される情報。ゲームサーバーは、この情報を StartMatchBackfill() 呼び出しで Amazon GameLift Servers に送信します。
| プロパティ | 説明 |
|---|---|
| GameSessionArn |
一意のゲームセッション識別子。API オペレーション 型: 必須: はい |
| MatchmakingConfigurationArn |
このリクエストに使用されるマッチメーカーの ARN 形式の一意な識別子。元のゲームセッションののマッチメーカー ARN は、マッチメーカーデータプロパティのゲームセッションオブジェクトにあります。マッチメーカーデータの詳細については「マッチメーカーデータの処理」を参照してください。 型: 必須: はい |
| プレイヤー |
ゲームセッションに参加しているすべてのプレイヤーを表すデータのセット。マッチメーカーはこの情報を使用して、現在のプレイヤーとマッチする新しいプレイヤーを検索します。 型: 必須: はい |
| TicketId |
マッチメーキングまたはバックフィルリクエストチケットの一意の識別子。値を指定しない場合、Amazon GameLift Servers ソリューションが値を生成します。この識別子を使用してマッチバックフィルチケットのステータスを追跡したり、必要に応じてリクエストをキャンセルしたりします。 型: 必須: いいえ |
FPlayer
このデータ型はマッチメーキングのプレイヤーを表します。マッチメーキングリクエストを開始すると、プレイヤーにはプレイヤー ID、属性、必要に応じてレイテンシーデータが含まれます。マッチが成立すると、Amazon GameLift Servers がチーム情報を追加します。
| プロパティ | 説明 |
|---|---|
| LatencyInMS |
プレイヤーがロケーションに接続したときに発生するレイテンシーの量を示すミリ秒単位の値のセット。 このプロパティを使用すると、プレーヤーはリストに表示されている場所でのみマッチングされます。マッチメーカーにプレイヤーレイテンシーを評価するルールがある場合、プレイヤーはレイテンシーを報告しないとマッチングされません。 型: 必須: いいえ |
| PlayerAttributes |
マッチメーキングに使用するプレイヤー情報を含むキーと値のペアの集合。プレイヤー属性キーは、マッチメーキングルールセットで使用されている PlayerAttributes と一致する必要があります。 プレイヤー属性の詳細については、「AttributeValue」を参照してください。 型: 必須: いいえ |
| PlayerId |
プレイヤーを表す一意の識別子。 型: 必須: いいえ |
| チーム |
マッチでプレーヤーが割り当てられるチームの名前。チーム名はマッチメーキングルールセットで定義します。 型: 必須: いいえ |
FGameLiftDescribePlayerSessionsRequest
取得するプレイヤーセッションを指定するオブジェクト。サーバープロセスは、この情報を DescribePlayerSessions() 呼び出しで Amazon GameLift Servers に提供します。
| プロパティ | 説明 |
|---|---|
| GameSessionId |
一意のゲームセッション識別子。このパラメータを使用して、指定したゲームセッションのすべてのプレイヤーセッションをリクエストします。 ゲームセッション ID の形式は 型: 必須: いいえ |
| PlayerSessionId |
プレイヤーセッションを表す一意の識別子。このパラメータを使用して、特定の 1 つのプレイヤーセッションをリクエストします。 型: 必須: いいえ |
| PlayerId |
プレイヤーの一意識別子。このパラメータを使用して、特定の 1 人のプレイヤーに対するすべてのプレイヤーセッションをリクエストします。「プレイヤー ID を生成する」を参照してください。 型: 必須: いいえ |
| PlayerSessionStatusFilter |
結果をフィルタリングするプレイヤーセッションステータス。可能なプレイヤーセッションステータスには以下が含まれます。
型: 必須: いいえ |
| NextToken |
結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 型: 必須: いいえ |
| [制限] |
返される結果の最大数。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 型: 必須: いいえ |
FStopMatchBackfillRequest
マッチメーキングバックフィルリクエストのキャンセルに使用される情報。ゲームサーバーは、この情報を StopMatchBackfill() 呼び出しで Amazon GameLift Servers サービスに送信します。
| プロパティ | 説明 |
|---|---|
| GameSessionArn |
キャンセルされるリクエストの一意のゲームセッション識別子。 型: 必須: はい |
| MatchmakingConfigurationArn |
このリクエストが送信されたマッチメーカーの一意の識別子。 型: 必須: はい |
| TicketId |
キャンセルされるバックフィルリクエストチケットの一意の識別子。 型: 必須: はい |
FAttributeValue
これらの値を FPlayer 属性のキーと値のペアで使用します。このオブジェクトでは、文字列、数値、文字列配列、データマップのいずれかの有効なデータ型を使用して属性値を指定できます。各 AttributeValue オブジェクトは、使用可能なプロパティのうちの 1 つだけを使用できます。
| プロパティ | 説明 |
|---|---|
| attrType |
属性値のタイプを指定します。 型: 必須: いいえ |
| S |
文字列の属性値を表します。 型: 必須: いいえ |
| N |
数値の属性値を表します。 型: 必須: いいえ |
| SL |
文字列の属性値の配列を表します。 型: 必須: いいえ |
| SDM |
文字列キーと二重値のディクショナリを表します。 型: 必須: いいえ |
FGameLiftGetFleetRoleCredentialsRequest
このデータ型は、AWS リソースへの制限付きアクセスをゲームサーバーにまで拡張するロール認証情報を提供します。詳細については、「Amazon GameLift Servers 用に IAM サービスロールをセットアップする」を参照してください。
| プロパティ | 説明 |
|---|---|
| RoleArn | AWS リソースへの制限付きアクセスを拡張するサービスロールの Amazon リソースネーム (ARN)。 型: 必須: いいえ |
| RoleSessionName | ロール認証情報の使用を説明するセッションの名前。 型: 必須: いいえ |
FGameLiftLongOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: 必須: いいえ |
| ResultWithOwnership |
アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGameLiftStringOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: 必須: いいえ |
| ResultWithOwnership |
アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGameLiftDescribePlayerSessionsOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: FGameLiftDescribePlayerSessionsResult 必須: いいえ |
| ResultWithOwnership |
アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGameLiftDescribePlayerSessionsResult
| プロパティ | 説明 |
|---|---|
| PlayerSessions |
型: 必須: はい |
NextToken |
結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGenericOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGameLiftPlayerSession
| プロパティ | 説明 |
|---|---|
| CreationTime |
型: 必須: はい |
| FleetId |
型: 必須: はい |
| GameSessionId |
型: 必須: はい |
| IpAddress |
型: 必須: はい |
| PlayerData |
型: 必須: はい |
| PlayerId |
型: 必須: はい |
| PlayerSessionId |
型: 必須: はい |
| ポート |
型: 必須: はい |
| Status |
型: 必須: はい |
| TerminationTime |
型: 必須: はい |
| DnsName |
型: 必須: はい |
FGameLiftGetComputeCertificateOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: FGameLiftGetComputeCertificateResult 必須: いいえ |
| ResultWithOwnership |
アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGameLiftGetComputeCertificateResult
コンピューティングの TLS 証明書へのパスとコンピューティングのホスト名。
| プロパティ | 説明 |
|---|---|
| CertificatePath |
型: 必須: はい |
| ComputeName |
型: 必須: はい |
FGameLiftGetFleetRoleCredentialsOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: FGetFleetRoleCredentialsResult 必須: いいえ |
| ResultWithOwnership |
アクションの結果を rvalue としてキャストし、呼び出し元のコードがオブジェクトの所有権を取得できるようにします。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGetFleetRoleCredentialsResult
| プロパティ | 説明 |
|---|---|
| AccessKeyId |
AWS へのアクセスを認証して提供するためのアクセスキー ID。 型: 必須: いいえ |
| AssumedRoleId |
サービスロールが属するユーザーの ID。 型: 必須: いいえ |
| AssumedRoleUserArn |
サービスロールが属するユーザーの Amazon リソースネーム (ARN)。 型: 必須: いいえ |
| 有効期限 |
セッション認証情報の有効期限が切れるまでの時間。 型: 必須: いいえ |
| SecretAccessKey |
認証のためのシークレットアクセスキー ID。 型: 必須: いいえ |
| SessionToken |
AWS リソースとやり取りしている現在のアクティブなセッションを識別するトークン。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
FGameLiftError
| プロパティ | 説明 |
|---|---|
| ErrorType |
エラーのタイプ。 型: 必須: いいえ |
ErrorName |
エラータイプの名前。 型: 必須: いいえ |
ErrorMessage |
エラーメッセージです。 型: 必須: いいえ |
列挙型
サーバー SDK for Amazon GameLift Servers (Unreal)で定義されている列挙体は、次のとおりです。
- FAttributeType
-
なし
STRING
DOUBLE
STRING_LIST
STRING_DOUBLE_MAP
- GameLiftErrorType
-
エラータイプを示す文字列値。有効な値を次に示します。
-
SERVICE_CALL_FAILED – AWS サービスへの呼び出しが失敗しました。
-
LOCAL_CONNECTION_FAILED – Amazon GameLift Servers へのローカル接続に失敗しました。
-
NETWORK_NOT_INITIALIZED – ネットワークは初期化されていません。
-
GAMESESSION_ID_NOT_SET – ゲームセッション ID が設定されていません。
-
BAD_REQUEST_EXCEPTION
-
INTERNAL_SERVICE_EXCEPTION
-
ALREADY_INITIALIZED – Amazon GameLift Servers サーバーまたはクライアントはすでに Initialize() で初期化されています。
-
FLEET_MISMATCH - ターゲットフリートが gameSession または playerSession のフリートと一致しません。
-
GAMELIFT_CLIENT_NOT_INITIALIZED – Amazon GameLift Servers クライアントは初期化されていません。
-
GAMELIFT_SERVER_NOT_INITIALIZED – Amazon GameLift Servers クライアントは初期化されていません。
-
GAME_SESSION_ENDED_FAILED – サーバー SDK for Amazon GameLift Servers はサービスにアクセスしてゲームセッションが終了したことを報告できませんでした。
-
GAME_SESSION_NOT_READY - Amazon GameLift Servers サーバーのゲームセッションがアクティブ化されませんでした。
-
GAME_SESSION_READY_FAILED – サーバー SDK for Amazon GameLift Servers は、サービスにアクセスしてゲームセッションの準備が完了したことを報告できませんでした。
-
INITIALIZATION_MISMATCH – Server:: Initialize() の後にクライアントメソッドが呼び出されました。その逆も同様です。
-
NOT_INITIALIZED - Amazon GameLift Servers サーバーまたはクライアントは Initialize() で初期化されていません。
-
NO_TARGET_ALIASID_SET - ターゲットの aliasId が設定されていません。
-
NO_TARGET_FLEET_SET – ターゲットフリートが設定されていません。
-
PROCESS_ENDING_FAILED – サーバー SDK for Amazon GameLift Servers はサービスにアクセスしてプロセスの終了を報告できませんでした。
-
PROCESS_NOT_ACTIVE – サーバープロセスはまだアクティブではなく、GameSession にバインドされていないため、PlayerSessions を受け入れたり処理したりすることはできません。
-
PROCESS_NOT_READY – サーバープロセスをまだアクティブ化する準備ができていません。
-
PROCESS_READY_FAILED – サーバー SDK for Amazon GameLift Servers はサービスにアクセスしてプロセスの準備が完了したことを報告できませんでした。
-
SDK_VERSION_DETECTION_FAILED – SDK バージョン検出に失敗しました。
-
STX_CALL_FAILED – XStx サーバーのバックエンドコンポーネントへの呼び出しが失敗しました。
-
STX_INITIALIZATION_FAILED - XStx サーバーのバックエンドコンポーネントが初期化に失敗しました。
-
UNEXPECTED_PLAYER_SESSION – 未登録のプレイヤーセッションがサーバーによって検出されました。
-
WEBSOCKET_CONNECT_FAILURE
-
WEBSOCKET_CONNECT_FAILURE_FORBIDDEN
-
WEBSOCKET_CONNECT_FAILURE_INVALID_URL
-
WEBSOCKET_CONNECT_FAILURE_TIMEOUT
-
WEBSOCKET_RETRIABLE_SEND_MESSAGE_FAILURE – GameLift Service WebSocket にメッセージを送信する際に再試行可能な障害が発生しました。
-
WEBSOCKET_SEND_MESSAGE_FAILURE – GameLift Service WebSocket へのメッセージの送信に失敗しました。
-
MATCH_BACKFILL_REQUEST_VALIDATION – リクエストの検証に失敗しました。
-
PLAYER_SESSION_REQUEST_VALIDATION – リクエストの検証に失敗しました。
-
- EPlayerSessionCreationPolicy
-
ゲームセッションで新しいプレイヤーを承諾するかどうかを示す文字列値。有効な値を次に示します。
-
ACCEPT_ALL – すべての新しいプレイヤーセッションを承諾します。
-
DENY_ALL – すべての新しいプレイヤーセッションを拒否します。
-
NOT_SET – ゲームセッションは、新規プレイヤーセッションを受け入れたり拒否したりするように設定されていません。
-
- EPlayerSessionStatus
-
アクティブ
COMPLETED
NOT_SET
RESERVED
TIMEDOUT