C# サーバー SDK 5.x for Amazon GameLift Servers -- データ型
Amazon GameLift Servers C# サーバー SDK 5.x リファレンスを使用して、Amazon GameLift Servers でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「サーバー SDK を使用して、Amazon GameLift Servers をゲームサーバーに追加します。」を参照してください。Unity 用 Amazon GameLift Servers プラグインを使用している場合は、「Unity 用 Amazon GameLift Servers プラグイン (サーバー SDK 5.x)」も参照してください。
C# サーバー SDK 5.x for Amazon GameLift Servers -- アクション
データ型
LogParameters
このデータ型は、ゲームセッション中に生成されたファイルのうち、ゲームセッション終了時に Amazon GameLift Servers にアップロードするファイルを識別するのに使用されます。ゲームサーバーは、ProcessReady() 呼び出しで LogParameters to Amazon GameLift Servers を送信します。
|
プロパティ |
説明 |
| LogPaths |
Amazon GameLift Servers で将来のアクセスに備えて保存するゲームサーバーログファイルへのディレクトリパスのリスト。サーバープロセスは各ゲームセッション中にこれらのファイルを生成します。ファイルのパスと名前はゲームサーバーで定義し、ルートゲームビルドディレクトリに保存します。 ログパスは絶対パスである必要があります。例えば、ゲームビルドによって 型: 必須: いいえ |
MetricsParameters
このデータ型を使用して、ゲームサーバーのメトリクス収集とクラッシュレポートを設定します。ゲームサーバーは、InitMetrics() 呼び出しで MetricsParameters を Amazon GameLift Servers に送信します。
|
プロパティ |
説明 |
| StatsdHost |
メトリクス収集用の StatsD サーバーのホスト名または IP アドレス。 型: 必須: いいえ |
| StatsdPort |
メトリクス収集用の StatsD サーバーのポート番号です。 型: 必須: いいえ |
| CrashReporterHost |
クラッシュレポーターサーバーのホスト名または IP アドレスです。 型: 必須: いいえ |
| CrashReporterPort |
クラッシュレポーターサーバーのポート番号です。 型: 必須: いいえ |
| FlushIntervalMs |
メトリクスデータをサーバーにフラッシュする際のミリ秒単位の間隔です。 型: 必須: いいえ |
| MaxPacketSize |
サーバーに送信されるメトリクスパケットの最大サイズ (バイト) です。 型: 必須: いいえ |
ProcessParameters
このデータ型には、ProcessReady()呼び出しの中で Amazon GameLift Servers に送信されるパラメータのセットが含まれます。
|
プロパティ |
説明 |
| LogParameters | ゲームセッションログファイルへのディレクトリパスのリストを含むオブジェクト。 型: 必須: はい |
| OnHealthCheck | Amazon GameLift Servers サービスがサーバープロセスにヘルスステータスレポートをリクエストするために呼び出すコールバック関数名。Amazon GameLift Servers は、この関数を 60 秒ごとに呼び出します。この関数を呼び出した後、Amazon GameLift Servers はレスポンスを 60 秒ほど待ちます。レスポンスがなければ、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 を渡します。型: void OnUpdateGameSessionDelegate(UpdateGameSession) 必須: いいえ |
| ポート | サーバープロセスが新しいプレイヤーの接続をリスンするポート番号。値は、このゲームサーバービルドをデプロイするすべてのフリートで設定されているポート番号の範囲に含まれる必要があります。このポート番号は、ゲームセッションオブジェクトとプレイヤーセッションオブジェクトに含まれ、ゲームセッションがサーバープロセスに接続するときに使用します。 型: 必須: はい |
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 名を使用する必要があります。 型: 必須: いいえ |
ServerParameters
Amazon GameLift Servers Anywhere サーバーと Amazon GameLift Servers サービス間の接続を維持するために使用される情報。この情報は、InitSDK() で新しいサーバープロセスを起動するときに使用されます。Amazon GameLift Serversマネージド EC2 インスタンスでホストされているサーバーには、空のオブジェクトを使用してください。
| プロパティ | 説明 |
|---|---|
| WebSocketUrl |
Amazon GameLift Servers Anywhere の一部として 型: 必須: はい |
| ProcessId |
ゲームをホストするサーバープロセスに登録された固有の識別子。 型: 必須: はい |
| HostId |
ゲームをホストするサーバープロセスのホスト固有の識別子。hostId はコンピューティングを登録したときに使用される ComputeName です。詳細については、「RegisterCompute」を参照してください。 型: 必須: はい |
| FleetId | コンピューティングが登録されているフリートのフリート ID。詳細については、「RegisterCompute」を参照してください。 型: 必須: はい |
| AuthToken | Amazon GameLift Servers によって生成され、サーバーを Amazon GameLift Servers に対して認証するための認証トークン。詳細については、「GetComputeAuthToken」を参照してください。 型: 必須: はい |
StartMatchBackfillRequest
マッチメーキングバックフィルリクエストの作成に使用される情報。ゲームサーバーは、この情報を StartMatchBackfill() 呼び出しで Amazon GameLift Servers に送信します。
| プロパティ | 説明 |
|---|---|
| GameSessionArn |
一意のゲームセッション識別子。API オペレーション 型: 必須: はい |
| MatchmakingConfigurationArn |
このリクエストに使用されるマッチメーカーの ARN 形式の一意な識別子。元のゲームセッションののマッチメーカー ARN は、マッチメーカーデータプロパティのゲームセッションオブジェクトにあります。マッチメーカーデータの詳細については「マッチメーカーデータの処理」を参照してください。 型: 必須: はい |
| プレイヤー |
現在ゲームセッションに参加しているすべてのプレイヤーを表すデータのセット。マッチメーカーはこの情報を使用して、現在のプレイヤーとマッチする新しいプレイヤーを検索します。 型: 必須: はい |
| TicketId |
マッチメーキングまたはバックフィルリクエストチケットの一意の識別子。値を指定しない場合、Amazon GameLift Servers が値を生成します。この識別子を使用してマッチバックフィルチケットのステータスを追跡したり、必要に応じてリクエストをキャンセルしたりします。 型: 必須: いいえ |
プレイヤー
マッチメーキングのプレイヤーを表します。マッチメーキングリクエストを開始すると、プレイヤーにはプレイヤー ID、属性、必要に応じてレイテンシーデータが含まれます。マッチが成立すると、Amazon GameLift Servers がチーム情報を追加します。
| プロパティ | 説明 |
|---|---|
| LatencyInMS |
プレイヤーがロケーションに接続したときに発生するレイテンシーの量を示すミリ秒単位の値のセット。 このプロパティを使用すると、プレーヤーはリストに表示されている場所でのみマッチングされます。マッチメーカーにプレイヤーレイテンシーを評価するルールがある場合、プレイヤーはレイテンシーを報告しないとマッチングされません。 型: 必須: いいえ |
| PlayerAttributes |
マッチメーキングに使用するプレイヤー情報を含むキーと値のペアの集合。プレイヤー属性キーは、マッチメーキングルールセットで使用されている PlayerAttributes と一致する必要があります。 プレイヤー属性の詳細については、「AttributeValue」を参照してください。 型: 必須: いいえ |
| PlayerId |
プレイヤーを表す一意の識別子。 型: 必須: いいえ |
| チーム |
マッチでプレーヤーが割り当てられるチームの名前。チーム名はマッチメーキングルールセットで定義します。 型: 必須: いいえ |
DescribePlayerSessionsRequest
このデータ型は、取得するプレイヤーセッションを指定するのに使用されます。複数の方法で使用できます。(1) 特定のプレイヤーセッションをリクエストする PlayerSessionId; を使用します。(2) 指定したゲームセッションのすべてのプレイヤーをリクエストするには、GameSessionId を指定します。または、(3) 指定したプレイヤーのすべてのプレイヤーセッションをリクエストするには、PlayerId を指定します。プレイヤーセッション数が多い場合は、ページ分割パラメータを使用して結果を順次ページとして取得します。
| プロパティ | 説明 |
|---|---|
| GameSessionId |
一意のゲームセッション識別子。このパラメータを使用して、指定したゲームセッションのすべてのプレイヤーセッションをリクエストします。ゲームセッション ID の形式は、 型: 必須: いいえ |
| PlayerSessionId |
プレイヤーセッションを表す一意の識別子。 型: 必須: いいえ |
| PlayerId |
プレイヤーの一意識別子。「プレイヤー ID を生成する」を参照してください。 型: 必須: いいえ |
| PlayerSessionStatusFilter |
結果をフィルタリングするプレイヤーセッションステータス。可能なプレイヤーセッションステータスとして以下のステータスがあります。
型: 必須: いいえ |
| NextToken |
結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 型: 必須: いいえ |
| 制限 |
返される結果の最大数。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 型: 必須: いいえ |
StopMatchBackfillRequest
マッチメーキングバックフィルリクエストのキャンセルに使用される情報。ゲームサーバーは、この情報を StopMatchBackfill() 呼び出しで Amazon GameLift Servers サービスに送信します。
| プロパティ | 説明 |
|---|---|
| GameSessionArn |
キャンセルされるリクエストの一意のゲームセッション識別子。 型: 必須: はい |
| MatchmakingConfigurationArn |
このリクエストが送信されたマッチメーカーの一意の識別子。 型: 必須: はい |
| TicketId |
キャンセルされるバックフィルリクエストチケットの一意の識別子。 型: 必須: はい |
GetFleetRoleCredentialsRequest
このデータ型により、ゲームサーバーは他の AWS リソースへのアクセスが制限されます。詳細については、「Amazon GameLift Servers 用に IAM サービスロールをセットアップする」を参照してください。
| プロパティ | 説明 |
|---|---|
| RoleArn | AWS リソースへの制限付きアクセスを拡張するサービスロールの Amazon リソースネーム (ARN)。 型: 必須: はい |
| RoleSessionName | ロール認証情報の使用を説明するセッションの名前。 型: 必須: いいえ |
AttributeValue
これらの値を プレイヤー 属性のキーと値のペアで使用します。このオブジェクトでは、文字列、数値、文字列配列、データマップのいずれかの有効なデータ型を使用して属性値を指定できます。各 AttributeValue オブジェクトは、使用可能なプロパティのうちの 1 つだけを使用できます。
| プロパティ | 説明 |
|---|---|
| attrType |
属性値のタイプを指定します。 型: 必須: いいえ |
| S |
文字列の属性値を表します。 型: 必須: はい |
| N |
数値の属性値を表します。 型: 必須: はい |
| SL |
文字列の属性値の配列を表します。 型: 必須: はい |
| SDM |
文字列キーと二重値のディクショナリを表します。 型: 必須: はい |
AwsStringOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
GenericOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
MetricsManagerOutcome
InitMetrics() 呼び出しの結果を表します。成功時の MetricsManager インスタンスまたは失敗時のエラー情報が含まれます。
| 結果 |
メトリクスを収集およびレポートするための MetricsManager インスタンス。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
DescribePlayerSessionsOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: DescribePlayerSessionsResult 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
DescribePlayerSessionsResult
| プロパティ | 説明 |
|---|---|
| NextToken |
結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。 型: 必須: はい |
PlayerSessions |
リクエストに一致する各プレイヤーセッションのプロパティを含むオブジェクトの集合。 型: 必須: |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
PlayerSession
| プロパティ | 説明 |
|---|---|
| CreationTime |
型: 必須: はい |
| FleetId |
型: 必須: はい |
| GameSessionId |
型: 必須: はい |
| IpAddress |
型: 必須: はい |
| PlayerData |
型: 必須: はい |
| PlayerId |
型: 必須: はい |
| PlayerSessionId |
型: 必須: はい |
| ポート |
型: 必須: はい |
| Status |
型: 必須: はい |
| TerminationTime |
型: 必須: はい |
| DnsName |
型: 必須: はい |
StartMatchBackfillOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
StartMatchBackfillResult
| プロパティ | 説明 |
|---|---|
| TicketId |
型: 必須: はい |
GetComputeCertificateOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: GetComputeCertificateResult 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
GetComputeCertificateResult
コンピューティングの TLS 証明書へのパスとコンピューティングのホスト名。
| プロパティ | 説明 |
|---|---|
| CertificatePath |
型: 必須: はい |
| ComputeName |
型: 必須: はい |
GetFleetRoleCredentialsOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: GetFleetRoleCredentialsResult 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
GetFleetRoleCredentialsResult
| プロパティ | 説明 |
|---|---|
| AccessKeyId |
AWS へのアクセスを認証して提供するためのアクセスキー ID。 型: 必須: いいえ |
| AssumedRoleId |
サービスロールが属するユーザーの ID。 型: 必須: いいえ |
| AssumedRoleUserArn |
サービスロールが属するユーザーの Amazon リソースネーム (ARN)。 型: 必須: いいえ |
| 有効期限 |
セッション認証情報の有効期限が切れるまでの時間。 型: 必須: いいえ |
| SecretAccessKey |
認証のためのシークレットアクセスキー ID。 型: 必須: いいえ |
| SessionToken |
AWS リソースとやり取りしている現在のアクティブなセッションを識別するトークン。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
AwsDateTimeOutcome
このデータ型はアクションの結果で、以下のプロパティを持つオブジェクトを生成します。
| プロパティ | 説明 |
|---|---|
| 結果 |
アクションの結果。 型: 必須: いいえ |
| 成功 |
アクションが成功したかどうか。 型: 必須: はい |
| エラー |
アクションが失敗した場合に発生したエラー。 必須: いいえ |
GameLiftError
| プロパティ | 説明 |
|---|---|
| ErrorType |
エラーのタイプ。 型: 必須: いいえ |
ErrorName |
エラータイプの名前。 型: 必須: いいえ |
ErrorMessage |
エラーメッセージです。 型: 必須: いいえ |
列挙型
サーバー SDK for Amazon GameLift Servers (C#) で定義されている列挙体は、次のとおりです。
- AttrType
-
なし
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 - リクエストの検証に失敗しました。
-
- PlayerSessionCreationPolicy
-
ゲームセッションで新しいプレイヤーを承諾するかどうかを示す文字列値。有効な値を次に示します。
-
ACCEPT_ALL - すべての新しいプレイヤーセッションを承諾します。
-
DENY_ALL - すべての新しいプレイヤーセッションを拒否します。
-
NOT_SET - ゲームセッションは、新規プレイヤーセッションを受け入れたり拒否したりするように設定されていません。
-
- PlayerSessionStatus
-
アクティブ
COMPLETED
NOT_SET
RESERVED
TIMEDOUT