ルームの検索

一般的に、マッチメイキング機能を備えたゲームには、プレイヤーが特定のマッチを検索して参加する機能があります。Strixはこれを、いくつかの検索機能を通じて提供します。

検索の引数

検索関数には、次に示す共通の引数があります。

名前

タイプ

説明

channelId

int

検索を行う接続のID

limit

int

返す結果の最大数

offset

int

全ての結果の中での返す結果へのオフセット

condition

FStrixCondition

検索する条件(下記参照)

order

FStrixOrder

結果を返す順序(下記参照)

検索条件

検索結果を絞り込むために、Strixは検索する条件を含むFStrixCondition構造体を提供します。

検索条件は、Strix BP Library >Adapterカテゴリーの関数を使用して作成できます。例えばField Not Equalsという関数があります。これらはFStrixCondition構造体を返します。Create And Conditionなどの関数により複数の条件を組み合わせて、複雑なクエリを作成することもできます。

検索条件はプロパティ値に作用します。例えば、プレイヤーの最小人数を指定してルームを検索するには、ルームのmemberCountプロパティに対してField Greater Than関数を使用します。

注釈

条件は型を区別します。ルームプロパティなどのドキュメントを確認して、個々のプロパティに適切な関数を選びます。

注釈

特殊なプロパティであるpropertiesに含まれているカスタムプロパティは検索できません。検索できるのはmemberCountのような標準のプロパティですが、これにはkey1のようにカスタマイズできるものも含まれます。カスタムプロパティは、ゲームプレイや、ルームが見つかった後にのみ必要になる表示に使用します。

検索順序

Strixには、検索結果を返す順序を指定するためのFStrixOrder構造体があります。Create Ascending OrderおよびCreate Descending Order関数を使って、指定したプロパティについての適切な向きの順序を作成します。

検索関数

Strixのルーム検索関数には、Search RoomSearch Joinable RoomSearch Node Room、およびSearch Joinable Node Roomがあります。

ノードルーム関数はマスターサーバー上で動作します。マスターサーバーは、クラスター内の全てのルームを追跡しているため、ルームサーバーに接続する前にクエリを実行できます。これらの関数はFStrixNodeRoomInfo構造体のリストを返します。

標準の関数はルームサーバー上で動作するため、使用する前にルームサーバーに接続しておく必要があります。channelId引数で使用する接続を指定します。これらの関数はFStrixRoom構造体のリストを返します。

これらの関数のJoinable版では、ルームが満員でないという条件(memberCount < capacity)が自動的に追加されます。