Amazon GameLift サーバー SDK for Go: データ型 - Amazon GameLift

Amazon GameLift サーバー SDK for Go: データ型

Amazon GameLift Go サーバー SDK 5.x リファレンスを使用して、Amazon GameLift でホスティングするマルチプレイヤーゲームを統合します。統合プロセスのガイダンスについては、「Amazon GameLift をゲームサーバーに追加する」を参照してください。

GameLiftServerAPI.go は、Go サーバー SDK アクションを定義します。

Amazon GameLift サーバー SDK for Go: アクション

LogParameters

ゲームセッション中に生成されたファイルを識別するオブジェクトで、ゲームセッション終了時に Amazon GameLift でアップロードして保存します。ゲームサーバーは、ProcessReady() 呼び出しでの ProcessParameters オブジェクトの一部として LogParameters を Amazon GameLift に提供します。

プロパティ

説明
LogPaths

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

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

タイプ: []string

必須: いいえ

ProcessParameters

サーバープロセスと Amazon GameLift 間の通信を記述するオブジェクト。サーバープロセスは、ProcessReady() への呼び出しとともにこの情報を Amazon GameLift に提供します。

プロパティ

説明
LogParameters ゲームセッション中に生成されるファイルへのディレクトリパスを含むオブジェクト。Amazon GameLift は、今後アクセスできるようにファイルをコピーして保存します。

タイプ: LogParameters

必須: いいえ

OnHealthCheck Amazon GameLift がサーバープロセスにヘルスステータスレポートをリクエストするために呼び出すコールバック関数。Amazon GameLift は、この関数を 60 秒ごとに呼び出し、応答があるまで 60 秒待ちます。サーバープロセスは正常であれば TRUE を返し、正常でない場合は FALSE を返します。応答が返されない場合、Amazon GameLift はサーバープロセスを正常ではないと記録します。

タイプ: OnHealthCheck func() bool

必須: いいえ

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

タイプ: OnProcessTerminate func()

必須: はい

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

タイプ: OnStartGameSession func (model.GameSession )

必須: はい

OnUpdateGameSession Amazon GameLift が更新されたゲームセッション情報を提供法するために呼び出すコールバック関数。Amazon GameLift はこの関数を、更新されたマッチメーカーデータを提供するためにマッチバックフィルリクエストを処理した後に呼び出します。

タイプ: OnUpdateGameSession func (model.UpdateGameSession)

必須: いいえ

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

タイプ: int

必須: はい

UpdateGameSession

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

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

タイプ: GameSession GameSession()

必須: はい

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

タイプ: UpdateReason UpdateReason()

必須: はい

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

タイプ: String

必須: いいえ

GameSession

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

プロパティ 説明
GameSessionId

ゲームセッションの一意の識別子。ゲームセッション Amazon リソースネーム (ARN) には arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token> 形式があります。

タイプ: String

必須: いいえ

名前

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

タイプ: String

必須: いいえ

FleetId

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

タイプ: String

必須: いいえ

MaximumPlayerSessionCount

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

タイプ: Integer

必須: いいえ

ポート

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

タイプ: Integer

必須: いいえ

IP アドレス

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

タイプ: String

必須: いいえ

GameSessionData

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

タイプ: String

必須: いいえ

MatchmakerData

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

タイプ: String

必須: いいえ

GameProperties

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

タイプ: map[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 GameLift Anywhere コンピューティングリソースに RegisterCompute を実行すると、GameLiftServerSdkEndpoint Amazon GameLift が返します。

タイプ: string

必須: はい

ProcessID

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

タイプ: string

必須: はい

HostID

新しいサーバープロセスをホストしているコンピュートリソースの一意の識別子。

HostID はコンピューティングを登録したときに使用される ComputeName です。詳細については、「RegisterCompute」を参照してください。

タイプ: string

必須: はい

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

タイプ: string

必須: はい

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

タイプ: string

必須: はい

StartMatchBackfillRequest

マッチメーキングバックフィルリクエストの作成に使用される情報。この情報は、StartMatchBackfill() 呼び出しで Amazon GameLift に伝えられます。

プロパティ 説明
GameSessionArn

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

タイプ: String

必須: はい

MatchmakingConfigurationArn

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

タイプ: String

必須: はい

プレイヤー

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

タイプ: []model.Player

必須: はい

TicketId

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

タイプ: String

必須: いいえ

プレイヤー

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

プロパティ 説明
LatencyInMS

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

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

タイプ: map[string] int

必須: いいえ

PlayerAttributes

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

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

タイプ: map[string] AttributeValue

必須: いいえ

PlayerId

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

タイプ: String

必須: いいえ

Team

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

タイプ: String

必須: いいえ

DescribePlayerSessionsRequest

取得するプレイヤーセッションを指定するオブジェクト。サーバープロセスはこの情報を Amazon GameLift への DescribePlayerSessions() 呼び出しで提供します。

プロパティ 説明
GameSessionID

一意のゲームセッション識別子。このパラメータを使用して、指定したゲームセッションのすべてのプレイヤーセッションをリクエストします。

ゲームセッション ID の形式は arn:aws:gamelift:<region>::gamesession/fleet-<fleet ID>/<ID string> です。GameSessionID はカスタム ID 文字列または生成された文字列です。

タイプ: String

必須: いいえ

PlayerSessionID

プレイヤーセッションを表す一意の識別子。このパラメータを使用して、特定の 1 つのプレイヤーセッションをリクエストします。

タイプ: String

必須: いいえ

PlayerID

プレイヤーの一意識別子。このパラメータを使用して、特定の 1 人のプレイヤーに対するすべてのプレイヤーセッションをリクエストします。「プレイヤー ID を生成する」を参照してください。

タイプ: String

必須: いいえ

PlayerSessionStatusFilter

結果をフィルタリングするプレイヤーセッションステータス。可能なプレイヤーセッションステータスには以下が含まれます。

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

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

  • COMPLETED – プレイヤー接続は削除されました。

  • TIMEDOUT – プレイヤーセッションリクエストは受領されましたが、タイムアウト制限 (60 秒) 内でのプレイヤーの接続や検証は行われていません。

タイプ: String

必須: いいえ

NextToken

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

タイプ: String

必須: いいえ

Limit

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

タイプ: int

必須: いいえ

StopMatchBackfillRequest

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

プロパティ 説明
GameSessionArn

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

タイプ: string

必須: いいえ

MatchmakingConfigurationArn

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

タイプ: string

必須: いいえ

TicketId

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

タイプ: string

必須: いいえ

GetFleetRoleCredentialsRequest

AWS リソースへの制限付きアクセスをゲームサーバーにまで拡張するロール認証情報。詳細については、「Amazon GameLift の IAM サービスロールをセットアップする」を参照してください。

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

タイプ: string

必須: はい

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

タイプ: string

必須: はい