Strixアーキテクチャの概要¶
Strixはいくつかの構成要素から構築されています。
Strixサーバー: サーバー側アプリケーション。
Strix Cloud: Strixゲームサーバーをサービスとして利用するクラウドソリューション。Strix Cloudのウェブインターフェイスを利用してアクセスできます。
Strix Net/Strix Client: Strixの基本機能を実装するクライアント側ライブラリ。
Strix SDK: 特定のゲームエンジンに合わせたStrixの機能を提供するプラグイン。
StrixサーバーとStrix Cloud¶
Strix Cloud上に新しいアプリケーションを作成すると、サーバーのクラスターを追加できます。クラスターは、中央のマスターサーバーに接続されたいくつかのルームサーバーです。
マスターサーバー¶
Strixのサーバーには、マスターとルームという2つのタイプがあります。マスターサーバーには、接続されている各ルームサーバーと、それらのサーバー上のルームに関する最新情報が含まれています。マスターは、特定のクラスターのエントリポイントとして機能します。クライアントは検索操作を実行して、特定のルームまたはルームサーバーを検索できます。
ルームサーバー¶
ルームサーバーは、プレイヤーが参加できるルームを実行します。ルームサーバーは、ルームのメンバー間の通信をルーティングし、全てのルームのメンバーとルームのプロパティの情報を保持します。ルームサーバーはさまざまなルームを含むことができます。ルームの作成/削除はゲームアプリケーションが処理します。Strix Cloudインターフェースを通じてルームサーバーを構成し、ルーム数や1秒あたりのメッセージ数を制限できます。
ルームサーバーは、特定のマップまたはゲームのインスタンスを実行するのではなく、プレイヤーのリストを維持し、プレイヤー間のメッセージを処理します。個々のクライアントにはそれぞれ自身のゲーム状態があり、サーバーを介してルーティングされる他のプレイヤーからのさまざまなメッセージによって状態を更新します。Strixサーバーは、権限、接続、ルーティング、ルーム/クライアントプロパティ管理を処理します。
注釈
マスターサーバーがルームサーバーを兼ねることもできます。これは、単純なテスト用のクラスターで役立ちます。
Strix Net/Strix Client¶
Strixのクライアント側ライブラリで、Strixの基本機能を提供します。このライブラリがStrixサーバーとの間でメッセージを送受信します。また、マッチメイキング、移動補間、オブジェクト同期といったゲームに特有の機能の実装も含まれています。
Strix SDK¶
Strixでは特定のゲームエンジン用にSDKを提供しているため、Strixを使用した開発はシンプルかつ容易であり、既存の開発プロセスに適合します。新しいツールやスクリプト言語/プログラム言語を学ぶ必要はありません。Strix Unreal SDKは主にBlueprint関数とアクターコンポーネントとしてStrixの機能を提供していますが、高度な用途のためのC++ APIも利用できます。