![]() |
Monobit Unity Networking ver.2.8.0 Server API Reference (C++)
|
マッチングデータベース管理クラス. More...
#include <MunMasterMatchingDatabase.hpp>

Public Member Functions | |
| MatchingDatabase () | |
| コンストラクタ. | |
| virtual | ~MatchingDatabase () |
| デストラクタ. | |
| bool | InitDB () |
| データベースの初期化. More... | |
| bool | AddClient (uint32 clientId, std::string clientName, bool isUpdateLobbyList) |
| マッチングルームにクライアントを追加する. More... | |
| void | RemoveClient (uint32 clientId) |
| マッチングルームからクライアントを削除する. More... | |
| MatchingClient | GetClient (uint32 clientId) |
| マッチングルーム内のクライアント情報を取得する. More... | |
| MatchingClient | GetClient (std::string clientName) |
| マッチングルーム内のクライアント情報を取得する. More... | |
| bool | SetClientName (uint32 clientId, std::string clientName) |
| マッチングルーム内のクライアント名を設定する. More... | |
| uint32 | GetClientNum () |
| マッチングルーム内のクライアント数を取得する. More... | |
| MatchingLobby | GetLobby (uint64 lobbyId) |
| ロビー情報の取得. More... | |
| void | UpdateLobby (MatchingLobby &lobby) |
| ロビー情報の再取得. More... | |
| MatchingLobby | SearchLobby (uint64 lobbyId) |
| 指定したロビーIDを持つ、ロビー情報の検索. More... | |
| MatchingLobby | SearchLobby (std::string lobbyName, uint8 lobbyKind) |
| 指定したロビー名と種類を持つ、ロビー情報の検索. More... | |
| void | SearchLobbies (std::vector< MatchingLobby > &lobbies) |
| ロビーリストの取得. More... | |
| void | SearchClientIds (std::vector< uint32 > &clientIds, uint64 lobbyId, uint64 roomId) |
| 指定されたロビー/ルーム内に所属するクライアントIDリストの取得. More... | |
| void | SearchClientIds (std::vector< uint32 > &clientIds, uint64 lobbyId, uint64 roomId, bool isUpdateLobbyList) |
| 指定されたロビー/ルーム内に所属するクライアントIDリストの取得. More... | |
| void | SearchClientIds (std::vector< uint32 > &clientIds, bool isUpdateLobbyList) |
| 指定されたロビーリスト更新フラグの設定値を指定しているクライアントIDリストの取得. More... | |
| void | SearchClientIds (std::vector< uint32 > &clientIds) |
| クライアントIDリストの取得. More... | |
| MatchingLobby | CreateLobby (std::string lobbyName, uint8 lobbyKind) |
| ロビーの生成. More... | |
| STREAM::ERRORCODE_ID | JoinLobby (uint32 clientId, uint64 lobbyId) |
| 指定されたクライアントをロビーへ入室させる. More... | |
| STREAM::ERRORCODE_ID | ForceJoinLobby (uint32 clientId, MatchingLobby *pLobby, std::string lobbyName, uint8 lobbyKind) |
| 指定されたクライアントをロビーへ強制入室させる. More... | |
| void | LeaveLobby (uint32 clientId, uint64 lobbyId) |
| 指定されたクライアントをロビーから退室させる. More... | |
| MatchingRoom * | GetRoom (uint64 roomId) |
| マッチングルーム情報の取得. More... | |
| MatchingRoom * | GetRoom (std::string roomName) |
| マッチングルーム情報の取得. More... | |
| void | SearchVisibleRooms (uint64 lobbyId, std::vector< MatchingRoom * > &rooms) |
| 指定したロビーにルーム情報を通知しているマッチングルームリストの取得. More... | |
| STREAM::ERRORCODE_ID | CreateRoom (uint64 &roomId, std::string roomName, uint64 lobbyId, bool isVisible, bool isOpen, uint32 maxPlayers, STREAM::KeyValue *pRoomParameters, uint16 roomParametersLen, STREAM::Text *pLobbyParameters, uint16 lobbyParametersLen, uint64 roomUid, bool isNeedHostPlayer) |
| マッチングルームを生成する. More... | |
| STREAM::ERRORCODE_ID | JoinRoom (uint32 clientId, uint64 &roomId, MatchingPlayerInRoom &player, std::string roomName) |
| MUNクライアントをマッチングルームへ入室させる. More... | |
| STREAM::ERRORCODE_ID | ForceJoinRoom (uint32 clientId, uint64 &roomId, MatchingPlayerInRoom &player, std::string roomName, uint64 lobbyId, bool isVisible, bool isOpen, uint32 maxPlayers, STREAM::KeyValue *pRoomParameters, uint16 roomParametersLen, STREAM::Text *pLobbyParameters, uint16 lobbyParametersLen, uint64 roomUid, bool isNeedHostPlayer) |
| MUNクライアントをマッチングルームへ強制入室させる. More... | |
| STREAM::ERRORCODE_ID | RandomJoinRoom (uint32 clientId, uint64 &roomId, MatchingPlayerInRoom &player, uint64 lobbyId, uint8 lobbyKind, uint32 maxPlayers, uint8 matchingMode, STREAM::KeyValue *pRoomParameters, uint16 roomParametersLen, std::string keyValueFilter, std::string &msg) |
| 条件に一致するマッチングルームの中からランダムに選択してMUNクライアントを入室させる. More... | |
| bool | LeaveRoom (MatchingClient &client) |
| MUNクライアントをマッチングルームから退室させる. More... | |
| bool | UpdateRoom (uint64 roomId, bool isVisible, bool isOpen, uint32 maxPlayers) |
| マッチングルームを更新する. More... | |
| bool | UpdateRoom (uint64 roomId, STREAM::KeyValue *pRoomParameters, uint16 roomParametersLen) |
| マッチングルームを更新する. More... | |
| bool | UpdateRoom (uint64 roomId, STREAM::Text *pLobbyParameters, uint16 lobbyParametersLen) |
| マッチングルームを更新する. More... | |
| uint32 | GetRoomCount (uint64 lobbyId) |
| ロビーに所属するマッチングルーム数を取得. More... | |
| uint32 | GetLobbyCountAll () |
| 全ロビー数を取得. More... | |
| uint32 | GetRoomCountAll () |
| 全ルーム数を取得. More... | |
| MatchingStats | GetStats () |
| サーバ統計情報を取得. More... | |
| void | GetOrderByPlayersRoom (std::vector< uint64 > &roomIds) |
| マッチングルームIDについて、入室済みプレイヤー人数の少ない順に取得する. More... | |
| void | ForceRemoveRoom (uint64 roomId) |
| 指定されたルームIDの情報を強制的に削除する More... | |
Protected Attributes | |
| SqliteAgent | m_MatchingDB |
| SQLiteデータベース管理モジュール. More... | |
| IndexManager< std::string, uint64, MatchingRoom > | m_MatchingRoom |
| マッチングルームインデックスマネージャ. More... | |
マッチングデータベース管理クラス.
| bool MatchingDatabase::AddClient | ( | uint32 | clientId, |
| std::string | clientName, | ||
| bool | isUpdateLobbyList | ||
| ) |
マッチングルームにクライアントを追加する.
| clientId | クライアントID. |
| clientName | クライアント名. |
| isUpdateLobbyList | ロビーリストを更新するかどうかのフラグ. |

| MatchingLobby MatchingDatabase::CreateLobby | ( | std::string | lobbyName, |
| uint8 | lobbyKind | ||
| ) |
ロビーの生成.
| lobbyName | ロビー名. |
| lobbyKind | ロビーの種類. |

| STREAM::ERRORCODE_ID MatchingDatabase::CreateRoom | ( | uint64 & | roomId, |
| std::string | roomName, | ||
| uint64 | lobbyId, | ||
| bool | isVisible, | ||
| bool | isOpen, | ||
| uint32 | maxPlayers, | ||
| STREAM::KeyValue * | pRoomParameters, | ||
| uint16 | roomParametersLen, | ||
| STREAM::Text * | pLobbyParameters, | ||
| uint16 | lobbyParametersLen, | ||
| uint64 | roomUid, | ||
| bool | isNeedHostPlayer | ||
| ) |
マッチングルームを生成する.
| roomId | 生成結果として得られるマッチングルームID. |
| roomName | マッチングルーム名. |
| lobbyId | 所属するロビーID. |
| isVisible | ルーム情報をロビーに通知するかどうかのフラグ. |
| isOpen | 他プレイヤーのルーム入室を許可するかどうかのフラグ. |
| maxPlayers | ルームに入室可能なプレイヤー人数の上限(0であれば無制限). |
| pRoomParameters | ルームパラメータの先頭アドレス. |
| roomParametersLen | pRoomParameters に含まれるルームパラメータの登録数. |
| pLobbyParameters | ロビー通知パラメータの先頭アドレス. |
| lobbyParametersLen | pLobbyParameters に含まれるロビー通知パラメータの登録数. |
| roomUid | mun_roomサーバ上の識別ユニークID. |
| isNeedHostPlayer | ホストプレイヤーが必要かどうかのフラグ. |
| roomId | 生成結果として得られるマッチングルームID. |
| roomName | マッチングルーム名. |
| lobbyId | 所属するロビーID. |
| isVisible | ルーム情報をロビーに通知するかどうかのフラグ. |
| isOpen | 他プレイヤーのルーム入室を許可するかどうかのフラグ. |
| maxPlayers | ルームに入室可能なプレイヤー人数の上限(0であれば無制限). |
| pRoomParameters | ルームパラメータの先頭アドレス. |
| roomParametersLen | pRoomParameters に含まれるルームパラメータの登録数. |
| pLobbyParameters | ロビー通知パラメータの先頭アドレス. |
| lobbyParametersLen | pLobbyParameters に含まれるロビー通知パラメータの登録数. |
| roomUid | mun_roomサーバ上の識別ユニークID. |
| isNeedHostPlayer | ホストプレイヤーが必要かどうかのフラグ. |


| STREAM::ERRORCODE_ID MatchingDatabase::ForceJoinLobby | ( | uint32 | clientId, |
| MatchingLobby * | pLobby, | ||
| std::string | lobbyName, | ||
| uint8 | lobbyKind | ||
| ) |
指定されたクライアントをロビーへ強制入室させる.
| clientId | 強制入室させるクライアントID. |
| pLobby | 強制入室させた結果として取得したロビー情報. |
| lobbyName | 強制入室させるロビー名. |
| lobbyKind | 強制入室させるロビーの種類. |


| STREAM::ERRORCODE_ID MatchingDatabase::ForceJoinRoom | ( | uint32 | clientId, |
| uint64 & | roomId, | ||
| MatchingPlayerInRoom & | player, | ||
| std::string | roomName, | ||
| uint64 | lobbyId, | ||
| bool | isVisible, | ||
| bool | isOpen, | ||
| uint32 | maxPlayers, | ||
| STREAM::KeyValue * | pRoomParameters, | ||
| uint16 | roomParametersLen, | ||
| STREAM::Text * | pLobbyParameters, | ||
| uint16 | lobbyParametersLen, | ||
| uint64 | roomUid, | ||
| bool | isNeedHostPlayer | ||
| ) |
MUNクライアントをマッチングルームへ強制入室させる.
| clientId | 入室させるMUNクライアントのID. |
| roomId | 入室結果として得られるマッチングルームID. |
| player | 入室結果として得られるルーム内プレイヤー情報. |
| roomName | マッチングルーム名. |
| lobbyId | 所属するロビーID. |
| isVisible | ルーム情報をロビーに通知するかどうかのフラグ. |
| isOpen | 他プレイヤーのルーム入室を許可するかどうかのフラグ. |
| maxPlayers | ルームに入室可能なプレイヤー人数の上限(0であれば無制限). |
| pRoomParameters | ルームパラメータの先頭アドレス. |
| roomParametersLen | pRoomParameters に含まれるルームパラメータの登録数. |
| pLobbyParameters | ロビー通知パラメータの先頭アドレス. |
| lobbyParametersLen | pLobbyParameters に含まれるロビー通知パラメータの登録数. |
| roomUid | mun_roomサーバ上の識別ユニークID. |
| isNeedHostPlayer | ホストプレイヤーが必要かどうかのフラグ. |


| void MatchingDatabase::ForceRemoveRoom | ( | uint64 | roomId | ) |
指定されたルームIDの情報を強制的に削除する
| roomId | 削除対象となるルームID. |


| MatchingClient MatchingDatabase::GetClient | ( | uint32 | clientId | ) |
マッチングルーム内のクライアント情報を取得する.
| clientId | クライアントID. |

| MatchingClient MatchingDatabase::GetClient | ( | std::string | clientName | ) |
マッチングルーム内のクライアント情報を取得する.
| clientName | クライアント名. |
| uint32 MatchingDatabase::GetClientNum | ( | ) |
マッチングルーム内のクライアント数を取得する.

| MatchingLobby MatchingDatabase::GetLobby | ( | uint64 | lobbyId | ) |
ロビー情報の取得.
| lobbyId | ロビーID. |

| uint32 MatchingDatabase::GetLobbyCountAll | ( | ) |
全ロビー数を取得.

| void MatchingDatabase::GetOrderByPlayersRoom | ( | std::vector< uint64 > & | roomIds | ) |
マッチングルームIDについて、入室済みプレイヤー人数の少ない順に取得する.
| roomIds | 取得結果として得られたマッチングルームIDリスト. |

| MatchingRoom * MatchingDatabase::GetRoom | ( | uint64 | roomId | ) |
マッチングルーム情報の取得.
| roomId | ルームID. |


| MatchingRoom * MatchingDatabase::GetRoom | ( | std::string | roomName | ) |
マッチングルーム情報の取得.
| roomName | ルーム名. |

| uint32 MatchingDatabase::GetRoomCount | ( | uint64 | lobbyId | ) |
ロビーに所属するマッチングルーム数を取得.
| lobbyId | 所属するロビーID. |

| uint32 MatchingDatabase::GetRoomCountAll | ( | ) |
全ルーム数を取得.

| MatchingStats MatchingDatabase::GetStats | ( | ) |
サーバ統計情報を取得.


| bool MatchingDatabase::InitDB | ( | ) |
データベースの初期化.

| STREAM::ERRORCODE_ID MatchingDatabase::JoinLobby | ( | uint32 | clientId, |
| uint64 | lobbyId | ||
| ) |
指定されたクライアントをロビーへ入室させる.
| clientId | 入室させるクライアントID. |
| lobbyId | 入室させるロビーID. |

| STREAM::ERRORCODE_ID MatchingDatabase::JoinRoom | ( | uint32 | clientId, |
| uint64 & | roomId, | ||
| MatchingPlayerInRoom & | player, | ||
| std::string | roomName | ||
| ) |
MUNクライアントをマッチングルームへ入室させる.
| clientId | 入室させるMUNクライアントのID. |
| roomId | 入室結果として得られるマッチングルームID. |
| player | 入室結果として得られるルーム内プレイヤー情報. |
| roomName | マッチングルーム名. |


| void MatchingDatabase::LeaveLobby | ( | uint32 | clientId, |
| uint64 | lobbyId | ||
| ) |
指定されたクライアントをロビーから退室させる.
| clientId | 退室させるクライアントID. |
| lobbyId | 入室させるロビーID. |

| bool MatchingDatabase::LeaveRoom | ( | MatchingClient & | client | ) |
MUNクライアントをマッチングルームから退室させる.
| client | 退室させるMUNクライアント情報. |


| STREAM::ERRORCODE_ID MatchingDatabase::RandomJoinRoom | ( | uint32 | clientId, |
| uint64 & | roomId, | ||
| MatchingPlayerInRoom & | player, | ||
| uint64 | lobbyId, | ||
| uint8 | lobbyKind, | ||
| uint32 | maxPlayers, | ||
| uint8 | matchingMode, | ||
| STREAM::KeyValue * | pRoomParameters, | ||
| uint16 | roomParametersLen, | ||
| std::string | keyValueFilter, | ||
| std::string & | msg | ||
| ) |
条件に一致するマッチングルームの中からランダムに選択してMUNクライアントを入室させる.
| clientId | 入室させるMUNクライアントのID. |
| roomId | 入室結果として得られるマッチングルームID. |
| player | 入室結果として得られるルーム内プレイヤー情報. |
| lobbyId | 所属するロビーID. |
| lobbyKind | 所属するロビーの種類. |
| maxPlayers | ルームに入室可能なプレイヤー人数の上限(0であれば無制限). |
| matchingMode | マッチメイキング方法. |
| pRoomParameters | 一致検索に使用するルームパラメータの先頭アドレス. |
| roomParametersLen | pRoomParameters に含まれるルームパラメータの登録数. |
| keyValueFilter | 範囲検索に使用するクエリー照合パラメータ. |
| msg | 出力メッセージストリーム. |


| void MatchingDatabase::RemoveClient | ( | uint32 | clientId | ) |
マッチングルームからクライアントを削除する.
| clientId | クライアントID. |


| void MatchingDatabase::SearchClientIds | ( | std::vector< uint32 > & | clientIds, |
| uint64 | lobbyId, | ||
| uint64 | roomId | ||
| ) |
指定されたロビー/ルーム内に所属するクライアントIDリストの取得.
| clientIds | 実行することで取得したクライアントIDリスト. |
| lobbyId | クライアントIDの取得対象となるロビーID. |
| roomId | クライアントIDの取得対象となるルームID. |

| void MatchingDatabase::SearchClientIds | ( | std::vector< uint32 > & | clientIds, |
| uint64 | lobbyId, | ||
| uint64 | roomId, | ||
| bool | isUpdateLobbyList | ||
| ) |
指定されたロビー/ルーム内に所属するクライアントIDリストの取得.
| clientIds | 実行することで取得したクライアントIDリスト. |
| lobbyId | クライアントIDの取得対象となるロビーID. |
| roomId | クライアントIDの取得対象となるルームID. |
| isUpdateLobbyList | ロビーリストを更新するかどうかのフラグ. |
| void MatchingDatabase::SearchClientIds | ( | std::vector< uint32 > & | clientIds, |
| bool | isUpdateLobbyList | ||
| ) |
指定されたロビーリスト更新フラグの設定値を指定しているクライアントIDリストの取得.
| clientIds | 実行することで取得したクライアントIDリスト. |
| isUpdateLobbyList | ロビーリストを更新するかどうかのフラグ. |
| void MatchingDatabase::SearchClientIds | ( | std::vector< uint32 > & | clientIds | ) |
クライアントIDリストの取得.
| clientIds | 実行することで取得したクライアントIDリスト. |
| void MatchingDatabase::SearchLobbies | ( | std::vector< MatchingLobby > & | lobbies | ) |
ロビーリストの取得.
| lobbies | 実行することで取得したロビーリスト. |

| MatchingLobby MatchingDatabase::SearchLobby | ( | uint64 | lobbyId | ) |
指定したロビーIDを持つ、ロビー情報の検索.
| lobbyId | ロビーID. |

| MatchingLobby MatchingDatabase::SearchLobby | ( | std::string | lobbyName, |
| uint8 | lobbyKind | ||
| ) |
指定したロビー名と種類を持つ、ロビー情報の検索.
| lobbyName | ロビー名. |
| lobbyKind | ロビーの種類. |
| void MatchingDatabase::SearchVisibleRooms | ( | uint64 | lobbyId, |
| std::vector< MatchingRoom * > & | rooms | ||
| ) |
指定したロビーにルーム情報を通知しているマッチングルームリストの取得.
| lobbyId | 抽出対象となるロビーID. |
| rooms | 取得結果として得られたマッチングルームリスト. |


| bool MatchingDatabase::SetClientName | ( | uint32 | clientId, |
| std::string | clientName | ||
| ) |
マッチングルーム内のクライアント名を設定する.
| clientId | クライアントID. |
| clientName | クライアント名. |

| void MatchingDatabase::UpdateLobby | ( | MatchingLobby & | lobby | ) |
ロビー情報の再取得.
| pLobby | ロビー情報. |
| lobby | ロビー情報. |


| bool MatchingDatabase::UpdateRoom | ( | uint64 | roomId, |
| bool | isVisible, | ||
| bool | isOpen, | ||
| uint32 | maxPlayers | ||
| ) |
マッチングルームを更新する.
| roomId | マッチングルームID. |
| isVisible | ルーム情報をロビーに通知するかどうかのフラグ. |
| isOpen | 他プレイヤーのルーム入室を許可するかどうかのフラグ. |
| maxPlayers | ルームに入室可能なプレイヤー人数の上限(0であれば無制限). |


| bool MatchingDatabase::UpdateRoom | ( | uint64 | roomId, |
| STREAM::KeyValue * | pRoomParameters, | ||
| uint16 | roomParametersLen | ||
| ) |
マッチングルームを更新する.
| roomId | マッチングルームID. |
| pRoomParameters | ルームパラメータの先頭アドレス. |
| roomParametersLen | pRoomParameters に含まれるルームパラメータの登録数. |

| bool MatchingDatabase::UpdateRoom | ( | uint64 | roomId, |
| STREAM::Text * | pLobbyParameters, | ||
| uint16 | lobbyParametersLen | ||
| ) |
マッチングルームを更新する.
| roomId | マッチングルームID. |
| pLobbyParameters | ロビー通知パラメータの先頭アドレス. |
| lobbyParametersLen | pLobbyParameters に含まれるロビー通知パラメータの登録数. |

|
protected |
SQLiteデータベース管理モジュール.
|
protected |
マッチングルームインデックスマネージャ.