サーバー SDK (Unreal) for Amazon GameLift Servers -- アクション
サーバー SDK for Unreal リファレンスを使用して、Amazon GameLift Servers でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。」を参照してください。
注記
このリファレンスは、サーバー SDK for Amazon GameLift Servers の以前のバージョン用です。最新バージョンについては、「C++ (Unreal) サーバー SDK 5.x for Amazon GameLift Servers -- アクション」を参照してください。
この API は、GameLiftServerSDK.h と GameLiftServerSDKModels.h で定義されます。
Unreal Engine プラグインを設定するには、コードサンプル「Amazon GameLift Servers を Unreal Engine プロジェクトに統合する」を参照してください。
Amazon GameLift Servers データ型用のサーバー SDK (Unreal)
トピック
AcceptPlayerSession()
指定されたプレイヤーセッション ID を持つプレイヤーがサーバープロセスに接続し、検証が必要であることを Amazon GameLift Servers サービスに通知します。Amazon GameLift Servers は、プレイヤーセッション ID が有効であること、つまりプレイヤー ID がゲームセッションでプレイヤースロットを予約していることを確認します。検証できたら、Amazon GameLift Servers はプレーヤースロットの状態を RESERVED から ACTIVE に変更します。
構文
FGameLiftGenericOutcome AcceptPlayerSession(const FString& playerSessionId)
パラメータ
- playerSessionId
-
Amazon GameLift Servers サービスが、AWS SDK の Amazon GameLift Servers API アクション CreatePlayerSession を呼び出した際に発行する一意の ID です。ゲームクライアントは、サーバープロセスに接続するときにこの ID をリファレンスします。
型: FString
必須: はい
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
ActivateGameSession()
サーバープロセスがゲームセッションをアクティブにし、プレイヤーの接続を受ける準備ができていることを Amazon GameLift Servers サービスに通知します。このアクションは、すべてのゲームセッションの初期化が完了した後、onStartGameSession() コールバック関数の一部として呼び出されます。
構文
FGameLiftGenericOutcome ActivateGameSession()
パラメータ
このアクションにはパラメータがありません。
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
DescribePlayerSessions()
設定、セッションメタデータ、プレイヤーデータを含む、プレイヤーセッションデータを取得します。このアクションを使用して、単一のプレイヤーセッション、ゲームセッション内のすべてのプレイヤーセッション、または単一のプレイヤー ID に関連付けられたすべてのプレイヤーセッションに関する情報を取得します。
構文
FGameLiftDescribePlayerSessionsOutcome DescribePlayerSessions(const FGameLiftDescribePlayerSessionsRequest &describePlayerSessionsRequest)
パラメータ
- describePlayerSessionsRequest
-
取得するプレイヤーセッションを記述する FDescribePlayerSessionsRequest オブジェクト。
必須: はい
戻り値
成功した場合は、リクエストのパラメータに適合したプレイヤーセッションオブジェクトのセットを含む FDescribePlayerSessionsRequest オブジェクトを返します。プレイヤーセッションオブジェクトは、AWS SDK Amazon GameLift Servers API の PlayerSession データ型と同じ構造を持ちます。
GetGameSessionId()
サーバープロセスがアクティブな場合、サーバープロセスが現在ホストしているゲームセッションの ID を取得します。
構文
FGameLiftStringOutcome GetGameSessionId()
パラメータ
このアクションにはパラメータがありません。
戻り値
成功した場合、ゲームセッション ID を FGameLiftStringOutcome オブジェクトとして返します。成功しなかった場合、エラーメッセージを返します。
GetInstanceCertificate()
フリートとそのインスタンスに関連付けられている pem エンコードされた TLS 証明書のファイルの場所を取得します。AWS Certificate Manager は、証明書設定を GENERATED に設定して新しいフリートを作成するとこの証明書が生成されます。この証明書を使用して、ゲームクライアントとのセキュリティ保護ありの接続を確立し、クライアント/サーバー通信を暗号化します。
構文
FGameLiftGetInstanceCertificateOutcome GetInstanceCertificate()
パラメータ
このアクションにはパラメータがありません。
戻り値
成功すると、インスタンスに保存されているフリートの TLS 証明書ファイルの場所と証明書チェーンを含む GetInstanceCertificateOutcome オブジェクトを返します。証明書チェーンから抽出されたルート証明書ファイルもインスタンスに保存されます。成功しなかった場合、エラーメッセージを返します。
証明書と証明書チェーンデータの詳細については、「AWS Certificate Manager API リファレンス」の「GetCertificate レスポンス要素」を参照してください。
GetSdkVersion()
サーバープロセスに組み込まれた SDK の現在のバージョン番号を返します。
構文
FGameLiftStringOutcome GetSdkVersion();
パラメータ
このアクションにはパラメータがありません。
戻り値
成功した場合、FGameLiftStringOutcome オブジェクトとして現在の SDK バージョンを返します。返される文字列は、バージョン番号のみを含みます(例: 3.1.5)。成功しなかった場合、エラーメッセージを返します。
例
Aws::GameLift::AwsStringOutcome SdkVersionOutcome = Aws::GameLift::Server::GetSdkVersion();
InitSDK()
Amazon GameLift Servers SDK を初期化します。このメソッドは起動時に他の Amazon GameLift Servers 関連の初期化が実行される前に呼び出す必要があります。
構文
FGameLiftGenericOutcome InitSDK()
パラメータ
このアクションにはパラメータがありません。
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
ProcessEnding()
サーバープロセスがシャットダウンしていることを Amazon GameLift Servers サービスに通知します。このメソッドは、すべてのアクティブゲームセッションのシャットダウンを含む他のすべてのクリーンアップタスクの後に呼び出されます。このメソッドは、終了コード 0 で終了します。0 以外の終了コードでは、処理が問題なく終了しなかったというイベントメッセージが発生します。
構文
FGameLiftGenericOutcome ProcessEnding()
パラメータ
このアクションにはパラメータがありません。
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
ProcessReady()
サーバープロセスがゲームセッションをホストする準備ができたことを Amazon GameLift Servers サービスに通知します。このメソッドは、InitSDK() の呼び出しが成功して必要な設定タスクが完了した後、サーバープロセスがゲームセッションをホストできるようになる前に呼び出す必要があります。このメソッドは、プロセスごとに 1 回だけ呼び出す必要があります。
構文
FGameLiftGenericOutcome ProcessReady(FProcessParameters &processParameters)
パラメータ
- FProcessParameters
-
サーバープロセスに関する以下の情報を伝える FProcessParameters オブジェクト。
-
サーバープロセスと通信するために Amazon GameLift Servers サービスが呼び出す、ゲームサーバーコードで実装されたコールバックメソッドの名前。
-
サーバープロセスがリッスンするポートの番号。
-
Amazon GameLift Servers でキャプチャして保存するゲームセッション固有のファイルへのパス。
必須: はい
-
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
例
Using the Unreal Engine Plugin にあるサンプルコードを参照してください。
RemovePlayerSession()
指定されたプレイヤーセッション ID のプレイヤーがサーバープロセスから切断されたことを Amazon GameLift Servers サービスに通知します。それに応じて、Amazon GameLift Servers はプレイヤースロットを新しいプレイヤーに割り当てられるよう利用可能に変更します。
構文
FGameLiftGenericOutcome RemovePlayerSession(const FString& playerSessionId)
パラメータ
- playerSessionId
-
Amazon GameLift Servers サービスが、AWS SDK の Amazon GameLift Servers API アクション CreatePlayerSession を呼び出した際に発行する一意の ID です。ゲームクライアントは、サーバープロセスに接続するときにこの ID をリファレンスします。
型: FString
必須: はい
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
StartMatchBackfill()
FlexMatch で作成されたゲームセッションの空きスロット用に新規プレイヤーを検索するリクエストを送信します。AWS SDK アクション StartMatchBackfill() を参照してください。このアクションを使用すると、ゲームセッションをホスティングするゲームサーバーのプロセスによってマッチバックフィルリクエストを開始できます。FlexMatch のバックフィル機能について。
このアクションは非同期です。新規プレイヤーが正常にマッチングされると、Amazon GameLift Servers サービスはコールバック関数 OnUpdateGameSession() を使用して更新済みマッチメーカーデータを送信します。
サーバープロセスではアクティブなマッチバックフィルリクエストは一度に 1 つだけです。新しいリクエストを送信するには、まず StopMatchBackfill() を呼び出して元のリクエストをキャンセルする必要があります。
構文
FGameLiftStringOutcome StartMatchBackfill (FStartMatchBackfillRequest &startBackfillRequest);
パラメータ
- FStartMatchBackfillRequest
-
次の情報を通信する FStartMatchBackfillRequest オブジェクト。
-
バックフィルリクエストに割り当てるチケット ID。この情報はオプションです。ID が指定されていない場合は Amazon GameLift Servers が ID を 1 つ自動生成します。
-
リクエストを送信するマッチメーカー。完全な設定 ARN が必要です。この値は、ゲームセッションのマッチメーカーデータから取得できます。
-
バックフィルされるゲームセッションの ID。
-
ゲームセッションの現在のプレイヤーに利用可能なマッチメーキングデータ。
必須: はい
-
戻り値
成功した場合、マッチバックフィルチケットを FGameLiftStringOutcome オブジェクトとして返します。成功しなかった場合、エラーメッセージを返します。チケットのステータスは、AWS SDK アクション DescribeMatchmaking() を使用して追跡できます。
StopMatchBackfill()
StartMatchBackfill() とともに作成されたアクティブなマッチバックフィルリクエストをキャンセルします。AWS SDK アクション StopMatchmaking() も参照してください。FlexMatch のバックフィル機能について。
構文
FGameLiftGenericOutcome StopMatchBackfill (FStopMatchBackfillRequest &stopBackfillRequest);
パラメータ
- StopMatchBackfillRequest
-
キャンセルするマッチメーキングチケットを識別する FStopMatchBackfillRequest オブジェクト:
-
キャンセルされるバックフィルリクエストに割り当てられたチケット ID
-
バックフィルリクエストが送信されるマッチメーカー
-
バックフィルリクエストに関連付けられたゲームセッション
必須: はい
-
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
TerminateGameSession()
このメソッドは、バージョン 4.0.1 で非推奨となりました。代わりに、サーバープロセスはゲームセッションが終了した後に ProcessEnding() を呼び出す必要があります。
サーバープロセスがゲームセッションをシャットダウンしたことを Amazon GameLift Servers サービスに通知します。このアクションは、サーバープロセスがアクティブなままになり、新しいゲームセッションをホストするための準備ができたときに呼び出されます。これは、新しいゲームセッションをホストするためにサーバープロセスがすぐに利用可能であることを Amazon GameLift Servers に通知するため、ゲームセッション終了手順が完了した後にのみ呼び出す必要があります。
ゲームセッションが停止した後にサーバープロセスがシャットダウンされる場合は、このアクションは呼び出されません。代わりに、ProcessEnding() を呼び出し、ゲームセッションとサーバープロセスの両方が終了していることを通知します。
構文
FGameLiftGenericOutcome TerminateGameSession()
パラメータ
このアクションにはパラメータがありません。
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。
UpdatePlayerSessionCreationPolicy()
現在のゲームセッションの機能を更新し、新しいプレイヤーセッションを承諾します。ゲームセッションは、新しいプレイヤーセッションをすべて受け入れるか拒否するかを設定できます。(Amazon GameLift Servers サービス API リファレンスの UpdateGameSession() アクションも参照してください)。
構文
FGameLiftGenericOutcome UpdatePlayerSessionCreationPolicy(EPlayerSessionCreationPolicy policy)
パラメータ
- ポリシー
-
ゲームセッションで新しいプレイヤーを承諾するかどうかを示す値。
型:
EPlayerSessionCreationPolicyenum。有効な値を次に示します。-
ACCEPT_ALL – すべての新しいプレイヤーセッションを承諾します。
-
DENY_ALL – すべての新しいプレイヤーセッションを拒否します。
必須: はい
-
戻り値
正常またはエラーメッセージを伴うエラーの、一般的な結果を返します。