接続¶
オンラインゲームの最初のステップは、サーバーへの接続を初期化することです。アーキテクチャの概要で述べたように、Strixにはマスターサーバーとルームサーバーという2種類のサーバーがあります。マスターサーバーは特定のクラスターの情報を保持し、そのクラスターの各ルームサーバーはそのサーバーのさまざまなルームとそのルームにいるプレイヤーに関する情報を持ちます。
一般的には、Strixではサーバーへの接続と切断を次のように行います。
ゲームクライアントはまずマスターサーバーに接続します。
マスターサーバーに問い合わせて、クライアントは接続するべき適切なルームを見つけます。
クライアントは見つかったルームのあるルームサーバーに接続し、そのルームに参加します。
その後、クライアントはルームサーバーと(また、ルームサーバーを介して同じルーム内の他のクライアントと)通信しながらゲーム固有のロジックを実行し、マルチプレイヤーのゲームをプレイします。
クライアントがルームサーバーの利用を終えたなら、ルームサーバーとの接続を切断します。
その後クラアントは手順2に戻って次に使うルームサーバーを見つけるか、マスターサーバーとの接続を切断します。
接続と切断の関数はC#スクリプトAPIとして提供されています。
注釈
ある種の接続管理機能はStrix Unity SDKに含まれているStrixConnectUI
プレハブによっても提供されますが、これは主としてプロトタイプ開発用であり、完成した製品で使用するためのものではありません。詳しくはこのプレハブの説明をお読みください。
Strix Unity SDKでは、同時に1つのマスターサーバー接続と1つのルームサーバー接続が可能です。ルームサーバーに接続するためにはマスターサーバーへの接続が必要です。ルームサーバーへの接続はマスターサーバーから得た情報を使用して行うからです。これらの接続は全て、StrixNetwork
シングルトンのメソッドによって初期化します。
注釈
Strix Unity SDKでは、通常は手動でルームサーバーに接続する必要はありません。ルームに参加(しようと)する際に、StrixNetwork
シングルトンが適切なルームサーバーに自動的に接続するからです。