Network オブジェクトはシステムに対するメイン インタフェースであり、ネットワークを介してマルチプレイヤー ゲームをプレイするために使用されます。
このシステムを使用するには、init_lan_client()、init_steam_client()、init_psn_client()、init_xboxlive_client() など、使用するサブシステムを判定する init_...() 関数を最初に呼び出してシステムを設定する必要があります。
1 回に実行することができるネットワーク サブシステムは、常に 1 つだけです。
ネットワークを初期化した後、使用しているネットワーク サブシステムのロビー機能を使用して、新しいロビーを作成するか、または既存のロビーを見つけます(ロビー ブラウザを使用)。LAN、Steam、PSN、またはXbox Live のうち、使用しているネットワーク サブシステムのインタフェースを参照します。
クライアントが実行されてる限り、各フレームで、Network.update() を呼び出してください。
ロビー内に十分なプレイヤーがいる場合、新しい GameSession を開始することができます。これは、実行中のマルチプレイヤー ゲームを管理するオブジェクトです。どのネットワーク サブシステムを使用している場合でも、同一のオブジェクトを使用します。
ネットワークの使用が完全に終了したら、使用しているネットワーク サブシステムの shutdown_...() 関数を呼び出す必要があります。たとえば、shutdown_lan_client()、shutdown_steam_client()、shutdown_psn_client()、shutdown_xboxlive_client() などです。
DLC、Steam [Leaderboards]、Achievements などのその他のネットワーク機能は、ここでは見つかりません。
その他の関連リファレンス項目
![]() | stingray.RPC |
![]() | stingray.UnitSynchronizer |
![]() | network_message_info network_object_info network_type_info |
![]() | network_type_info.type |
![]() | Networking |
![]() |
config_hash ( config_resource )![]() ネットワーク環境設定データ ファイルの内容に基づいてハッシュを作成します。
|
config_resource : | string | ハッシュに対する .network_config データ ファイルのリソース名です。 |
この関数は値を返しません。 |
これは、2 つのピアに互換性があるかどうかを判断するために使用できます。
![]() |
create_game_session ( ) : stingray.GameSession![]() 新しいゲーム セッションを作成します。
|
この関数はパラメータを受け入れません。 |
新しく作成されたゲームセッションです。 |
1 回に実行することができるゲーム セッションは、常に 1 つだけです。既存のセッションがある場合は、まず、shutdown_game_session() を呼び出してそのセッションをシャットダウンしてから、新しいセッションを作成します。
注: サーバとクライアントの両方で、create_game_session() を呼び出す必要があります。サーバはゲーム開始時にこの呼び出しを行い、クライアントは、ゲームへの参加時にこの呼び出しを行います。
その他の関連リファレンス項目
![]() |
enable_qos ( min_peer_kbps, initial_peer_kbps, max_total_kbps )![]() サービス品質システムを有効にします。これによって、帯域幅の容量に合うようアップロード制限の適合を試みます。
|
min_peer_kbps : | number | 許可される最低のアップロード速度(kbit/秒)です。 |
initial_peer_kbps : | number | 初期ののアップロード速度(kbit/秒)です。 |
max_total_kbps : | number | 許可される最大の上流の帯域幅(kbit/秒)です。これは、複数のゲームにサービスを提供する専用サーバのトラフィックを制限するために使用されます。 |
この関数は値を返しません。 |
その他の関連リファレンス項目
![]() |
fatal_error ( ) : boolean![]() さらなるネットワーク操作を妨げる致命的なネットワーク エラーが発生したかどうかを示します。
|
この関数はパラメータを受け入れません。 |
boolean |
致命的なネットワーク エラーが発生した場合は true を返し、それ以外の場合は false を返します。 |
ゲームでは、Network オブジェクトをシャットダウンし、プレイヤーをオフラインモードにして、この条件に対応する必要があります。
たとえば、この条件は、プレイヤーがゲーム中に、PlayStation Network からサイン アウトした場合に発生することがあります。
![]() |
game_session ( ) : stingray.GameSession![]() 現在のゲーム セッションを返します。
|
この関数はパラメータを受け入れません。 |
現在のゲーム セッションです。または、まだゲーム セッションが設定されていない場合は、nil です。 |
![]() |
peer_id ( ) : string![]() このピアを一意に識別する ID です。
|
この関数はパラメータを受け入れません。 |
string |
ネットワーク上でこのピアを一意に識別する文字列です。または、ピア ID がまだ設定されていない場合は nil です。 |
ピア ID が確立されていない場合、この関数は nil を返します。これは、PlayStation4 で発生する可能性があります。PlayStation4 では、ルームへの接続が確立されないと、ピア ID が判明しません。
その他の関連リファレンス項目
![]() |
ping ( player_id ) : number![]() 指定したピアに ping を実行し、その ping にかかった時間を返します。
|
player_id : | string | 接続先のピア ID です。 |
number |
ping がプレイヤーに到達するのにかかる時間です。または、そのプレイヤーへの接続が存在しない場合は 0 です。 |
その他の関連リファレンス項目
![]() |
reliable_send_buffer_left ( peer_id ) : number![]() 特定のピアについて、信頼できる送信バッファ内の残りの入力サイズ(バイト)を返します。
|
peer_id : | string | ピアを識別します。 |
number |
バッファのサイズ(バイト)です。または、ピアが存在しない場合は 0 です。 |
最初に、新しいピアがセッションに参加したとき、何らかの情報を送信しないと新しいピアがプレイを開始することができないのが一般的です。他方でまだ受信されていない情報を保持するバッファがオーバーロードしないように、ゲーム オブジェクトの作成メッセージが複数のフレームにわたって展開されます。すべてのゲームオブジェクトが正常に転送された後で、そのことを伝えるコールバックが示されます。ピアがセッションに参加しているときに大量のデータを送信している場合、RPC メッセージは同様の方法で処理する必要があります。ただし、これはエンジンによって内部的に処理されるわけではありません。この関数は、送信バッファに残りの空きが増えるまで、RPC メッセージの送信を停止することが最善かどうかを判断するために使用できます。
注: ユーザが認識していないデータをエンジンが送信する可能性もあるため、バッファを完全に一杯にはしないでください。
![]() |
現在の GameSession をシャットダウンします(存在する場合)。
|
この関数はパラメータを受け入れません。 |
この関数は値を返しません。 |
その他の関連リファレンス項目
この関数はパラメータを受け入れません。 |
この関数は値を返しません。 |
詳細については、[ReplaySession]のドキュメントを参照してください。
その他の関連リファレンス項目
![]() |
update ( dt, callback_object )![]() ネットワーク システムを更新します。また、最後の更新以降に発生したイベントのコールバックおよび送信された RPC メッセージを介してユーザに通知します。
|
dt : | number | update() に対する前回の呼び出しのデルタ時間(秒)です。 |
callback_object : | table | ネットワーク接続されたゲーム セッション中に発生するイベントに対応するために呼び出されるコールバック関数のセットを含むテーブルです。 |
この関数は値を返しません。 |
各イベントまたは RPC メッセージに対して、callback_object テーブルの関数が update() 呼び出し中に即座に呼び出されます。
他のピアによって送信された RPC メッセージの場合、呼び出された関数は .network_config データ ファイルで設定したメッセージの名前によって決定されます。詳細については、RPC オブジェクトのドキュメントを参照してください。
ゲーム イベントの場合は、プリセットのコールバック関数のリストがあり、ユーザは発生する可能性のあるさまざまな種類のゲーム イベントを処理するために、コールバック オブジェクトでこれを実装する必要があります。
id によって識別されるゲーム オブジェクトは、ピア creator_id によって作成されたことを通知します。
id によって識別されるゲーム オブジェクトは、ピア destroyer_id によって破壊されたことを通知します。
ユーザが id によって識別されるゲーム オブジェクトの所有者になったことを通知します。 old_owner_id パラメータは、ゲーム オブジェクトを以前所有していたピアを識別します。
ユーザが id によって識別されるゲーム オブジェクトの所有者ではなくなったことを通知します。new_owner_id パラメータは、ゲーム オブジェクトを現在所有しているピアを識別します。
新しいピアの追加後に、指定したリモートのピアとすべてのゲーム オブジェクトが同期されたことを通知します。そのため、以降はゲーム オブジェクトの作成メッセージに関連して RPC 呼び出しは順序付けされます。このコールバックの前は、RPC 呼び出しやゲーム オブジェクトの作成が呼び出しと同じ順序で到達することは保証されません。
ゲーム セッションのホストによって、ゲーム セッションから切断されていることが通知されます。ユーザがキック アウトされたか、またはゲーム セッションのホストがゲームを退出したかのどちらかです。
ネットワークの遅延を少し減らす場合は、代わりに update_receive() を呼び出してネットワーク通信を受信し、ゲーム内でこれらに対して応答し、同じフレーム内で後から update_transmit() を実行します。
その他の関連リファレンス項目
![]() |
update_receive ( dt, callback_object )![]() |
dt : | number | update() に対する前回の呼び出しのデルタ時間(秒)です。 |
callback_object : | table | ネットワーク接続されたゲーム セッション中に発生するイベントに対応するために呼び出されるコールバック関数のセットを含むテーブルです。詳細については、update () の説明を参照してください。update() の単一の呼び出しではなく、フレームごとの遅延を少なくするため、update_receive() および update_transmit() をこの順序で呼び出すことができます。これにより、送信前に、同一のフレーム内の受信済みの情報に応答できる場合があります。 |
この関数は値を返しません。 |
その他の関連リファレンス項目
![]() |
update_transmit ( )![]() |
この関数はパラメータを受け入れません。 |
この関数は値を返しません。 |
これにより、送信前に、同一のフレーム内の受信済みの情報に応答できる場合があります。
その他の関連リファレンス項目
![]() |
write_dump_tag ( details )![]() ネットワーク システムが settings.ini ファイルですべてのネットワークのログを書き込むように設定されている場合、この関数は指定された名前でログ ファイルにタグを書き込みます。
|
details : | string | ネットワーク ログ ファイルに書き込む文字列です。 |
この関数は値を返しません。 |
ネットワーク ログ ファイルを調査するために Network Analyzer ツールを使用すると、これらのタグは、帯域幅のグラフの垂直マーカーとして表示されます。
このグループ内の要素は、ネットワーク接続の環境設定に関連しています。
![]() |
message_info ( message_name ) : network_message_info![]() 優先順位、期待される引数など、指定したメッセージ タイプについてのメタデータを含むテーブルを返します。
|
message_name : | string | 情報を取得する RPC メッセージ タイプです。これは、.network_config データ ファイル内で指定されているメッセージの名前と対応している必要があります。 |
指定されたメッセージ タイプについてのメタデータを含むテーブルです。 |
その他の関連リファレンス項目
![]() |
object_info ( object_name ) : network_object_info![]() 優先順位、データ フィールドなど、指定したゲームオブジェクト タイプに関するメタデータを含むテーブルを返します。
|
object_name : | string | 情報を取得するゲーム オブジェクト タイプです。これは、.network_config データ ファイル内で指定されているオブジェクトの名前と対応している必要があります。 |
指定したゲーム オブジェクト タイプに関するメタデータを含むテーブルです。 |
その他の関連リファレンス項目
![]() |
set_max_transmit_rate ( time )![]() 連続した送信の間で経過可能な最小時間を設定します。
|
time : | number | 連続した送信の間の新しい最小時間(秒)です。 |
この関数は値を返しません。 |
既定値は 0.03 です。
![]() |
set_ping_resend_time ( time )![]() 応答がない場合のキープアライブ メッセージ間の時間を設定します。
|
time : | number | キープアライブ メッセージを送信する前の新しい時間(秒)です。 |
この関数は値を返しません。 |
既定値は 0.5 です。
![]() |
set_ping_send_time ( time )![]() キープアライブの応答と次のキープアライブ メッセージ間の時間を設定します。
|
time : | number | キープアライブ メッセージを送信する前の新しい時間(秒)です。 |
この関数は値を返しません。 |
既定値は 1.0 です。
![]() |
set_pong_timeout ( time )![]() レシーバが失われたとみなされる前のタイムアウトを設定します。
|
time : | number | レシーバが失われたと想定される前の、新しい最大時間(秒)を設定します。 |
この関数は値を返しません。 |
既定値は 60.0 です。
![]() |
set_resend_time ( time )![]() 破棄されたと想定されるパケットを再送信する前の時間(秒)を設定します。
|
time : | number | 新しく設定する再送信時間(秒)です。 |
この関数は値を返しません。 |
既定値は 0.2 です。
![]() |
type_info ( type_name ) : network_type_info![]() その型の値を圧縮するためにエンジンが使用するビット数、最小値や最大値など、指定したデータ型に関するメタデータが含まれているテーブルを返します。
|
type_name : | string | 情報を取得するデータ型です。これは、.network_config データ ファイル内で指定されている型の名前と対応している必要があります。 |
指定したデータ タイプに関するメタデータを含むテーブルです。 |
その他の関連リファレンス項目
異なるデータ型の識別子です。Network.type_info() 関数によって使用されます。
![]() |
ARRAY : integer![]() 配列のデータ型です。
|
![]() |
BOOL : 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 ( log_level )![]() デバッグ コンソールに送信される情報のレベルを設定します。
|
log_level : | integer | MESSAGES または WARNINGS など、logging level グループからの任意の値にすることができます。 |
この関数は値を返しません。 |
その他の関連リファレンス項目
Network.log() に渡すことができるログ レベルです。
![]() |
MESSAGES : integer![]() ゲーム オブジェクトの作成、移行、および破棄のメッセージが、警告に加えて出力されます。
|
その他の関連リファレンス項目
![]() |
SILENT : integer![]() デバッグ出力がまったくありません。
|
![]() |
SPEW : integer![]() ゲーム オブジェクトが更新され、詳細な情報と、上記のすべて内容が出力されます。
|
![]() |
WARNINGS : integer![]() 警告のみです。
|
その他の関連リファレンス項目
このグループの要素は、開発ビルドでのみ使用可能です。
最終的なビルドでは使用しないでください。
![]() |
create_replay_session ( dump_file ) : stingray.GameSession![]() 新しい再生セッションを開始します。
|
dump_file : | string | ネットワーク セッションのダンプを含むファイルへのパスです。 |
"Replay Session" として設定された新しい GameSession オブジェクトです。 |
詳細については、GameSession オブジェクトのドキュメントを参照してください。
その他の関連リファレンス項目
![]() |
disable_qos_peer ( peer_id )![]() 指定されたピアとの通信のためのサービス品質システムを無効にします。
|
peer_id : | string | サービス品質を無効にするピアの ID です。 |
この関数は値を返しません。 |
enable_qos_peer ()を呼び出すことによって、再度有効化できます。
サービス品質システムのデバッグの目的で開発ビルドでのみ利用できます。この関数で何らかの効果を発揮するには、enable_qos() を呼び出してサービス品質を有効化する必要があります。
その他の関連リファレンス項目
![]() |
enable_qos_peer ( peer_id )![]() disable_qos_peer() を呼び出して無効化した後、指定したピアとの通信のサービス品質システムを再度有効化します。
|
peer_id : | string | サービス品質を再度有効にするピアの ID です。 |
この関数は値を返しません。 |
サービス品質システムのデバッグの目的で開発ビルドでのみ利用できます。この関数で何らかの効果を発揮するには、enable_qos() を呼び出してサービス品質を有効化する必要があります。
その他の関連リファレンス項目
このグループ内の要素は、明示的接続の環境設定に関連しています。
![]() |
connections ( ) : string[]![]() アクティブな接続を持つすべてのピアのリストを返します。
|
この関数はパラメータを受け入れません。 |
string[] |
ピアの ID を一覧表示するテーブルです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
![]() |
create_connection ( peer_id ) : integer![]() 指定したピアへの新しい接続を作成します。
|
peer_id : | string | 接続先の一意のピア ID です。 |
integer |
新しく作成された接続の ID です。 |
接続は、特定のピアに 1 つまで存在できます。そのため、ピアへの接続が既に存在する場合、この関数は呼び出せません。
この方法によってピアに直接接続するのは、特定のトランスポート レイヤ(Steam など)だけでサポートされています。その他のトランスポート レイヤ(PSN など)では、ルームおよびロビーごとに接続が設定されるため、ピアに直接接続する方法はありません。
![]() |
destroy_connection ( peer_id )![]() 接続が存在する場合は、指定したピアから切断します。
|
peer_id : | string | 接続解除するピアの一意の ID。 |
この関数は値を返しません。 |
ネットワーク スタックのより上位のレイヤに使用されている接続を解除することはできません。そのため、まずは接続を解除できることを確認するために is_used() を呼び出してから、この関数を呼び出す必要があります。
その他の関連リファレンス項目
![]() |
has_connection ( peer_id ) : integer?![]() 指定したピアへの接続 ID を返します(存在する場合)。
|
peer_id : | string | テストするピアの一意の ID。 |
integer? |
このピアへの接続の ID です。または、接続が存在しない場合は、nil です。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
![]() |
is_broken ( peer_id ) : boolean![]() 指定したピアへの接続が解除されているかどうかを示します。たとえば、ネットワーク システムがそのピアに対してメッセージを送信できないなどの場合です。
|
peer_id : | string | 接続がテストされるピアです。 |
boolean |
接続が解除されている場合は true を返し、それ以外の場合は false を返します。 |
![]() |
is_used ( peer_id ) : boolean![]() 指定したピアへの接続が、ルーム、ロビー、ゲーム セッションなどのネットワーク システムの上位のレイヤによって使用されているかどうかを示します。
|
peer_id : | string | 接続がテストされるピアです。 |
boolean |
接続が使用されている場合は true を返し、それ以外の場合は false を返します。 |
接続の使用中は、明示的にその接続を解除することはできません。そのため、この関数が false を返さないと、destroy_connection () を呼び出すことはできません。この関数が true を返し、接続を閉じる場は、まずこのピアへの接続を使用している任意のロビー、ルーム、ゲーム セッションなどをシャットダウンする必要があります。
その他の関連リファレンス項目
![]() |
create_lan_lobby ( lobby_port, max_members ) : stingray.LanLobby![]() LAN 上のロビーを作成します。
|
lobby_port : | integer | ロビーの通信に使用する UDP ポートです。これを、init_lan_client() への呼び出しでゲーム ポートとして使用されている番号と同一のものにしないでください。ロビーを参照するクライアントは、ロビーのポート番号を指定するため、ロビーが動作しているすべてのピアに単一のウェルノウン ポートの番号を使用する必要があります。 |
max_members : | integer | このロビーに参加できるピアの最大数です。 |
新しく作成されたロビー オブジェクトです。 |
この関数を使用して新しいロビーを作成すると、ユーザは自動的にロビーに参加します。join_lan_lobby() を呼び出す必要がありません。
その他の関連リファレンス項目
![]() |
init_lan_client ( config, game_port, peer_id ) : stingray.LanClient![]() ローカル エリアネットワーク(LAN)上の他のゲームに接続するネットワーク システムを初期化します。
|
config : | string | クライアントを設定するために使用する .network_config リソースの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。 |
game_port : | integer? | ネットワーク通信に使用する UDP ポートです。0 を指定するか、このパラメータを省略すると、ランダムな空きポートが選択されます。これは、ポート番号が衝突しないようになっているため、同一のマシン上で複数のネットワーク ノードをテストする場合に適しています。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
peer_id : | integer? | 指定されている場合、この番号はその他のネットワークのノードに対してクライアントを識別する ID として使用されます。省略した場合、ランダムな番号が割り当てられます。ピアの ID は、LAN 上のすべてのノードで一意である必要があり、そうでない場合、メッセージは適切な宛先に到達しません。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
新しいクライアント オブジェクトです。 |
LAN クライアント初期化後に各フレームで Network.update() を呼び出し、不要になったときは Network.shutdown_lan_client() を呼び出してください。
その他の関連リファレンス項目
![]() |
join_lan_lobby ( address, lobby_port ) : stingray.LanLobby![]() 指定したアドレスでロビーに参加します。
|
address : | string | ロビーを実行するホストの IP アドレスとロビーのポート番号です。この文字列は、フォーマット ip:port に従っており、LanLobbyBrowser.lobby() への呼び出しによって返される情報テーブルから通常取得されます。 |
lobby_port : | integer? | ロビーによってこのコンピュータ上で使用される必要があるポートです。 lobby_port に 0 を指定した場合、またはパラメータを省略した場合、ランダムな空きポートが使用されます。これは、同一のマシン上の複数のノードをテストする場合に適しています。create_lan_lobby() によって使用されるパブリック ロビー ポートとそのポートが衝突しないことを意味するからです。このアプローチの欠点は、ロビーのホストが終了し、ロビーがユーザに移行した場合、ロビーがランダムなポート上で動作しているため、その他のノードがそのユーザのロビーを見つけられないことです。ロビーがユーザに移行した場合にロビーを一般に見つけられるようにするには、create_lan_lobby() で使用しているパブリック ポートと同一のポートを使用する必要があります。ただし、これは、同一のマシン上で複数のネットワークのノードを実行できないことを意味します。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
ユーザが参加したロビーです。 |
その他の関連リファレンス項目
![]() |
leave_lan_lobby ( lobby )![]() 指定されたロビーを退出します。
|
lobby : | 退出するロビーです。 |
この関数は値を返しません。 |
ロビーをホストしている場合は、ロビー内の異なるピアに移行します。ユーザがロビーの最後のメンバーである場合、ロビーはネットワークから除去されます。
![]() |
shutdown_lan_client ( client )![]() init_lan_client() の呼び出しによって以前に作成された、指定された LanClient·をシャットダウンします。
|
client : | シャットダウンする LAN クライアントです。 |
この関数は値を返しません。 |
その他の関連リファレンス項目
![]() |
create_psn_room ( name, max_members ) : integer![]() 指定した type および name を使用して PlayStation Network 上にルームを作成します。
|
name : | string | 新しいルームの名前です。 |
max_members : | integer | この部屋に参加できるピアの最大数です。 |
integer |
新しく作成されたルームを識別する ID です。 |
この関数を使用して新しいルームを作成すると、ユーザは自動的にルームに参加します。join_psn_room() を呼び出す必要がありません。
その他の関連リファレンス項目
![]() |
init_psn_client ( config ) : stingray.PsnClient![]() PlayStation Network (PSN)を介して他のゲームに接続するネットワーク システムを初期化します。
|
config : | string | クライアントを設定するために使用する .network_config リソースの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。 |
新しいクライアント オブジェクトです。 |
その他の関連リファレンス項目
![]() |
join_psn_room ( room_id ) : stingray.PsnRoom![]() 指定された ID を使用して、ルームに参加します。
|
![]() |
leave_psn_room ( room )![]() 指定されたルームを退出します。
|
room : | 退出するルームです。 |
この関数は値を返しません。 |
ルームをホストしている場合は、ルーム内の異なるピアに移行します。ユーザがルームの最後のメンバーである場合、ルームはネットワークから除去されます。
![]() |
shutdown_psn_client ( client )![]() init_psn_client() の呼び出しによって以前に作成された、指定された PsnClient をシャットダウンします。
|
![]() |
create_steam_lobby ( type_lobby, max_members ) : stingray.SteamLobby![]() SteamLobby を作成します。
|
type_lobby : | integer | 作成するロビーのタイプです。タイプは、lobby type constants のいずれかです。 |
max_members : | integer | ロビーで許可されるメンバーの最大数です。 |
新しく作成された Steam ロビーです。 |
ロビーの作成時に、ユーザは自動的にそのロビーに参加します。join_steam_lobby() を呼び出す必要はありません。
その他の関連リファレンス項目
![]() |
init_steam_client ( config ) : stingray.SteamClient![]() Steam クライアントとして、他のゲームに接続するネットワーク システムを初期化します。
|
config : | string | クライアントを設定するために使用する * .network_config* ファイルの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。 |
新しい Steam クライアント オブジェクトです。 |
この関数を呼び出す前に Steam が動作している必要があります。stingray.Steam オブジェクトと Steam.connected() 関数について参照してください。
その他の関連リファレンス項目
![]() |
init_steam_server ( config, settings ) : stingray.SteamGameServer![]() ネットワークを Steam ゲーム サーバとして初期化します。このサーバは、Steam クライアントで Steam サーバ ブラウザを使用して見つけることができます。
|
config : | string | サーバを設定するために使用する * .network_config* ファイルの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。 |
settings : | キーと値のペアとして表される、サーバの環境設定を含むテーブルです。 |
新しく作成された Steam ゲームサーバです。 |
その他の関連リファレンス項目
![]() |
join_steam_lobby ( lobby_id ) : stingray.SteamLobby![]() 指定された ID によって識別されるロビーに参加します。
|
lobby_id : | integer | Steam ロビーの ID です。 |
ロビーへの接続を表す、新しく作成された SteamLobby オブジェクトです。 |
その他の関連リファレンス項目
![]() |
join_steam_server ( ip_address, password ) : stingray.SteamGameServerLobby![]() インターネットの Steam サーバに参加します。
|
ip_address : | string | a.b.c.d:e の形式の IPv4 アドレスです。ここで、最初の 4 つの数値はホストの IPv4 アドレスの構成要素であり、その後のコロンの後ろは、サーバによって使用されるクエリー ポートの番号です。たとえば、127.0.0.1:27016 です。 |
password : | string? | サーバに予期されるパスワードです(存在する場合)。パスワードで保護されたサーバへの接続にのみ必要です。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
サーバへの接続を追跡するロビー オブジェクトです。 |
ロビー オブジェクトが返され、サーバへの接続の進行状況を確認するために使用されます。
その他の関連リファレンス項目
![]() |
join_steam_server ( ip_address, port, password ) : stingray.SteamGameServerLobby![]() インターネットの Steam サーバに参加します。
|
ip_address : | string | a.b.c.d:e の形式の IPv4 アドレスです。ここで、最初の 4 つの数値はホストの IPv4 アドレスの構成要素です。たとえば、127.0.0.1 です。 |
port : | number | サーバが使用するクエリー ポートの番号です。たとえば、27016 です。 |
password : | string? | サーバに予期されるパスワードです(存在する場合)。パスワードで保護されたサーバへの接続にのみ必要です。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
サーバへの接続を追跡するロビー オブジェクトです。 |
ロビー オブジェクトが返され、サーバへの接続の進行状況を確認するために使用されます。
![]() |
leave_steam_lobby ( lobby )![]() 指定されたロビーを退出します。
|
lobby : | 退出する Steam ロビーです。 |
この関数は値を返しません。 |
ロビーをホストしている場合は、ロビー内の異なるユーザに移行します。ユーザがロビーの最後のメンバーである場合、ロビーは除去されます。
![]() |
leave_steam_server ( server_lobby )![]() サーバのロビーを除去し、サーバに通知します。
|
![]() |
shutdown_steam_client ( client )![]() init_steam_client() によって作成された SteamClient をシャットダウンします。
|
![]() |
shutdown_steam_server ( server )![]() init_steam_server() によって作成された SteamGameServer をシャットダウンします。
|
異なるタイプの Steam ロビーを表すために使用される定数です。
![]() |
STEAM_LOBBY_FRIENDS_ONLY : integer![]() ロビーに友人が参加できることを示します。
|
![]() |
STEAM_LOBBY_INVISIBLE : integer![]() ロビーが他の友人に表示されていないことを示します。ただし、検索によって返すことができます。
|
![]() |
STEAM_LOBBY_PRIVATE : integer![]() ロビーには招待されたユーザのみが参加できることを示します。
|
![]() |
STEAM_LOBBY_PUBLIC : integer![]() ロビーがロビー リスト内に表示されることを示します。
|
![]() |
clean_sessions ( user_id )![]() ユーザが関連付けられているすべてのセッションを退出します。古いセッションやリークしたセッションをクリーンアップするために使用されます。
|
user_id : | integer | セッションがクリーンアップされるユーザの ID です。 |
この関数は値を返しません。 |
ユーザがマッチメイクまたはセッションの作成を開始する前にこれを行うことは、適切なプラクティスです。この関数は非同期で動作し、clean_sessions_status() を使用してステータスを監視します。
これが完了すると、ジョブを解放する必要はなく、stingray.SessionJobStatus.COMPLETE の代わりに、完了時に自動的に stingray.Ses ionJobStatus.NOT_RUNNING に移行できます。
呼び出す前に、すべてのセッションが解放されていることを確認します。
その他の関連リファレンス項目
![]() |
clean_sessions_status ( ) : integer![]() セッションのクリーンアップ操作のステータスを返します。
|
この関数はパラメータを受け入れません。 |
integer |
clean_sessions( ) で開始される、クリーンアップ セッション操作のステータスです。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。 |
その他の関連リファレンス項目
![]() |
clear_activity ( user_id )![]() 指定されたユーザのアクティビティをクリアします。
|
user_id : | integer | アクティビティをクリアする、ユーザの ID です。 |
この関数は値を返しません。 |
この関数は非同期で動作し、clear_activity_status() を使用してステータスを監視します。
このジョブは完了したら、解放する必要がありません。
注: この関数は、set_activity() と異なり、セッションに依存しません。
その他の関連リファレンス項目
![]() |
clear_activity_status ( user_id ) : integer![]() ユーザ アクティビティのクリア操作のステータスを返します。
|
user_id : | integer | クリア アクティビティ操作のステータスを取得するユーザの ID です。 |
integer |
clear_activity() によって開始されるユーザのクリア アクティビティのステータスです。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。 |
その他の関連リファレンス項目
![]() |
create_multiplayer_session ( user_id, session_name, session_template_name, create_as_host, session_keywords ) : integer![]() セッションの作成および参加の非同期ジョブを開始します。
|
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 として設定する必要があります。
その他の関連リファレンス項目
![]() |
create_multiplayer_session_client ( user_id, session_name, session_template_name, xbox_user_id_member_reservation ) : integer![]() セッションの作成および参加の非同期ジョブを開始します。
|
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() を呼び出してセッション リソースを解放する必要があります。
![]() |
create_multiplayer_session_host ( user_id, session_name, session_template_name, session_keywords, min_number_members, max_number_members, xbox_user_id_member_reservation ) : integer![]() セッションの作成および参加の非同期ジョブを開始します。
|
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() を呼び出してセッション リソースを解放する必要があります。
![]() |
free_get_activity_details ( session_lookup_id )![]() stingray.Network.get_activity_details() を使用して開始された非同期タスクに属するリソースを解放します。
|
session_lookup_id : | integer | 解放するセッション ルックアップの ID です。 |
この関数は値を返しません。 |
結果は、stingray.Network.get_activity_details_status() が stingray.SessionJobStatus.COMPLETE または stingray.SessionJobStatus.FAILED を返したときにのみ、解放できます。
その他の関連リファレンス項目
![]() |
free_handle_to_description ( session_lookup_id )![]() stingray.Network.handle_to_description() を使用して開始された非同期タスクに属するリソースを解放します。
|
session_lookup_id : | integer | 解放するセッション ルックアップの ID です。 |
この関数は値を返しません。 |
結果は、stingray.Network.handle_to_description_status() が stingray.SessionJobStatus.COMPLETE または stingray.SessionJobStatus.FAILED を返したときにのみ、解放できます。
その他の関連リファレンス項目
![]() |
free_multiplayer_session ( session_id )![]() 指定された ID を持つセッションによって使用されるリソースを解放します。
|
session_id : | integer | 解放するセッションの ID です。 |
この関数は値を返しません。 |
stingray.MultiplayerSession.status() が stingray.MultiplayerSession.SHUTDOWN を返すことを確認してから呼び出してください。
その他の関連リファレンス項目
![]() |
get_activity_details ( user_id, xuids ) : integer![]() ユーザ アクティビティ詳細取得の非同期タスクを開始します。
|
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() を呼び出すことでタスクを解放する必要があります。
その他の関連リファレンス項目
![]() |
get_activity_details_result ( session_lookup_id ) : activity_details*![]() アクティビティ詳細取得タスクからの結果です。
|
session_lookup_id : | integer | 結果を取得する、セッション ルックアップの ID です。 |
アクティビティを設定しているユーザのアクティビティ詳細です。 * の注記は、指定されたタイプのゼロ以上のインスタンスがある場合があることを示します。 |
結果は、stingray.Network.get_activity_details_status() が stingray.SessionJobStatus.COMPLETE を返したときにのみ、取得できます。
その他の関連リファレンス項目
![]() |
get_activity_details_status ( get_activites_id ) : integer![]() |
get_activites_id : | integer | ステータスを取得するアクティビティ詳細取得タスクの ID です。 |
integer |
stingray.Network.get_activity_details() を使用して開始されたアクティビティ詳細取得タスクのステータスを返します。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。 |
その他の関連リファレンス項目
![]() |
handle_to_description ( user_id, handle ) : integer![]() 指定されたユーザの非同期セッション ルックアップ タスクを開始します。
|
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() を呼び出すことで解放する必要があります。
その他の関連リファレンス項目
![]() |
handle_to_description_result ( session_lookup_id ) : string, string![]() セッションのルックアップからの結果です。
|
session_lookup_id : | integer | 結果を取得する、セッション ルックアップの ID です。 |
string |
セッション名 |
string |
セッションのテンプレート名 |
結果は、stingray.Network.handle_to_description_status() が stingray.SessionJobStatus.COMPLETE を返したときにのみ、取得できます。
その他の関連リファレンス項目
![]() |
handle_to_description_status ( session_lookup_id ) : integer![]() |
session_lookup_id : | integer | ステータスを取得する、セッション ルックアップの ID です。 |
integer |
stingray.Network.handle_to_description() を使用して開始されたセッション ルックアップのステータスを返します。任意の SessionJobStatus(network.xbl.work_status)定数を使用できます。 |
その他の関連リファレンス項目
![]() |
init_xboxlive_client ( config )![]() Xbox Live を介して他のゲームに接続するネットワーク システムを初期化します。
|
config : | string | クライアントを設定するために使用する .network_config リソースの名前です。これにより、セッション中に使用できるゲーム オブジェクトのタイプと RPC メッセージを判定します。 |
この関数は値を返しません。 |
xboxlive_client_exists() とともに使用して、Xbox Live Client がこの関数の呼び出し前に存在しないことを確認します。
呼び出しの前に、一致するサービス設定 ID が settings.ini (service_config_id キーの下)と AppXManifest 内に存在することを確認します。
その他の関連リファレンス項目
![]() |
invite_friends ( user_id, session_id, min_selection, max_selection, custom_invite_id )![]() システム UI を開いて友人を選択し、友人に招待を送信します。
|
user_id : | integer | セッションを作成するユーザの ID です。 |
session_id : | integer | 参加するセッションの ID です。 |
min_selection : | integer | 選択されている必要がある最小人数です。この数値は、ゼロにすることができます。この数値は、max_selection の値を超えないようにする必要があります。 |
max_selection : | integer | 選択することができる最大人数です。 |
custom_invite_id : | string? | カスタムの招待文字列に使用するオプションの ID です。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
この関数は値を返しません。 |
その他の関連リファレンス項目
![]() |
invite_friends_list ( user_id, session_id, friend_xuids, custom_invite_id )![]() これにより、システム UI を開くことなく、友人へのゲーム招待送信の非同期ジョブが開始されます。
|
user_id : | integer | セッションを作成するユーザの ID です。 |
session_id : | integer | 参加するセッションの ID です。 |
friend_xuids : | string[] | 指定されたセッションに招待する友人に対する Xbox ユーザ ID のリストです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
custom_invite_id : | string? | カスタムの招待文字列に使用するオプションの ID です。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
この関数は値を返しません。 |
![]() |
join_local_multiplayer_session ( user_id, session_id ) : integer![]() ローカル ユーザをセッションに参加させる非同期ジョブが開始されます。
|
user_id : | integer | セッションを作成するユーザの ID です。 |
session_id : | integer | 参加するセッションの ID です。 |
integer |
セッション ID |
stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。
この関数は、セッションに追加する必要がある複数のローカル ユーザが存在する場合に使用してください。stingray.Network.create_multiplayer_session () を使用して作成されたセッションが、初期の非同期操作を完了していることを確認してから呼び出します。
その他の関連リファレンス項目
![]() |
set_activity ( user_id, session_id )![]() 指定されたセッションに対するユーザのアクティビティを設定します。
|
user_id : | integer | アクティビティを設定するユーザの ID です。 |
session_id : | integer | アクティビティを設定するセッションの ID です。 |
この関数は値を返しません。 |
この関数は、関連付けられたセッションで非同期的に実行されます。stingray.MultiplayerSession.status() を使用してセッションのステータスを追跡できます。
注: この関数は指定されたセッションに依存するため、stingray.MultiplayerSession.status() が stingray.MultiplayerSession.READY を返すことを確認してから呼び出してください。
その他の関連リファレンス項目
![]() |
set_presence ( user_id, presence_id, is_active_in_title ) : integer![]() この関数は、指定されたユーザのプレゼンスの文字列を設定します。
|
user_id : | integer | プレゼンスを設定するユーザの ID です。 |
presence_id : | string | プレゼンスが設定される文字列の ID です。 |
is_active_in_title : | boolean? | ユーザが実際に、現在のタイトルを使用しているかどうかを指定します。既定では、true に設定されています。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
integer |
プレゼンスの設定ジョブの ID です。 |
操作の進行状況を追跡するには、stingray.Network.set_presence_status() を使用します。システムは、ジョブが終了すると、自動的にジョブをクリーンアップします。
その他の関連リファレンス項目
![]() |
set_presence_status ( set_precense_job_id ) : integer![]() |
set_precense_job_id : | integer | ステータスを取得する、プレゼンス設定ジョブの ID です。 |
integer |
stingray.Network.set_presence() を使用して開始されたセッション ルックアップのステータスを返します。stingray.SessionJobStatus 定数のいずれかになります。 これが完了すると、ジョブを解放する必要はなく、stingray.SessionJobStatus.COMPLETE の代わりに、完了時に自動的に stingray.SessionJobSt tus.NOT_RUNNING に移行できます。 |
その他の関連リファレンス項目
![]() |
init_xboxlive_client() を使用して作成された Xbox Live Client をシャットダウンします。
|
この関数はパラメータを受け入れません。 |
この関数は値を返しません。 |
![]() |
xboxlive_client_exists ( ) : boolean![]() 任意のタイミングで、Xbox Live Clientが 1 つだけ存在することを確認するには、この関数を使用します。
|
この関数はパラメータを受け入れません。 |
boolean |
Xbox Live Client が存在する場合は true です。 |
その他の関連リファレンス項目