C# と Unity の Amazon GameLift サーバーSDKリファレンス: データ型 - Amazon GameLift

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

C# と Unity の Amazon GameLift サーバーSDKリファレンス: データ型

この Amazon GameLift C# サーバーSDKリファレンスは、Amazon で使用するマルチプレイヤーゲームを準備するのに役立ちます GameLift。統合プロセスの詳細については、Amazon GameLift をゲームサーバーに追加する「」を参照してください。Unity 用の C# サーバーSDKプラグインの使用については、「」を参照してくださいUnity プロジェクトに Amazon GameLift を統合する

LogParameters

このデータ型を使用して、ゲームセッション中に生成されたファイルのうち、ゲーム GameLift セッション終了後にゲームサーバーから Amazon にアップロードするファイルを特定します。ゲームサーバーは Amazon をProcessReady()呼び出しLogParameters to GameLift で通信します。

プロパティ

説明
LogPaths

Amazon が将来のアクセスのために GameLift 保存するゲームサーバーログファイルへのディレクトリパスのリスト。サーバープロセスは各ゲームセッション中にこれらのファイルを生成します。ファイルのパスと名前はゲームサーバーで定義し、ルートゲームビルドディレクトリに保存します。

ログパスは絶対パスである必要があります。例えば、ゲームビルドによって MyGame\sessionLogs\ などのパスに保存されるゲームセッションログの場合、パスは c:\game\MyGame\sessionLogs (Windows インスタンスの場合) となります。

タイプ: List<String>

必須: いいえ

ProcessParameters

このデータ型には、ProcessReady()呼び出し GameLift で Amazon に送信されるパラメータのセットが含まれます。

プロパティ

説明
LogParameters ゲームセッションログファイルへのディレクトリパスのリストを含むオブジェクト。

タイプ: Aws::GameLift::Server::LogParameters

必須: はい

OnHealthCheck サーバープロセスからヘルスステータスレポートをリクエストするために Amazon が GameLift 呼び出すコールバック関数の名前。Amazon は 60 秒ごとにこの関数を GameLift 呼び出します。この関数を呼び出すと、Amazon は応答を 60 秒 GameLift 待ちます。何も受信されない場合、Amazon はサーバープロセスを異常として GameLift 記録します。

タイプ: void OnHealthCheckDelegate()

必須: はい

OnProcessTerminate サーバープロセスを強制的にシャットダウンするために Amazon が GameLift 呼び出すコールバック関数の名前。この関数を呼び出すと、Amazon はサーバープロセスがシャットダウンするのを 5 分 GameLift 待ってProcessEnding()から、サーバープロセスをシャットダウンします。

タイプ: void OnProcessTerminateDelegate()

必須: はい

OnStartGameSession 新しいゲームセッションをアクティブ化するために Amazon が GameLift 呼び出すコールバック関数の名前。Amazon は、クライアントリクエスト に応答してこの関数を GameLift 呼び出しますCreateGameSession。コールバック関数は GameSession オブジェクトを受け取ります。

タイプ: void OnStartGameSessionDelegate(GameSession)

必須: はい

OnUpdateGameSession 更新されたゲームセッションオブジェクトをサーバープロセスに渡すために Amazon が GameLift 呼び出すコールバック関数の名前。Amazon は、マッチバックフィルリクエストが処理され、更新されたマッチメーカーデータが提供されると、この関数を GameLift 呼び出します。GameSession オブジェクト、ステータス更新 (updateReason)、およびマッチバックフィルチケット ID を渡します。

タイプ: void OnUpdateGameSessionDelegate(UpdateGameSession

必須: いいえ

[ポート] サーバープロセスが新しいプレイヤーの接続をリスンするポート番号。値は、このゲームサーバービルドをデプロイするすべてのフリートで設定されているポート番号の範囲に含まれる必要があります。このポート番号は、ゲームセッションオブジェクトとプレイヤーセッションオブジェクトに含まれ、ゲームセッションがサーバープロセスに接続するときに使用します。

タイプ: Integer

必須: はい

UpdateGameSession

ゲームセッションオブジェクトの更新情報。ゲームセッションが更新された理由も含まれます。更新がマッチバックフィルアクションに関連する場合、このデータタイプにはバックフィルチケット ID が含まれます。

プロパティ 説明
GameSession GameSession オブジェクト。GameSession オブジェクトにはゲームセッションを説明するプロパティが含まれています。

タイプ: GameSession GameSession()

必須: はい

UpdateReason ゲームセッションが更新されている理由。

タイプ: UpdateReason UpdateReason()

必須: はい

BackfillTicketId ゲームセッションの更新を試みるバックフィルチケットの ID。

タイプ: String

必須: はい

GameSession

ゲームセッションの詳細。

プロパティ 説明
GameSessionId

ゲームセッションの一意の識別子。ゲームセッションARNの形式は ですarn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>

タイプ: String

必須: いいえ

名前

ゲームセッションについて説明するラベル。

タイプ: String

必須: いいえ

FleetId

ゲームセッションが実行されているフリートの一意の識別子。

タイプ: String

必須: いいえ

MaximumPlayerSessionCount

ゲームセッションへのプレーヤー接続の最大数。

タイプ: Integer

必須: いいえ

[ポート]

ゲームセッションのポート番号。Amazon GameLift ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。

タイプ: Integer

必須: いいえ

IpAddress

ゲームセッションの IP アドレス。Amazon GameLift ゲームサーバーに接続するには、アプリに IP アドレスとポート番号の両方が必要です。

タイプ: String

必須: いいえ

GameSessionData

単一の文字列値としてフォーマットされたカスタムゲームセッションプロパティのセット。

タイプ: String

必須: いいえ

MatchmakerData

ゲームセッションの作成に使用されたマッチメーキングプロセスに関する情報を、文字列としてフォーマットされたJSON構文で示します。使用されたマッチメーキング設定に加えて、プレイヤー属性やチーム割り当てなど、マッチに割り当てられた全プレイヤーに関するデータが含まれます。

タイプ: String

必須: いいえ

GameProperties

ゲームセッションのカスタムプロパティのセットで、キーと値のペアとしてフォーマットされます。これらのプロパティは、新しいゲームセッションを開始するリクエストとともに渡されます。

タイプ: Dictionary<string, string>

必須: いいえ

DnsName

ゲームセッションを実行しているインスタンスに割り当てられたDNS識別子。値の形式は次のとおりです。

  • TLSが有効なフリート: <unique identifier>.<region identifier>.amazongamelift.com

  • TLS非有効化フリート: ec2-<unique identifier>.compute.amazonaws.com

TLSが有効なフリートで実行されているゲームセッションに接続する場合は、IP アドレスではなくDNS名前を使用する必要があります。

タイプ: String

必須: いいえ

ServerParameters

Amazon GameLift Anywhere サーバーと Amazon GameLift サービス間の接続を維持するために使用される情報。この情報は、InitSDK() で新しいサーバープロセスを起動するときに使用されます。Amazon GameLift マネージドEC2インスタンスでホストされているサーバーの場合は、空のオブジェクトを使用します。

プロパティ 説明
WebSocketUrl

Amazon RegisterComputeの一部として返GameLiftServerSdkEndpointされる GameLift Anywhere。

タイプ: String

必須: はい

ProcessId

ゲームをホストするサーバープロセスに登録された固有の識別子。

タイプ: String

必須: はい

HostId

ゲームをホストするサーバープロセスのホスト固有の識別子。 hostId は、コンピューティングを登録したとき ComputeName に使用される です。詳細については、「」を参照してください。 RegisterCompute

タイプ: String

必須: はい

FleetId コンピューティングが登録されているフリートのフリート ID。詳細については、「」を参照してくださいRegisterCompute

タイプ: String

必須: はい

AuthToken サーバーを Amazon に認証 GameLift する Amazon によって生成された認証トークン GameLift。詳細については、「」を参照してくださいGetComputeAuthToken

タイプ: String

必須: はい

StartMatchBackfillRequest

マッチメーキングバックフィルリクエストの作成に使用される情報。ゲームサーバーは、この情報をStartMatchBackfill()通話 GameLift で Amazon に通信します。

プロパティ 説明
GameSessionArn

一意のゲームセッション識別子。API オペレーションは識別子を ARN形式でGetGameSessionId返します。

タイプ: String

必須: はい

MatchmakingConfigurationArn

マッチメーカーがこのリクエストに使用する ARNの形式の一意の識別子。元のゲームセッションARNのマッチメーカーは、マッチメーカーデータプロパティのゲームセッションオブジェクトにあります。マッチメーカーデータの詳細については「マッチメーカーデータの処理」を参照してください。

タイプ: String

必須: はい

プレイヤー

現在ゲームセッションに参加しているすべてのプレイヤーを表すデータのセット。マッチメーカーはこの情報を使用して、現在のプレイヤーとマッチする新しいプレイヤーを検索します。

タイプ: List<Player>

必須: はい

TicketId

マッチメーキングまたはバックフィルリクエストチケットの一意の識別子。値を指定しない場合、Amazon は値 GameLift を生成します。この識別子を使用してマッチバックフィルチケットのステータスを追跡したり、必要に応じてリクエストをキャンセルしたりします。

タイプ: String

必須: いいえ

プレイヤー

マッチメーキングのプレイヤーを表します。マッチメーキングリクエストを開始すると、プレイヤーはプレイヤー ID、属性、場合によってはレイテンシーデータを保有します。Amazon は、試合後にチーム情報 GameLift を追加します。

プロパティ 説明
LatencyInMS

プレイヤーがロケーションに接続したときに発生するレイテンシーの量を示すミリ秒単位の値のセット。

このプロパティを使用すると、プレーヤーはリストに表示されている場所でのみマッチングされます。マッチメーカーにプレイヤーレイテンシーを評価するルールがある場合、プレイヤーはレイテンシーを報告しないとマッチングされません。

タイプ: Dictionary<string, int>

必須: いいえ

PlayerAttributes

マッチメーキングに使用するプレイヤー情報を含むキーと値のペアの集合。プレイヤー属性キーは、マッチメーキングルールセット PlayerAttributes で使用される と一致する必要があります。

プレイヤー属性の詳細については、「」を参照してくださいAttributeValue

タイプ: Dictionary<string, AttributeValue

必須: いいえ

PlayerId

プレイヤーを表す一意の識別子。

タイプ: String

必須: いいえ

Team

マッチでプレーヤーが割り当てられるチームの名前。チーム名はマッチメーキングルールセットで定義します。

タイプ: String

必須: いいえ

DescribePlayerSessionsRequest

このデータ型は、取得するプレイヤーセッションを指定するのに使用されます。これは、いくつかの方法で使用できます。(1) 特定のプレイヤーセッションをリクエスト PlayerSessionId する を提供する、(2) 指定されたゲームセッション内のすべてのプレイヤーセッション GameSessionId をリクエストする を提供する、または (3) 指定されたプレイヤーのすべてのプレイヤーセッション PlayerId をリクエストする を提供する。プレイヤーセッション数が多い場合は、ページ分割パラメータを使用して結果を順次ページとして取得します。

プロパティ 説明
GameSessionId

一意のゲームセッション識別子。このパラメータを使用して、指定したゲームセッションのすべてのプレイヤーセッションをリクエストします。ゲームセッション ID の形式は、arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string> です。<ID string> の値は、カスタム ID 文字列または (ゲームセッション作成時に指定した場合) 生成された文字列のいずれかです。

タイプ: String

必須: いいえ

PlayerSessionId

プレイヤーセッションを表す一意の識別子。

タイプ: String

必須: いいえ

PlayerId

プレイヤーの一意識別子。プレイヤー ID を生成する を参照してください。

タイプ: String

必須: いいえ

PlayerSessionStatusFilter

結果をフィルタリングするプレイヤーセッションステータス。可能なプレイヤーセッションステータスとして以下のステータスがあります。

  • RESERVED – プレイヤーセッションリクエストは受信されましたが、プレイヤーがまだサーバープロセスに接続されていないか、検証されていません。

  • ACTIVE – プレイヤーはサーバープロセスによって検証され、現在接続されています。

  • COMPLETED – プレイヤー接続が切断されました。

  • TIMEDOUT – プレイヤーセッションリクエストを受信しましたが、プレイヤーが接続しなかったか、タイムアウト制限 (60 秒) 内に検証されませんでした。

タイプ: String

必須: いいえ

NextToken

結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。

タイプ: String

必須: いいえ

制限

返される結果の最大数。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。

タイプ: int

必須: いいえ

StopMatchBackfillRequest

マッチメーキングバックフィルリクエストのキャンセルに使用される情報。ゲームサーバーは、この情報をStopMatchBackfill()通話で Amazon GameLift サービスに伝えます。

プロパティ 説明
GameSessionArn

キャンセルされるリクエストの一意のゲームセッション識別子。

タイプ: string

必須: はい

MatchmakingConfigurationArn

このリクエストが送信されたマッチメーカーの一意の識別子。

タイプ: string

必須: はい

TicketId

キャンセルされるバックフィルリクエストチケットの一意の識別子。

タイプ: string

必須: はい

GetFleetRoleCredentialsRequest

このデータ型は、ゲームサーバーに他の AWS リソースへの制限付きアクセスを許可します。詳細については、Amazon の IAM サービスロールを設定する GameLift を参照してください。

プロパティ 説明
RoleArn リソースへの制限付きアクセスを拡張するサービスロールの Amazon AWS リソースネーム (ARN)。

タイプ: string

必須: はい

RoleSessionName ロール認証情報の使用を説明するセッションの名前。

タイプ: string

必須: いいえ

AttributeValue

これらの値を プレイヤー 属性のキーと値のペアで使用します。このオブジェクトでは、文字列、数値、文字列配列、データマップのいずれかの有効なデータ型を使用して属性値を指定できます。各 AttributeValue オブジェクトは、使用可能なプロパティのうちの 1 つだけを使用できます。

プロパティ 説明
attrType

属性値のタイプを指定します。

型: AttrType enum 値。

必須: いいえ

S

文字列の属性値を表します。

タイプ: string

必須: はい

N

数値の属性値を表します。

タイプ: double

必須: はい

SL

文字列の属性値の配列を表します。

タイプ: string[]

必須: はい

SDM

文字列キーと二重値のディクショナリを表します。

タイプ: Dictionary<string, double>

必須: はい

AwsStringOutcome

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

プロパティ 説明
結果

アクションの結果。

タイプ: string

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

GenericOutcome

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

プロパティ 説明
成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

DescribePlayerSessionsOutcome

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

プロパティ 説明
結果

アクションの結果。

タイプ: DescribePlayerSessionsResult

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

DescribePlayerSessionsResult

プロパティ 説明
NextToken

結果の次のページの先頭を示すトークン。結果セットの先頭を指定するには、値を指定しないでください。プレイヤーセッション ID を提供する場合、このパラメータは無視されます。

タイプ: string

必須: はい

PlayerSessions

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

タイプ: IList<PlayerSession>

必須:

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

PlayerSession

プロパティ 説明
CreationTime

タイプ: long

必須: はい

FleetId

タイプ: string

必須: はい

GameSessionId

タイプ: string

必須: はい

IpAddress

タイプ: string

必須: はい

PlayerData

タイプ: string

必須: はい

PlayerId

タイプ: string

必須: はい

PlayerSessionId

タイプ: string

必須: はい

[ポート]

タイプ: int

必須: はい

ステータス

型: A PlayerSessionStatus enum

必須: はい

TerminationTime

タイプ: long

必須: はい

DnsName

タイプ: string

必須: はい

StartMatchBackfillOutcome

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

プロパティ 説明
結果

アクションの結果。

タイプ: StartMatchBackfillResult

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

StartMatchBackfillResult

プロパティ 説明
TicketId

タイプ: string

必須: はい

GetComputeCertificateOutcome

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

プロパティ 説明
結果

アクションの結果。

タイプ: GetComputeCertificateResult

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

GetComputeCertificateResult

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

プロパティ 説明
CertificatePath

タイプ: string

必須: はい

ComputeName

タイプ: string

必須: はい

GetFleetRoleCredentialsOutcome

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

プロパティ 説明
結果

アクションの結果。

タイプ: GetFleetRoleCredentialsResult

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

GetFleetRoleCredentialsResult

プロパティ 説明
AccessKeyId

AWS へのアクセスを認証して提供するためのアクセスキー ID。

タイプ: string

必須: いいえ

AssumedRoleId

サービスロールが属するユーザーの ID。

タイプ: string

必須: いいえ

AssumedRoleUserArn

サービスロールが属するユーザーの Amazon リソースネーム (ARN)。

タイプ: string

必須: いいえ

有効期限

セッション認証情報の有効期限が切れるまでの時間。

タイプ: DateTime

必須: いいえ

SecretAccessKey

認証のためのシークレットアクセスキー ID。

タイプ: string

必須: いいえ

SessionToken

AWS リソースとやり取りする現在のアクティブなセッションを識別するトークン。

タイプ: string

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

AwsDateTimeOutcome

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

プロパティ 説明
結果

アクションの結果。

タイプ: DateTime

必須: いいえ

成功

アクションが成功したかどうか。

タイプ: bool

必須: はい

エラー

アクションが失敗した場合に発生したエラー。

タイプ: GameLiftError

必須: いいえ

GameLiftError

プロパティ 説明
ErrorType

エラーのタイプ。

Type: A GameLiftErrorType enum.

必須: いいえ

ErrorName

エラータイプの名前。

タイプ: string

必須: いいえ

ErrorMessage

エラーメッセージです。

タイプ: string

必須: いいえ

列挙型

Amazon GameLift サーバー SDK (C#) 用に定義された列挙型は、次のように定義されます。

AttrType
  • NONE

  • STRING

  • DOUBLE

  • STRING_LIST

  • STRING_DOUBLE_MAP

GameLiftErrorType

エラータイプを示す文字列値。有効な値を次に示します。

  • SERVICE_CALL_FAILED – AWS サービスへの呼び出しが失敗しました。

  • LOCAL_CONNECTION_FAILED – Amazon へのローカル接続 GameLift に失敗しました。

  • NETWORK_NOT_INITIALIZED – ネットワークは初期化されていません。

  • GAMESESSION_ID_NOT_SET – ゲームセッション ID が設定されていません。

  • BAD_REQUEST_EXCEPTION

  • INTERNAL_SERVICE_EXCEPTION

  • ALREADY_INITIALIZED — Amazon GameLift サーバーまたはクライアントは、既に Initialize() で初期化されています。

  • FLEET_MISMATCH – ターゲットフリートが gameSession または のフリートと一致しませんplayerSession。

  • GAMELIFT_CLIENT_ NOTINITIALIZED- Amazon GameLift クライアントは初期化されていません。

  • GAMELIFT_SERVER_ NOTINITIALIZED- Amazon GameLift サーバーは初期化されていません。

  • GAME_SESSION_ ENDEDFAILED- Amazon GameLift Server は、ゲームセッションが終了したことをサービスにレポートSDKできませんでした。

  • GAME_SESSION_ NOTREADY- Amazon GameLift サーバーゲームセッションはアクティブ化されませんでした。

  • GAME_SESSION_ READYFAILED- Amazon GameLift Server はサービスに連絡してゲームセッションの準備が整ったことを報告SDKできませんでした。

  • INITIALIZATION_MISMATCH – クライアントメソッドは、Server::Initialize() の後に呼び出され、その逆も同様です。

  • NOT_INITIALIZED — Amazon GameLift サーバーまたはクライアントが Initialize() で初期化されていません。

  • NO_TARGET_ ALIASIDSET- ターゲット aliasId が設定されていません。

  • NO_TARGETFLEET_ SET- ターゲットフリートが設定されていません。

  • PROCESS_ENDING_FAILED – Amazon GameLift Server は、プロセスの終了をレポートするためにサービスに接続SDKできませんでした。

  • PROCESS_NOT_ACTIVE – サーバープロセスはまだアクティブではなく、 にバインドされておらず GameSession、 を受け入れたり処理したりすることはできません PlayerSessions。

  • PROCESS_NOT_READY – サーバープロセスはまだアクティブ化する準備ができていません。

  • PROCESS_READY_FAILED – Amazon GameLift Server はサービスに連絡して、プロセスの準備が整ったことを報告SDKできませんでした。

  • 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_RETRIABLESEND_MESSAGE_FAILURE - GameLift サービス にメッセージを送信できませんでした WebSocket。

  • WEBSOCKET_SEND_MESSAGE_FAILURE – GameLift サービス にメッセージを送信できません WebSocket。

  • MATCH_BACKFILL_REQUEST_VALIDATION – リクエストの検証に失敗しました。

  • PLAYER_SESSION_REQUEST_VALIDATION – リクエストの検証に失敗しました。

PlayerSessionCreationPolicy

ゲームセッションで新しいプレイヤーを承諾するかどうかを示す文字列値。有効な値を次に示します。

  • ACCEPT_ALL – すべての新しいプレイヤーセッションを受け入れます。

  • DENY_ALL – すべての新しいプレイヤーセッションを拒否します。

  • NOT_SET – ゲームセッションは、新しいプレイヤーセッションを承諾または拒否するように設定されていません。

PlayerSessionStatus
  • ACTIVE

  • COMPLETED

  • NOT_SET

  • RESERVED

  • TIMEDOUT