接続

オンラインゲームの最初のステップは、サーバーへの接続を初期化することです。アーキテクチャの概要で述べたように、Strixにはマスターサーバールームサーバーという2種類のサーバーがあります。マスターサーバーは特定のクラスターの情報を保持し、そのクラスターの各ルームサーバーはそのサーバーのさまざまなルームとそのルームにいるプレイヤーに関する情報を持ちます。

一般的には、Strixではサーバーへの接続と切断を次のように行います。

  1. ゲームクライアントはまずマスターサーバーに接続します。

  2. マスターサーバーに問い合わせて、クライアントは接続するべき適切なルームを見つけます。

  3. クライアントは見つかったルームのあるルームサーバーに接続し、そのルームに参加します。

  4. その後、クライアントはルームサーバーと(また、ルームサーバーを介して同じルーム内の他のクライアントと)通信しながらゲーム固有のロジックを実行し、マルチプレイヤーのゲームをプレイします。

  5. クライアントがルームサーバーの利用を終えたなら、ルームサーバーとの接続を切断します。

  6. その後クラアントは手順2に戻って次に使うルームサーバーを見つけるか、マスターサーバーとの接続を切断します。

接続と切断の関数はC#スクリプトAPIとして提供されています。

注釈

ある種の接続管理機能はStrix Unity SDKに含まれているStrixConnectUIプレハブによっても提供されますが、これは主としてプロトタイプ開発用であり、完成した製品で使用するためのものではありません。詳しくはこのプレハブの説明をお読みください。

Strix Unity SDKでは、同時に1つのマスターサーバー接続と1つのルームサーバー接続が可能です。ルームサーバーに接続するためにはマスターサーバーへの接続が必要です。ルームサーバーへの接続はマスターサーバーから得た情報を使用して行うからです。これらの接続は全て、StrixNetworkシングルトンのメソッドによって初期化します。

注釈

Strix Unity SDKでは、通常は手動でルームサーバーに接続する必要はありません。ルームに参加(しようと)する際に、StrixNetworkシングルトンが適切なルームサーバーに自動的に接続するからです。