リアルタイムサーバーインターフェイス - Amazon GameLift

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

リアルタイムサーバーインターフェイス

リアルタイムスクリプトが初期化を実行すると、リアルタイムサーバーへのインターフェイスが返されます。このトピックでは、インターフェイスを通じて使用できるプロパティとメソッドについて説明します。リアルタイムスクリプトの書き込み方法と詳細なスクリプト例につついては「リアルタイムスクリプトの作成」を参照してください。

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

  • セッション

  • player

  • gameMessage

  • 設定

リアルタイムセッションオブジェクト

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

getPlayers()

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

構文

rtSession.getPlayers()

broadcastGroupMembershipUpdate ()

更新されたグループメンバーシップリストのプレイヤーグループへの配信をトリガーします。ブロードキャストするメンバーシップ (groupIdToブロードキャスト) と更新を受け取るグループ () を指定しますtargetGroupId。すべてのグループを示すには、グループは正の整数または「-1IDs」である必要があります。ユーザー定義グループ の例リアルタイムサーバースクリプト例については、「」を参照してくださいIDs。

構文

rtSession.broadcastGroupMembershipUpdate(groupIdToBroadcast, targetGroupId)

getServerId()

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

構文

rtSession.getServerId()

getAllPlayersGroupId()

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

構文

rtSession.getAllPlayersGroupId()

processEnding()

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

構文

rtSession.processEnding()

getGameSessionId ()

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

構文

rtSession.getGameSessionId()

getLogger()

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

構文

rtSession.getLogger()

sendMessage()

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

構文

rtSession.sendMessage(gameMessage, targetPlayer)

sendGroupMessage()

newTextGameMessage または を使用して作成されたメッセージをリアルタイムサーバーからnewBinaryGameMessage、UDPチャンネルを使用してプレイヤーグループ内のすべてのプレイヤーに送信します。すべてのグループを示すには、グループは正の整数または「-1IDs」である必要があります。ユーザー定義グループ の例リアルタイムサーバースクリプト例については、「」を参照してくださいIDs。

構文

rtSession.sendGroupMessage(gameMessage, targetGroup)

sendReliableMessage()

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

構文

rtSession.sendReliableMessage(gameMessage, targetPlayer)

sendReliableGroupメッセージ ()

newTextGameMessage または を使用して作成されたメッセージをリアルタイムサーバーからnewBinaryGameMessage、TCPチャンネルを使用してプレイヤーグループ内のすべてのプレイヤーに送信します。すべてのグループを示すには、正の整数または「-1IDs」である必要があります。ユーザー定義グループ の例リアルタイムサーバースクリプト例については、「」を参照してくださいIDs。

構文

rtSession.sendReliableGroupMessage(gameMessage, targetGroup)

newTextGameメッセージ ()

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

構文

rtSession.newTextGameMessage(opcode, sender, payload)

newBinaryGameメッセージ ()

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

構文

rtSession.newBinaryGameMessage(opcode, sender, binaryPayload)

プレイヤーオブジェクト

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

プレイヤー。peerId

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

プレイヤー。playerSessionId

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

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

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

getPayloadAsText()

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

構文

gameMessage.getPayloadAsText()

gameMessage.opcode

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

gameMessageペイロード

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

gameMessage送信者

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

gameMessage信頼性

メッセージが TCP (true) 経由で送信されたか UDP (false) 経由で送信されたかを示すブール値。

設定オブジェクト

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

設定。maxPlayers

が受け入れることができるクライアント/サーバー接続の最大数 RealTimeServers。

デフォルトは 32 です。

設定。pingIntervalTime

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

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