Network - stingray.Network ネームスペース リファレンス - Stingray Lua API リファレンス

説明

Network オブジェクトはシステムに対するメイン インタフェースであり、ネットワークを介してマルチプレイヤー ゲームをプレイするために使用されます。

このシステムを使用するには、init_lan_client()init_steam_client()init_psn_client()init_xboxlive_client() など、使用するサブシステムを判定する init_...() 関数を最初に呼び出してシステムを設定する必要があります。

1 回に実行することができるネットワーク サブシステムは、常に 1 つだけです。

ネットワークを初期化した後、使用しているネットワーク サブシステムのロビー機能を使用して、新しいロビーを作成するか、または既存のロビーを見つけます(ロビー ブラウザを使用)。LANSteamPSN、またはXbox Live のうち、使用しているネットワーク サブシステムのインタフェースを参照します。

クライアントが実行されてる限り、各フレームで、Network.update() を呼び出してください。

ロビー内に十分なプレイヤーがいる場合、新しい GameSession を開始することができます。これは、実行中のマルチプレイヤー ゲームを管理するオブジェクトです。どのネットワーク サブシステムを使用している場合でも、同一のオブジェクトを使用します。

ネットワークの使用が完全に終了したら、使用しているネットワーク サブシステムの shutdown_...() 関数を呼び出す必要があります。たとえば、shutdown_lan_client()shutdown_steam_client()shutdown_psn_client()shutdown_xboxlive_client() などです。

DLC、Steam [Leaderboards]、Achievements などのその他のネットワーク機能は、ここでは見つかりません。

関数

パラメータ

config_resource :

string

ハッシュに対する .network_config データ ファイルのリソース名です。

戻り値
この関数は値を返しません。

これは、2 つのピアに互換性があるかどうかを判断するために使用できます。

パラメータ
この関数はパラメータを受け入れません。
戻り値

stingray.GameSession

新しく作成されたゲームセッションです。

1 回に実行することができるゲーム セッションは、常に 1 つだけです。既存のセッションがある場合は、まず、shutdown_game_session() を呼び出してそのセッションをシャットダウンしてから、新しいセッションを作成します。

注: サーバとクライアントの両方で、create_game_session() を呼び出す必要があります。サーバはゲーム開始時にこの呼び出しを行い、クライアントは、ゲームへの参加時にこの呼び出しを行います。

パラメータ

min_peer_kbps :

number

許可される最低のアップロード速度(kbit/秒)です。

initial_peer_kbps :

number

初期ののアップロード速度(kbit/秒)です。

max_total_kbps :

number

許可される最大の上流の帯域幅(kbit/秒)です。これは、複数のゲームにサービスを提供する専用サーバのトラフィックを制限するために使用されます。

戻り値
この関数は値を返しません。
パラメータ
この関数はパラメータを受け入れません。
戻り値

boolean

致命的なネットワーク エラーが発生した場合は true を返し、それ以外の場合は false を返します。

ゲームでは、Network オブジェクトをシャットダウンし、プレイヤーをオフラインモードにして、この条件に対応する必要があります。

たとえば、この条件は、プレイヤーがゲーム中に、PlayStation Network からサイン アウトした場合に発生することがあります。

パラメータ
この関数はパラメータを受け入れません。
戻り値

stingray.GameSession

現在のゲーム セッションです。または、まだゲーム セッションが設定されていない場合は、nil です。

パラメータ
この関数はパラメータを受け入れません。
戻り値

string

ネットワーク上でこのピアを一意に識別する文字列です。または、ピア ID がまだ設定されていない場合は nil です。

  • LAN のゲームで、ID は、ランダムな番号です。
  • Steam では、これがプレイヤーの Steam ID になります。

ピア ID が確立されていない場合、この関数は nil を返します。これは、PlayStation4 で発生する可能性があります。PlayStation4 では、ルームへの接続が確立されないと、ピア ID が判明しません。

パラメータ

player_id :

string

接続先のピア ID です。

戻り値

number

ping がプレイヤーに到達するのにかかる時間です。または、そのプレイヤーへの接続が存在しない場合は 0 です。

パラメータ

peer_id :

string

ピアを識別します。

戻り値

number

バッファのサイズ(バイト)です。または、ピアが存在しない場合は 0 です。

最初に、新しいピアがセッションに参加したとき、何らかの情報を送信しないと新しいピアがプレイを開始することができないのが一般的です。他方でまだ受信されていない情報を保持するバッファがオーバーロードしないように、ゲーム オブジェクトの作成メッセージが複数のフレームにわたって展開されます。すべてのゲームオブジェクトが正常に転送された後で、そのことを伝えるコールバックが示されます。ピアがセッションに参加しているときに大量のデータを送信している場合、RPC メッセージは同様の方法で処理する必要があります。ただし、これはエンジンによって内部的に処理されるわけではありません。この関数は、送信バッファに残りの空きが増えるまで、RPC メッセージの送信を停止することが最善かどうかを判断するために使用できます。

注: ユーザが認識していないデータをエンジンが送信する可能性もあるため、バッファを完全に一杯にはしないでください。

パラメータ
この関数はパラメータを受け入れません。
戻り値
この関数は値を返しません。
パラメータ
この関数はパラメータを受け入れません。
戻り値
この関数は値を返しません。

詳細については、[ReplaySession]のドキュメントを参照してください。

パラメータ

dt :

number

update() に対する前回の呼び出しのデルタ時間(秒)です。

callback_object :

table

ネットワーク接続されたゲーム セッション中に発生するイベントに対応するために呼び出されるコールバック関数のセットを含むテーブルです。

戻り値
この関数は値を返しません。

各イベントまたは RPC メッセージに対して、callback_object テーブルの関数が update() 呼び出し中に即座に呼び出されます。

他のピアによって送信された RPC メッセージの場合、呼び出された関数は .network_config データ ファイルで設定したメッセージの名前によって決定されます。詳細については、RPC オブジェクトのドキュメントを参照してください。

ゲーム イベントの場合は、プリセットのコールバック関数のリストがあり、ユーザは発生する可能性のあるさまざまな種類のゲーム イベントを処理するために、コールバック オブジェクトでこれを実装する必要があります。

  • game_object_created(id, creator_id)

id によって識別されるゲーム オブジェクトは、ピア creator_id によって作成されたことを通知します。

  • game_object_destroyed(id, destroyer_id)

id によって識別されるゲーム オブジェクトは、ピア destroyer_id によって破壊されたことを通知します。

  • game_object_migrated_to_me(id, old_owner_id)

ユーザが id によって識別されるゲーム オブジェクトの所有者になったことを通知します。 old_owner_id パラメータは、ゲーム オブジェクトを以前所有していたピアを識別します。

  • game_object_migrated_away(id, new_owner_id)

ユーザが id によって識別されるゲーム オブジェクトの所有者ではなくなったことを通知します。new_owner_id パラメータは、ゲーム オブジェクトを現在所有しているピアを識別します。

  • game_object_sync_done(peer_id)

新しいピアの追加後に、指定したリモートのピアとすべてのゲーム オブジェクトが同期されたことを通知します。そのため、以降はゲーム オブジェクトの作成メッセージに関連して RPC 呼び出しは順序付けされます。このコールバックの前は、RPC 呼び出しやゲーム オブジェクトの作成が呼び出しと同じ順序で到達することは保証されません。

  • game_session_disconnect(host_id)

ゲーム セッションのホストによって、ゲーム セッションから切断されていることが通知されます。ユーザがキック アウトされたか、またはゲーム セッションのホストがゲームを退出したかのどちらかです。

ネットワークの遅延を少し減らす場合は、代わりに update_receive() を呼び出してネットワーク通信を受信し、ゲーム内でこれらに対して応答し、同じフレーム内で後から update_transmit() を実行します。

パラメータ

dt :

number

update() に対する前回の呼び出しのデルタ時間(秒)です。

callback_object :

table

ネットワーク接続されたゲーム セッション中に発生するイベントに対応するために呼び出されるコールバック関数のセットを含むテーブルです。詳細については、update () の説明を参照してください。update() の単一の呼び出しではなく、フレームごとの遅延を少なくするため、update_receive() および update_transmit() をこの順序で呼び出すことができます。これにより、送信前に、同一のフレーム内の受信済みの情報に応答できる場合があります。

戻り値
この関数は値を返しません。
パラメータ
この関数はパラメータを受け入れません。
戻り値
この関数は値を返しません。

これにより、送信前に、同一のフレーム内の受信済みの情報に応答できる場合があります。

パラメータ

details :

string

ネットワーク ログ ファイルに書き込む文字列です。

戻り値
この関数は値を返しません。

ネットワーク ログ ファイルを調査するために Network Analyzer ツールを使用すると、これらのタグは、帯域幅のグラフの垂直マーカーとして表示されます。

環境設定

このグループ内の要素は、ネットワーク接続の環境設定に関連しています。

パラメータ

message_name :

string

情報を取得する RPC メッセージ タイプです。これは、.network_config データ ファイル内で指定されているメッセージの名前と対応している必要があります。

戻り値

network_message_info

指定されたメッセージ タイプについてのメタデータを含むテーブルです。

パラメータ

object_name :

string

情報を取得するゲーム オブジェクト タイプです。これは、.network_config データ ファイル内で指定されているオブジェクトの名前と対応している必要があります。

戻り値

network_object_info

指定したゲーム オブジェクト タイプに関するメタデータを含むテーブルです。

パラメータ

time :

number

連続した送信の間の新しい最小時間(秒)です。

戻り値
この関数は値を返しません。

既定値は 0.03 です。

パラメータ

time :

number

キープアライブ メッセージを送信する前の新しい時間(秒)です。

戻り値
この関数は値を返しません。

既定値は 0.5 です。

パラメータ

time :

number

キープアライブ メッセージを送信する前の新しい時間(秒)です。

戻り値
この関数は値を返しません。

既定値は 1.0 です。

パラメータ

time :

number

レシーバが失われたと想定される前の、新しい最大時間(秒)を設定します。

戻り値
この関数は値を返しません。

既定値は 60.0 です。

パラメータ

time :

number

新しく設定する再送信時間(秒)です。

戻り値
この関数は値を返しません。

既定値は 0.2 です。

パラメータ

type_name :

string

情報を取得するデータ型です。これは、.network_config データ ファイル内で指定されている型の名前と対応している必要があります。

戻り値

network_type_info

指定したデータ タイプに関するメタデータを含むテーブルです。

データ型

異なるデータ型の識別子です。Network.type_info() 関数によって使用されます。

ARRAY : integer

配列のデータ型です。

FLOAT : integer

浮動小数点数のデータ型です。

IDSTRING32 : integer

IdString32 のデータ型です。

IDSTRING64 : integer

IdString64 のデータ型です。

INT : integer

整数のデータ型です。

QUATERNION : integer

クォータニオン回転のデータ型です。

RESOURCE_ID : integer

リソース ID のデータ型です。

STRING : integer

文字列値のデータ型です。

UINT64 : integer

64 ビット整数値のデータ型です。

VECTOR3 : integer

3 次元ベクトル値のデータ型です。

デバッグ

このグループの要素は、ネットワーク接続されたゲームのデバッグに関連します。

パラメータ

log_level :

integer

MESSAGES または WARNINGS など、logging level グループからの任意の値にすることができます。

戻り値
この関数は値を返しません。

デバッグ ログ レベル

Network.log() に渡すことができるログ レベルです。

SILENT : integer

デバッグ出力がまったくありません。

SPEW : integer

ゲーム オブジェクトが更新され、詳細な情報と、上記のすべて内容が出力されます。

開発のみ

このグループの要素は、開発ビルドでのみ使用可能です。

最終的なビルドでは使用しないでください。

パラメータ

dump_file :

string

ネットワーク セッションのダンプを含むファイルへのパスです。

戻り値

stingray.GameSession

"Replay Session" として設定された新しい GameSession オブジェクトです。

詳細については、GameSession オブジェクトのドキュメントを参照してください。

パラメータ

peer_id :

string

サービス品質を無効にするピアの ID です。

戻り値
この関数は値を返しません。

enable_qos_peer ()を呼び出すことによって、再度有効化できます。

サービス品質システムのデバッグの目的で開発ビルドでのみ利用できます。この関数で何らかの効果を発揮するには、enable_qos() を呼び出してサービス品質を有効化する必要があります。

パラメータ

peer_id :

string

サービス品質を再度有効にするピアの ID です。

戻り値
この関数は値を返しません。

サービス品質システムのデバッグの目的で開発ビルドでのみ利用できます。この関数で何らかの効果を発揮するには、enable_qos() を呼び出してサービス品質を有効化する必要があります。

明示的な接続

このグループ内の要素は、明示的接続の環境設定に関連しています。

パラメータ
この関数はパラメータを受け入れません。
戻り値

string[]

ピアの ID を一覧表示するテーブルです。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
パラメータ

peer_id :

string

接続先の一意のピア ID です。

戻り値

integer

新しく作成された接続の ID です。

接続は、特定のピアに 1 つまで存在できます。そのため、ピアへの接続が既に存在する場合、この関数は呼び出せません。

この方法によってピアに直接接続するのは、特定のトランスポート レイヤ(Steam など)だけでサポートされています。その他のトランスポート レイヤ(PSN など)では、ルームおよびロビーごとに接続が設定されるため、ピアに直接接続する方法はありません。

パラメータ

peer_id :

string

接続解除するピアの一意の ID。

戻り値
この関数は値を返しません。

ネットワーク スタックのより上位のレイヤに使用されている接続を解除することはできません。そのため、まずは接続を解除できることを確認するために is_used() を呼び出してから、この関数を呼び出す必要があります。

パラメータ

peer_id :

string

テストするピアの一意の ID。

戻り値

integer?

このピアへの接続の ID です。または、接続が存在しない場合は、nil です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
パラメータ

peer_id :

string

接続がテストされるピアです。

戻り値

boolean

接続が解除されている場合は true を返し、それ以外の場合は false を返します。

パラメータ

peer_id :

string

接続がテストされるピアです。

戻り値

boolean

接続が使用されている場合は true を返し、それ以外の場合は false を返します。

接続の使用中は、明示的にその接続を解除することはできません。そのため、この関数が false を返さないと、destroy_connection () を呼び出すことはできません。この関数が true を返し、接続を閉じる場は、まずこのピアへの接続を使用している任意のロビー、ルーム、ゲーム セッションなどをシャットダウンする必要があります。

パラメータ
この関数はパラメータを受け入れません。
戻り値
この関数は値を返しません。

LAN 管理

パラメータ

lobby_port :

integer

ロビーの通信に使用する UDP ポートです。これを、init_lan_client() への呼び出しでゲーム ポートとして使用されている番号と同一のものにしないでください。ロビーを参照するクライアントは、ロビーのポート番号を指定するため、ロビーが動作しているすべてのピアに単一のウェルノウン ポートの番号を使用する必要があります。

max_members :

integer

このロビーに参加できるピアの最大数です。

戻り値

stingray.LanLobby

新しく作成されたロビー オブジェクトです。

この関数を使用して新しいロビーを作成すると、ユーザは自動的にロビーに参加します。join_lan_lobby() を呼び出す必要がありません。

パラメータ

config :

string

クライアントを設定するために使用する .network_config リソースの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。

game_port :

integer?

ネットワーク通信に使用する UDP ポートです。0 を指定するか、このパラメータを省略すると、ランダムな空きポートが選択されます。これは、ポート番号が衝突しないようになっているため、同一のマシン上で複数のネットワーク ノードをテストする場合に適しています。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

peer_id :

integer?

指定されている場合、この番号はその他のネットワークのノードに対してクライアントを識別する ID として使用されます。省略した場合、ランダムな番号が割り当てられます。ピアの ID は、LAN 上のすべてのノードで一意である必要があり、そうでない場合、メッセージは適切な宛先に到達しません。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

stingray.LanClient

新しいクライアント オブジェクトです。

LAN クライアント初期化後に各フレームで Network.update() を呼び出し、不要になったときは Network.shutdown_lan_client() を呼び出してください。

パラメータ

address :

string

ロビーを実行するホストの IP アドレスとロビーのポート番号です。この文字列は、フォーマット ip:port に従っており、LanLobbyBrowser.lobby() への呼び出しによって返される情報テーブルから通常取得されます。

lobby_port :

integer?

ロビーによってこのコンピュータ上で使用される必要があるポートです。

lobby_port0 を指定した場合、またはパラメータを省略した場合、ランダムな空きポートが使用されます。これは、同一のマシン上の複数のノードをテストする場合に適しています。create_lan_lobby() によって使用されるパブリック ロビー ポートとそのポートが衝突しないことを意味するからです。このアプローチの欠点は、ロビーのホストが終了し、ロビーがユーザに移行した場合、ロビーがランダムなポート上で動作しているため、その他のノードがそのユーザのロビーを見つけられないことです。ロビーがユーザに移行した場合にロビーを一般に見つけられるようにするには、create_lan_lobby() で使用しているパブリック ポートと同一のポートを使用する必要があります。ただし、これは、同一のマシン上で複数のネットワークのノードを実行できないことを意味します。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

stingray.LanLobby

ユーザが参加したロビーです。

パラメータ

lobby :

stingray.LanLobby

退出するロビーです。

戻り値
この関数は値を返しません。

ロビーをホストしている場合は、ロビー内の異なるピアに移行します。ユーザがロビーの最後のメンバーである場合、ロビーはネットワークから除去されます。

パラメータ

client :

stingray.LanClient

シャットダウンする LAN クライアントです。

戻り値
この関数は値を返しません。

PSN 管理

パラメータ

name :

string

新しいルームの名前です。

max_members :

integer

この部屋に参加できるピアの最大数です。

戻り値

integer

新しく作成されたルームを識別する ID です。

この関数を使用して新しいルームを作成すると、ユーザは自動的にルームに参加します。join_psn_room() を呼び出す必要がありません。

パラメータ

config :

string

クライアントを設定するために使用する .network_config リソースの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。

戻り値

stingray.PsnClient

新しいクライアント オブジェクトです。

パラメータ

room_id :

string

参加する部屋の ID です。この文字列は、PsnRoomBrowser.room () への呼び出しによって返される情報テーブルから通常取得されます。

戻り値

stingray.PsnRoom

参加した部屋です。

パラメータ

room :

stingray.PsnRoom

退出するルームです。

戻り値
この関数は値を返しません。

ルームをホストしている場合は、ルーム内の異なるピアに移行します。ユーザがルームの最後のメンバーである場合、ルームはネットワークから除去されます。

パラメータ

client :

stingray.PsnClient

シャットダウンする PSN クライアントです。

戻り値
この関数は値を返しません。

Steam ネットワーク管理

パラメータ

type_lobby :

integer

作成するロビーのタイプです。タイプは、lobby type constants のいずれかです。

max_members :

integer

ロビーで許可されるメンバーの最大数です。

戻り値

stingray.SteamLobby

新しく作成された Steam ロビーです。

ロビーの作成時に、ユーザは自動的にそのロビーに参加します。join_steam_lobby() を呼び出す必要はありません。

パラメータ

config :

string

クライアントを設定するために使用する * .network_config* ファイルの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。

戻り値

stingray.SteamClient

新しい Steam クライアント オブジェクトです。

この関数を呼び出す前に Steam が動作している必要があります。stingray.Steam オブジェクトと Steam.connected() 関数について参照してください。

パラメータ

config :

string

サーバを設定するために使用する * .network_config* ファイルの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。

settings :

network_steam_server_settings

キーと値のペアとして表される、サーバの環境設定を含むテーブルです。

戻り値

stingray.SteamGameServer

新しく作成された Steam ゲームサーバです。

パラメータ

lobby_id :

integer

Steam ロビーの ID です。

戻り値

stingray.SteamLobby

ロビーへの接続を表す、新しく作成された SteamLobby オブジェクトです。

パラメータ

ip_address :

string

a.b.c.d:e の形式の IPv4 アドレスです。ここで、最初の 4 つの数値はホストの IPv4 アドレスの構成要素であり、その後のコロンの後ろは、サーバによって使用されるクエリー ポートの番号です。たとえば、127.0.0.1:27016 です。

password :

string?

サーバに予期されるパスワードです(存在する場合)。パスワードで保護されたサーバへの接続にのみ必要です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

stingray.SteamGameServerLobby

サーバへの接続を追跡するロビー オブジェクトです。

ロビー オブジェクトが返され、サーバへの接続の進行状況を確認するために使用されます。

パラメータ

ip_address :

string

a.b.c.d:e の形式の IPv4 アドレスです。ここで、最初の 4 つの数値はホストの IPv4 アドレスの構成要素です。たとえば、127.0.0.1 です。

port :

number

サーバが使用するクエリー ポートの番号です。たとえば、27016 です。

password :

string?

サーバに予期されるパスワードです(存在する場合)。パスワードで保護されたサーバへの接続にのみ必要です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

stingray.SteamGameServerLobby

サーバへの接続を追跡するロビー オブジェクトです。

ロビー オブジェクトが返され、サーバへの接続の進行状況を確認するために使用されます。

パラメータ

lobby :

stingray.SteamLobby

退出する Steam ロビーです。

戻り値
この関数は値を返しません。

ロビーをホストしている場合は、ロビー内の異なるユーザに移行します。ユーザがロビーの最後のメンバーである場合、ロビーは除去されます。

パラメータ

server_lobby :

stingray.SteamGameServerLobby

除去するロビーです。

戻り値
この関数は値を返しません。
パラメータ

client :

stingray.SteamClient

シャットダウンする Steam クライアントです。

戻り値
この関数は値を返しません。
パラメータ

server :

stingray.SteamGameServer

シャットダウンする Steam ゲーム サーバです。

戻り値
この関数は値を返しません。

Steam ロビー タイプ

異なるタイプの Steam ロビーを表すために使用される定数です。

ロビーに友人が参加できることを示します。
ロビーが他の友人に表示されていないことを示します。ただし、検索によって返すことができます。
ロビーには招待されたユーザのみが参加できることを示します。
ロビーがロビー リスト内に表示されることを示します。

Xbox Live 管理

パラメータ

user_id :

integer

セッションがクリーンアップされるユーザの ID です。

戻り値
この関数は値を返しません。

ユーザがマッチメイクまたはセッションの作成を開始する前にこれを行うことは、適切なプラクティスです。この関数は非同期で動作し、clean_sessions_status() を使用してステータスを監視します。

これが完了すると、ジョブを解放する必要はなく、stingray.SessionJobStatus.COMPLETE の代わりに、完了時に自動的に stingray.Ses ionJobStatus.NOT_RUNNING に移行できます。

呼び出す前に、すべてのセッションが解放されていることを確認します。

パラメータ
この関数はパラメータを受け入れません。
戻り値

integer

clean_sessions( ) で開始される、クリーンアップ セッション操作のステータスです。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。

パラメータ

user_id :

integer

アクティビティをクリアする、ユーザの ID です。

戻り値
この関数は値を返しません。

この関数は非同期で動作し、clear_activity_status() を使用してステータスを監視します。

このジョブは完了したら、解放する必要がありません。

注: この関数は、set_activity() と異なり、セッションに依存しません。

パラメータ

user_id :

integer

クリア アクティビティ操作のステータスを取得するユーザの ID です。

戻り値

integer

clear_activity() によって開始されるユーザのクリア アクティビティのステータスです。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。

パラメータ

user_id :

integer

セッションを作成するユーザの ID です。

session_name :

string

セッションの名前です。すべての文字を小文字にする必要があります。

session_template_name :

string

セッション テンプレートの名前です。すべての文字を小文字にする必要があります。

create_as_host :

boolean

指定されたユーザがセッションのホストとして設定される必要がある場合は true です。

session_keywords :

string[]?

セッションのキーワードを表す、オプションの文字列のテーブルです。文字列を空にすることはできません。また、最大 63 文字以内で構成する必要があります。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

integer

セッション ID。Lua インタフェースで、このセッションの参照に使用されます。

stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。

廃止予定。create_multiplayer_session_host および create_multiplayer_session_client を使用してください。セッションを追跡するため、session_id ユーザを返します。

これは、各コンソールのメイン ユーザに対してのみ、呼び出す必要があります。複数のローカル ユーザが存在する場合は、stingray.Network.join_local_multiplayer_session() を使用してユーザをセッションに追加する必要があります。

セッションを退出するには、stingray.MultiplayerSession.leave() を使用します。非同期タスクが終了したら、stingray.Network.free_multiplayer_session() を呼び出してセッション リソースを解放する必要があります。

create_as_host マッチメイキングを介して見つかったリモート ホストに参加するときは、false として設定する必要があります。

パラメータ

user_id :

integer

セッションを作成するユーザの ID です。

session_name :

string

セッションの名前です。すべての文字を小文字にする必要があります。

session_template_name :

string

セッション テンプレートの名前です。すべての文字を小文字にする必要があります。

xbox_user_id_member_reservation :

integer[]?

場所をメンバーとして予約するための Xbox ユーザ ID のオプションのテーブルです。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

integer

セッション ID。Lua インタフェースで、このセッションの参照に使用されます。

stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。

セッションを追跡する session_id のユーザを返します。

これは、各コンソールのメイン ユーザに対してのみ、呼び出す必要があります。複数のローカル ユーザが存在する場合は、stingray.Network.join_local_multiplayer_session() を使用してユーザをセッションに追加する必要があります。

セッションを退出するには、stingray.MultiplayerSession.leave() を使用します。非同期タスクが終了したら、stingray.Network.free_multiplayer_session() を呼び出してセッション リソースを解放する必要があります。

パラメータ

user_id :

integer

セッションを作成するユーザの ID です。

session_name :

string

セッションの名前です。すべての文字を小文字にする必要があります。

session_template_name :

string

セッション テンプレートの名前です。すべての文字を小文字にする必要があります。

min_number_members :

integer?

セッション内メンバーのオプションの最小数です。このスレッショルドを満たしていない場合、メンバーは初期化手順に失敗します。セッション テンプレートが使用される既定値の 0 にします。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

max_number_members :

integer?

セッション内メンバーのオプションの最大数です。既定では、セッション テンプレートを使用する 0 であり、指定されない場合は、100 です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

session_keywords :

string[]?

セッションのキーワードを表す、オプションの文字列のテーブルです。文字列を空にすることはできません。また、最大 63 文字以内で構成する必要があります。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。

xbox_user_id_member_reservation :

integer[]?

場所をメンバーとして予約するための Xbox ユーザ ID のオプションのテーブルです。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

integer

セッション ID。Lua インタフェースで、このセッションの参照に使用されます。

stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。

セッションを追跡する session_id のユーザを返します。

これは、各コンソールのメイン ユーザに対してのみ、呼び出す必要があります。複数のローカル ユーザが存在する場合は、stingray.Network.join_local_multiplayer_session() を使用してユーザをセッションに追加する必要があります。

セッションを退出するには、stingray.MultiplayerSession.leave() を使用します。非同期タスクが終了したら、stingray.Network.free_multiplayer_session() を呼び出してセッション リソースを解放する必要があります。

パラメータ

session_lookup_id :

integer

解放するセッション ルックアップの ID です。

戻り値
この関数は値を返しません。

結果は、stingray.Network.get_activity_details_status()stingray.SessionJobStatus.COMPLETE または stingray.SessionJobStatus.FAILED を返したときにのみ、解放できます。

パラメータ

session_lookup_id :

integer

解放するセッション ルックアップの ID です。

戻り値
この関数は値を返しません。

結果は、stingray.Network.handle_to_description_status()stingray.SessionJobStatus.COMPLETE または stingray.SessionJobStatus.FAILED を返したときにのみ、解放できます。

パラメータ

session_id :

integer

解放するセッションの ID です。

戻り値
この関数は値を返しません。

stingray.MultiplayerSession.status()stingray.MultiplayerSession.SHUTDOWN を返すことを確認してから呼び出してください。

パラメータ

user_id :

integer

アクティビティのルックアップに使用するユーザの ID です。

xuids :

string[]

アクティビティをフェッチするユーザの xuid です。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。
戻り値

integer

ID。Lua インタフェースで、このアクティビティ詳細取得タスクを参照するために使用されます。

ステータスは stingray.Network.get_activity_details_status() を使用して監視でき、結果は stingray.Network.get_ ctivity_details_result() を使用して取得できます。

アクティビティ詳細取得タスクが終了したら、stingray.Network.free_get_activity_details() を呼び出すことでタスクを解放する必要があります。

パラメータ

session_lookup_id :

integer

結果を取得する、セッション ルックアップの ID です。

戻り値

activity_details*

アクティビティを設定しているユーザのアクティビティ詳細です。

* の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。

結果は、stingray.Network.get_activity_details_status()stingray.SessionJobStatus.COMPLETE を返したときにのみ、取得できます。

パラメータ

get_activites_id :

integer

ステータスを取得するアクティビティ詳細取得タスクの ID です。

戻り値

integer

stingray.Network.get_activity_details() を使用して開始されたアクティビティ詳細取得タスクのステータスを返します。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。

パラメータ

user_id :

integer

セッション ルックアップの実行に使用するユーザの ID です。

handle :

string

セッション ハンドル。文字列を空にすることはできません。また、最大 63 文字以内で構成する必要があります。

戻り値

integer

セッション ルックアップ ID。Lua インタフェースで、このセッションのルックアップ ジョブの参照に使用されます。

ステータスは stingray.Network.handle_to_description_status() を使用して監視でき、結果は stingray.Network.handle_to_description_result()·を使用して取得できます。

セッション ルックアップが完了したときに、stingray.Network.free_handle_to_description() を呼び出すことで解放する必要があります。

パラメータ

session_lookup_id :

integer

結果を取得する、セッション ルックアップの ID です。

戻り値

string

セッション名

string

セッションのテンプレート名

結果は、stingray.Network.handle_to_description_status()stingray.SessionJobStatus.COMPLETE を返したときにのみ、取得できます。

パラメータ

session_lookup_id :

integer

ステータスを取得する、セッション ルックアップの ID です。

戻り値

integer

stingray.Network.handle_to_description() を使用して開始されたセッション ルックアップのステータスを返します。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。

パラメータ

config :

string

クライアントを設定するために使用する .network_config リソースの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。

戻り値
この関数は値を返しません。

xboxlive_client_exists() とともに使用して、Xbox Live Client がこの関数の呼び出し前に存在しないことを確認します。

呼び出しの前に、一致するサービス設定 ID が settings.ini (service_config_id キーの下)と AppXManifest 内に存在することを確認します。

パラメータ

user_id :

integer

セッションを作成するユーザの ID です。

session_id :

integer

参加するセッションの ID です。

min_selection :

integer

選択されている必要がある最小人数です。この数値は、ゼロにすることができます。この数値は、max_selection の値を超えないようにする必要があります。

max_selection :

integer

選択することができる最大人数です。

custom_invite_id :

string?

カスタムの招待文字列に使用するオプションの ID です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値
この関数は値を返しません。
パラメータ

user_id :

integer

セッションを作成するユーザの ID です。

session_id :

integer

参加するセッションの ID です。

friend_xuids :

string[]

指定されたセッションに招待する友人に対する Xbox ユーザ ID のリストです。

[]表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。

custom_invite_id :

string?

カスタムの招待文字列に使用するオプションの ID です。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値
この関数は値を返しません。
パラメータ

user_id :

integer

セッションを作成するユーザの ID です。

session_id :

integer

参加するセッションの ID です。

戻り値

integer

セッション ID

stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。

この関数は、セッションに追加する必要がある複数のローカル ユーザが存在する場合に使用してください。stingray.Network.create_multiplayer_session () を使用して作成されたセッションが、初期の非同期操作を完了していることを確認してから呼び出します。

パラメータ

user_id :

integer

アクティビティを設定するユーザの ID です。

session_id :

integer

アクティビティを設定するセッションの ID です。

戻り値
この関数は値を返しません。

この関数は、関連付けられたセッションで非同期的に実行されます。stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。

注: この関数は指定されたセッションに依存するため、stingray.MultiplayerSession.status()stingray.MultiplayerSession.READY を返すことを確認してから呼び出してください。

パラメータ

user_id :

integer

プレゼンスを設定するユーザの ID です。

presence_id :

string

プレゼンスが設定される文字列の ID です。

is_active_in_title :

boolean?

ユーザが実際に、現在のタイトルを使用しているかどうかを指定します。既定では、true に設定されています。

? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。
戻り値

integer

プレゼンスの設定ジョブの ID です。

操作の進行状況を追跡するには、stingray.Network.set_presence_status() を使用します。システムは、ジョブが終了すると、自動的にジョブをクリーンアップします。

パラメータ

set_precense_job_id :

integer

ステータスを取得する、プレゼンス設定ジョブの ID です。

戻り値

integer

stingray.Network.set_presence() を使用して開始されたセッション ルックアップのステータスを返します。stingray.SessionJobStatus 定数のいずれかになります。

これが完了すると、ジョブを解放する必要はなく、stingray.SessionJobStatus.COMPLETE の代わりに、完了時に自動的に stingray.SessionJobSt tus.NOT_RUNNING に移行できます。

パラメータ
この関数はパラメータを受け入れません。
戻り値
この関数は値を返しません。
パラメータ
この関数はパラメータを受け入れません。
戻り値

boolean

Xbox Live Client が存在する場合は true です。