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 |
マッチングルームインデックスマネージャ.