Monobit Unity Networking ver.2.8.0 Server API Reference (C++)
MunMasterDatabase.hpp
Go to the documentation of this file.
1 
7 #ifndef __MUN_MASTER_DATABASE_HPP__
8 #define __MUN_MASTER_DATABASE_HPP__
9 
10 #include <map>
11 #include <mrs.hpp>
12 #include <sqlite/SqliteAgent.hpp>
13 #include <sql/SQL.hpp>
14 #include <stream/MunStream.hpp>
15 #include <version/MunVersion.hpp>
21 
26 {
27 private:
29  static MunVersion s_MunVersion;
30 
32  static SqliteAgent s_MasterDB;
33 
35  static IndexManager<std::string, uint32, MatchingDatabase> s_AppMatchingDatabase;
36 
39 
41  static std::map<uint64, RoomServerConnectInfo> s_RoomServerConnectInfo;
42 
44  static uint32 s_MaxClientNum;
45 
47  static std::string s_ApplicationId;
48 
49  static STREAM::MasterLobbyUpdateResponse s_MasterLobbyUpdateResponse;
50  static STREAM::MasterRoomUpdateResponse s_MasterRoomUpdateResponse;
51  static STREAM::MasterStatsUpdateResponse s_MasterStatsUpdateResponse;
52  static STREAM::MasterCheckResponse s_MasterCheckResponse;
53  static STREAM::MasterLobbyForceJoinResponse s_MasterLobbyForceJoinResponse;
54  static STREAM::MasterRoomCreateResponse s_MasterRoomCreateResponse;
55  static STREAM::MasterRoomForceJoinResponse s_MasterRoomForceJoinResponse;
56  static STREAM::MasterRoomJoinResponse s_MasterRoomJoinResponse;
57  static STREAM::MasterRoomRandomJoinResponse s_MasterRoomRandomJoinResponse;
58  static STREAM::MasterRoomLeaveResponse s_MasterRoomLeaveResponse;
59  static STREAM::MasterRoomUpdateMaxPlayersResponse s_MasterRoomUpdateMaxPlayersResponse;
60  static STREAM::MasterRoomUpdateIsVisibleResponse s_MasterRoomUpdateIsVisibleResponse;
61  static STREAM::MasterRoomUpdateIsOpenResponse s_MasterRoomUpdateIsOpenResponse;
62  static STREAM::MasterRoomUpdateRoomParametersResponse s_MasterRoomUpdateRoomParametersResponse;
63  static STREAM::MasterRoomUpdateLobbyParametersResponse s_MasterRoomUpdateLobbyParametersResponse;
64  static STREAM::MasterSearchPlayersResponse s_MasterSearchPlayersResponse;
65  static STREAM::MasterRoomUpdatePlayerParametersResponse s_MasterRoomUpdatePlayerParametersResponse;
66  static STREAM::MasterUpdatePlayerNameResponse s_MasterUpdatePlayerNameResponse;
67 
68 
69  static STREAM::RoomMasterUpdatePlayerParametersRequest s_RoomMasterUpdatePlayerParametersRequest;
70  static STREAM::RoomMasterUpdatePlayerNameRequest s_RoomMasterUpdatePlayerNameRequest;
71  static STREAM::RoomMasterLoginPlayerResponse s_RoomMasterLoginPlayerResponse;
72  static STREAM::RoomMasterLogoutPlayerResponse s_RoomMasterLogoutPlayerResponse;
73  static STREAM::RoomMasterUpdateHostIdResponse s_RoomMasterUpdateHostIdResponse;
74 
75 public:
81 
82 protected:
88  static RoomServerConnectInfo* GetRoomServerConnectInfo( uint64 roomUid ) {
89  std::map<uint64, RoomServerConnectInfo>::iterator itr = s_RoomServerConnectInfo.find(roomUid);
90  return (s_RoomServerConnectInfo.end() == itr) ? NULL : &(itr->second);
91  }
92 
98  static void AddRoomServerConnectInfo( uint64 roomUid, RoomServerConnectInfo& roomServerConnectInfo ) {
99  s_RoomServerConnectInfo.insert( std::pair<uint64, RoomServerConnectInfo>( roomUid, roomServerConnectInfo ) );
100  }
101 
106  static void RemoveRoomServerConnectInfo( uint64 roomUid ) {
107  s_RoomServerConnectInfo.erase( roomUid );
108  }
109 
116  static uint64 GetAppRoomId( uint32 appId, uint64 roomId ) { return ((uint64)appId << 32) + roomId; }
117 
123  static uint32 GetAppId( uint64 appRoomId ) { return appRoomId >> 32; }
124 
130  static uint64 GetRoomId( uint64 appRoomId ) { return appRoomId & 0xFFFFFFFF; }
131 
144  static STREAM::ERRORCODE_ID CreateClient( uint32& masterClientId, MrsConnection pMunProxy, uint64 proxyClientId, std::string munVersion, std::string appName, std::string clientName, bool isUpdateLobbyInfo, std::stringstream& errMsg );
145 
151  static void DeleteClient( uint32 clientId, bool isUpdateStats );
152 
162  static STREAM::ERRORCODE_ID InternalJoinLobby( MatchingDatabase* pMatchingDatabase, uint32 clientId, MatchingLobby& lobby, std::string lobbyName, uint8 lobbyKind );
163 
173  static STREAM::ERRORCODE_ID ForceJoinLobby( MatchingDatabase* pMatchingDatabase, uint32 clientId, MatchingLobby& lobby, std::string lobbyName, uint8 lobbyKind );
174 
180  static void InternalLeaveLobby( MatchingDatabase* pMatchingDatabase, MatchingClient& client );
181 
187  static void LeaveLobby( MatchingDatabase* pMatchingDatabase, MatchingClient& client );
188 
195  static void UpdatedLobby( MatchingDatabase* pMatchingDatabase, MatchingLobby& pLobby, bool isRemove );
196 
206  static STREAM::ERRORCODE_ID JoinRoom( MatchingDatabase* pMatchingDatabase, uint32 clientId, uint64& roomId, MatchingPlayerInRoom& player, std::string roomName );
207 
226  static STREAM::ERRORCODE_ID ForceJoinRoom( MatchingDatabase* pMatchingDatabase, 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, bool isNeedHostPlayer );
227 
244  static STREAM::ERRORCODE_ID RandomJoinRoom( MatchingDatabase* pMatchingDatabase, 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 );
245 
254  static void JoinedRoom( MatchingDatabase* pMatchingDatabase, uint64 lobbyId, uint64 roomId, bool roomIsVisible, MatchingPlayerInRoom& player );
255 
261  static void LeaveRoom( MatchingDatabase* pMatchingDatabase, uint32 clientId );
262 
268  static void LeaveRoom( MatchingDatabase* pMatchingDatabase, MatchingClient& client );
269 
276  static void LeftRoom( MatchingDatabase* pMatchingDatabase, MatchingRoom* pRoom, MatchingClient& client );
277 
287  static bool UpdateRoom( MatchingDatabase* pMatchingDatabase, uint64 roomId, bool isVisible, bool isOpen, uint32 maxPlayers );
288 
297  static bool UpdateRoom( MatchingDatabase* pMatchingDatabase, MatchingRoom* pRoom, uint64 roomId, int32 hostId );
298 
307  static bool UpdateRoom( MatchingDatabase* pMatchingDatabase, uint64 roomId, STREAM::KeyValue* pRoomParameters, uint16 roomParametersLen );
308 
317  static bool UpdateRoom( MatchingDatabase* pMatchingDatabase, uint64 roomId, STREAM::Text* pLobbyParameters, uint16 lobbyParametersLen );
318 
324  static void UpdatedRoom( MatchingDatabase* pMatchingDatabase, MatchingRoom* pRoom );
325 
332  static void UpdatedRoom( MatchingRoom * pRoom, bool isRemovedRoom, std::vector< uint32 >* clientIds );
333 
341  static void UpdatedRoom( MatchingDatabase* pMatchingDatabase, uint64 roomId, bool isRemovedRoom, std::vector< uint32 >* clientIds );
342 
347  static void UpdateStats( MatchingDatabase* pMatchingDatabase );
348 
355  static bool SetRoomWeight( uint64 roomUid, int32 weight );
356 
361  static void DeleteRoomWeight( uint64 roomUid );
362 
366  static void ClearRoomWeights();
367 
372  static uint64 SelectRoomUid();
373 
374 public:
380  static bool InitDB(MunMasterConfigure* pConfig);
381 
388  static void Recv_Master_Check(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterCheckRequest& request);
389 
396  static void Recv_Master_Lobby_ForceJoin(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterLobbyForceJoinRequest& request);
397 
403  static void Recv_Master_Lobby_Leave(MrsConnection pMunProxy, uint64 proxyClientId);
404 
411  static void Recv_Master_Room_Create(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomCreateRequest& request);
412 
419  static void Recv_Master_Room_ForceJoin(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomForceJoinRequest& request);
420 
427  static void Recv_Master_Room_Join(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomJoinRequest& request);
428 
435  static void Recv_Master_Room_RandomJoin(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomRandomJoinRequest& request);
436 
442  static void Recv_Master_Room_Leave(MrsConnection pMunProxy, uint64 proxyClientId);
443 
450  static void Recv_Master_Room_UpdateMaxPlayers(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateMaxPlayersRequest& request);
451 
458  static void Recv_Master_Room_UpdateIsVisible(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateIsVisibleRequest& request);
459 
466  static void Recv_Master_Room_UpdateIsOpen(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateIsOpenRequest& request);
467 
474  static void Recv_Master_Room_UpdateRoomParameters(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateRoomParametersRequest& request);
475 
482  static void Recv_Master_Room_UpdateLobbyParameters(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateLobbyParametersRequest& request);
483 
490  static void Recv_Master_SearchPlayers(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterSearchPlayersRequest& request);
491 
497  static void Recv_Master_Stats_Update(MrsConnection pMunProxy, uint64 proxyClientId);
498 
505  static void Recv_Master_Room_UpdatePlayerParameters(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdatePlayerParametersRequest& request);
506 
513  static void Recv_Master_UpdatePlayerName(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterUpdatePlayerNameRequest& request);
514 
520  static void Recv_Proxy_DisconnectClient(MrsConnection pMunProxy, uint64 proxyClientId);
521 
527  static void Recv_RoomMaster_SetAddress(MrsConnection pMunRoom, STREAM::RoomMasterSetAddressRequest& request);
528 
534  static void Recv_RoomMaster_SetWeight(MrsConnection pMunRoom, STREAM::RoomMasterSetWeightRequest& request);
535 
541  static void Recv_RoomMaster_LoginPlayer(MrsConnection pMunRoom, STREAM::RoomMasterLoginPlayerRequest& request);
542 
548  static void Recv_RoomMaster_LogoutPlayer(MrsConnection pMunRoom, STREAM::RoomMasterLogoutPlayerRequest& request);
549 
555  static void Recv_RoomMaster_UpdateHostId(MrsConnection pMunRoom, STREAM::RoomMasterUpdateHostIdRequest& request);
556 
561  static void RemoveRoomAll(MrsConnection pMunRoom);
562 };
563 
564 #endif /* __MUN_MASTER_DATABASE_HPP__ */
mun_masterサーバからMUNクライアントに対して送信される、ルーム内プレイヤー人数の上限変更処理結果.
Definition: MunStream.hpp:3480
static void Recv_Master_Room_Leave(MrsConnection pMunProxy, uint64 proxyClientId)
MUNクライアントからのルーム退室処理.
Definition: MunMasterDatabase.cpp:1860
static void Recv_Master_Room_Create(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomCreateRequest &request)
MUNクライアントからのルーム作成処理.
Definition: MunMasterDatabase.cpp:1240
mun_roomサーバからmun_masterサーバに対して送信される、ホストの変更処理結果.
Definition: MunStream.hpp:5216
static void Recv_Master_Lobby_ForceJoin(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterLobbyForceJoinRequest &request)
MUNクライアントからのロビー強制入室処理.
Definition: MunMasterDatabase.cpp:1117
mun_masterサーバからMUNクライアントに対して送信される、ルーム入室可否設定変更処理結果.
Definition: MunStream.hpp:3704
static void Recv_Master_SearchPlayers(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterSearchPlayersRequest &request)
MUNクライアントからのプレイヤー検索処理.
Definition: MunMasterDatabase.cpp:2244
mun_masterサーバからmun_roomサーバに対して送信される、プレイヤーのルームログイン処理結果.
Definition: MunStream.hpp:4904
static STREAM::ERRORCODE_ID JoinRoom(MatchingDatabase *pMatchingDatabase, uint32 clientId, uint64 &roomId, MatchingPlayerInRoom &player, std::string roomName)
ルームに入室する.
Definition: MunMasterDatabase.cpp:435
MUNクライアントからmun_masterサーバに対して送信される、プレイヤーパラメータ変更処理結果.
Definition: MunStream.hpp:4459
static void RemoveRoomServerConnectInfo(uint64 roomUid)
mun_roomサーバ接続情報を登録リストから削除する.
Definition: MunMasterDatabase.hpp:106
MUNクライアントからmun_masterサーバに対して送信される、プレイヤー名変更処理結果.
Definition: MunStream.hpp:4607
MUNクライアントからmun_masterサーバに対して送信される、ルーム強制入室要求.
Definition: MunStream.hpp:2774
static void Recv_RoomMaster_UpdateHostId(MrsConnection pMunRoom, STREAM::RoomMasterUpdateHostIdRequest &request)
mun_roomサーバからのホスト変更処理.
Definition: MunMasterDatabase.cpp:2609
static void Recv_Master_Check(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterCheckRequest &request)
MUNクライアントからの認証処理.
Definition: MunMasterDatabase.cpp:1003
static void Recv_Proxy_DisconnectClient(MrsConnection pMunProxy, uint64 proxyClientId)
mun_proxyサーバからの、MUNクライアント切断通知処理.
Definition: MunMasterDatabase.cpp:2432
mun_masterサーバからMUNクライアントに対して送信される、ロビー更新情報.
Definition: MunStream.hpp:2566
static void Recv_Master_Lobby_Leave(MrsConnection pMunProxy, uint64 proxyClientId)
MUNクライアントからのロビー退室処理.
Definition: MunMasterDatabase.cpp:1199
static void UpdatedLobby(MatchingDatabase *pMatchingDatabase, MatchingLobby &pLobby, bool isRemove)
ロビー情報更新後の処理.
Definition: MunMasterDatabase.cpp:391
mun_masterサーバの設定.
Definition: MunMasterConfigure.hpp:16
MUNにおける通信データ情報.
static bool UpdateRoom(MatchingDatabase *pMatchingDatabase, uint64 roomId, bool isVisible, bool isOpen, uint32 maxPlayers)
ルーム情報の更新処理(ルームID, 可視化, 入室可否, 最大収容人数).
Definition: MunMasterDatabase.cpp:680
static void ClearRoomWeights()
ルームサーバデータベースに登録された「重み」情報をゼロクリアする.
Definition: MunMasterDatabase.cpp:908
mun_masterサーバからMUNクライアントに対して送信される、ロビー通知パラメータ変更要求.
Definition: MunStream.hpp:4009
MUNクライアントからmun_masterサーバに対して送信される、ルームパラメータ変更処理結果.
Definition: MunStream.hpp:3843
mun_masterサーバからMUNクライアントに対して送信される、ルーム入室処理結果.
Definition: MunStream.hpp:3018
static STREAM::ERRORCODE_ID CreateClient(uint32 &masterClientId, MrsConnection pMunProxy, uint64 proxyClientId, std::string munVersion, std::string appName, std::string clientName, bool isUpdateLobbyInfo, std::stringstream &errMsg)
クライアントの生成および登録処理.
Definition: MunMasterDatabase.cpp:125
static bool InitDB(MunMasterConfigure *pConfig)
データベースの初期化.
Definition: MunMasterDatabase.cpp:68
MUNクライアントからmun_masterサーバに対して送信される、ルーム入室可否設定変更要求.
Definition: MunStream.hpp:3648
static bool SetRoomWeight(uint64 roomUid, int32 weight)
データベースにルームサーバの「重み」情報を設定する.
Definition: MunMasterDatabase.cpp:866
static void LeftRoom(MatchingDatabase *pMatchingDatabase, MatchingRoom *pRoom, MatchingClient &client)
ルーム退室後の処理.
Definition: MunMasterDatabase.cpp:636
MUNクライアントからmun_masterサーバに対して送信される、ルーム作成要求.
Definition: MunStream.hpp:2630
static void InternalLeaveLobby(MatchingDatabase *pMatchingDatabase, MatchingClient &client)
ロビーから退室し、他のクライアントに通知しない.
Definition: MunMasterDatabase.cpp:344
MUNクライアントからmun_masterサーバに対して送信される、プレイヤー検索要求.
Definition: MunStream.hpp:4156
MUNクライアントからmun_masterサーバに対して送信される、ロビー強制入室要求.
Definition: MunStream.hpp:2421
MUNクライアントからmun_masterサーバに対して送信される、プレイヤー名変更要求.
Definition: MunStream.hpp:4551
mun_roomサーバからmun_masterサーバに対して送信される、mun_roomサーバの負荷情報.
Definition: MunStream.hpp:4774
mun_masterサーバからmun_roomサーバに対して送信される、プレイヤーパラメータの変更通知.
Definition: MunStream.hpp:5281
static uint32 GetAppId(uint64 appRoomId)
アプリケーションID込みのルームIDからアプリケーションIDのみを抽出して取得.
Definition: MunMasterDatabase.hpp:123
mun_roomサーバとの接続情報.
Definition: MunMasterRoomServerConnectInfo.hpp:15
任意のKey-Valueペア.
Definition: MunStream.hpp:602
static uint64 GetAppRoomId(uint32 appId, uint64 roomId)
アプリケーションID込みのルームIDの生成.
Definition: MunMasterDatabase.hpp:116
static STREAM::ERRORCODE_ID ForceJoinRoom(MatchingDatabase *pMatchingDatabase, 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, bool isNeedHostPlayer)
ルームに強制入室する.
Definition: MunMasterDatabase.cpp:476
static IndexManager< std::string, uint32, MatchingDatabase > * GetAppMatchingDatabase()
アプリケーション単位のマッチングデータベースマネージャの取得.
Definition: MunMasterDatabase.hpp:80
static void Recv_RoomMaster_LogoutPlayer(MrsConnection pMunRoom, STREAM::RoomMasterLogoutPlayerRequest &request)
mun_roomサーバからのプレイヤーログアウト処理.
Definition: MunMasterDatabase.cpp:2579
MUNクライアントからmun_masterサーバに対して送信される、条件付きランダムルーム入室要求.
Definition: MunStream.hpp:3091
ERRORCODE_ID
エラーコードID.
Definition: MunStream.hpp:159
static void Recv_Master_Room_RandomJoin(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomRandomJoinRequest &request)
MUNクライアントからの条件付きランダムルーム入室処理.
Definition: MunMasterDatabase.cpp:1714
MUNクライアントからmun_masterサーバに対して送信される、プレイヤーパラメータ変更要求.
Definition: MunStream.hpp:4376
mun_masterサーバからMUNクライアントに対して送信される、ルーム退室処理結果.
Definition: MunStream.hpp:3332
static void Recv_Master_Room_UpdateMaxPlayers(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateMaxPlayersRequest &request)
MUNクライアントからのルーム内プレイヤー数上限変更処理.
Definition: MunMasterDatabase.cpp:1918
MUNクライアントからmun_masterサーバに対して送信される、ルームパラメータ変更要求.
Definition: MunStream.hpp:3760
static void Recv_Master_Room_ForceJoin(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomForceJoinRequest &request)
MUNクライアントからのルーム強制入室処理.
Definition: MunMasterDatabase.cpp:1425
mun_masterサーバからMUNクライアントに対して送信される、ルーム情報可視化設定変更処理結果.
Definition: MunStream.hpp:3592
インデックス管理.
mun_roomサーバからmun_masterサーバに対して送信される、プレイヤーのルームログアウト要求.
Definition: MunStream.hpp:5013
MUNクライアントとの接続情報.
static STREAM::ERRORCODE_ID ForceJoinLobby(MatchingDatabase *pMatchingDatabase, uint32 clientId, MatchingLobby &lobby, std::string lobbyName, uint8 lobbyKind)
ロビーへ強制入室し、クライアントへ通知する.
Definition: MunMasterDatabase.cpp:254
mun_masterサーバからMUNクライアントに対して送信される、ルーム情報更新処理結果.
Definition: MunStream.hpp:4092
MUNクライアントからmun_masterサーバに対して送信される、mun_masterサーバ認証情報.
Definition: MunStream.hpp:2215
mun_roomサーバからmun_masterサーバに対して送信される、ホストの変更要求.
Definition: MunStream.hpp:5151
static STREAM::ERRORCODE_ID InternalJoinLobby(MatchingDatabase *pMatchingDatabase, uint32 clientId, MatchingLobby &lobby, std::string lobbyName, uint8 lobbyKind)
ロビーへ強制入室し、クライアントへ通知しない.
Definition: MunMasterDatabase.cpp:305
mun_masterサーバからMUNクライアントに対して送信される、ロビー強制入室処理結果.
Definition: MunStream.hpp:2474
マッチングデータベース管理クラス.
Definition: MunMasterMatchingDatabase.hpp:24
static void Recv_RoomMaster_LoginPlayer(MrsConnection pMunRoom, STREAM::RoomMasterLoginPlayerRequest &request)
mun_roomサーバからのプレイヤーログイン処理.
Definition: MunMasterDatabase.cpp:2508
static void LeaveLobby(MatchingDatabase *pMatchingDatabase, MatchingClient &client)
ロビーから退室、他のクライアントに通知する.
Definition: MunMasterDatabase.cpp:364
mun_masterサーバからMUNクライアントに対して送信される、mun_masterサーバ認証結果.
Definition: MunStream.hpp:2312
static void DeleteClient(uint32 clientId, bool isUpdateStats)
クライアントの削除.
Definition: MunMasterDatabase.cpp:203
MUNクライアントからmun_masterサーバに対して送信される、ロビー通知パラメータ変更要求.
Definition: MunStream.hpp:3926
mun_roomサーバからmun_masterサーバに対して送信される、プレイヤーのルームログアウト処理結果.
Definition: MunStream.hpp:5078
static STREAM::ERRORCODE_ID RandomJoinRoom(MatchingDatabase *pMatchingDatabase, 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)
条件に一致するルームの中からランダムに選択して入室する.
Definition: MunMasterDatabase.cpp:515
mun_masterサーバのマッチングデータベース管理.
mun_masterサーバからmun_roomサーバに対して送信される、プレイヤーパラメータの変更通知.
Definition: MunStream.hpp:5380
static void RemoveRoomAll(MrsConnection pMunRoom)
mun_room サーバのロストに伴う、mun_room に所属するルーム情報の一括削除.
Definition: MunMasterDatabase.cpp:2638
mun_roomサーバからmun_masterサーバに対して送信される、mun_roomサーバのアドレス情報.
Definition: MunStream.hpp:4672
MUNのバージョン管理クラス.
Definition: MunVersion.hpp:19
mun_masterサーバからMUNクライアントに対して送信される、プレイヤー検索処理結果.
Definition: MunStream.hpp:4239
mun_masterサーバからMUNクライアントに対して送信される、ルーム作成処理結果.
Definition: MunStream.hpp:2701
MUNクライアントからmun_masterサーバに対して送信される、ルーム情報可視化設定変更要求.
Definition: MunStream.hpp:3536
static void UpdatedRoom(MatchingDatabase *pMatchingDatabase, MatchingRoom *pRoom)
ルーム情報更新後の処理.
Definition: MunMasterDatabase.cpp:793
マッチングルーム内プレイヤー情報.
Definition: MunMasterMatchingPlayerInRoom.hpp:16
MUNクライアントからmun_masterサーバに対して送信される、ルーム入室要求.
Definition: MunStream.hpp:2918
static void Recv_Master_Stats_Update(MrsConnection pMunProxy, uint64 proxyClientId)
MUNクライアントからのサーバ統計情報の取得要求.
Definition: MunMasterDatabase.cpp:2296
mun_masterサーバのロビー情報の制御.
Definition: MunMasterMatchingLobby.hpp:16
mun_masterサーバの設定.
mun_masterサーバからMUNクライアントに対して送信される、サーバ統計情報.
Definition: MunStream.hpp:4322
static void Recv_Master_Room_UpdateLobbyParameters(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateLobbyParametersRequest &request)
MUNクライアントからのロビー通知パラメータ変更処理.
Definition: MunMasterDatabase.cpp:2181
mun_masterサーバからMUNクライアントに対して送信される、ルーム強制入室処理結果.
Definition: MunStream.hpp:2845
static void Recv_RoomMaster_SetWeight(MrsConnection pMunRoom, STREAM::RoomMasterSetWeightRequest &request)
mun_roomサーバからのTCP接続におけるサーバ負荷情報受信処理.
Definition: MunMasterDatabase.cpp:2481
static void Recv_RoomMaster_SetAddress(MrsConnection pMunRoom, STREAM::RoomMasterSetAddressRequest &request)
mun_roomサーバからのTCPクライアント接続情報受信処理.
Definition: MunMasterDatabase.cpp:2449
マッチングルーム情報.
Definition: MunMasterMatchingRoom.hpp:20
static void Recv_Master_Room_UpdatePlayerParameters(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdatePlayerParametersRequest &request)
MUNクライアントからのプレイヤーパラメータ変更処理.
Definition: MunMasterDatabase.cpp:2308
static void AddRoomServerConnectInfo(uint64 roomUid, RoomServerConnectInfo &roomServerConnectInfo)
mun_roomサーバ接続情報を登録リストに追加する.
Definition: MunMasterDatabase.hpp:98
static void UpdateStats(MatchingDatabase *pMatchingDatabase)
サーバ統計情報の送信処理.
Definition: MunMasterDatabase.cpp:965
static uint64 GetRoomId(uint64 appRoomId)
アプリケーションID込みのルームIDからルームIDのみを抽出して取得.
Definition: MunMasterDatabase.hpp:130
static void LeaveRoom(MatchingDatabase *pMatchingDatabase, uint32 clientId)
ルーム退室処理.
Definition: MunMasterDatabase.cpp:569
static void DeleteRoomWeight(uint64 roomUid)
データベースからルームサーバの「重み」情報を削除する.
Definition: MunMasterDatabase.cpp:890
static void Recv_Master_UpdatePlayerName(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterUpdatePlayerNameRequest &request)
MUNクライアントからのプレイヤー名変更処理.
Definition: MunMasterDatabase.cpp:2370
static void Recv_Master_Room_UpdateRoomParameters(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateRoomParametersRequest &request)
MUNクライアントからのルームパラメータ変更処理.
Definition: MunMasterDatabase.cpp:2107
可変長テキスト.
Definition: MunStream.hpp:331
マッチング処理上におけるMUNクライアント情報.
Definition: MunMasterMatchingClient.hpp:15
mun_masterサーバのデータベース管理クラス.
Definition: MunMasterDatabase.hpp:25
mun_roomサーバとの接続情報.
static uint64 SelectRoomUid()
データベース内で最も「軽い」ルームサーバのユニークIDの取得.
Definition: MunMasterDatabase.cpp:926
mun_roomサーバからmun_masterサーバに対して送信される、プレイヤーのルームログイン要求.
Definition: MunStream.hpp:4839
static void Recv_Master_Room_Join(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomJoinRequest &request)
MUNクライアントからのルーム入室処理.
Definition: MunMasterDatabase.cpp:1573
MUNクライアントからmun_masterサーバに対して送信される、ルーム内プレイヤー人数の上限変更要求.
Definition: MunStream.hpp:3424
mun_masterサーバからMUNクライアントに対して送信される、条件付きランダムルーム入室処理結果.
Definition: MunStream.hpp:3252
static void Recv_Master_Room_UpdateIsOpen(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateIsOpenRequest &request)
MUNクライアントからのルーム入室可否設定変更処理.
Definition: MunMasterDatabase.cpp:2044
MUNのバージョン管理.
static void Recv_Master_Room_UpdateIsVisible(MrsConnection pMunProxy, uint64 proxyClientId, STREAM::MasterRoomUpdateIsVisibleRequest &request)
MUNクライアントからのルーム情報可視化設定変更処理.
Definition: MunMasterDatabase.cpp:1981
static RoomServerConnectInfo * GetRoomServerConnectInfo(uint64 roomUid)
mun_roomサーバ接続情報をを登録リストから取得する.
Definition: MunMasterDatabase.hpp:88
static void JoinedRoom(MatchingDatabase *pMatchingDatabase, uint64 lobbyId, uint64 roomId, bool roomIsVisible, MatchingPlayerInRoom &player)
ルーム入室後の処理.
Definition: MunMasterDatabase.cpp:546