Amazon GameLift ServersRealtime インターフェイス - Amazon GameLift Servers

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

Amazon GameLift ServersRealtime インターフェイス

Amazon GameLift ServersRealtime スクリプトが初期化されると、Realtimeサーバーへのインターフェイスが返されます。このトピックでは、インターフェイスを通じて使用できるプロパティとメソッドについて説明します。Realtime スクリプトの記述方法の詳細について説明し、「Realtime スクリプトの作成」で詳細なスクリプト例を示します。

Realtime インターフェイスは、以下のオブジェクトへのアクセスを提供します。

  • セッション

  • player

  • gameMessage

  • 設定

Realtime セッションオブジェクト

以下のメソッドを使用して、サーバー関連の情報にアクセスし、サーバー関連のアクションを実行します。

getPlayers()

現在ゲームセッションに接続しているプレイヤーのピア ID のリストを取得します。プレイヤーオブジェクトの配列を返します。

構文

rtSession.getPlayers()

broadcastGroupMembershipUpdate()

更新されたグループメンバーシップリストのプレイヤーグループへの配信をトリガーします。ブロードキャストするメンバーシップ (groupIdToBroadcast) と更新を受け取るグループ (targetGroupId) を指定します。グループ ID は、すべてのグループを示す正の整数または「-1」でなければなりません。ユーザー定義のグループ ID の例は「Amazon GameLift ServersRealtime スクリプトの例」を参照してください。

構文

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

メッセージをサーバーにルーティングするために使用される、サーバーの一意のピア ID 識別子を取得します。

構文

rtSession.getServerId()

getAllPlayersGroupId()

現在ゲームセッションに接続しているすべてのプレイヤーを含むデフォルトグループのグループ ID を取得します。

構文

rtSession.getAllPlayersGroupId()

processEnding()

ゲームサーバーを終了するために Realtime サーバーをトリガーします。この関数は、ゲームセッションから正常に終了するための Realtime スクリプトから呼び出す必要があります。

構文

rtSession.processEnding()

getGameSessionId()

現在実行中のゲームセッションの一意の ID を取得します。

構文

rtSession.getGameSessionId()

getLogger()

ログ記録用のインターフェイスを取得します。この関数を使用して、ゲームセッションログに収集されるステートメントを記録します。ロガーは「info」、「warn」、および「error」ステートメントの使用をサポートしています。例: logger.info("<string>")

構文

rtSession.getLogger()

sendMessage()

newTextGameMessage または newBinaryGameMessage を使用して作成されたメッセージを Realtime サーバーからプレイヤー受取人に UDP チャネルで送信します。プレイヤーのピア ID を使用して受取人を識別します。

構文

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

newTextGameMessage または newBinaryGameMessage を使用して作成されたメッセージを Realtime サーバーからプレイヤーグループ内のすべてのプレイヤーに UDP チャネルで送信します。グループ ID は、すべてのグループを示す正の整数または「-1」でなければなりません。ユーザー定義のグループ ID の例は「Amazon GameLift ServersRealtime スクリプトの例」を参照してください。

構文

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

newTextGameMessage または newBinaryGameMessage を使用して作成されたメッセージを Realtime サーバーからプレイヤー受取人に TCP チャネルで送信します。プレイヤーのピア ID を使用して受取人を識別します。

構文

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupMessage()

newTextGameMessage または newBinaryGameMessage を使用して作成されたメッセージを Realtime サーバーからプレイヤーグループ内のすべてのプレイヤーに TCP チャネルで送信します。グループ ID は、すべてのグループを示す正の整数または「-1」でなければなりません。ユーザー定義のグループ ID の例は「Amazon GameLift ServersRealtime スクリプトの例」を参照してください。

構文

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameMessage()

SendMessage 関数を使用してサーバーからプレイヤー受取人に送信される、テキストを含む新しいメッセージを作成します。メッセージ形式は、 のクライアント SDK で使用される形式と似ています Realtime (「」を参照RTMessage)。gameMessage オブジェクトを返します。

構文

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameMessage()

SendMessage 関数を使用してサーバーからプレイヤー受取人に送信される、バイナリデータを含む新しいメッセージを作成します。メッセージ形式は、 のクライアント SDK で使用される形式と似ています Realtime (「」を参照RTMessage)。gameMessage オブジェクトを返します。

構文

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

プレイヤーオブジェクト

プレイヤー関連の情報にアクセスします。

player.peerId

ゲームクライアントが Realtime サーバーに接続してゲームセッションに参加したときに割り当てられる一意の ID。

player.playerSessionId

ゲームクライアントが Realtime サーバーに接続してゲームセッションに参加したときに参照したプレイヤーセッション ID。

ゲームメッセージオブジェクト

以下のメソッドを使用して、Realtime サーバーによって受信されたメッセージにアクセスします。ゲームクライアントから受信したメッセージは RTMessage 構造になっています。

getPayloadAsText()

ゲームメッセージのペイロードをテキストとして取得します。

構文

gameMessage.getPayloadAsText()

gameMessage.opcode

メッセージに含まれているオペレーションコード。

gameMessage.payload

メッセージに含まれているペイロード。テキストまたはバイナリです。

gameMessage.sender

メッセージを送信したゲームクライアントのピア ID。

gameMessage.reliable

メッセージが TCP (true) または UDP (false) のどちらで送信されたかを示すブール値。

設定オブジェクト

設定オブジェクトは、デフォルトの設定を上書きするために使用できます。

configuration.maxPlayers

リアルタイムサーバーで受け入れられるクライアント/サーバー接続の最大数。

デフォルトは 32 です。

configuration.pingIntervalTime

接続が正常であることを確認するために、サーバーが接続されているすべてのクライアントに ping を送信しようとする時間間隔(ミリ秒)。

デフォルトは 3000 ミリ秒です。