翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 ミリ秒です。