diff --git a/docs/pokerth.proto b/docs/pokerth.proto index bc074e7e..527c423f 100644 --- a/docs/pokerth.proto +++ b/docs/pokerth.proto @@ -232,7 +232,7 @@ message GameListAdminChangedMessage { } message PlayerInfoRequestMessage { - required uint32 playerId = 1; + repeated uint32 playerId = 1 [packed = true]; } message PlayerInfoReplyMessage { diff --git a/src/net/clientthread.h b/src/net/clientthread.h index 087ddd3a..97abc979 100644 --- a/src/net/clientthread.h +++ b/src/net/clientthread.h @@ -139,6 +139,7 @@ protected: bool GetCachedPlayerInfo(unsigned id, PlayerInfo &info) const; void RequestPlayerInfo(unsigned id, bool requestAvatar = false); + void RequestPlayerInfo(const std::list &idList, bool requestAvatar = false); void SetPlayerInfo(unsigned id, const PlayerInfo &info); void SetUnknownPlayer(unsigned id); void SetNewGameAdmin(unsigned id); diff --git a/src/net/common/clientstate.cpp b/src/net/common/clientstate.cpp index cf9da557..c22ae72b 100644 --- a/src/net/common/clientstate.cpp +++ b/src/net/common/clientstate.cpp @@ -677,15 +677,18 @@ AbstractClientStateReceiving::HandlePacket(boost::shared_ptr clien unsigned numPlayers = netListNew.playerids_size(); // Request player info for players if needed. GameInfo tmpInfo; + list requestList; for (unsigned i = 0; i < numPlayers; i++) { PlayerInfo info; unsigned playerId = netListNew.playerids(i); if (!client->GetCachedPlayerInfo(playerId, info)) { - // Request player info. - client->RequestPlayerInfo(playerId); + requestList.push_back(playerId); } tmpInfo.players.push_back(playerId); } + // Send request for multiple players (will only act if list is non-empty). + client->RequestPlayerInfo(requestList); + tmpInfo.adminPlayerId = netListNew.adminplayerid(); tmpInfo.isPasswordProtected = netListNew.isprivate(); tmpInfo.mode = static_cast(netListNew.gamemode()); diff --git a/src/net/common/clientthread.cpp b/src/net/common/clientthread.cpp index b024f0c1..e6b26db0 100644 --- a/src/net/common/clientthread.cpp +++ b/src/net/common/clientthread.cpp @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -644,19 +645,29 @@ ClientThread::GetCachedPlayerInfo(unsigned id, PlayerInfo &info) const void ClientThread::RequestPlayerInfo(unsigned id, bool requestAvatar) { - if (find(m_playerInfoRequestList.begin(), m_playerInfoRequestList.end(), id) == m_playerInfoRequestList.end()) { - boost::shared_ptr packet(new NetPacket); - packet->GetMsg()->set_messagetype(PokerTHMessage::Type_PlayerInfoRequestMessage); - PlayerInfoRequestMessage *netPlayerInfo = packet->GetMsg()->mutable_playerinforequestmessage(); - netPlayerInfo->set_playerid(id); - GetSender().Send(GetContext().GetSessionData(), packet); - - m_playerInfoRequestList.push_back(id); + list idList; + idList.push_back(id); + RequestPlayerInfo(idList, requestAvatar); +} +void +ClientThread::RequestPlayerInfo(const list &idList, bool requestAvatar) +{ + boost::shared_ptr packet(new NetPacket); + packet->GetMsg()->set_messagetype(PokerTHMessage::Type_PlayerInfoRequestMessage); + PlayerInfoRequestMessage *netPlayerInfo = packet->GetMsg()->mutable_playerinforequestmessage(); + BOOST_FOREACH(unsigned playerId, idList) { + if (find(m_playerInfoRequestList.begin(), m_playerInfoRequestList.end(), playerId) == m_playerInfoRequestList.end()) { + netPlayerInfo->add_playerid(playerId); + m_playerInfoRequestList.push_back(playerId); + } + // Remember that we have to request an avatar. + if (requestAvatar) { + m_avatarShouldRequestList.push_back(playerId); + } } - // Remember that we have to request an avatar. - if (requestAvatar) { - m_avatarShouldRequestList.push_back(id); + if (netPlayerInfo->playerid_size() > 0) { + GetSender().Send(GetContext().GetSessionData(), packet); } } diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index eab826d1..44719f81 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -1144,47 +1144,49 @@ ServerLobbyThread::HandleNetPacketAvatarEnd(boost::shared_ptr sessi void ServerLobbyThread::HandleNetPacketRetrievePlayerInfo(boost::shared_ptr session, const PlayerInfoRequestMessage &playerInfoRequest) { - // Find player in lobby or in a game. - boost::shared_ptr tmpSession = m_sessionManager.GetSessionByUniquePlayerId(playerInfoRequest.playerid()); - if (!tmpSession) { - tmpSession = m_gameSessionManager.GetSessionByUniquePlayerId(playerInfoRequest.playerid()); - } - boost::shared_ptr tmpPlayer; - if (tmpSession) { - tmpPlayer = tmpSession->GetPlayerData(); - } - - if (!tmpPlayer) { - boost::mutex::scoped_lock lock(m_computerPlayersMutex); - PlayerDataMap::const_iterator pos = m_computerPlayers.find(playerInfoRequest.playerid()); - if (pos != m_computerPlayers.end()) - tmpPlayer = pos->second; - } - - boost::shared_ptr packet(new NetPacket); - packet->GetMsg()->set_messagetype(PokerTHMessage::Type_PlayerInfoReplyMessage); - PlayerInfoReplyMessage *netPlayerInfoReply = packet->GetMsg()->mutable_playerinforeplymessage(); - netPlayerInfoReply->set_playerid(playerInfoRequest.playerid()); - - if (tmpPlayer) { - // Send player info to client. - PlayerInfoReplyMessage::PlayerInfoData *data = netPlayerInfoReply->mutable_playerinfodata(); - - data->set_playername(tmpPlayer->GetName()); - data->set_ishuman(tmpPlayer->GetType() == PLAYER_TYPE_HUMAN); - data->set_playerrights(static_cast(tmpPlayer->GetRights())); - if (!tmpPlayer->GetCountry().empty()) { - data->set_countrycode(tmpPlayer->GetCountry()); + BOOST_FOREACH(unsigned playerId, playerInfoRequest.playerid()) { + // Find player in lobby or in a game. + boost::shared_ptr tmpSession = m_sessionManager.GetSessionByUniquePlayerId(playerId); + if (!tmpSession) { + tmpSession = m_gameSessionManager.GetSessionByUniquePlayerId(playerId); } - if (!tmpPlayer->GetAvatarMD5().IsZero()) { - PlayerInfoReplyMessage::PlayerInfoData::AvatarData *avatarData = data->mutable_avatardata(); - avatarData->set_avatartype(static_cast(AvatarManager::GetAvatarFileType(tmpPlayer->GetAvatarFile()))); - avatarData->set_avatarhash(tmpPlayer->GetAvatarMD5().GetData(), MD5_DATA_SIZE); + boost::shared_ptr tmpPlayer; + if (tmpSession) { + tmpPlayer = tmpSession->GetPlayerData(); } - } else { - // Unknown player id - do not set any data. + + if (!tmpPlayer) { + boost::mutex::scoped_lock lock(m_computerPlayersMutex); + PlayerDataMap::const_iterator pos = m_computerPlayers.find(playerId); + if (pos != m_computerPlayers.end()) + tmpPlayer = pos->second; + } + + boost::shared_ptr packet(new NetPacket); + packet->GetMsg()->set_messagetype(PokerTHMessage::Type_PlayerInfoReplyMessage); + PlayerInfoReplyMessage *netPlayerInfoReply = packet->GetMsg()->mutable_playerinforeplymessage(); + netPlayerInfoReply->set_playerid(playerId); + + if (tmpPlayer) { + // Send player info to client. + PlayerInfoReplyMessage::PlayerInfoData *data = netPlayerInfoReply->mutable_playerinfodata(); + + data->set_playername(tmpPlayer->GetName()); + data->set_ishuman(tmpPlayer->GetType() == PLAYER_TYPE_HUMAN); + data->set_playerrights(static_cast(tmpPlayer->GetRights())); + if (!tmpPlayer->GetCountry().empty()) { + data->set_countrycode(tmpPlayer->GetCountry()); + } + if (!tmpPlayer->GetAvatarMD5().IsZero()) { + PlayerInfoReplyMessage::PlayerInfoData::AvatarData *avatarData = data->mutable_avatardata(); + avatarData->set_avatartype(static_cast(AvatarManager::GetAvatarFileType(tmpPlayer->GetAvatarFile()))); + avatarData->set_avatarhash(tmpPlayer->GetAvatarMD5().GetData(), MD5_DATA_SIZE); + } + } else { + // Unknown player id - do not set any data. + } + GetSender().Send(session, packet); } - GetSender().Send(session, packet); } void diff --git a/src/third_party/protobuf/pokerth.pb.cc b/src/third_party/protobuf/pokerth.pb.cc index 3b979b05..c1f411c8 100644 --- a/src/third_party/protobuf/pokerth.pb.cc +++ b/src/third_party/protobuf/pokerth.pb.cc @@ -2224,385 +2224,385 @@ void protobuf_AddDesc_pokerth_2eproto() { "\002 \002(\r\"=\n\031GameListPlayerLeftMessage\022\016\n\006ga" "meId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\"G\n\033GameList" "AdminChangedMessage\022\016\n\006gameId\030\001 \002(\r\022\030\n\020n" - "ewAdminPlayerId\030\002 \002(\r\",\n\030PlayerInfoReque" - "stMessage\022\020\n\010playerId\030\001 \002(\r\"\360\002\n\026PlayerIn" - "foReplyMessage\022\020\n\010playerId\030\001 \002(\r\022>\n\016play" - "erInfoData\030\002 \001(\0132&.PlayerInfoReplyMessag" - "e.PlayerInfoData\032\203\002\n\016PlayerInfoData\022\022\n\np" - "layerName\030\001 \002(\t\022\017\n\007isHuman\030\002 \002(\010\022*\n\014play" - "erRights\030\003 \002(\0162\024.NetPlayerInfoRights\022\023\n\013" - "countryCode\030\004 \001(\t\022E\n\navatarData\030\005 \001(\01321." - "PlayerInfoReplyMessage.PlayerInfoData.Av" - "atarData\032D\n\nAvatarData\022\"\n\navatarType\030\001 \002" - "(\0162\016.NetAvatarType\022\022\n\navatarHash\030\002 \002(\014\"\260" - "\001\n\032SubscriptionRequestMessage\022J\n\022subscri" - "ptionAction\030\001 \002(\0162..SubscriptionRequestM" - "essage.SubscriptionAction\"F\n\022Subscriptio" - "nAction\022\027\n\023unsubscribeGameList\020\001\022\027\n\023resu" - "bscribeGameList\020\002\"N\n\027JoinExistingGameMes" - "sage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010password\030\002 \001(\t\022\021" - "\n\tautoLeave\030\003 \001(\010\"Y\n\022JoinNewGameMessage\022" - "\036\n\010gameInfo\030\001 \002(\0132\014.NetGameInfo\022\020\n\010passw" - "ord\030\002 \001(\t\022\021\n\tautoLeave\030\003 \001(\010\">\n\031RejoinEx" - "istingGameMessage\022\016\n\006gameId\030\001 \002(\r\022\021\n\taut" - "oLeave\030\002 \001(\010\"]\n\022JoinGameAckMessage\022\016\n\006ga" - "meId\030\001 \002(\r\022\027\n\017areYouGameAdmin\030\002 \002(\010\022\036\n\010g" - "ameInfo\030\003 \002(\0132\014.NetGameInfo\"\337\002\n\025JoinGame" - "FailedMessage\022\016\n\006gameId\030\001 \002(\r\022K\n\025joinGam" - "eFailureReason\030\002 \002(\0162,.JoinGameFailedMes" - "sage.JoinGameFailureReason\"\350\001\n\025JoinGameF" - "ailureReason\022\017\n\013invalidGame\020\001\022\016\n\ngameIsF" - "ull\020\002\022\021\n\rgameIsRunning\020\003\022\023\n\017invalidPassw" - "ord\020\004\022\025\n\021notAllowedAsGuest\020\005\022\016\n\nnotInvit" - "ed\020\006\022\021\n\rgameNameInUse\020\007\022\017\n\013badGameName\020\010" - "\022\023\n\017invalidSettings\020\t\022\024\n\020ipAddressBlocke" - "d\020\n\022\020\n\014rejoinFailed\020\013\"P\n\027GamePlayerJoine" - "dMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002" - "(\r\022\023\n\013isGameAdmin\030\003 \002(\010\"\316\001\n\025GamePlayerLe" - "ftMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 " - "\002(\r\022I\n\024gamePlayerLeftReason\030\003 \002(\0162+.Game" - "PlayerLeftMessage.GamePlayerLeftReason\"H" - "\n\024GamePlayerLeftReason\022\021\n\rleftOnRequest\020" - "\000\022\016\n\nleftKicked\020\001\022\r\n\tleftError\020\002\"C\n\027Game" - "AdminChangedMessage\022\016\n\006gameId\030\001 \002(\r\022\030\n\020n" - "ewAdminPlayerId\030\002 \002(\r\"\206\002\n\026RemovedFromGam" - "eMessage\022\016\n\006gameId\030\001 \002(\r\022L\n\025removedFromG" - "ameReason\030\002 \002(\0162-.RemovedFromGameMessage" - ".RemovedFromGameReason\"\215\001\n\025RemovedFromGa" - "meReason\022\024\n\020removedOnRequest\020\000\022\022\n\016kicked" - "FromGame\020\001\022\016\n\ngameIsFull\020\002\022\021\n\rgameIsRunn" - "ing\020\003\022\017\n\013gameTimeout\020\004\022\026\n\022removedStartFa" - "iled\020\005\"<\n\030KickPlayerRequestMessage\022\016\n\006ga" - "meId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\")\n\027LeaveGam" - "eRequestMessage\022\016\n\006gameId\030\001 \002(\r\"=\n\031Invit" - "ePlayerToGameMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010" - "playerId\030\002 \002(\r\"R\n\023InviteNotifyMessage\022\016\n" - "\006gameId\030\001 \002(\r\022\023\n\013playerIdWho\030\002 \002(\r\022\026\n\016pl" - "ayerIdByWhom\030\003 \002(\r\"\270\001\n\033RejectGameInvitat" - "ionMessage\022\016\n\006gameId\030\001 \002(\r\022H\n\016myRejectRe" - "ason\030\002 \002(\01620.RejectGameInvitationMessage" - ".RejectGameInvReason\"\?\n\023RejectGameInvRea" - "son\022\022\n\016rejectReasonNo\020\000\022\024\n\020rejectReasonB" - "usy\020\001\"\210\001\n\026RejectInvNotifyMessage\022\016\n\006game" - "Id\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022L\n\022playerReje" - "ctReason\030\003 \002(\01620.RejectGameInvitationMes" - "sage.RejectGameInvReason\"\262\001\n\021StartEventM" - "essage\022\016\n\006gameId\030\001 \002(\r\0229\n\016startEventType" - "\030\002 \002(\0162!.StartEventMessage.StartEventTyp" - "e\022\037\n\027fillWithComputerPlayers\030\003 \001(\010\"1\n\016St" - "artEventType\022\016\n\nstartEvent\020\000\022\017\n\013rejoinEv" - "ent\020\001\"&\n\024StartEventAckMessage\022\016\n\006gameId\030" - "\001 \002(\r\"_\n\027GameStartInitialMessage\022\016\n\006game" - "Id\030\001 \002(\r\022\033\n\023startDealerPlayerId\030\002 \002(\r\022\027\n" - "\013playerSeats\030\003 \003(\rB\002\020\001\"\325\001\n\026GameStartRejo" - "inMessage\022\016\n\006gameId\030\001 \002(\r\022\033\n\023startDealer" - "PlayerId\030\002 \002(\r\022\017\n\007handNum\030\003 \002(\r\022B\n\020rejoi" - "nPlayerData\030\004 \003(\0132(.GameStartRejoinMessa" - "ge.RejoinPlayerData\0329\n\020RejoinPlayerData\022" - "\020\n\010playerId\030\001 \002(\r\022\023\n\013playerMoney\030\002 \002(\r\"\333" - "\001\n\020HandStartMessage\022\016\n\006gameId\030\001 \002(\r\0220\n\np" - "lainCards\030\002 \001(\0132\034.HandStartMessage.Plain" - "Cards\022\026\n\016encryptedCards\030\003 \001(\014\022\022\n\nsmallBl" - "ind\030\004 \002(\r\022#\n\nseatStates\030\005 \003(\0162\017.NetPlaye" - "rState\0324\n\nPlainCards\022\022\n\nplainCard1\030\001 \002(\r" - "\022\022\n\nplainCard2\030\002 \002(\r\"X\n\022PlayersTurnMessa" - "ge\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022 \n\t" - "gameState\030\003 \002(\0162\r.NetGameState\"\226\001\n\026MyAct" - "ionRequestMessage\022\016\n\006gameId\030\001 \002(\r\022\017\n\007han" - "dNum\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.NetGameS" - "tate\022\"\n\010myAction\030\004 \002(\0162\020.NetPlayerAction" - "\022\025\n\rmyRelativeBet\030\005 \002(\r\"\271\002\n\031YourActionRe" - "jectedMessage\022\016\n\006gameId\030\001 \002(\r\022 \n\tgameSta" - "te\030\002 \002(\0162\r.NetGameState\022$\n\nyourAction\030\003 " - "\002(\0162\020.NetPlayerAction\022\027\n\017yourRelativeBet" - "\030\004 \002(\r\022C\n\017rejectionReason\030\005 \002(\0162*.YourAc" - "tionRejectedMessage.RejectionReason\"f\n\017R" - "ejectionReason\022\034\n\030rejectedInvalidGameSta" - "te\020\001\022\027\n\023rejectedNotYourTurn\020\002\022\034\n\030rejecte" - "dActionNotAllowed\020\003\"\335\001\n\030PlayersActionDon" - "eMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002" - "(\r\022 \n\tgameState\030\003 \002(\0162\r.NetGameState\022&\n\014" - "playerAction\030\004 \002(\0162\020.NetPlayerAction\022\026\n\016" - "totalPlayerBet\030\005 \002(\r\022\023\n\013playerMoney\030\006 \002(" - "\r\022\022\n\nhighestSet\030\007 \002(\r\022\024\n\014minimumRaise\030\010 " - "\002(\r\"_\n\024DealFlopCardsMessage\022\016\n\006gameId\030\001 " - "\002(\r\022\021\n\tflopCard1\030\002 \002(\r\022\021\n\tflopCard2\030\003 \002(" - "\r\022\021\n\tflopCard3\030\004 \002(\r\"7\n\023DealTurnCardMess" - "age\022\016\n\006gameId\030\001 \002(\r\022\020\n\010turnCard\030\002 \002(\r\"9\n" - "\024DealRiverCardMessage\022\016\n\006gameId\030\001 \002(\r\022\021\n" - "\triverCard\030\002 \002(\r\"\252\001\n\025AllInShowCardsMessa" - "ge\022\016\n\006gameId\030\001 \002(\r\0228\n\014playersAllIn\030\002 \003(\013" - "2\".AllInShowCardsMessage.PlayerAllIn\032G\n\013" - "PlayerAllIn\022\020\n\010playerId\030\001 \002(\r\022\022\n\nallInCa" - "rd1\030\002 \002(\r\022\022\n\nallInCard2\030\003 \002(\r\"Q\n\031EndOfHa" - "ndShowCardsMessage\022\016\n\006gameId\030\001 \002(\r\022$\n\rpl" - "ayerResults\030\002 \003(\0132\r.PlayerResult\"d\n\031EndO" - "fHandHideCardsMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n" - "\010playerId\030\002 \002(\r\022\020\n\010moneyWon\030\003 \002(\r\022\023\n\013pla" - "yerMoney\030\004 \002(\r\"\033\n\031ShowMyCardsRequestMess" - "age\"@\n\031AfterHandShowCardsMessage\022#\n\014play" - "erResult\030\001 \002(\0132\r.PlayerResult\":\n\020EndOfGa" - "meMessage\022\016\n\006gameId\030\001 \002(\r\022\026\n\016winnerPlaye" - "rId\030\002 \002(\r\"B\n\026PlayerIdChangedMessage\022\023\n\013o" - "ldPlayerId\030\001 \002(\r\022\023\n\013newPlayerId\030\002 \002(\r\"8\n" - "\024AskKickPlayerMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n" - "\010playerId\030\002 \002(\r\"\247\002\n\024AskKickDeniedMessage" - "\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022@\n\020ki" - "ckDeniedReason\030\003 \002(\0162&.AskKickDeniedMess" - "age.KickDeniedReason\"\252\001\n\020KickDeniedReaso" - "n\022\036\n\032kickDeniedInvalidGameState\020\000\022\031\n\025kic" - "kDeniedNotPossible\020\001\022\033\n\027kickDeniedTryAga" - "inLater\020\002\022\037\n\033kickDeniedAlreadyInProgress" - "\020\003\022\035\n\031kickDeniedInvalidPlayerId\020\004\"\245\001\n\030St" - "artKickPetitionMessage\022\016\n\006gameId\030\001 \002(\r\022\022" - "\n\npetitionId\030\002 \002(\r\022\031\n\021proposingPlayerId\030" - "\003 \002(\r\022\024\n\014kickPlayerId\030\004 \002(\r\022\026\n\016kickTimeo" - "utSec\030\005 \002(\r\022\034\n\024numVotesNeededToKick\030\006 \002(" - "\r\"N\n\026VoteKickRequestMessage\022\016\n\006gameId\030\001 " - "\002(\r\022\022\n\npetitionId\030\002 \002(\r\022\020\n\010voteKick\030\003 \002(" - "\010\"\337\001\n\024VoteKickReplyMessage\022\016\n\006gameId\030\001 \002" - "(\r\022\022\n\npetitionId\030\002 \002(\r\022B\n\021voteKickReplyT" - "ype\030\003 \002(\0162\'.VoteKickReplyMessage.VoteKic" - "kReplyType\"_\n\021VoteKickReplyType\022\017\n\013voteK" - "ickAck\020\000\022\031\n\025voteKickDeniedInvalid\020\001\022\036\n\032v" - "oteKickDeniedAlreadyVoted\020\002\"\240\001\n\031KickPeti" - "tionUpdateMessage\022\016\n\006gameId\030\001 \002(\r\022\022\n\npet" - "itionId\030\002 \002(\r\022\036\n\026numVotesAgainstKicking\030" - "\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030\004 \002(\r" - "\022\034\n\024numVotesNeededToKick\030\005 \002(\r\"\344\002\n\026EndKi" - "ckPetitionMessage\022\016\n\006gameId\030\001 \002(\r\022\022\n\npet" - "itionId\030\002 \002(\r\022\036\n\026numVotesAgainstKicking\030" - "\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030\004 \002(\r" - "\022\032\n\022resultPlayerKicked\030\005 \002(\r\022D\n\021petition" - "EndReason\030\006 \002(\0162).EndKickPetitionMessage" - ".PetitionEndReason\"\200\001\n\021PetitionEndReason" - "\022\032\n\026petitionEndEnoughVotes\020\000\022\034\n\030petition" - "EndTooFewPlayers\020\001\022\031\n\025petitionEndPlayerL" - "eft\020\002\022\026\n\022petitionEndTimeout\020\003\"\357\001\n\021Statis" - "ticsMessage\0229\n\016statisticsData\030\001 \003(\0132!.St" - "atisticsMessage.StatisticsData\032\236\001\n\016Stati" - "sticsData\022H\n\016statisticsType\030\001 \002(\01620.Stat" - "isticsMessage.StatisticsData.StatisticsT" - "ype\022\027\n\017statisticsValue\030\002 \002(\r\")\n\016Statisti" - "csType\022\027\n\023statNumberOfPlayers\020\001\"T\n\022ChatR" - "equestMessage\022\024\n\014targetGameId\030\001 \001(\r\022\026\n\016t" - "argetPlayerId\030\002 \001(\r\022\020\n\010chatText\030\003 \002(\t\"\330\001" - "\n\013ChatMessage\022\016\n\006gameId\030\001 \001(\r\022\020\n\010playerI" - "d\030\002 \001(\r\022\'\n\010chatType\030\003 \002(\0162\025.ChatMessage." - "ChatType\022\020\n\010chatText\030\004 \002(\t\"l\n\010ChatType\022\021" - "\n\rchatTypeLobby\020\000\022\020\n\014chatTypeGame\020\001\022\017\n\013c" - "hatTypeBot\020\002\022\025\n\021chatTypeBroadcast\020\003\022\023\n\017c" - "hatTypePrivate\020\004\"%\n\021ChatRejectMessage\022\020\n" - "\010chatText\030\001 \002(\t\")\n\rDialogMessage\022\030\n\020noti" - "ficationText\030\001 \002(\t\"\321\001\n\025TimeoutWarningMes" - "sage\022;\n\rtimeoutReason\030\001 \002(\0162$.TimeoutWar" - "ningMessage.TimeoutReason\022\030\n\020remainingSe" - "conds\030\002 \002(\r\"a\n\rTimeoutReason\022\031\n\025timeoutN" - "oDataReceived\020\000\022\027\n\023timeoutInactiveGame\020\001" - "\022\034\n\030timeoutKickAfterAutofold\020\002\"\025\n\023ResetT" - "imeoutMessage\"K\n\023ReportAvatarMessage\022\030\n\020" - "reportedPlayerId\030\001 \002(\r\022\032\n\022reportedAvatar" - "Hash\030\002 \002(\014\"\336\001\n\026ReportAvatarAckMessage\022\030\n" - "\020reportedPlayerId\030\001 \002(\r\022F\n\022reportAvatarR" - "esult\030\002 \002(\0162*.ReportAvatarAckMessage.Rep" - "ortAvatarResult\"b\n\022ReportAvatarResult\022\030\n" - "\024avatarReportAccepted\020\000\022\031\n\025avatarReportD" - "uplicate\020\001\022\027\n\023avatarReportInvalid\020\002\"+\n\021R" - "eportGameMessage\022\026\n\016reportedGameId\030\001 \002(\r" - "\"\314\001\n\024ReportGameAckMessage\022\026\n\016reportedGam" - "eId\030\001 \002(\r\022@\n\020reportGameResult\030\002 \002(\0162&.Re" - "portGameAckMessage.ReportGameResult\"Z\n\020R" - "eportGameResult\022\026\n\022gameReportAccepted\020\000\022" - "\027\n\023gameReportDuplicate\020\001\022\025\n\021gameReportIn" - "valid\020\002\"\220\003\n\014ErrorMessage\022.\n\013errorReason\030" - "\001 \002(\0162\031.ErrorMessage.ErrorReason\"\317\002\n\013Err" - "orReason\022\014\n\010reserved\020\000\022\033\n\027initVersionNot" - "Supported\020\001\022\022\n\016initServerFull\020\002\022\023\n\017initA" - "uthFailure\020\003\022\027\n\023initPlayerNameInUse\020\004\022\031\n" - "\025initInvalidPlayerName\020\005\022\031\n\025initServerMa" - "intenance\020\006\022\017\n\013initBlocked\020\007\022\022\n\016avatarTo" - "oLarge\020\010\022\021\n\rinvalidPacket\020\t\022\020\n\014invalidSt" - "ate\020\n\022\024\n\020kickedFromServer\020\013\022\024\n\020bannedFro" - "mServer\020\014\022\023\n\017blockedByServer\020\r\022\022\n\016sessio" - "nTimeout\020\016\"\3771\n\016PokerTHMessage\0227\n\013message" - "Type\030\001 \002(\0162\".PokerTHMessage.PokerTHMessa" - "geType\022)\n\017announceMessage\030\002 \001(\0132\020.Announ" - "ceMessage\022!\n\013initMessage\030\003 \001(\0132\014.InitMes" - "sage\022\?\n\032authServerChallengeMessage\030\004 \001(\013" - "2\033.AuthServerChallengeMessage\022=\n\031authCli" - "entResponseMessage\030\005 \001(\0132\032.AuthClientRes" - "ponseMessage\022E\n\035authServerVerificationMe" - "ssage\030\006 \001(\0132\036.AuthServerVerificationMess" - "age\022\'\n\016initAckMessage\030\007 \001(\0132\017.InitAckMes" - "sage\0223\n\024avatarRequestMessage\030\010 \001(\0132\025.Ava" - "tarRequestMessage\0221\n\023avatarHeaderMessage" - "\030\t \001(\0132\024.AvatarHeaderMessage\022-\n\021avatarDa" - "taMessage\030\n \001(\0132\022.AvatarDataMessage\022+\n\020a" - "vatarEndMessage\030\013 \001(\0132\021.AvatarEndMessage" - "\0223\n\024unknownAvatarMessage\030\014 \001(\0132\025.Unknown" - "AvatarMessage\022-\n\021playerListMessage\030\r \001(\013" - "2\022.PlayerListMessage\022/\n\022gameListNewMessa" - "ge\030\016 \001(\0132\023.GameListNewMessage\0225\n\025gameLis" - "tUpdateMessage\030\017 \001(\0132\026.GameListUpdateMes" - "sage\022A\n\033gameListPlayerJoinedMessage\030\020 \001(" - "\0132\034.GameListPlayerJoinedMessage\022=\n\031gameL" - "istPlayerLeftMessage\030\021 \001(\0132\032.GameListPla" - "yerLeftMessage\022A\n\033gameListAdminChangedMe" - "ssage\030\022 \001(\0132\034.GameListAdminChangedMessag" - "e\022;\n\030playerInfoRequestMessage\030\023 \001(\0132\031.Pl" - "ayerInfoRequestMessage\0227\n\026playerInfoRepl" - "yMessage\030\024 \001(\0132\027.PlayerInfoReplyMessage\022" - "\?\n\032subscriptionRequestMessage\030\025 \001(\0132\033.Su" - "bscriptionRequestMessage\0229\n\027joinExisting" - "GameMessage\030\026 \001(\0132\030.JoinExistingGameMess" - "age\022/\n\022joinNewGameMessage\030\027 \001(\0132\023.JoinNe" - "wGameMessage\022=\n\031rejoinExistingGameMessag" - "e\030\030 \001(\0132\032.RejoinExistingGameMessage\022/\n\022j" - "oinGameAckMessage\030\031 \001(\0132\023.JoinGameAckMes" - "sage\0225\n\025joinGameFailedMessage\030\032 \001(\0132\026.Jo" - "inGameFailedMessage\0229\n\027gamePlayerJoinedM" - "essage\030\033 \001(\0132\030.GamePlayerJoinedMessage\0225" - "\n\025gamePlayerLeftMessage\030\034 \001(\0132\026.GamePlay" - "erLeftMessage\0229\n\027gameAdminChangedMessage" - "\030\035 \001(\0132\030.GameAdminChangedMessage\0227\n\026remo" - "vedFromGameMessage\030\036 \001(\0132\027.RemovedFromGa" - "meMessage\022;\n\030kickPlayerRequestMessage\030\037 " - "\001(\0132\031.KickPlayerRequestMessage\0229\n\027leaveG" - "ameRequestMessage\030 \001(\0132\030.LeaveGameReque" - "stMessage\022=\n\031invitePlayerToGameMessage\030!" - " \001(\0132\032.InvitePlayerToGameMessage\0221\n\023invi" - "teNotifyMessage\030\" \001(\0132\024.InviteNotifyMess" - "age\022A\n\033rejectGameInvitationMessage\030# \001(\013" - "2\034.RejectGameInvitationMessage\0227\n\026reject" - "InvNotifyMessage\030$ \001(\0132\027.RejectInvNotify" - "Message\022-\n\021startEventMessage\030% \001(\0132\022.Sta" - "rtEventMessage\0223\n\024startEventAckMessage\030&" - " \001(\0132\025.StartEventAckMessage\0229\n\027gameStart" - "InitialMessage\030\' \001(\0132\030.GameStartInitialM" - "essage\0227\n\026gameStartRejoinMessage\030( \001(\0132\027" - ".GameStartRejoinMessage\022+\n\020handStartMess" - "age\030) \001(\0132\021.HandStartMessage\022/\n\022playersT" - "urnMessage\030* \001(\0132\023.PlayersTurnMessage\0227\n" - "\026myActionRequestMessage\030+ \001(\0132\027.MyAction" - "RequestMessage\022=\n\031yourActionRejectedMess" - "age\030, \001(\0132\032.YourActionRejectedMessage\022;\n" - "\030playersActionDoneMessage\030- \001(\0132\031.Player" - "sActionDoneMessage\0223\n\024dealFlopCardsMessa" - "ge\030. \001(\0132\025.DealFlopCardsMessage\0221\n\023dealT" - "urnCardMessage\030/ \001(\0132\024.DealTurnCardMessa" - "ge\0223\n\024dealRiverCardMessage\0300 \001(\0132\025.DealR" - "iverCardMessage\0225\n\025allInShowCardsMessage" - "\0301 \001(\0132\026.AllInShowCardsMessage\022=\n\031endOfH" - "andShowCardsMessage\0302 \001(\0132\032.EndOfHandSho" - "wCardsMessage\022=\n\031endOfHandHideCardsMessa" - "ge\0303 \001(\0132\032.EndOfHandHideCardsMessage\022=\n\031" - "showMyCardsRequestMessage\0304 \001(\0132\032.ShowMy" - "CardsRequestMessage\022=\n\031afterHandShowCard" - "sMessage\0305 \001(\0132\032.AfterHandShowCardsMessa" - "ge\022+\n\020endOfGameMessage\0306 \001(\0132\021.EndOfGame" - "Message\0227\n\026playerIdChangedMessage\0307 \001(\0132" - "\027.PlayerIdChangedMessage\0223\n\024askKickPlaye" - "rMessage\0308 \001(\0132\025.AskKickPlayerMessage\0223\n" - "\024askKickDeniedMessage\0309 \001(\0132\025.AskKickDen" - "iedMessage\022;\n\030startKickPetitionMessage\030:" - " \001(\0132\031.StartKickPetitionMessage\0227\n\026voteK" - "ickRequestMessage\030; \001(\0132\027.VoteKickReques" - "tMessage\0223\n\024voteKickReplyMessage\030< \001(\0132\025" - ".VoteKickReplyMessage\022=\n\031kickPetitionUpd" - "ateMessage\030= \001(\0132\032.KickPetitionUpdateMes" - "sage\0227\n\026endKickPetitionMessage\030> \001(\0132\027.E" - "ndKickPetitionMessage\022-\n\021statisticsMessa" - "ge\030\? \001(\0132\022.StatisticsMessage\022/\n\022chatRequ" - "estMessage\030@ \001(\0132\023.ChatRequestMessage\022!\n" - "\013chatMessage\030A \001(\0132\014.ChatMessage\022-\n\021chat" - "RejectMessage\030B \001(\0132\022.ChatRejectMessage\022" - "%\n\rdialogMessage\030C \001(\0132\016.DialogMessage\0225" - "\n\025timeoutWarningMessage\030D \001(\0132\026.TimeoutW" - "arningMessage\0221\n\023resetTimeoutMessage\030E \001" - "(\0132\024.ResetTimeoutMessage\0221\n\023reportAvatar" - "Message\030F \001(\0132\024.ReportAvatarMessage\0227\n\026r" - "eportAvatarAckMessage\030G \001(\0132\027.ReportAvat" - "arAckMessage\022-\n\021reportGameMessage\030H \001(\0132" - "\022.ReportGameMessage\0223\n\024reportGameAckMess" - "age\030I \001(\0132\025.ReportGameAckMessage\022#\n\014erro" - "rMessage\030J \001(\0132\r.ErrorMessage\"\244\022\n\022PokerT" - "HMessageType\022\030\n\024Type_AnnounceMessage\020\001\022\024" - "\n\020Type_InitMessage\020\002\022#\n\037Type_AuthServerC" - "hallengeMessage\020\003\022\"\n\036Type_AuthClientResp" - "onseMessage\020\004\022&\n\"Type_AuthServerVerifica" - "tionMessage\020\005\022\027\n\023Type_InitAckMessage\020\006\022\035" - "\n\031Type_AvatarRequestMessage\020\007\022\034\n\030Type_Av" - "atarHeaderMessage\020\010\022\032\n\026Type_AvatarDataMe" - "ssage\020\t\022\031\n\025Type_AvatarEndMessage\020\n\022\035\n\031Ty" - "pe_UnknownAvatarMessage\020\013\022\032\n\026Type_Player" - "ListMessage\020\014\022\033\n\027Type_GameListNewMessage" - "\020\r\022\036\n\032Type_GameListUpdateMessage\020\016\022$\n Ty" - "pe_GameListPlayerJoinedMessage\020\017\022\"\n\036Type" - "_GameListPlayerLeftMessage\020\020\022$\n Type_Gam" - "eListAdminChangedMessage\020\021\022!\n\035Type_Playe" - "rInfoRequestMessage\020\022\022\037\n\033Type_PlayerInfo" - "ReplyMessage\020\023\022#\n\037Type_SubscriptionReque" - "stMessage\020\024\022 \n\034Type_JoinExistingGameMess" - "age\020\025\022\033\n\027Type_JoinNewGameMessage\020\026\022\"\n\036Ty" - "pe_RejoinExistingGameMessage\020\027\022\033\n\027Type_J" - "oinGameAckMessage\020\030\022\036\n\032Type_JoinGameFail" - "edMessage\020\031\022 \n\034Type_GamePlayerJoinedMess" - "age\020\032\022\036\n\032Type_GamePlayerLeftMessage\020\033\022 \n" - "\034Type_GameAdminChangedMessage\020\034\022\037\n\033Type_" - "RemovedFromGameMessage\020\035\022!\n\035Type_KickPla" - "yerRequestMessage\020\036\022 \n\034Type_LeaveGameReq" - "uestMessage\020\037\022\"\n\036Type_InvitePlayerToGame" - "Message\020 \022\034\n\030Type_InviteNotifyMessage\020!\022" - "$\n Type_RejectGameInvitationMessage\020\"\022\037\n" - "\033Type_RejectInvNotifyMessage\020#\022\032\n\026Type_S" - "tartEventMessage\020$\022\035\n\031Type_StartEventAck" - "Message\020%\022 \n\034Type_GameStartInitialMessag" - "e\020&\022\037\n\033Type_GameStartRejoinMessage\020\'\022\031\n\025" - "Type_HandStartMessage\020(\022\033\n\027Type_PlayersT" - "urnMessage\020)\022\037\n\033Type_MyActionRequestMess" - "age\020*\022\"\n\036Type_YourActionRejectedMessage\020" - "+\022!\n\035Type_PlayersActionDoneMessage\020,\022\035\n\031" - "Type_DealFlopCardsMessage\020-\022\034\n\030Type_Deal" - "TurnCardMessage\020.\022\035\n\031Type_DealRiverCardM" - "essage\020/\022\036\n\032Type_AllInShowCardsMessage\0200" - "\022\"\n\036Type_EndOfHandShowCardsMessage\0201\022\"\n\036" - "Type_EndOfHandHideCardsMessage\0202\022\"\n\036Type" - "_ShowMyCardsRequestMessage\0203\022\"\n\036Type_Aft" - "erHandShowCardsMessage\0204\022\031\n\025Type_EndOfGa" - "meMessage\0205\022\037\n\033Type_PlayerIdChangedMessa" - "ge\0206\022\035\n\031Type_AskKickPlayerMessage\0207\022\035\n\031T" - "ype_AskKickDeniedMessage\0208\022!\n\035Type_Start" - "KickPetitionMessage\0209\022\037\n\033Type_VoteKickRe" - "questMessage\020:\022\035\n\031Type_VoteKickReplyMess" - "age\020;\022\"\n\036Type_KickPetitionUpdateMessage\020" - "<\022\037\n\033Type_EndKickPetitionMessage\020=\022\032\n\026Ty" - "pe_StatisticsMessage\020>\022\033\n\027Type_ChatReque" - "stMessage\020\?\022\024\n\020Type_ChatMessage\020@\022\032\n\026Typ" - "e_ChatRejectMessage\020A\022\026\n\022Type_DialogMess" - "age\020B\022\036\n\032Type_TimeoutWarningMessage\020C\022\034\n" - "\030Type_ResetTimeoutMessage\020D\022\034\n\030Type_Repo" - "rtAvatarMessage\020E\022\037\n\033Type_ReportAvatarAc" - "kMessage\020F\022\032\n\026Type_ReportGameMessage\020G\022\035" - "\n\031Type_ReportGameAckMessage\020H\022\025\n\021Type_Er" - "rorMessage\020I*H\n\013NetGameMode\022\022\n\016netGameCr" - "eated\020\001\022\022\n\016netGameStarted\020\002\022\021\n\rnetGameCl" - "osed\020\003*\226\001\n\014NetGameState\022\023\n\017netStatePrefl" - "op\020\000\022\020\n\014netStateFlop\020\001\022\020\n\014netStateTurn\020\002" - "\022\021\n\rnetStateRiver\020\003\022\035\n\031netStatePreflopSm" - "allBlind\020\004\022\033\n\027netStatePreflopBigBlind\020\005*" - "\230\001\n\017NetPlayerAction\022\021\n\rnetActionNone\020\000\022\021" - "\n\rnetActionFold\020\001\022\022\n\016netActionCheck\020\002\022\021\n" - "\rnetActionCall\020\003\022\020\n\014netActionBet\020\004\022\022\n\016ne" - "tActionRaise\020\005\022\022\n\016netActionAllIn\020\006*h\n\016Ne" - "tPlayerState\022\030\n\024netPlayerStateNormal\020\000\022!" - "\n\035netPlayerStateSessionInactive\020\001\022\031\n\025net" - "PlayerStateNoMoney\020\002*d\n\023NetPlayerInfoRig" - "hts\022\030\n\024netPlayerRightsGuest\020\001\022\031\n\025netPlay" - "erRightsNormal\020\002\022\030\n\024netPlayerRightsAdmin" - "\020\003*T\n\rNetAvatarType\022\025\n\021netAvatarImagePng" - "\020\001\022\025\n\021netAvatarImageJpg\020\002\022\025\n\021netAvatarIm" - "ageGif\020\003B\037\n\023de.pokerth.protocolB\010ProtoBu" - "f", 17841); + "ewAdminPlayerId\030\002 \002(\r\"0\n\030PlayerInfoReque" + "stMessage\022\024\n\010playerId\030\001 \003(\rB\002\020\001\"\360\002\n\026Play" + "erInfoReplyMessage\022\020\n\010playerId\030\001 \002(\r\022>\n\016" + "playerInfoData\030\002 \001(\0132&.PlayerInfoReplyMe" + "ssage.PlayerInfoData\032\203\002\n\016PlayerInfoData\022" + "\022\n\nplayerName\030\001 \002(\t\022\017\n\007isHuman\030\002 \002(\010\022*\n\014" + "playerRights\030\003 \002(\0162\024.NetPlayerInfoRights" + "\022\023\n\013countryCode\030\004 \001(\t\022E\n\navatarData\030\005 \001(" + "\01321.PlayerInfoReplyMessage.PlayerInfoDat" + "a.AvatarData\032D\n\nAvatarData\022\"\n\navatarType" + "\030\001 \002(\0162\016.NetAvatarType\022\022\n\navatarHash\030\002 \002" + "(\014\"\260\001\n\032SubscriptionRequestMessage\022J\n\022sub" + "scriptionAction\030\001 \002(\0162..SubscriptionRequ" + "estMessage.SubscriptionAction\"F\n\022Subscri" + "ptionAction\022\027\n\023unsubscribeGameList\020\001\022\027\n\023" + "resubscribeGameList\020\002\"N\n\027JoinExistingGam" + "eMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010password\030\002 \001" + "(\t\022\021\n\tautoLeave\030\003 \001(\010\"Y\n\022JoinNewGameMess" + "age\022\036\n\010gameInfo\030\001 \002(\0132\014.NetGameInfo\022\020\n\010p" + "assword\030\002 \001(\t\022\021\n\tautoLeave\030\003 \001(\010\">\n\031Rejo" + "inExistingGameMessage\022\016\n\006gameId\030\001 \002(\r\022\021\n" + "\tautoLeave\030\002 \001(\010\"]\n\022JoinGameAckMessage\022\016" + "\n\006gameId\030\001 \002(\r\022\027\n\017areYouGameAdmin\030\002 \002(\010\022" + "\036\n\010gameInfo\030\003 \002(\0132\014.NetGameInfo\"\337\002\n\025Join" + "GameFailedMessage\022\016\n\006gameId\030\001 \002(\r\022K\n\025joi" + "nGameFailureReason\030\002 \002(\0162,.JoinGameFaile" + "dMessage.JoinGameFailureReason\"\350\001\n\025JoinG" + "ameFailureReason\022\017\n\013invalidGame\020\001\022\016\n\ngam" + "eIsFull\020\002\022\021\n\rgameIsRunning\020\003\022\023\n\017invalidP" + "assword\020\004\022\025\n\021notAllowedAsGuest\020\005\022\016\n\nnotI" + "nvited\020\006\022\021\n\rgameNameInUse\020\007\022\017\n\013badGameNa" + "me\020\010\022\023\n\017invalidSettings\020\t\022\024\n\020ipAddressBl" + "ocked\020\n\022\020\n\014rejoinFailed\020\013\"P\n\027GamePlayerJ" + "oinedMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId" + "\030\002 \002(\r\022\023\n\013isGameAdmin\030\003 \002(\010\"\316\001\n\025GamePlay" + "erLeftMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerI" + "d\030\002 \002(\r\022I\n\024gamePlayerLeftReason\030\003 \002(\0162+." + "GamePlayerLeftMessage.GamePlayerLeftReas" + "on\"H\n\024GamePlayerLeftReason\022\021\n\rleftOnRequ" + "est\020\000\022\016\n\nleftKicked\020\001\022\r\n\tleftError\020\002\"C\n\027" + "GameAdminChangedMessage\022\016\n\006gameId\030\001 \002(\r\022" + "\030\n\020newAdminPlayerId\030\002 \002(\r\"\206\002\n\026RemovedFro" + "mGameMessage\022\016\n\006gameId\030\001 \002(\r\022L\n\025removedF" + "romGameReason\030\002 \002(\0162-.RemovedFromGameMes" + "sage.RemovedFromGameReason\"\215\001\n\025RemovedFr" + "omGameReason\022\024\n\020removedOnRequest\020\000\022\022\n\016ki" + "ckedFromGame\020\001\022\016\n\ngameIsFull\020\002\022\021\n\rgameIs" + "Running\020\003\022\017\n\013gameTimeout\020\004\022\026\n\022removedSta" + "rtFailed\020\005\"<\n\030KickPlayerRequestMessage\022\016" + "\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\")\n\027Leav" + "eGameRequestMessage\022\016\n\006gameId\030\001 \002(\r\"=\n\031I" + "nvitePlayerToGameMessage\022\016\n\006gameId\030\001 \002(\r" + "\022\020\n\010playerId\030\002 \002(\r\"R\n\023InviteNotifyMessag" + "e\022\016\n\006gameId\030\001 \002(\r\022\023\n\013playerIdWho\030\002 \002(\r\022\026" + "\n\016playerIdByWhom\030\003 \002(\r\"\270\001\n\033RejectGameInv" + "itationMessage\022\016\n\006gameId\030\001 \002(\r\022H\n\016myReje" + "ctReason\030\002 \002(\01620.RejectGameInvitationMes" + "sage.RejectGameInvReason\"\?\n\023RejectGameIn" + "vReason\022\022\n\016rejectReasonNo\020\000\022\024\n\020rejectRea" + "sonBusy\020\001\"\210\001\n\026RejectInvNotifyMessage\022\016\n\006" + "gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022L\n\022player" + "RejectReason\030\003 \002(\01620.RejectGameInvitatio" + "nMessage.RejectGameInvReason\"\262\001\n\021StartEv" + "entMessage\022\016\n\006gameId\030\001 \002(\r\0229\n\016startEvent" + "Type\030\002 \002(\0162!.StartEventMessage.StartEven" + "tType\022\037\n\027fillWithComputerPlayers\030\003 \001(\010\"1" + "\n\016StartEventType\022\016\n\nstartEvent\020\000\022\017\n\013rejo" + "inEvent\020\001\"&\n\024StartEventAckMessage\022\016\n\006gam" + "eId\030\001 \002(\r\"_\n\027GameStartInitialMessage\022\016\n\006" + "gameId\030\001 \002(\r\022\033\n\023startDealerPlayerId\030\002 \002(" + "\r\022\027\n\013playerSeats\030\003 \003(\rB\002\020\001\"\325\001\n\026GameStart" + "RejoinMessage\022\016\n\006gameId\030\001 \002(\r\022\033\n\023startDe" + "alerPlayerId\030\002 \002(\r\022\017\n\007handNum\030\003 \002(\r\022B\n\020r" + "ejoinPlayerData\030\004 \003(\0132(.GameStartRejoinM" + "essage.RejoinPlayerData\0329\n\020RejoinPlayerD" + "ata\022\020\n\010playerId\030\001 \002(\r\022\023\n\013playerMoney\030\002 \002" + "(\r\"\333\001\n\020HandStartMessage\022\016\n\006gameId\030\001 \002(\r\022" + "0\n\nplainCards\030\002 \001(\0132\034.HandStartMessage.P" + "lainCards\022\026\n\016encryptedCards\030\003 \001(\014\022\022\n\nsma" + "llBlind\030\004 \002(\r\022#\n\nseatStates\030\005 \003(\0162\017.NetP" + "layerState\0324\n\nPlainCards\022\022\n\nplainCard1\030\001" + " \002(\r\022\022\n\nplainCard2\030\002 \002(\r\"X\n\022PlayersTurnM" + "essage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r" + "\022 \n\tgameState\030\003 \002(\0162\r.NetGameState\"\226\001\n\026M" + "yActionRequestMessage\022\016\n\006gameId\030\001 \002(\r\022\017\n" + "\007handNum\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.NetG" + "ameState\022\"\n\010myAction\030\004 \002(\0162\020.NetPlayerAc" + "tion\022\025\n\rmyRelativeBet\030\005 \002(\r\"\271\002\n\031YourActi" + "onRejectedMessage\022\016\n\006gameId\030\001 \002(\r\022 \n\tgam" + "eState\030\002 \002(\0162\r.NetGameState\022$\n\nyourActio" + "n\030\003 \002(\0162\020.NetPlayerAction\022\027\n\017yourRelativ" + "eBet\030\004 \002(\r\022C\n\017rejectionReason\030\005 \002(\0162*.Yo" + "urActionRejectedMessage.RejectionReason\"" + "f\n\017RejectionReason\022\034\n\030rejectedInvalidGam" + "eState\020\001\022\027\n\023rejectedNotYourTurn\020\002\022\034\n\030rej" + "ectedActionNotAllowed\020\003\"\335\001\n\030PlayersActio" + "nDoneMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId" + "\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.NetGameState" + "\022&\n\014playerAction\030\004 \002(\0162\020.NetPlayerAction" + "\022\026\n\016totalPlayerBet\030\005 \002(\r\022\023\n\013playerMoney\030" + "\006 \002(\r\022\022\n\nhighestSet\030\007 \002(\r\022\024\n\014minimumRais" + "e\030\010 \002(\r\"_\n\024DealFlopCardsMessage\022\016\n\006gameI" + "d\030\001 \002(\r\022\021\n\tflopCard1\030\002 \002(\r\022\021\n\tflopCard2\030" + "\003 \002(\r\022\021\n\tflopCard3\030\004 \002(\r\"7\n\023DealTurnCard" + "Message\022\016\n\006gameId\030\001 \002(\r\022\020\n\010turnCard\030\002 \002(" + "\r\"9\n\024DealRiverCardMessage\022\016\n\006gameId\030\001 \002(" + "\r\022\021\n\triverCard\030\002 \002(\r\"\252\001\n\025AllInShowCardsM" + "essage\022\016\n\006gameId\030\001 \002(\r\0228\n\014playersAllIn\030\002" + " \003(\0132\".AllInShowCardsMessage.PlayerAllIn" + "\032G\n\013PlayerAllIn\022\020\n\010playerId\030\001 \002(\r\022\022\n\nall" + "InCard1\030\002 \002(\r\022\022\n\nallInCard2\030\003 \002(\r\"Q\n\031End" + "OfHandShowCardsMessage\022\016\n\006gameId\030\001 \002(\r\022$" + "\n\rplayerResults\030\002 \003(\0132\r.PlayerResult\"d\n\031" + "EndOfHandHideCardsMessage\022\016\n\006gameId\030\001 \002(" + "\r\022\020\n\010playerId\030\002 \002(\r\022\020\n\010moneyWon\030\003 \002(\r\022\023\n" + "\013playerMoney\030\004 \002(\r\"\033\n\031ShowMyCardsRequest" + "Message\"@\n\031AfterHandShowCardsMessage\022#\n\014" + "playerResult\030\001 \002(\0132\r.PlayerResult\":\n\020End" + "OfGameMessage\022\016\n\006gameId\030\001 \002(\r\022\026\n\016winnerP" + "layerId\030\002 \002(\r\"B\n\026PlayerIdChangedMessage\022" + "\023\n\013oldPlayerId\030\001 \002(\r\022\023\n\013newPlayerId\030\002 \002(" + "\r\"8\n\024AskKickPlayerMessage\022\016\n\006gameId\030\001 \002(" + "\r\022\020\n\010playerId\030\002 \002(\r\"\247\002\n\024AskKickDeniedMes" + "sage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022@" + "\n\020kickDeniedReason\030\003 \002(\0162&.AskKickDenied" + "Message.KickDeniedReason\"\252\001\n\020KickDeniedR" + "eason\022\036\n\032kickDeniedInvalidGameState\020\000\022\031\n" + "\025kickDeniedNotPossible\020\001\022\033\n\027kickDeniedTr" + "yAgainLater\020\002\022\037\n\033kickDeniedAlreadyInProg" + "ress\020\003\022\035\n\031kickDeniedInvalidPlayerId\020\004\"\245\001" + "\n\030StartKickPetitionMessage\022\016\n\006gameId\030\001 \002" + "(\r\022\022\n\npetitionId\030\002 \002(\r\022\031\n\021proposingPlaye" + "rId\030\003 \002(\r\022\024\n\014kickPlayerId\030\004 \002(\r\022\026\n\016kickT" + "imeoutSec\030\005 \002(\r\022\034\n\024numVotesNeededToKick\030" + "\006 \002(\r\"N\n\026VoteKickRequestMessage\022\016\n\006gameI" + "d\030\001 \002(\r\022\022\n\npetitionId\030\002 \002(\r\022\020\n\010voteKick\030" + "\003 \002(\010\"\337\001\n\024VoteKickReplyMessage\022\016\n\006gameId" + "\030\001 \002(\r\022\022\n\npetitionId\030\002 \002(\r\022B\n\021voteKickRe" + "plyType\030\003 \002(\0162\'.VoteKickReplyMessage.Vot" + "eKickReplyType\"_\n\021VoteKickReplyType\022\017\n\013v" + "oteKickAck\020\000\022\031\n\025voteKickDeniedInvalid\020\001\022" + "\036\n\032voteKickDeniedAlreadyVoted\020\002\"\240\001\n\031Kick" + "PetitionUpdateMessage\022\016\n\006gameId\030\001 \002(\r\022\022\n" + "\npetitionId\030\002 \002(\r\022\036\n\026numVotesAgainstKick" + "ing\030\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030\004" + " \002(\r\022\034\n\024numVotesNeededToKick\030\005 \002(\r\"\344\002\n\026E" + "ndKickPetitionMessage\022\016\n\006gameId\030\001 \002(\r\022\022\n" + "\npetitionId\030\002 \002(\r\022\036\n\026numVotesAgainstKick" + "ing\030\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030\004" + " \002(\r\022\032\n\022resultPlayerKicked\030\005 \002(\r\022D\n\021peti" + "tionEndReason\030\006 \002(\0162).EndKickPetitionMes" + "sage.PetitionEndReason\"\200\001\n\021PetitionEndRe" + "ason\022\032\n\026petitionEndEnoughVotes\020\000\022\034\n\030peti" + "tionEndTooFewPlayers\020\001\022\031\n\025petitionEndPla" + "yerLeft\020\002\022\026\n\022petitionEndTimeout\020\003\"\357\001\n\021St" + "atisticsMessage\0229\n\016statisticsData\030\001 \003(\0132" + "!.StatisticsMessage.StatisticsData\032\236\001\n\016S" + "tatisticsData\022H\n\016statisticsType\030\001 \002(\01620." + "StatisticsMessage.StatisticsData.Statist" + "icsType\022\027\n\017statisticsValue\030\002 \002(\r\")\n\016Stat" + "isticsType\022\027\n\023statNumberOfPlayers\020\001\"T\n\022C" + "hatRequestMessage\022\024\n\014targetGameId\030\001 \001(\r\022" + "\026\n\016targetPlayerId\030\002 \001(\r\022\020\n\010chatText\030\003 \002(" + "\t\"\330\001\n\013ChatMessage\022\016\n\006gameId\030\001 \001(\r\022\020\n\010pla" + "yerId\030\002 \001(\r\022\'\n\010chatType\030\003 \002(\0162\025.ChatMess" + "age.ChatType\022\020\n\010chatText\030\004 \002(\t\"l\n\010ChatTy" + "pe\022\021\n\rchatTypeLobby\020\000\022\020\n\014chatTypeGame\020\001\022" + "\017\n\013chatTypeBot\020\002\022\025\n\021chatTypeBroadcast\020\003\022" + "\023\n\017chatTypePrivate\020\004\"%\n\021ChatRejectMessag" + "e\022\020\n\010chatText\030\001 \002(\t\")\n\rDialogMessage\022\030\n\020" + "notificationText\030\001 \002(\t\"\321\001\n\025TimeoutWarnin" + "gMessage\022;\n\rtimeoutReason\030\001 \002(\0162$.Timeou" + "tWarningMessage.TimeoutReason\022\030\n\020remaini" + "ngSeconds\030\002 \002(\r\"a\n\rTimeoutReason\022\031\n\025time" + "outNoDataReceived\020\000\022\027\n\023timeoutInactiveGa" + "me\020\001\022\034\n\030timeoutKickAfterAutofold\020\002\"\025\n\023Re" + "setTimeoutMessage\"K\n\023ReportAvatarMessage" + "\022\030\n\020reportedPlayerId\030\001 \002(\r\022\032\n\022reportedAv" + "atarHash\030\002 \002(\014\"\336\001\n\026ReportAvatarAckMessag" + "e\022\030\n\020reportedPlayerId\030\001 \002(\r\022F\n\022reportAva" + "tarResult\030\002 \002(\0162*.ReportAvatarAckMessage" + ".ReportAvatarResult\"b\n\022ReportAvatarResul" + "t\022\030\n\024avatarReportAccepted\020\000\022\031\n\025avatarRep" + "ortDuplicate\020\001\022\027\n\023avatarReportInvalid\020\002\"" + "+\n\021ReportGameMessage\022\026\n\016reportedGameId\030\001" + " \002(\r\"\314\001\n\024ReportGameAckMessage\022\026\n\016reporte" + "dGameId\030\001 \002(\r\022@\n\020reportGameResult\030\002 \002(\0162" + "&.ReportGameAckMessage.ReportGameResult\"" + "Z\n\020ReportGameResult\022\026\n\022gameReportAccepte" + "d\020\000\022\027\n\023gameReportDuplicate\020\001\022\025\n\021gameRepo" + "rtInvalid\020\002\"\220\003\n\014ErrorMessage\022.\n\013errorRea" + "son\030\001 \002(\0162\031.ErrorMessage.ErrorReason\"\317\002\n" + "\013ErrorReason\022\014\n\010reserved\020\000\022\033\n\027initVersio" + "nNotSupported\020\001\022\022\n\016initServerFull\020\002\022\023\n\017i" + "nitAuthFailure\020\003\022\027\n\023initPlayerNameInUse\020" + "\004\022\031\n\025initInvalidPlayerName\020\005\022\031\n\025initServ" + "erMaintenance\020\006\022\017\n\013initBlocked\020\007\022\022\n\016avat" + "arTooLarge\020\010\022\021\n\rinvalidPacket\020\t\022\020\n\014inval" + "idState\020\n\022\024\n\020kickedFromServer\020\013\022\024\n\020banne" + "dFromServer\020\014\022\023\n\017blockedByServer\020\r\022\022\n\016se" + "ssionTimeout\020\016\"\3771\n\016PokerTHMessage\0227\n\013mes" + "sageType\030\001 \002(\0162\".PokerTHMessage.PokerTHM" + "essageType\022)\n\017announceMessage\030\002 \001(\0132\020.An" + "nounceMessage\022!\n\013initMessage\030\003 \001(\0132\014.Ini" + "tMessage\022\?\n\032authServerChallengeMessage\030\004" + " \001(\0132\033.AuthServerChallengeMessage\022=\n\031aut" + "hClientResponseMessage\030\005 \001(\0132\032.AuthClien" + "tResponseMessage\022E\n\035authServerVerificati" + "onMessage\030\006 \001(\0132\036.AuthServerVerification" + "Message\022\'\n\016initAckMessage\030\007 \001(\0132\017.InitAc" + "kMessage\0223\n\024avatarRequestMessage\030\010 \001(\0132\025" + ".AvatarRequestMessage\0221\n\023avatarHeaderMes" + "sage\030\t \001(\0132\024.AvatarHeaderMessage\022-\n\021avat" + "arDataMessage\030\n \001(\0132\022.AvatarDataMessage\022" + "+\n\020avatarEndMessage\030\013 \001(\0132\021.AvatarEndMes" + "sage\0223\n\024unknownAvatarMessage\030\014 \001(\0132\025.Unk" + "nownAvatarMessage\022-\n\021playerListMessage\030\r" + " \001(\0132\022.PlayerListMessage\022/\n\022gameListNewM" + "essage\030\016 \001(\0132\023.GameListNewMessage\0225\n\025gam" + "eListUpdateMessage\030\017 \001(\0132\026.GameListUpdat" + "eMessage\022A\n\033gameListPlayerJoinedMessage\030" + "\020 \001(\0132\034.GameListPlayerJoinedMessage\022=\n\031g" + "ameListPlayerLeftMessage\030\021 \001(\0132\032.GameLis" + "tPlayerLeftMessage\022A\n\033gameListAdminChang" + "edMessage\030\022 \001(\0132\034.GameListAdminChangedMe" + "ssage\022;\n\030playerInfoRequestMessage\030\023 \001(\0132" + "\031.PlayerInfoRequestMessage\0227\n\026playerInfo" + "ReplyMessage\030\024 \001(\0132\027.PlayerInfoReplyMess" + "age\022\?\n\032subscriptionRequestMessage\030\025 \001(\0132" + "\033.SubscriptionRequestMessage\0229\n\027joinExis" + "tingGameMessage\030\026 \001(\0132\030.JoinExistingGame" + "Message\022/\n\022joinNewGameMessage\030\027 \001(\0132\023.Jo" + "inNewGameMessage\022=\n\031rejoinExistingGameMe" + "ssage\030\030 \001(\0132\032.RejoinExistingGameMessage\022" + "/\n\022joinGameAckMessage\030\031 \001(\0132\023.JoinGameAc" + "kMessage\0225\n\025joinGameFailedMessage\030\032 \001(\0132" + "\026.JoinGameFailedMessage\0229\n\027gamePlayerJoi" + "nedMessage\030\033 \001(\0132\030.GamePlayerJoinedMessa" + "ge\0225\n\025gamePlayerLeftMessage\030\034 \001(\0132\026.Game" + "PlayerLeftMessage\0229\n\027gameAdminChangedMes" + "sage\030\035 \001(\0132\030.GameAdminChangedMessage\0227\n\026" + "removedFromGameMessage\030\036 \001(\0132\027.RemovedFr" + "omGameMessage\022;\n\030kickPlayerRequestMessag" + "e\030\037 \001(\0132\031.KickPlayerRequestMessage\0229\n\027le" + "aveGameRequestMessage\030 \001(\0132\030.LeaveGameR" + "equestMessage\022=\n\031invitePlayerToGameMessa" + "ge\030! \001(\0132\032.InvitePlayerToGameMessage\0221\n\023" + "inviteNotifyMessage\030\" \001(\0132\024.InviteNotify" + "Message\022A\n\033rejectGameInvitationMessage\030#" + " \001(\0132\034.RejectGameInvitationMessage\0227\n\026re" + "jectInvNotifyMessage\030$ \001(\0132\027.RejectInvNo" + "tifyMessage\022-\n\021startEventMessage\030% \001(\0132\022" + ".StartEventMessage\0223\n\024startEventAckMessa" + "ge\030& \001(\0132\025.StartEventAckMessage\0229\n\027gameS" + "tartInitialMessage\030\' \001(\0132\030.GameStartInit" + "ialMessage\0227\n\026gameStartRejoinMessage\030( \001" + "(\0132\027.GameStartRejoinMessage\022+\n\020handStart" + "Message\030) \001(\0132\021.HandStartMessage\022/\n\022play" + "ersTurnMessage\030* \001(\0132\023.PlayersTurnMessag" + "e\0227\n\026myActionRequestMessage\030+ \001(\0132\027.MyAc" + "tionRequestMessage\022=\n\031yourActionRejected" + "Message\030, \001(\0132\032.YourActionRejectedMessag" + "e\022;\n\030playersActionDoneMessage\030- \001(\0132\031.Pl" + "ayersActionDoneMessage\0223\n\024dealFlopCardsM" + "essage\030. \001(\0132\025.DealFlopCardsMessage\0221\n\023d" + "ealTurnCardMessage\030/ \001(\0132\024.DealTurnCardM" + "essage\0223\n\024dealRiverCardMessage\0300 \001(\0132\025.D" + "ealRiverCardMessage\0225\n\025allInShowCardsMes" + "sage\0301 \001(\0132\026.AllInShowCardsMessage\022=\n\031en" + "dOfHandShowCardsMessage\0302 \001(\0132\032.EndOfHan" + "dShowCardsMessage\022=\n\031endOfHandHideCardsM" + "essage\0303 \001(\0132\032.EndOfHandHideCardsMessage" + "\022=\n\031showMyCardsRequestMessage\0304 \001(\0132\032.Sh" + "owMyCardsRequestMessage\022=\n\031afterHandShow" + "CardsMessage\0305 \001(\0132\032.AfterHandShowCardsM" + "essage\022+\n\020endOfGameMessage\0306 \001(\0132\021.EndOf" + "GameMessage\0227\n\026playerIdChangedMessage\0307 " + "\001(\0132\027.PlayerIdChangedMessage\0223\n\024askKickP" + "layerMessage\0308 \001(\0132\025.AskKickPlayerMessag" + "e\0223\n\024askKickDeniedMessage\0309 \001(\0132\025.AskKic" + "kDeniedMessage\022;\n\030startKickPetitionMessa" + "ge\030: \001(\0132\031.StartKickPetitionMessage\0227\n\026v" + "oteKickRequestMessage\030; \001(\0132\027.VoteKickRe" + "questMessage\0223\n\024voteKickReplyMessage\030< \001" + "(\0132\025.VoteKickReplyMessage\022=\n\031kickPetitio" + "nUpdateMessage\030= \001(\0132\032.KickPetitionUpdat" + "eMessage\0227\n\026endKickPetitionMessage\030> \001(\013" + "2\027.EndKickPetitionMessage\022-\n\021statisticsM" + "essage\030\? \001(\0132\022.StatisticsMessage\022/\n\022chat" + "RequestMessage\030@ \001(\0132\023.ChatRequestMessag" + "e\022!\n\013chatMessage\030A \001(\0132\014.ChatMessage\022-\n\021" + "chatRejectMessage\030B \001(\0132\022.ChatRejectMess" + "age\022%\n\rdialogMessage\030C \001(\0132\016.DialogMessa" + "ge\0225\n\025timeoutWarningMessage\030D \001(\0132\026.Time" + "outWarningMessage\0221\n\023resetTimeoutMessage" + "\030E \001(\0132\024.ResetTimeoutMessage\0221\n\023reportAv" + "atarMessage\030F \001(\0132\024.ReportAvatarMessage\022" + "7\n\026reportAvatarAckMessage\030G \001(\0132\027.Report" + "AvatarAckMessage\022-\n\021reportGameMessage\030H " + "\001(\0132\022.ReportGameMessage\0223\n\024reportGameAck" + "Message\030I \001(\0132\025.ReportGameAckMessage\022#\n\014" + "errorMessage\030J \001(\0132\r.ErrorMessage\"\244\022\n\022Po" + "kerTHMessageType\022\030\n\024Type_AnnounceMessage" + "\020\001\022\024\n\020Type_InitMessage\020\002\022#\n\037Type_AuthSer" + "verChallengeMessage\020\003\022\"\n\036Type_AuthClient" + "ResponseMessage\020\004\022&\n\"Type_AuthServerVeri" + "ficationMessage\020\005\022\027\n\023Type_InitAckMessage" + "\020\006\022\035\n\031Type_AvatarRequestMessage\020\007\022\034\n\030Typ" + "e_AvatarHeaderMessage\020\010\022\032\n\026Type_AvatarDa" + "taMessage\020\t\022\031\n\025Type_AvatarEndMessage\020\n\022\035" + "\n\031Type_UnknownAvatarMessage\020\013\022\032\n\026Type_Pl" + "ayerListMessage\020\014\022\033\n\027Type_GameListNewMes" + "sage\020\r\022\036\n\032Type_GameListUpdateMessage\020\016\022$" + "\n Type_GameListPlayerJoinedMessage\020\017\022\"\n\036" + "Type_GameListPlayerLeftMessage\020\020\022$\n Type" + "_GameListAdminChangedMessage\020\021\022!\n\035Type_P" + "layerInfoRequestMessage\020\022\022\037\n\033Type_Player" + "InfoReplyMessage\020\023\022#\n\037Type_SubscriptionR" + "equestMessage\020\024\022 \n\034Type_JoinExistingGame" + "Message\020\025\022\033\n\027Type_JoinNewGameMessage\020\026\022\"" + "\n\036Type_RejoinExistingGameMessage\020\027\022\033\n\027Ty" + "pe_JoinGameAckMessage\020\030\022\036\n\032Type_JoinGame" + "FailedMessage\020\031\022 \n\034Type_GamePlayerJoined" + "Message\020\032\022\036\n\032Type_GamePlayerLeftMessage\020" + "\033\022 \n\034Type_GameAdminChangedMessage\020\034\022\037\n\033T" + "ype_RemovedFromGameMessage\020\035\022!\n\035Type_Kic" + "kPlayerRequestMessage\020\036\022 \n\034Type_LeaveGam" + "eRequestMessage\020\037\022\"\n\036Type_InvitePlayerTo" + "GameMessage\020 \022\034\n\030Type_InviteNotifyMessag" + "e\020!\022$\n Type_RejectGameInvitationMessage\020" + "\"\022\037\n\033Type_RejectInvNotifyMessage\020#\022\032\n\026Ty" + "pe_StartEventMessage\020$\022\035\n\031Type_StartEven" + "tAckMessage\020%\022 \n\034Type_GameStartInitialMe" + "ssage\020&\022\037\n\033Type_GameStartRejoinMessage\020\'" + "\022\031\n\025Type_HandStartMessage\020(\022\033\n\027Type_Play" + "ersTurnMessage\020)\022\037\n\033Type_MyActionRequest" + "Message\020*\022\"\n\036Type_YourActionRejectedMess" + "age\020+\022!\n\035Type_PlayersActionDoneMessage\020," + "\022\035\n\031Type_DealFlopCardsMessage\020-\022\034\n\030Type_" + "DealTurnCardMessage\020.\022\035\n\031Type_DealRiverC" + "ardMessage\020/\022\036\n\032Type_AllInShowCardsMessa" + "ge\0200\022\"\n\036Type_EndOfHandShowCardsMessage\0201" + "\022\"\n\036Type_EndOfHandHideCardsMessage\0202\022\"\n\036" + "Type_ShowMyCardsRequestMessage\0203\022\"\n\036Type" + "_AfterHandShowCardsMessage\0204\022\031\n\025Type_End" + "OfGameMessage\0205\022\037\n\033Type_PlayerIdChangedM" + "essage\0206\022\035\n\031Type_AskKickPlayerMessage\0207\022" + "\035\n\031Type_AskKickDeniedMessage\0208\022!\n\035Type_S" + "tartKickPetitionMessage\0209\022\037\n\033Type_VoteKi" + "ckRequestMessage\020:\022\035\n\031Type_VoteKickReply" + "Message\020;\022\"\n\036Type_KickPetitionUpdateMess" + "age\020<\022\037\n\033Type_EndKickPetitionMessage\020=\022\032" + "\n\026Type_StatisticsMessage\020>\022\033\n\027Type_ChatR" + "equestMessage\020\?\022\024\n\020Type_ChatMessage\020@\022\032\n" + "\026Type_ChatRejectMessage\020A\022\026\n\022Type_Dialog" + "Message\020B\022\036\n\032Type_TimeoutWarningMessage\020" + "C\022\034\n\030Type_ResetTimeoutMessage\020D\022\034\n\030Type_" + "ReportAvatarMessage\020E\022\037\n\033Type_ReportAvat" + "arAckMessage\020F\022\032\n\026Type_ReportGameMessage" + "\020G\022\035\n\031Type_ReportGameAckMessage\020H\022\025\n\021Typ" + "e_ErrorMessage\020I*H\n\013NetGameMode\022\022\n\016netGa" + "meCreated\020\001\022\022\n\016netGameStarted\020\002\022\021\n\rnetGa" + "meClosed\020\003*\226\001\n\014NetGameState\022\023\n\017netStateP" + "reflop\020\000\022\020\n\014netStateFlop\020\001\022\020\n\014netStateTu" + "rn\020\002\022\021\n\rnetStateRiver\020\003\022\035\n\031netStatePrefl" + "opSmallBlind\020\004\022\033\n\027netStatePreflopBigBlin" + "d\020\005*\230\001\n\017NetPlayerAction\022\021\n\rnetActionNone" + "\020\000\022\021\n\rnetActionFold\020\001\022\022\n\016netActionCheck\020" + "\002\022\021\n\rnetActionCall\020\003\022\020\n\014netActionBet\020\004\022\022" + "\n\016netActionRaise\020\005\022\022\n\016netActionAllIn\020\006*h" + "\n\016NetPlayerState\022\030\n\024netPlayerStateNormal" + "\020\000\022!\n\035netPlayerStateSessionInactive\020\001\022\031\n" + "\025netPlayerStateNoMoney\020\002*d\n\023NetPlayerInf" + "oRights\022\030\n\024netPlayerRightsGuest\020\001\022\031\n\025net" + "PlayerRightsNormal\020\002\022\030\n\024netPlayerRightsA" + "dmin\020\003*T\n\rNetAvatarType\022\025\n\021netAvatarImag" + "ePng\020\001\022\025\n\021netAvatarImageJpg\020\002\022\025\n\021netAvat" + "arImageGif\020\003B\037\n\023de.pokerth.protocolB\010Pro" + "toBuf", 17845); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "pokerth.proto", &protobuf_RegisterTypes); NetGameInfo::default_instance_ = new NetGameInfo(); @@ -9410,7 +9410,6 @@ PlayerInfoRequestMessage::PlayerInfoRequestMessage(const PlayerInfoRequestMessag void PlayerInfoRequestMessage::SharedCtor() { _cached_size_ = 0; - playerid_ = 0u; ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -9444,9 +9443,7 @@ PlayerInfoRequestMessage* PlayerInfoRequestMessage::New() const { } void PlayerInfoRequestMessage::Clear() { - if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { - playerid_ = 0u; - } + playerid_.Clear(); ::memset(_has_bits_, 0, sizeof(_has_bits_)); mutable_unknown_fields()->Clear(); } @@ -9457,14 +9454,19 @@ bool PlayerInfoRequestMessage::MergePartialFromCodedStream( ::google::protobuf::uint32 tag; while ((tag = input->ReadTag()) != 0) { switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // required uint32 playerId = 1; + // repeated uint32 playerId = 1 [packed = true]; case 1: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( - input, &playerid_))); - set_has_playerid(); + input, this->mutable_playerid()))); + } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) + == ::google::protobuf::internal::WireFormatLite:: + WIRETYPE_VARINT) { + DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline< + ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( + 1, 10, input, this->mutable_playerid()))); } else { goto handle_uninterpreted; } @@ -9490,9 +9492,14 @@ bool PlayerInfoRequestMessage::MergePartialFromCodedStream( void PlayerInfoRequestMessage::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // required uint32 playerId = 1; - if (has_playerid()) { - ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->playerid(), output); + // repeated uint32 playerId = 1 [packed = true]; + if (this->playerid_size() > 0) { + ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(_playerid_cached_byte_size_); + } + for (int i = 0; i < this->playerid_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag( + this->playerid(i), output); } if (!unknown_fields().empty()) { @@ -9503,9 +9510,18 @@ void PlayerInfoRequestMessage::SerializeWithCachedSizes( ::google::protobuf::uint8* PlayerInfoRequestMessage::SerializeWithCachedSizesToArray( ::google::protobuf::uint8* target) const { - // required uint32 playerId = 1; - if (has_playerid()) { - target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->playerid(), target); + // repeated uint32 playerId = 1 [packed = true]; + if (this->playerid_size() > 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray( + 1, + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, + target); + target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray( + _playerid_cached_byte_size_, target); + } + for (int i = 0; i < this->playerid_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt32NoTagToArray(this->playerid(i), target); } if (!unknown_fields().empty()) { @@ -9518,15 +9534,21 @@ void PlayerInfoRequestMessage::SerializeWithCachedSizes( int PlayerInfoRequestMessage::ByteSize() const { int total_size = 0; - if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { - // required uint32 playerId = 1; - if (has_playerid()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::UInt32Size( - this->playerid()); + // repeated uint32 playerId = 1 [packed = true]; + { + int data_size = 0; + for (int i = 0; i < this->playerid_size(); i++) { + data_size += ::google::protobuf::internal::WireFormatLite:: + UInt32Size(this->playerid(i)); } - + if (data_size > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size(data_size); + } + _playerid_cached_byte_size_ = data_size; + total_size += data_size; } + if (!unknown_fields().empty()) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( @@ -9552,11 +9574,7 @@ void PlayerInfoRequestMessage::MergeFrom(const ::google::protobuf::Message& from void PlayerInfoRequestMessage::MergeFrom(const PlayerInfoRequestMessage& from) { GOOGLE_CHECK_NE(&from, this); - if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { - if (from.has_playerid()) { - set_playerid(from.playerid()); - } - } + playerid_.MergeFrom(from.playerid_); mutable_unknown_fields()->MergeFrom(from.unknown_fields()); } @@ -9573,14 +9591,13 @@ void PlayerInfoRequestMessage::CopyFrom(const PlayerInfoRequestMessage& from) { } bool PlayerInfoRequestMessage::IsInitialized() const { - if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; return true; } void PlayerInfoRequestMessage::Swap(PlayerInfoRequestMessage* other) { if (other != this) { - std::swap(playerid_, other->playerid_); + playerid_.Swap(&other->playerid_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -30738,9 +30755,6 @@ bool PokerTHMessage::IsInitialized() const { if (has_gamelistadminchangedmessage()) { if (!this->gamelistadminchangedmessage().IsInitialized()) return false; } - if (has_playerinforequestmessage()) { - if (!this->playerinforequestmessage().IsInitialized()) return false; - } if (has_playerinforeplymessage()) { if (!this->playerinforeplymessage().IsInitialized()) return false; } diff --git a/src/third_party/protobuf/pokerth.pb.h b/src/third_party/protobuf/pokerth.pb.h index 9a75b91d..4cac0330 100644 --- a/src/third_party/protobuf/pokerth.pb.h +++ b/src/third_party/protobuf/pokerth.pb.h @@ -3188,21 +3188,25 @@ class PlayerInfoRequestMessage : public ::google::protobuf::Message { // accessors ------------------------------------------------------- - // required uint32 playerId = 1; - inline bool has_playerid() const; + // repeated uint32 playerId = 1 [packed = true]; + inline int playerid_size() const; inline void clear_playerid(); static const int kPlayerIdFieldNumber = 1; - inline ::google::protobuf::uint32 playerid() const; - inline void set_playerid(::google::protobuf::uint32 value); + inline ::google::protobuf::uint32 playerid(int index) const; + inline void set_playerid(int index, ::google::protobuf::uint32 value); + inline void add_playerid(::google::protobuf::uint32 value); + inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& + playerid() const; + inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* + mutable_playerid(); // @@protoc_insertion_point(class_scope:PlayerInfoRequestMessage) private: - inline void set_has_playerid(); - inline void clear_has_playerid(); ::google::protobuf::UnknownFieldSet _unknown_fields_; - ::google::protobuf::uint32 playerid_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > playerid_; + mutable int _playerid_cached_byte_size_; mutable int _cached_size_; ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; @@ -12795,26 +12799,29 @@ inline void GameListAdminChangedMessage::set_newadminplayerid(::google::protobuf // PlayerInfoRequestMessage -// required uint32 playerId = 1; -inline bool PlayerInfoRequestMessage::has_playerid() const { - return (_has_bits_[0] & 0x00000001u) != 0; -} -inline void PlayerInfoRequestMessage::set_has_playerid() { - _has_bits_[0] |= 0x00000001u; -} -inline void PlayerInfoRequestMessage::clear_has_playerid() { - _has_bits_[0] &= ~0x00000001u; +// repeated uint32 playerId = 1 [packed = true]; +inline int PlayerInfoRequestMessage::playerid_size() const { + return playerid_.size(); } inline void PlayerInfoRequestMessage::clear_playerid() { - playerid_ = 0u; - clear_has_playerid(); + playerid_.Clear(); } -inline ::google::protobuf::uint32 PlayerInfoRequestMessage::playerid() const { +inline ::google::protobuf::uint32 PlayerInfoRequestMessage::playerid(int index) const { + return playerid_.Get(index); +} +inline void PlayerInfoRequestMessage::set_playerid(int index, ::google::protobuf::uint32 value) { + playerid_.Set(index, value); +} +inline void PlayerInfoRequestMessage::add_playerid(::google::protobuf::uint32 value) { + playerid_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >& +PlayerInfoRequestMessage::playerid() const { return playerid_; } -inline void PlayerInfoRequestMessage::set_playerid(::google::protobuf::uint32 value) { - set_has_playerid(); - playerid_ = value; +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >* +PlayerInfoRequestMessage::mutable_playerid() { + return &playerid_; } // ------------------------------------------------------------------- diff --git a/tests/src/de/pokerth/protocol/ProtoBuf.java b/tests/src/de/pokerth/protocol/ProtoBuf.java index 9bf8ae71..1b382171 100644 --- a/tests/src/de/pokerth/protocol/ProtoBuf.java +++ b/tests/src/de/pokerth/protocol/ProtoBuf.java @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: docs/pokerth.proto +// source: pokerth.proto package de.pokerth.protocol; @@ -11602,9 +11602,10 @@ public final class ProtoBuf { public interface PlayerInfoRequestMessageOrBuilder extends com.google.protobuf.MessageOrBuilder { - // required uint32 playerId = 1; - boolean hasPlayerId(); - int getPlayerId(); + // repeated uint32 playerId = 1 [packed = true]; + java.util.List getPlayerIdList(); + int getPlayerIdCount(); + int getPlayerId(int index); } public static final class PlayerInfoRequestMessage extends com.google.protobuf.GeneratedMessage @@ -11634,29 +11635,29 @@ public final class ProtoBuf { return de.pokerth.protocol.ProtoBuf.internal_static_PlayerInfoRequestMessage_fieldAccessorTable; } - private int bitField0_; - // required uint32 playerId = 1; + // repeated uint32 playerId = 1 [packed = true]; public static final int PLAYERID_FIELD_NUMBER = 1; - private int playerId_; - public boolean hasPlayerId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - public int getPlayerId() { + private java.util.List playerId_; + public java.util.List + getPlayerIdList() { return playerId_; } + public int getPlayerIdCount() { + return playerId_.size(); + } + public int getPlayerId(int index) { + return playerId_.get(index); + } + private int playerIdMemoizedSerializedSize = -1; private void initFields() { - playerId_ = 0; + playerId_ = java.util.Collections.emptyList();; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized != -1) return isInitialized == 1; - if (!hasPlayerId()) { - memoizedIsInitialized = 0; - return false; - } memoizedIsInitialized = 1; return true; } @@ -11664,8 +11665,12 @@ public final class ProtoBuf { public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeUInt32(1, playerId_); + if (getPlayerIdList().size() > 0) { + output.writeRawVarint32(10); + output.writeRawVarint32(playerIdMemoizedSerializedSize); + } + for (int i = 0; i < playerId_.size(); i++) { + output.writeUInt32NoTag(playerId_.get(i)); } getUnknownFields().writeTo(output); } @@ -11676,9 +11681,19 @@ public final class ProtoBuf { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - size += com.google.protobuf.CodedOutputStream - .computeUInt32Size(1, playerId_); + { + int dataSize = 0; + for (int i = 0; i < playerId_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeUInt32SizeNoTag(playerId_.get(i)); + } + size += dataSize; + if (!getPlayerIdList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + playerIdMemoizedSerializedSize = dataSize; } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -11804,7 +11819,7 @@ public final class ProtoBuf { public Builder clear() { super.clear(); - playerId_ = 0; + playerId_ = java.util.Collections.emptyList();; bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -11843,12 +11858,11 @@ public final class ProtoBuf { public de.pokerth.protocol.ProtoBuf.PlayerInfoRequestMessage buildPartial() { de.pokerth.protocol.ProtoBuf.PlayerInfoRequestMessage result = new de.pokerth.protocol.ProtoBuf.PlayerInfoRequestMessage(this); int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + playerId_ = java.util.Collections.unmodifiableList(playerId_); + bitField0_ = (bitField0_ & ~0x00000001); } result.playerId_ = playerId_; - result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -11864,18 +11878,21 @@ public final class ProtoBuf { public Builder mergeFrom(de.pokerth.protocol.ProtoBuf.PlayerInfoRequestMessage other) { if (other == de.pokerth.protocol.ProtoBuf.PlayerInfoRequestMessage.getDefaultInstance()) return this; - if (other.hasPlayerId()) { - setPlayerId(other.getPlayerId()); + if (!other.playerId_.isEmpty()) { + if (playerId_.isEmpty()) { + playerId_ = other.playerId_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePlayerIdIsMutable(); + playerId_.addAll(other.playerId_); + } + onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); return this; } public final boolean isInitialized() { - if (!hasPlayerId()) { - - return false; - } return true; } @@ -11903,8 +11920,17 @@ public final class ProtoBuf { break; } case 8: { - bitField0_ |= 0x00000001; - playerId_ = input.readUInt32(); + ensurePlayerIdIsMutable(); + playerId_.add(input.readUInt32()); + break; + } + case 10: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + while (input.getBytesUntilLimit() > 0) { + addPlayerId(input.readUInt32()); + } + input.popLimit(limit); break; } } @@ -11913,23 +11939,47 @@ public final class ProtoBuf { private int bitField0_; - // required uint32 playerId = 1; - private int playerId_ ; - public boolean hasPlayerId() { - return ((bitField0_ & 0x00000001) == 0x00000001); + // repeated uint32 playerId = 1 [packed = true]; + private java.util.List playerId_ = java.util.Collections.emptyList();; + private void ensurePlayerIdIsMutable() { + if (!((bitField0_ & 0x00000001) == 0x00000001)) { + playerId_ = new java.util.ArrayList(playerId_); + bitField0_ |= 0x00000001; + } } - public int getPlayerId() { - return playerId_; + public java.util.List + getPlayerIdList() { + return java.util.Collections.unmodifiableList(playerId_); } - public Builder setPlayerId(int value) { - bitField0_ |= 0x00000001; - playerId_ = value; + public int getPlayerIdCount() { + return playerId_.size(); + } + public int getPlayerId(int index) { + return playerId_.get(index); + } + public Builder setPlayerId( + int index, int value) { + ensurePlayerIdIsMutable(); + playerId_.set(index, value); + onChanged(); + return this; + } + public Builder addPlayerId(int value) { + ensurePlayerIdIsMutable(); + playerId_.add(value); + onChanged(); + return this; + } + public Builder addAllPlayerId( + java.lang.Iterable values) { + ensurePlayerIdIsMutable(); + super.addAll(values, playerId_); onChanged(); return this; } public Builder clearPlayerId() { + playerId_ = java.util.Collections.emptyList();; bitField0_ = (bitField0_ & ~0x00000001); - playerId_ = 0; onChanged(); return this; } @@ -44577,12 +44627,6 @@ public final class ProtoBuf { return false; } } - if (hasPlayerInfoRequestMessage()) { - if (!getPlayerInfoRequestMessage().isInitialized()) { - memoizedIsInitialized = 0; - return false; - } - } if (hasPlayerInfoReplyMessage()) { if (!getPlayerInfoReplyMessage().isInitialized()) { memoizedIsInitialized = 0; @@ -47053,12 +47097,6 @@ public final class ProtoBuf { return false; } } - if (hasPlayerInfoRequestMessage()) { - if (!getPlayerInfoRequestMessage().isInitialized()) { - - return false; - } - } if (hasPlayerInfoReplyMessage()) { if (!getPlayerInfoReplyMessage().isInitialized()) { @@ -55108,453 +55146,453 @@ public final class ProtoBuf { descriptor; static { java.lang.String[] descriptorData = { - "\n\022docs/pokerth.proto\"\242\005\n\013NetGameInfo\022\020\n\010" + - "gameName\030\001 \002(\t\022-\n\013netGameType\030\002 \002(\0162\030.Ne" + - "tGameInfo.NetGameType\022\025\n\rmaxNumPlayers\030\003" + - " \002(\r\0229\n\021raiseIntervalMode\030\004 \002(\0162\036.NetGam" + - "eInfo.RaiseIntervalMode\022\027\n\017raiseEveryHan" + - "ds\030\005 \001(\r\022\031\n\021raiseEveryMinutes\030\006 \001(\r\022/\n\014e" + - "ndRaiseMode\030\007 \002(\0162\031.NetGameInfo.EndRaise" + - "Mode\022\037\n\027endRaiseSmallBlindValue\030\010 \001(\r\022\030\n" + - "\020proposedGuiSpeed\030\t \002(\r\022\031\n\021delayBetweenH" + - "ands\030\n \002(\r\022\033\n\023playerActionTimeout\030\013 \002(\r\022", - "\027\n\017firstSmallBlind\030\014 \002(\r\022\022\n\nstartMoney\030\r" + - " \002(\r\022\030\n\014manualBlinds\030\016 \003(\rB\002\020\001\"Z\n\013NetGam" + - "eType\022\016\n\nnormalGame\020\001\022\026\n\022registeredOnlyG" + - "ame\020\002\022\022\n\016inviteOnlyGame\020\003\022\017\n\013rankingGame" + - "\020\004\";\n\021RaiseIntervalMode\022\022\n\016raiseOnHandNu" + - "m\020\001\022\022\n\016raiseOnMinutes\020\002\"H\n\014EndRaiseMode\022" + - "\020\n\014doubleBlinds\020\001\022\023\n\017raiseByEndValue\020\002\022\021" + - "\n\rkeepLastBlind\020\003\"\243\001\n\014PlayerResult\022\020\n\010pl" + - "ayerId\030\001 \002(\r\022\023\n\013resultCard1\030\002 \002(\r\022\023\n\013res" + - "ultCard2\030\003 \002(\r\022\034\n\020bestHandPosition\030\004 \003(\r", - "B\002\020\001\022\020\n\010moneyWon\030\005 \002(\r\022\023\n\013playerMoney\030\006 " + - "\002(\r\022\022\n\ncardsValue\030\007 \001(\r\"\346\002\n\017AnnounceMess" + - "age\0221\n\017protocolVersion\030\001 \002(\0132\030.AnnounceM" + - "essage.Version\0223\n\021latestGameVersion\030\002 \002(" + - "\0132\030.AnnounceMessage.Version\022\032\n\022latestBet" + - "aRevision\030\003 \002(\r\022/\n\nserverType\030\004 \002(\0162\033.An" + - "nounceMessage.ServerType\022\032\n\022numPlayersOn" + - "Server\030\005 \002(\r\032\'\n\007Version\022\r\n\005major\030\001 \002(\r\022\r" + - "\n\005minor\030\002 \002(\r\"Y\n\nServerType\022\021\n\rserverTyp" + - "eLAN\020\000\022\034\n\030serverTypeInternetNoAuth\020\001\022\032\n\026", - "serverTypeInternetAuth\020\002\"\273\002\n\013InitMessage" + - "\0222\n\020requestedVersion\030\001 \002(\0132\030.AnnounceMes" + - "sage.Version\022\017\n\007buildId\030\002 \002(\r\022\027\n\017myLastS" + - "essionId\030\003 \001(\014\022\032\n\022authServerPassword\030\004 \001" + - "(\t\022%\n\005login\030\005 \002(\0162\026.InitMessage.LoginTyp" + - "e\022\020\n\010nickName\030\006 \001(\t\022\026\n\016clientUserData\030\007 " + - "\001(\014\022\022\n\navatarHash\030\010 \001(\014\"M\n\tLoginType\022\016\n\n" + - "guestLogin\020\000\022\026\n\022authenticatedLogin\020\001\022\030\n\024" + - "unauthenticatedLogin\020\002\"5\n\032AuthServerChal" + - "lengeMessage\022\027\n\017serverChallenge\030\001 \002(\014\"3\n", - "\031AuthClientResponseMessage\022\026\n\016clientResp" + - "onse\030\001 \002(\014\";\n\035AuthServerVerificationMess" + - "age\022\032\n\022serverVerification\030\001 \002(\014\"k\n\016InitA" + - "ckMessage\022\025\n\ryourSessionId\030\001 \002(\014\022\024\n\014your" + - "PlayerId\030\002 \002(\r\022\026\n\016yourAvatarHash\030\003 \001(\014\022\024" + - "\n\014rejoinGameId\030\004 \001(\r\"=\n\024AvatarRequestMes" + - "sage\022\021\n\trequestId\030\001 \002(\r\022\022\n\navatarHash\030\002 " + - "\002(\014\"`\n\023AvatarHeaderMessage\022\021\n\trequestId\030" + - "\001 \002(\r\022\"\n\navatarType\030\002 \002(\0162\016.NetAvatarTyp" + - "e\022\022\n\navatarSize\030\003 \002(\r\";\n\021AvatarDataMessa", - "ge\022\021\n\trequestId\030\001 \002(\r\022\023\n\013avatarBlock\030\002 \002" + - "(\014\"%\n\020AvatarEndMessage\022\021\n\trequestId\030\001 \002(" + - "\r\")\n\024UnknownAvatarMessage\022\021\n\trequestId\030\001" + - " \002(\r\"\261\001\n\021PlayerListMessage\022\020\n\010playerId\030\001" + - " \002(\r\022I\n\026playerListNotification\030\002 \002(\0162).P" + - "layerListMessage.PlayerListNotification\"" + - "?\n\026PlayerListNotification\022\021\n\rplayerListN" + - "ew\020\000\022\022\n\016playerListLeft\020\001\"\245\001\n\022GameListNew" + - "Message\022\016\n\006gameId\030\001 \002(\r\022\036\n\010gameMode\030\002 \002(" + - "\0162\014.NetGameMode\022\021\n\tisPrivate\030\003 \002(\010\022\025\n\tpl", - "ayerIds\030\004 \003(\rB\002\020\001\022\025\n\radminPlayerId\030\005 \002(\r" + - "\022\036\n\010gameInfo\030\006 \002(\0132\014.NetGameInfo\"G\n\025Game" + - "ListUpdateMessage\022\016\n\006gameId\030\001 \002(\r\022\036\n\010gam" + - "eMode\030\002 \002(\0162\014.NetGameMode\"?\n\033GameListPla" + - "yerJoinedMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010play" + - "erId\030\002 \002(\r\"=\n\031GameListPlayerLeftMessage\022" + - "\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\"G\n\033Gam" + - "eListAdminChangedMessage\022\016\n\006gameId\030\001 \002(\r" + - "\022\030\n\020newAdminPlayerId\030\002 \002(\r\",\n\030PlayerInfo" + - "RequestMessage\022\020\n\010playerId\030\001 \002(\r\"\360\002\n\026Pla", - "yerInfoReplyMessage\022\020\n\010playerId\030\001 \002(\r\022>\n" + - "\016playerInfoData\030\002 \001(\0132&.PlayerInfoReplyM" + - "essage.PlayerInfoData\032\203\002\n\016PlayerInfoData" + - "\022\022\n\nplayerName\030\001 \002(\t\022\017\n\007isHuman\030\002 \002(\010\022*\n" + - "\014playerRights\030\003 \002(\0162\024.NetPlayerInfoRight" + - "s\022\023\n\013countryCode\030\004 \001(\t\022E\n\navatarData\030\005 \001" + - "(\01321.PlayerInfoReplyMessage.PlayerInfoDa" + - "ta.AvatarData\032D\n\nAvatarData\022\"\n\navatarTyp" + - "e\030\001 \002(\0162\016.NetAvatarType\022\022\n\navatarHash\030\002 " + - "\002(\014\"\260\001\n\032SubscriptionRequestMessage\022J\n\022su", - "bscriptionAction\030\001 \002(\0162..SubscriptionReq" + - "uestMessage.SubscriptionAction\"F\n\022Subscr" + - "iptionAction\022\027\n\023unsubscribeGameList\020\001\022\027\n" + - "\023resubscribeGameList\020\002\"N\n\027JoinExistingGa" + - "meMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010password\030\002 " + - "\001(\t\022\021\n\tautoLeave\030\003 \001(\010\"Y\n\022JoinNewGameMes" + - "sage\022\036\n\010gameInfo\030\001 \002(\0132\014.NetGameInfo\022\020\n\010" + - "password\030\002 \001(\t\022\021\n\tautoLeave\030\003 \001(\010\">\n\031Rej" + - "oinExistingGameMessage\022\016\n\006gameId\030\001 \002(\r\022\021" + - "\n\tautoLeave\030\002 \001(\010\"]\n\022JoinGameAckMessage\022", - "\016\n\006gameId\030\001 \002(\r\022\027\n\017areYouGameAdmin\030\002 \002(\010" + - "\022\036\n\010gameInfo\030\003 \002(\0132\014.NetGameInfo\"\337\002\n\025Joi" + - "nGameFailedMessage\022\016\n\006gameId\030\001 \002(\r\022K\n\025jo" + - "inGameFailureReason\030\002 \002(\0162,.JoinGameFail" + - "edMessage.JoinGameFailureReason\"\350\001\n\025Join" + - "GameFailureReason\022\017\n\013invalidGame\020\001\022\016\n\nga" + - "meIsFull\020\002\022\021\n\rgameIsRunning\020\003\022\023\n\017invalid" + - "Password\020\004\022\025\n\021notAllowedAsGuest\020\005\022\016\n\nnot" + - "Invited\020\006\022\021\n\rgameNameInUse\020\007\022\017\n\013badGameN" + - "ame\020\010\022\023\n\017invalidSettings\020\t\022\024\n\020ipAddressB", - "locked\020\n\022\020\n\014rejoinFailed\020\013\"P\n\027GamePlayer" + - "JoinedMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerI" + - "d\030\002 \002(\r\022\023\n\013isGameAdmin\030\003 \002(\010\"\316\001\n\025GamePla" + - "yerLeftMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010player" + - "Id\030\002 \002(\r\022I\n\024gamePlayerLeftReason\030\003 \002(\0162+" + - ".GamePlayerLeftMessage.GamePlayerLeftRea" + - "son\"H\n\024GamePlayerLeftReason\022\021\n\rleftOnReq" + - "uest\020\000\022\016\n\nleftKicked\020\001\022\r\n\tleftError\020\002\"C\n" + - "\027GameAdminChangedMessage\022\016\n\006gameId\030\001 \002(\r" + - "\022\030\n\020newAdminPlayerId\030\002 \002(\r\"\206\002\n\026RemovedFr", - "omGameMessage\022\016\n\006gameId\030\001 \002(\r\022L\n\025removed" + - "FromGameReason\030\002 \002(\0162-.RemovedFromGameMe" + - "ssage.RemovedFromGameReason\"\215\001\n\025RemovedF" + - "romGameReason\022\024\n\020removedOnRequest\020\000\022\022\n\016k" + - "ickedFromGame\020\001\022\016\n\ngameIsFull\020\002\022\021\n\rgameI" + - "sRunning\020\003\022\017\n\013gameTimeout\020\004\022\026\n\022removedSt" + - "artFailed\020\005\"<\n\030KickPlayerRequestMessage\022" + - "\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\")\n\027Lea" + - "veGameRequestMessage\022\016\n\006gameId\030\001 \002(\r\"=\n\031" + - "InvitePlayerToGameMessage\022\016\n\006gameId\030\001 \002(", - "\r\022\020\n\010playerId\030\002 \002(\r\"R\n\023InviteNotifyMessa" + - "ge\022\016\n\006gameId\030\001 \002(\r\022\023\n\013playerIdWho\030\002 \002(\r\022" + - "\026\n\016playerIdByWhom\030\003 \002(\r\"\270\001\n\033RejectGameIn" + - "vitationMessage\022\016\n\006gameId\030\001 \002(\r\022H\n\016myRej" + - "ectReason\030\002 \002(\01620.RejectGameInvitationMe" + - "ssage.RejectGameInvReason\"?\n\023RejectGameI" + - "nvReason\022\022\n\016rejectReasonNo\020\000\022\024\n\020rejectRe" + - "asonBusy\020\001\"\210\001\n\026RejectInvNotifyMessage\022\016\n" + - "\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022L\n\022playe" + - "rRejectReason\030\003 \002(\01620.RejectGameInvitati", - "onMessage.RejectGameInvReason\"\262\001\n\021StartE" + - "ventMessage\022\016\n\006gameId\030\001 \002(\r\0229\n\016startEven" + - "tType\030\002 \002(\0162!.StartEventMessage.StartEve" + - "ntType\022\037\n\027fillWithComputerPlayers\030\003 \001(\010\"" + - "1\n\016StartEventType\022\016\n\nstartEvent\020\000\022\017\n\013rej" + - "oinEvent\020\001\"&\n\024StartEventAckMessage\022\016\n\006ga" + - "meId\030\001 \002(\r\"_\n\027GameStartInitialMessage\022\016\n" + - "\006gameId\030\001 \002(\r\022\033\n\023startDealerPlayerId\030\002 \002" + - "(\r\022\027\n\013playerSeats\030\003 \003(\rB\002\020\001\"\325\001\n\026GameStar" + - "tRejoinMessage\022\016\n\006gameId\030\001 \002(\r\022\033\n\023startD", - "ealerPlayerId\030\002 \002(\r\022\017\n\007handNum\030\003 \002(\r\022B\n\020" + - "rejoinPlayerData\030\004 \003(\0132(.GameStartRejoin" + - "Message.RejoinPlayerData\0329\n\020RejoinPlayer" + - "Data\022\020\n\010playerId\030\001 \002(\r\022\023\n\013playerMoney\030\002 " + - "\002(\r\"\333\001\n\020HandStartMessage\022\016\n\006gameId\030\001 \002(\r" + - "\0220\n\nplainCards\030\002 \001(\0132\034.HandStartMessage." + - "PlainCards\022\026\n\016encryptedCards\030\003 \001(\014\022\022\n\nsm" + - "allBlind\030\004 \002(\r\022#\n\nseatStates\030\005 \003(\0162\017.Net" + - "PlayerState\0324\n\nPlainCards\022\022\n\nplainCard1\030" + - "\001 \002(\r\022\022\n\nplainCard2\030\002 \002(\r\"X\n\022PlayersTurn", - "Message\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(" + - "\r\022 \n\tgameState\030\003 \002(\0162\r.NetGameState\"\226\001\n\026" + - "MyActionRequestMessage\022\016\n\006gameId\030\001 \002(\r\022\017" + - "\n\007handNum\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.Net" + - "GameState\022\"\n\010myAction\030\004 \002(\0162\020.NetPlayerA" + - "ction\022\025\n\rmyRelativeBet\030\005 \002(\r\"\271\002\n\031YourAct" + - "ionRejectedMessage\022\016\n\006gameId\030\001 \002(\r\022 \n\tga" + - "meState\030\002 \002(\0162\r.NetGameState\022$\n\nyourActi" + - "on\030\003 \002(\0162\020.NetPlayerAction\022\027\n\017yourRelati" + - "veBet\030\004 \002(\r\022C\n\017rejectionReason\030\005 \002(\0162*.Y", - "ourActionRejectedMessage.RejectionReason" + - "\"f\n\017RejectionReason\022\034\n\030rejectedInvalidGa" + - "meState\020\001\022\027\n\023rejectedNotYourTurn\020\002\022\034\n\030re" + - "jectedActionNotAllowed\020\003\"\335\001\n\030PlayersActi" + - "onDoneMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerI" + - "d\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.NetGameStat" + - "e\022&\n\014playerAction\030\004 \002(\0162\020.NetPlayerActio" + - "n\022\026\n\016totalPlayerBet\030\005 \002(\r\022\023\n\013playerMoney" + - "\030\006 \002(\r\022\022\n\nhighestSet\030\007 \002(\r\022\024\n\014minimumRai" + - "se\030\010 \002(\r\"_\n\024DealFlopCardsMessage\022\016\n\006game", - "Id\030\001 \002(\r\022\021\n\tflopCard1\030\002 \002(\r\022\021\n\tflopCard2" + - "\030\003 \002(\r\022\021\n\tflopCard3\030\004 \002(\r\"7\n\023DealTurnCar" + - "dMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010turnCard\030\002 \002" + - "(\r\"9\n\024DealRiverCardMessage\022\016\n\006gameId\030\001 \002" + - "(\r\022\021\n\triverCard\030\002 \002(\r\"\252\001\n\025AllInShowCards" + - "Message\022\016\n\006gameId\030\001 \002(\r\0228\n\014playersAllIn\030" + - "\002 \003(\0132\".AllInShowCardsMessage.PlayerAllI" + - "n\032G\n\013PlayerAllIn\022\020\n\010playerId\030\001 \002(\r\022\022\n\nal" + - "lInCard1\030\002 \002(\r\022\022\n\nallInCard2\030\003 \002(\r\"Q\n\031En" + - "dOfHandShowCardsMessage\022\016\n\006gameId\030\001 \002(\r\022", - "$\n\rplayerResults\030\002 \003(\0132\r.PlayerResult\"d\n" + - "\031EndOfHandHideCardsMessage\022\016\n\006gameId\030\001 \002" + - "(\r\022\020\n\010playerId\030\002 \002(\r\022\020\n\010moneyWon\030\003 \002(\r\022\023" + - "\n\013playerMoney\030\004 \002(\r\"\033\n\031ShowMyCardsReques" + - "tMessage\"@\n\031AfterHandShowCardsMessage\022#\n" + - "\014playerResult\030\001 \002(\0132\r.PlayerResult\":\n\020En" + - "dOfGameMessage\022\016\n\006gameId\030\001 \002(\r\022\026\n\016winner" + - "PlayerId\030\002 \002(\r\"B\n\026PlayerIdChangedMessage" + - "\022\023\n\013oldPlayerId\030\001 \002(\r\022\023\n\013newPlayerId\030\002 \002" + - "(\r\"8\n\024AskKickPlayerMessage\022\016\n\006gameId\030\001 \002", - "(\r\022\020\n\010playerId\030\002 \002(\r\"\247\002\n\024AskKickDeniedMe" + - "ssage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022" + - "@\n\020kickDeniedReason\030\003 \002(\0162&.AskKickDenie" + - "dMessage.KickDeniedReason\"\252\001\n\020KickDenied" + - "Reason\022\036\n\032kickDeniedInvalidGameState\020\000\022\031" + - "\n\025kickDeniedNotPossible\020\001\022\033\n\027kickDeniedT" + - "ryAgainLater\020\002\022\037\n\033kickDeniedAlreadyInPro" + - "gress\020\003\022\035\n\031kickDeniedInvalidPlayerId\020\004\"\245" + - "\001\n\030StartKickPetitionMessage\022\016\n\006gameId\030\001 " + - "\002(\r\022\022\n\npetitionId\030\002 \002(\r\022\031\n\021proposingPlay", - "erId\030\003 \002(\r\022\024\n\014kickPlayerId\030\004 \002(\r\022\026\n\016kick" + - "TimeoutSec\030\005 \002(\r\022\034\n\024numVotesNeededToKick" + - "\030\006 \002(\r\"N\n\026VoteKickRequestMessage\022\016\n\006game" + - "Id\030\001 \002(\r\022\022\n\npetitionId\030\002 \002(\r\022\020\n\010voteKick" + - "\030\003 \002(\010\"\337\001\n\024VoteKickReplyMessage\022\016\n\006gameI" + - "d\030\001 \002(\r\022\022\n\npetitionId\030\002 \002(\r\022B\n\021voteKickR" + - "eplyType\030\003 \002(\0162\'.VoteKickReplyMessage.Vo" + - "teKickReplyType\"_\n\021VoteKickReplyType\022\017\n\013" + - "voteKickAck\020\000\022\031\n\025voteKickDeniedInvalid\020\001" + - "\022\036\n\032voteKickDeniedAlreadyVoted\020\002\"\240\001\n\031Kic", - "kPetitionUpdateMessage\022\016\n\006gameId\030\001 \002(\r\022\022" + - "\n\npetitionId\030\002 \002(\r\022\036\n\026numVotesAgainstKic" + - "king\030\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030" + - "\004 \002(\r\022\034\n\024numVotesNeededToKick\030\005 \002(\r\"\344\002\n\026" + - "EndKickPetitionMessage\022\016\n\006gameId\030\001 \002(\r\022\022" + - "\n\npetitionId\030\002 \002(\r\022\036\n\026numVotesAgainstKic" + - "king\030\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030" + - "\004 \002(\r\022\032\n\022resultPlayerKicked\030\005 \002(\r\022D\n\021pet" + - "itionEndReason\030\006 \002(\0162).EndKickPetitionMe" + - "ssage.PetitionEndReason\"\200\001\n\021PetitionEndR", - "eason\022\032\n\026petitionEndEnoughVotes\020\000\022\034\n\030pet" + - "itionEndTooFewPlayers\020\001\022\031\n\025petitionEndPl" + - "ayerLeft\020\002\022\026\n\022petitionEndTimeout\020\003\"\357\001\n\021S" + - "tatisticsMessage\0229\n\016statisticsData\030\001 \003(\013" + - "2!.StatisticsMessage.StatisticsData\032\236\001\n\016" + - "StatisticsData\022H\n\016statisticsType\030\001 \002(\01620" + - ".StatisticsMessage.StatisticsData.Statis" + - "ticsType\022\027\n\017statisticsValue\030\002 \002(\r\")\n\016Sta" + - "tisticsType\022\027\n\023statNumberOfPlayers\020\001\"T\n\022" + - "ChatRequestMessage\022\024\n\014targetGameId\030\001 \001(\r", - "\022\026\n\016targetPlayerId\030\002 \001(\r\022\020\n\010chatText\030\003 \002" + - "(\t\"\330\001\n\013ChatMessage\022\016\n\006gameId\030\001 \001(\r\022\020\n\010pl" + - "ayerId\030\002 \001(\r\022\'\n\010chatType\030\003 \002(\0162\025.ChatMes" + - "sage.ChatType\022\020\n\010chatText\030\004 \002(\t\"l\n\010ChatT" + - "ype\022\021\n\rchatTypeLobby\020\000\022\020\n\014chatTypeGame\020\001" + - "\022\017\n\013chatTypeBot\020\002\022\025\n\021chatTypeBroadcast\020\003" + - "\022\023\n\017chatTypePrivate\020\004\"%\n\021ChatRejectMessa" + - "ge\022\020\n\010chatText\030\001 \002(\t\")\n\rDialogMessage\022\030\n" + - "\020notificationText\030\001 \002(\t\"\321\001\n\025TimeoutWarni" + - "ngMessage\022;\n\rtimeoutReason\030\001 \002(\0162$.Timeo", - "utWarningMessage.TimeoutReason\022\030\n\020remain" + - "ingSeconds\030\002 \002(\r\"a\n\rTimeoutReason\022\031\n\025tim" + - "eoutNoDataReceived\020\000\022\027\n\023timeoutInactiveG" + - "ame\020\001\022\034\n\030timeoutKickAfterAutofold\020\002\"\025\n\023R" + - "esetTimeoutMessage\"K\n\023ReportAvatarMessag" + - "e\022\030\n\020reportedPlayerId\030\001 \002(\r\022\032\n\022reportedA" + - "vatarHash\030\002 \002(\014\"\336\001\n\026ReportAvatarAckMessa" + - "ge\022\030\n\020reportedPlayerId\030\001 \002(\r\022F\n\022reportAv" + - "atarResult\030\002 \002(\0162*.ReportAvatarAckMessag" + - "e.ReportAvatarResult\"b\n\022ReportAvatarResu", - "lt\022\030\n\024avatarReportAccepted\020\000\022\031\n\025avatarRe" + - "portDuplicate\020\001\022\027\n\023avatarReportInvalid\020\002" + - "\"+\n\021ReportGameMessage\022\026\n\016reportedGameId\030" + - "\001 \002(\r\"\314\001\n\024ReportGameAckMessage\022\026\n\016report" + - "edGameId\030\001 \002(\r\022@\n\020reportGameResult\030\002 \002(\016" + - "2&.ReportGameAckMessage.ReportGameResult" + - "\"Z\n\020ReportGameResult\022\026\n\022gameReportAccept" + - "ed\020\000\022\027\n\023gameReportDuplicate\020\001\022\025\n\021gameRep" + - "ortInvalid\020\002\"\220\003\n\014ErrorMessage\022.\n\013errorRe" + - "ason\030\001 \002(\0162\031.ErrorMessage.ErrorReason\"\317\002", - "\n\013ErrorReason\022\014\n\010reserved\020\000\022\033\n\027initVersi" + - "onNotSupported\020\001\022\022\n\016initServerFull\020\002\022\023\n\017" + - "initAuthFailure\020\003\022\027\n\023initPlayerNameInUse" + - "\020\004\022\031\n\025initInvalidPlayerName\020\005\022\031\n\025initSer" + - "verMaintenance\020\006\022\017\n\013initBlocked\020\007\022\022\n\016ava" + - "tarTooLarge\020\010\022\021\n\rinvalidPacket\020\t\022\020\n\014inva" + - "lidState\020\n\022\024\n\020kickedFromServer\020\013\022\024\n\020bann" + - "edFromServer\020\014\022\023\n\017blockedByServer\020\r\022\022\n\016s" + - "essionTimeout\020\016\"\3771\n\016PokerTHMessage\0227\n\013me" + - "ssageType\030\001 \002(\0162\".PokerTHMessage.PokerTH", - "MessageType\022)\n\017announceMessage\030\002 \001(\0132\020.A" + - "nnounceMessage\022!\n\013initMessage\030\003 \001(\0132\014.In" + - "itMessage\022?\n\032authServerChallengeMessage\030" + - "\004 \001(\0132\033.AuthServerChallengeMessage\022=\n\031au" + - "thClientResponseMessage\030\005 \001(\0132\032.AuthClie" + - "ntResponseMessage\022E\n\035authServerVerificat" + - "ionMessage\030\006 \001(\0132\036.AuthServerVerificatio" + - "nMessage\022\'\n\016initAckMessage\030\007 \001(\0132\017.InitA" + - "ckMessage\0223\n\024avatarRequestMessage\030\010 \001(\0132" + - "\025.AvatarRequestMessage\0221\n\023avatarHeaderMe", - "ssage\030\t \001(\0132\024.AvatarHeaderMessage\022-\n\021ava" + - "tarDataMessage\030\n \001(\0132\022.AvatarDataMessage" + - "\022+\n\020avatarEndMessage\030\013 \001(\0132\021.AvatarEndMe" + - "ssage\0223\n\024unknownAvatarMessage\030\014 \001(\0132\025.Un" + - "knownAvatarMessage\022-\n\021playerListMessage\030" + - "\r \001(\0132\022.PlayerListMessage\022/\n\022gameListNew" + - "Message\030\016 \001(\0132\023.GameListNewMessage\0225\n\025ga" + - "meListUpdateMessage\030\017 \001(\0132\026.GameListUpda" + - "teMessage\022A\n\033gameListPlayerJoinedMessage" + - "\030\020 \001(\0132\034.GameListPlayerJoinedMessage\022=\n\031", - "gameListPlayerLeftMessage\030\021 \001(\0132\032.GameLi" + - "stPlayerLeftMessage\022A\n\033gameListAdminChan" + - "gedMessage\030\022 \001(\0132\034.GameListAdminChangedM" + - "essage\022;\n\030playerInfoRequestMessage\030\023 \001(\013" + - "2\031.PlayerInfoRequestMessage\0227\n\026playerInf" + - "oReplyMessage\030\024 \001(\0132\027.PlayerInfoReplyMes" + - "sage\022?\n\032subscriptionRequestMessage\030\025 \001(\013" + - "2\033.SubscriptionRequestMessage\0229\n\027joinExi" + - "stingGameMessage\030\026 \001(\0132\030.JoinExistingGam" + - "eMessage\022/\n\022joinNewGameMessage\030\027 \001(\0132\023.J", - "oinNewGameMessage\022=\n\031rejoinExistingGameM" + - "essage\030\030 \001(\0132\032.RejoinExistingGameMessage" + - "\022/\n\022joinGameAckMessage\030\031 \001(\0132\023.JoinGameA" + - "ckMessage\0225\n\025joinGameFailedMessage\030\032 \001(\013" + - "2\026.JoinGameFailedMessage\0229\n\027gamePlayerJo" + - "inedMessage\030\033 \001(\0132\030.GamePlayerJoinedMess" + - "age\0225\n\025gamePlayerLeftMessage\030\034 \001(\0132\026.Gam" + - "ePlayerLeftMessage\0229\n\027gameAdminChangedMe" + - "ssage\030\035 \001(\0132\030.GameAdminChangedMessage\0227\n" + - "\026removedFromGameMessage\030\036 \001(\0132\027.RemovedF", - "romGameMessage\022;\n\030kickPlayerRequestMessa" + - "ge\030\037 \001(\0132\031.KickPlayerRequestMessage\0229\n\027l" + - "eaveGameRequestMessage\030 \001(\0132\030.LeaveGame" + - "RequestMessage\022=\n\031invitePlayerToGameMess" + - "age\030! \001(\0132\032.InvitePlayerToGameMessage\0221\n" + - "\023inviteNotifyMessage\030\" \001(\0132\024.InviteNotif" + - "yMessage\022A\n\033rejectGameInvitationMessage\030" + - "# \001(\0132\034.RejectGameInvitationMessage\0227\n\026r" + - "ejectInvNotifyMessage\030$ \001(\0132\027.RejectInvN" + - "otifyMessage\022-\n\021startEventMessage\030% \001(\0132", - "\022.StartEventMessage\0223\n\024startEventAckMess" + - "age\030& \001(\0132\025.StartEventAckMessage\0229\n\027game" + - "StartInitialMessage\030\' \001(\0132\030.GameStartIni" + - "tialMessage\0227\n\026gameStartRejoinMessage\030( " + - "\001(\0132\027.GameStartRejoinMessage\022+\n\020handStar" + - "tMessage\030) \001(\0132\021.HandStartMessage\022/\n\022pla" + - "yersTurnMessage\030* \001(\0132\023.PlayersTurnMessa" + - "ge\0227\n\026myActionRequestMessage\030+ \001(\0132\027.MyA" + - "ctionRequestMessage\022=\n\031yourActionRejecte" + - "dMessage\030, \001(\0132\032.YourActionRejectedMessa", - "ge\022;\n\030playersActionDoneMessage\030- \001(\0132\031.P" + - "layersActionDoneMessage\0223\n\024dealFlopCards" + - "Message\030. \001(\0132\025.DealFlopCardsMessage\0221\n\023" + - "dealTurnCardMessage\030/ \001(\0132\024.DealTurnCard" + - "Message\0223\n\024dealRiverCardMessage\0300 \001(\0132\025." + - "DealRiverCardMessage\0225\n\025allInShowCardsMe" + - "ssage\0301 \001(\0132\026.AllInShowCardsMessage\022=\n\031e" + - "ndOfHandShowCardsMessage\0302 \001(\0132\032.EndOfHa" + - "ndShowCardsMessage\022=\n\031endOfHandHideCards" + - "Message\0303 \001(\0132\032.EndOfHandHideCardsMessag", - "e\022=\n\031showMyCardsRequestMessage\0304 \001(\0132\032.S" + - "howMyCardsRequestMessage\022=\n\031afterHandSho" + - "wCardsMessage\0305 \001(\0132\032.AfterHandShowCards" + - "Message\022+\n\020endOfGameMessage\0306 \001(\0132\021.EndO" + - "fGameMessage\0227\n\026playerIdChangedMessage\0307" + - " \001(\0132\027.PlayerIdChangedMessage\0223\n\024askKick" + - "PlayerMessage\0308 \001(\0132\025.AskKickPlayerMessa" + - "ge\0223\n\024askKickDeniedMessage\0309 \001(\0132\025.AskKi" + - "ckDeniedMessage\022;\n\030startKickPetitionMess" + - "age\030: \001(\0132\031.StartKickPetitionMessage\0227\n\026", - "voteKickRequestMessage\030; \001(\0132\027.VoteKickR" + - "equestMessage\0223\n\024voteKickReplyMessage\030< " + - "\001(\0132\025.VoteKickReplyMessage\022=\n\031kickPetiti" + - "onUpdateMessage\030= \001(\0132\032.KickPetitionUpda" + - "teMessage\0227\n\026endKickPetitionMessage\030> \001(" + - "\0132\027.EndKickPetitionMessage\022-\n\021statistics" + - "Message\030? \001(\0132\022.StatisticsMessage\022/\n\022cha" + - "tRequestMessage\030@ \001(\0132\023.ChatRequestMessa" + - "ge\022!\n\013chatMessage\030A \001(\0132\014.ChatMessage\022-\n" + - "\021chatRejectMessage\030B \001(\0132\022.ChatRejectMes", - "sage\022%\n\rdialogMessage\030C \001(\0132\016.DialogMess" + - "age\0225\n\025timeoutWarningMessage\030D \001(\0132\026.Tim" + - "eoutWarningMessage\0221\n\023resetTimeoutMessag" + - "e\030E \001(\0132\024.ResetTimeoutMessage\0221\n\023reportA" + - "vatarMessage\030F \001(\0132\024.ReportAvatarMessage" + - "\0227\n\026reportAvatarAckMessage\030G \001(\0132\027.Repor" + - "tAvatarAckMessage\022-\n\021reportGameMessage\030H" + - " \001(\0132\022.ReportGameMessage\0223\n\024reportGameAc" + - "kMessage\030I \001(\0132\025.ReportGameAckMessage\022#\n" + - "\014errorMessage\030J \001(\0132\r.ErrorMessage\"\244\022\n\022P", - "okerTHMessageType\022\030\n\024Type_AnnounceMessag" + - "e\020\001\022\024\n\020Type_InitMessage\020\002\022#\n\037Type_AuthSe" + - "rverChallengeMessage\020\003\022\"\n\036Type_AuthClien" + - "tResponseMessage\020\004\022&\n\"Type_AuthServerVer" + - "ificationMessage\020\005\022\027\n\023Type_InitAckMessag" + - "e\020\006\022\035\n\031Type_AvatarRequestMessage\020\007\022\034\n\030Ty" + - "pe_AvatarHeaderMessage\020\010\022\032\n\026Type_AvatarD" + - "ataMessage\020\t\022\031\n\025Type_AvatarEndMessage\020\n\022" + - "\035\n\031Type_UnknownAvatarMessage\020\013\022\032\n\026Type_P" + - "layerListMessage\020\014\022\033\n\027Type_GameListNewMe", - "ssage\020\r\022\036\n\032Type_GameListUpdateMessage\020\016\022" + - "$\n Type_GameListPlayerJoinedMessage\020\017\022\"\n" + - "\036Type_GameListPlayerLeftMessage\020\020\022$\n Typ" + - "e_GameListAdminChangedMessage\020\021\022!\n\035Type_" + - "PlayerInfoRequestMessage\020\022\022\037\n\033Type_Playe" + - "rInfoReplyMessage\020\023\022#\n\037Type_Subscription" + - "RequestMessage\020\024\022 \n\034Type_JoinExistingGam" + - "eMessage\020\025\022\033\n\027Type_JoinNewGameMessage\020\026\022" + - "\"\n\036Type_RejoinExistingGameMessage\020\027\022\033\n\027T" + - "ype_JoinGameAckMessage\020\030\022\036\n\032Type_JoinGam", - "eFailedMessage\020\031\022 \n\034Type_GamePlayerJoine" + - "dMessage\020\032\022\036\n\032Type_GamePlayerLeftMessage" + - "\020\033\022 \n\034Type_GameAdminChangedMessage\020\034\022\037\n\033" + - "Type_RemovedFromGameMessage\020\035\022!\n\035Type_Ki" + - "ckPlayerRequestMessage\020\036\022 \n\034Type_LeaveGa" + - "meRequestMessage\020\037\022\"\n\036Type_InvitePlayerT" + - "oGameMessage\020 \022\034\n\030Type_InviteNotifyMessa" + - "ge\020!\022$\n Type_RejectGameInvitationMessage" + - "\020\"\022\037\n\033Type_RejectInvNotifyMessage\020#\022\032\n\026T" + - "ype_StartEventMessage\020$\022\035\n\031Type_StartEve", - "ntAckMessage\020%\022 \n\034Type_GameStartInitialM" + - "essage\020&\022\037\n\033Type_GameStartRejoinMessage\020" + - "\'\022\031\n\025Type_HandStartMessage\020(\022\033\n\027Type_Pla" + - "yersTurnMessage\020)\022\037\n\033Type_MyActionReques" + - "tMessage\020*\022\"\n\036Type_YourActionRejectedMes" + - "sage\020+\022!\n\035Type_PlayersActionDoneMessage\020" + - ",\022\035\n\031Type_DealFlopCardsMessage\020-\022\034\n\030Type" + - "_DealTurnCardMessage\020.\022\035\n\031Type_DealRiver" + - "CardMessage\020/\022\036\n\032Type_AllInShowCardsMess" + - "age\0200\022\"\n\036Type_EndOfHandShowCardsMessage\020", - "1\022\"\n\036Type_EndOfHandHideCardsMessage\0202\022\"\n" + - "\036Type_ShowMyCardsRequestMessage\0203\022\"\n\036Typ" + - "e_AfterHandShowCardsMessage\0204\022\031\n\025Type_En" + - "dOfGameMessage\0205\022\037\n\033Type_PlayerIdChanged" + - "Message\0206\022\035\n\031Type_AskKickPlayerMessage\0207" + - "\022\035\n\031Type_AskKickDeniedMessage\0208\022!\n\035Type_" + - "StartKickPetitionMessage\0209\022\037\n\033Type_VoteK" + - "ickRequestMessage\020:\022\035\n\031Type_VoteKickRepl" + - "yMessage\020;\022\"\n\036Type_KickPetitionUpdateMes" + - "sage\020<\022\037\n\033Type_EndKickPetitionMessage\020=\022", - "\032\n\026Type_StatisticsMessage\020>\022\033\n\027Type_Chat" + - "RequestMessage\020?\022\024\n\020Type_ChatMessage\020@\022\032" + - "\n\026Type_ChatRejectMessage\020A\022\026\n\022Type_Dialo" + - "gMessage\020B\022\036\n\032Type_TimeoutWarningMessage" + - "\020C\022\034\n\030Type_ResetTimeoutMessage\020D\022\034\n\030Type" + - "_ReportAvatarMessage\020E\022\037\n\033Type_ReportAva" + - "tarAckMessage\020F\022\032\n\026Type_ReportGameMessag" + - "e\020G\022\035\n\031Type_ReportGameAckMessage\020H\022\025\n\021Ty" + - "pe_ErrorMessage\020I*H\n\013NetGameMode\022\022\n\016netG" + - "ameCreated\020\001\022\022\n\016netGameStarted\020\002\022\021\n\rnetG", - "ameClosed\020\003*\226\001\n\014NetGameState\022\023\n\017netState" + - "Preflop\020\000\022\020\n\014netStateFlop\020\001\022\020\n\014netStateT" + - "urn\020\002\022\021\n\rnetStateRiver\020\003\022\035\n\031netStatePref" + - "lopSmallBlind\020\004\022\033\n\027netStatePreflopBigBli" + - "nd\020\005*\230\001\n\017NetPlayerAction\022\021\n\rnetActionNon" + - "e\020\000\022\021\n\rnetActionFold\020\001\022\022\n\016netActionCheck" + - "\020\002\022\021\n\rnetActionCall\020\003\022\020\n\014netActionBet\020\004\022" + - "\022\n\016netActionRaise\020\005\022\022\n\016netActionAllIn\020\006*" + - "h\n\016NetPlayerState\022\030\n\024netPlayerStateNorma" + - "l\020\000\022!\n\035netPlayerStateSessionInactive\020\001\022\031", - "\n\025netPlayerStateNoMoney\020\002*d\n\023NetPlayerIn" + - "foRights\022\030\n\024netPlayerRightsGuest\020\001\022\031\n\025ne" + - "tPlayerRightsNormal\020\002\022\030\n\024netPlayerRights" + - "Admin\020\003*T\n\rNetAvatarType\022\025\n\021netAvatarIma" + - "gePng\020\001\022\025\n\021netAvatarImageJpg\020\002\022\025\n\021netAva" + - "tarImageGif\020\003B\037\n\023de.pokerth.protocolB\010Pr" + - "otoBuf" + "\n\rpokerth.proto\"\242\005\n\013NetGameInfo\022\020\n\010gameN" + + "ame\030\001 \002(\t\022-\n\013netGameType\030\002 \002(\0162\030.NetGame" + + "Info.NetGameType\022\025\n\rmaxNumPlayers\030\003 \002(\r\022" + + "9\n\021raiseIntervalMode\030\004 \002(\0162\036.NetGameInfo" + + ".RaiseIntervalMode\022\027\n\017raiseEveryHands\030\005 " + + "\001(\r\022\031\n\021raiseEveryMinutes\030\006 \001(\r\022/\n\014endRai" + + "seMode\030\007 \002(\0162\031.NetGameInfo.EndRaiseMode\022" + + "\037\n\027endRaiseSmallBlindValue\030\010 \001(\r\022\030\n\020prop" + + "osedGuiSpeed\030\t \002(\r\022\031\n\021delayBetweenHands\030" + + "\n \002(\r\022\033\n\023playerActionTimeout\030\013 \002(\r\022\027\n\017fi", + "rstSmallBlind\030\014 \002(\r\022\022\n\nstartMoney\030\r \002(\r\022" + + "\030\n\014manualBlinds\030\016 \003(\rB\002\020\001\"Z\n\013NetGameType" + + "\022\016\n\nnormalGame\020\001\022\026\n\022registeredOnlyGame\020\002" + + "\022\022\n\016inviteOnlyGame\020\003\022\017\n\013rankingGame\020\004\";\n" + + "\021RaiseIntervalMode\022\022\n\016raiseOnHandNum\020\001\022\022" + + "\n\016raiseOnMinutes\020\002\"H\n\014EndRaiseMode\022\020\n\014do" + + "ubleBlinds\020\001\022\023\n\017raiseByEndValue\020\002\022\021\n\rkee" + + "pLastBlind\020\003\"\243\001\n\014PlayerResult\022\020\n\010playerI" + + "d\030\001 \002(\r\022\023\n\013resultCard1\030\002 \002(\r\022\023\n\013resultCa" + + "rd2\030\003 \002(\r\022\034\n\020bestHandPosition\030\004 \003(\rB\002\020\001\022", + "\020\n\010moneyWon\030\005 \002(\r\022\023\n\013playerMoney\030\006 \002(\r\022\022" + + "\n\ncardsValue\030\007 \001(\r\"\346\002\n\017AnnounceMessage\0221" + + "\n\017protocolVersion\030\001 \002(\0132\030.AnnounceMessag" + + "e.Version\0223\n\021latestGameVersion\030\002 \002(\0132\030.A" + + "nnounceMessage.Version\022\032\n\022latestBetaRevi" + + "sion\030\003 \002(\r\022/\n\nserverType\030\004 \002(\0162\033.Announc" + + "eMessage.ServerType\022\032\n\022numPlayersOnServe" + + "r\030\005 \002(\r\032\'\n\007Version\022\r\n\005major\030\001 \002(\r\022\r\n\005min" + + "or\030\002 \002(\r\"Y\n\nServerType\022\021\n\rserverTypeLAN\020" + + "\000\022\034\n\030serverTypeInternetNoAuth\020\001\022\032\n\026serve", + "rTypeInternetAuth\020\002\"\273\002\n\013InitMessage\0222\n\020r" + + "equestedVersion\030\001 \002(\0132\030.AnnounceMessage." + + "Version\022\017\n\007buildId\030\002 \002(\r\022\027\n\017myLastSessio" + + "nId\030\003 \001(\014\022\032\n\022authServerPassword\030\004 \001(\t\022%\n" + + "\005login\030\005 \002(\0162\026.InitMessage.LoginType\022\020\n\010" + + "nickName\030\006 \001(\t\022\026\n\016clientUserData\030\007 \001(\014\022\022" + + "\n\navatarHash\030\010 \001(\014\"M\n\tLoginType\022\016\n\nguest" + + "Login\020\000\022\026\n\022authenticatedLogin\020\001\022\030\n\024unaut" + + "henticatedLogin\020\002\"5\n\032AuthServerChallenge" + + "Message\022\027\n\017serverChallenge\030\001 \002(\014\"3\n\031Auth", + "ClientResponseMessage\022\026\n\016clientResponse\030" + + "\001 \002(\014\";\n\035AuthServerVerificationMessage\022\032" + + "\n\022serverVerification\030\001 \002(\014\"k\n\016InitAckMes" + + "sage\022\025\n\ryourSessionId\030\001 \002(\014\022\024\n\014yourPlaye" + + "rId\030\002 \002(\r\022\026\n\016yourAvatarHash\030\003 \001(\014\022\024\n\014rej" + + "oinGameId\030\004 \001(\r\"=\n\024AvatarRequestMessage\022" + + "\021\n\trequestId\030\001 \002(\r\022\022\n\navatarHash\030\002 \002(\014\"`" + + "\n\023AvatarHeaderMessage\022\021\n\trequestId\030\001 \002(\r" + + "\022\"\n\navatarType\030\002 \002(\0162\016.NetAvatarType\022\022\n\n" + + "avatarSize\030\003 \002(\r\";\n\021AvatarDataMessage\022\021\n", + "\trequestId\030\001 \002(\r\022\023\n\013avatarBlock\030\002 \002(\014\"%\n" + + "\020AvatarEndMessage\022\021\n\trequestId\030\001 \002(\r\")\n\024" + + "UnknownAvatarMessage\022\021\n\trequestId\030\001 \002(\r\"" + + "\261\001\n\021PlayerListMessage\022\020\n\010playerId\030\001 \002(\r\022" + + "I\n\026playerListNotification\030\002 \002(\0162).Player" + + "ListMessage.PlayerListNotification\"?\n\026Pl" + + "ayerListNotification\022\021\n\rplayerListNew\020\000\022" + + "\022\n\016playerListLeft\020\001\"\245\001\n\022GameListNewMessa" + + "ge\022\016\n\006gameId\030\001 \002(\r\022\036\n\010gameMode\030\002 \002(\0162\014.N" + + "etGameMode\022\021\n\tisPrivate\030\003 \002(\010\022\025\n\tplayerI", + "ds\030\004 \003(\rB\002\020\001\022\025\n\radminPlayerId\030\005 \002(\r\022\036\n\010g" + + "ameInfo\030\006 \002(\0132\014.NetGameInfo\"G\n\025GameListU" + + "pdateMessage\022\016\n\006gameId\030\001 \002(\r\022\036\n\010gameMode" + + "\030\002 \002(\0162\014.NetGameMode\"?\n\033GameListPlayerJo" + + "inedMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030" + + "\002 \002(\r\"=\n\031GameListPlayerLeftMessage\022\016\n\006ga" + + "meId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\"G\n\033GameList" + + "AdminChangedMessage\022\016\n\006gameId\030\001 \002(\r\022\030\n\020n" + + "ewAdminPlayerId\030\002 \002(\r\"0\n\030PlayerInfoReque" + + "stMessage\022\024\n\010playerId\030\001 \003(\rB\002\020\001\"\360\002\n\026Play", + "erInfoReplyMessage\022\020\n\010playerId\030\001 \002(\r\022>\n\016" + + "playerInfoData\030\002 \001(\0132&.PlayerInfoReplyMe" + + "ssage.PlayerInfoData\032\203\002\n\016PlayerInfoData\022" + + "\022\n\nplayerName\030\001 \002(\t\022\017\n\007isHuman\030\002 \002(\010\022*\n\014" + + "playerRights\030\003 \002(\0162\024.NetPlayerInfoRights" + + "\022\023\n\013countryCode\030\004 \001(\t\022E\n\navatarData\030\005 \001(" + + "\01321.PlayerInfoReplyMessage.PlayerInfoDat" + + "a.AvatarData\032D\n\nAvatarData\022\"\n\navatarType" + + "\030\001 \002(\0162\016.NetAvatarType\022\022\n\navatarHash\030\002 \002" + + "(\014\"\260\001\n\032SubscriptionRequestMessage\022J\n\022sub", + "scriptionAction\030\001 \002(\0162..SubscriptionRequ" + + "estMessage.SubscriptionAction\"F\n\022Subscri" + + "ptionAction\022\027\n\023unsubscribeGameList\020\001\022\027\n\023" + + "resubscribeGameList\020\002\"N\n\027JoinExistingGam" + + "eMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010password\030\002 \001" + + "(\t\022\021\n\tautoLeave\030\003 \001(\010\"Y\n\022JoinNewGameMess" + + "age\022\036\n\010gameInfo\030\001 \002(\0132\014.NetGameInfo\022\020\n\010p" + + "assword\030\002 \001(\t\022\021\n\tautoLeave\030\003 \001(\010\">\n\031Rejo" + + "inExistingGameMessage\022\016\n\006gameId\030\001 \002(\r\022\021\n" + + "\tautoLeave\030\002 \001(\010\"]\n\022JoinGameAckMessage\022\016", + "\n\006gameId\030\001 \002(\r\022\027\n\017areYouGameAdmin\030\002 \002(\010\022" + + "\036\n\010gameInfo\030\003 \002(\0132\014.NetGameInfo\"\337\002\n\025Join" + + "GameFailedMessage\022\016\n\006gameId\030\001 \002(\r\022K\n\025joi" + + "nGameFailureReason\030\002 \002(\0162,.JoinGameFaile" + + "dMessage.JoinGameFailureReason\"\350\001\n\025JoinG" + + "ameFailureReason\022\017\n\013invalidGame\020\001\022\016\n\ngam" + + "eIsFull\020\002\022\021\n\rgameIsRunning\020\003\022\023\n\017invalidP" + + "assword\020\004\022\025\n\021notAllowedAsGuest\020\005\022\016\n\nnotI" + + "nvited\020\006\022\021\n\rgameNameInUse\020\007\022\017\n\013badGameNa" + + "me\020\010\022\023\n\017invalidSettings\020\t\022\024\n\020ipAddressBl", + "ocked\020\n\022\020\n\014rejoinFailed\020\013\"P\n\027GamePlayerJ" + + "oinedMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId" + + "\030\002 \002(\r\022\023\n\013isGameAdmin\030\003 \002(\010\"\316\001\n\025GamePlay" + + "erLeftMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerI" + + "d\030\002 \002(\r\022I\n\024gamePlayerLeftReason\030\003 \002(\0162+." + + "GamePlayerLeftMessage.GamePlayerLeftReas" + + "on\"H\n\024GamePlayerLeftReason\022\021\n\rleftOnRequ" + + "est\020\000\022\016\n\nleftKicked\020\001\022\r\n\tleftError\020\002\"C\n\027" + + "GameAdminChangedMessage\022\016\n\006gameId\030\001 \002(\r\022" + + "\030\n\020newAdminPlayerId\030\002 \002(\r\"\206\002\n\026RemovedFro", + "mGameMessage\022\016\n\006gameId\030\001 \002(\r\022L\n\025removedF" + + "romGameReason\030\002 \002(\0162-.RemovedFromGameMes" + + "sage.RemovedFromGameReason\"\215\001\n\025RemovedFr" + + "omGameReason\022\024\n\020removedOnRequest\020\000\022\022\n\016ki" + + "ckedFromGame\020\001\022\016\n\ngameIsFull\020\002\022\021\n\rgameIs" + + "Running\020\003\022\017\n\013gameTimeout\020\004\022\026\n\022removedSta" + + "rtFailed\020\005\"<\n\030KickPlayerRequestMessage\022\016" + + "\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\")\n\027Leav" + + "eGameRequestMessage\022\016\n\006gameId\030\001 \002(\r\"=\n\031I" + + "nvitePlayerToGameMessage\022\016\n\006gameId\030\001 \002(\r", + "\022\020\n\010playerId\030\002 \002(\r\"R\n\023InviteNotifyMessag" + + "e\022\016\n\006gameId\030\001 \002(\r\022\023\n\013playerIdWho\030\002 \002(\r\022\026" + + "\n\016playerIdByWhom\030\003 \002(\r\"\270\001\n\033RejectGameInv" + + "itationMessage\022\016\n\006gameId\030\001 \002(\r\022H\n\016myReje" + + "ctReason\030\002 \002(\01620.RejectGameInvitationMes" + + "sage.RejectGameInvReason\"?\n\023RejectGameIn" + + "vReason\022\022\n\016rejectReasonNo\020\000\022\024\n\020rejectRea" + + "sonBusy\020\001\"\210\001\n\026RejectInvNotifyMessage\022\016\n\006" + + "gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022L\n\022player" + + "RejectReason\030\003 \002(\01620.RejectGameInvitatio", + "nMessage.RejectGameInvReason\"\262\001\n\021StartEv" + + "entMessage\022\016\n\006gameId\030\001 \002(\r\0229\n\016startEvent" + + "Type\030\002 \002(\0162!.StartEventMessage.StartEven" + + "tType\022\037\n\027fillWithComputerPlayers\030\003 \001(\010\"1" + + "\n\016StartEventType\022\016\n\nstartEvent\020\000\022\017\n\013rejo" + + "inEvent\020\001\"&\n\024StartEventAckMessage\022\016\n\006gam" + + "eId\030\001 \002(\r\"_\n\027GameStartInitialMessage\022\016\n\006" + + "gameId\030\001 \002(\r\022\033\n\023startDealerPlayerId\030\002 \002(" + + "\r\022\027\n\013playerSeats\030\003 \003(\rB\002\020\001\"\325\001\n\026GameStart" + + "RejoinMessage\022\016\n\006gameId\030\001 \002(\r\022\033\n\023startDe", + "alerPlayerId\030\002 \002(\r\022\017\n\007handNum\030\003 \002(\r\022B\n\020r" + + "ejoinPlayerData\030\004 \003(\0132(.GameStartRejoinM" + + "essage.RejoinPlayerData\0329\n\020RejoinPlayerD" + + "ata\022\020\n\010playerId\030\001 \002(\r\022\023\n\013playerMoney\030\002 \002" + + "(\r\"\333\001\n\020HandStartMessage\022\016\n\006gameId\030\001 \002(\r\022" + + "0\n\nplainCards\030\002 \001(\0132\034.HandStartMessage.P" + + "lainCards\022\026\n\016encryptedCards\030\003 \001(\014\022\022\n\nsma" + + "llBlind\030\004 \002(\r\022#\n\nseatStates\030\005 \003(\0162\017.NetP" + + "layerState\0324\n\nPlainCards\022\022\n\nplainCard1\030\001" + + " \002(\r\022\022\n\nplainCard2\030\002 \002(\r\"X\n\022PlayersTurnM", + "essage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r" + + "\022 \n\tgameState\030\003 \002(\0162\r.NetGameState\"\226\001\n\026M" + + "yActionRequestMessage\022\016\n\006gameId\030\001 \002(\r\022\017\n" + + "\007handNum\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.NetG" + + "ameState\022\"\n\010myAction\030\004 \002(\0162\020.NetPlayerAc" + + "tion\022\025\n\rmyRelativeBet\030\005 \002(\r\"\271\002\n\031YourActi" + + "onRejectedMessage\022\016\n\006gameId\030\001 \002(\r\022 \n\tgam" + + "eState\030\002 \002(\0162\r.NetGameState\022$\n\nyourActio" + + "n\030\003 \002(\0162\020.NetPlayerAction\022\027\n\017yourRelativ" + + "eBet\030\004 \002(\r\022C\n\017rejectionReason\030\005 \002(\0162*.Yo", + "urActionRejectedMessage.RejectionReason\"" + + "f\n\017RejectionReason\022\034\n\030rejectedInvalidGam" + + "eState\020\001\022\027\n\023rejectedNotYourTurn\020\002\022\034\n\030rej" + + "ectedActionNotAllowed\020\003\"\335\001\n\030PlayersActio" + + "nDoneMessage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId" + + "\030\002 \002(\r\022 \n\tgameState\030\003 \002(\0162\r.NetGameState" + + "\022&\n\014playerAction\030\004 \002(\0162\020.NetPlayerAction" + + "\022\026\n\016totalPlayerBet\030\005 \002(\r\022\023\n\013playerMoney\030" + + "\006 \002(\r\022\022\n\nhighestSet\030\007 \002(\r\022\024\n\014minimumRais" + + "e\030\010 \002(\r\"_\n\024DealFlopCardsMessage\022\016\n\006gameI", + "d\030\001 \002(\r\022\021\n\tflopCard1\030\002 \002(\r\022\021\n\tflopCard2\030" + + "\003 \002(\r\022\021\n\tflopCard3\030\004 \002(\r\"7\n\023DealTurnCard" + + "Message\022\016\n\006gameId\030\001 \002(\r\022\020\n\010turnCard\030\002 \002(" + + "\r\"9\n\024DealRiverCardMessage\022\016\n\006gameId\030\001 \002(" + + "\r\022\021\n\triverCard\030\002 \002(\r\"\252\001\n\025AllInShowCardsM" + + "essage\022\016\n\006gameId\030\001 \002(\r\0228\n\014playersAllIn\030\002" + + " \003(\0132\".AllInShowCardsMessage.PlayerAllIn" + + "\032G\n\013PlayerAllIn\022\020\n\010playerId\030\001 \002(\r\022\022\n\nall" + + "InCard1\030\002 \002(\r\022\022\n\nallInCard2\030\003 \002(\r\"Q\n\031End" + + "OfHandShowCardsMessage\022\016\n\006gameId\030\001 \002(\r\022$", + "\n\rplayerResults\030\002 \003(\0132\r.PlayerResult\"d\n\031" + + "EndOfHandHideCardsMessage\022\016\n\006gameId\030\001 \002(" + + "\r\022\020\n\010playerId\030\002 \002(\r\022\020\n\010moneyWon\030\003 \002(\r\022\023\n" + + "\013playerMoney\030\004 \002(\r\"\033\n\031ShowMyCardsRequest" + + "Message\"@\n\031AfterHandShowCardsMessage\022#\n\014" + + "playerResult\030\001 \002(\0132\r.PlayerResult\":\n\020End" + + "OfGameMessage\022\016\n\006gameId\030\001 \002(\r\022\026\n\016winnerP" + + "layerId\030\002 \002(\r\"B\n\026PlayerIdChangedMessage\022" + + "\023\n\013oldPlayerId\030\001 \002(\r\022\023\n\013newPlayerId\030\002 \002(" + + "\r\"8\n\024AskKickPlayerMessage\022\016\n\006gameId\030\001 \002(", + "\r\022\020\n\010playerId\030\002 \002(\r\"\247\002\n\024AskKickDeniedMes" + + "sage\022\016\n\006gameId\030\001 \002(\r\022\020\n\010playerId\030\002 \002(\r\022@" + + "\n\020kickDeniedReason\030\003 \002(\0162&.AskKickDenied" + + "Message.KickDeniedReason\"\252\001\n\020KickDeniedR" + + "eason\022\036\n\032kickDeniedInvalidGameState\020\000\022\031\n" + + "\025kickDeniedNotPossible\020\001\022\033\n\027kickDeniedTr" + + "yAgainLater\020\002\022\037\n\033kickDeniedAlreadyInProg" + + "ress\020\003\022\035\n\031kickDeniedInvalidPlayerId\020\004\"\245\001" + + "\n\030StartKickPetitionMessage\022\016\n\006gameId\030\001 \002" + + "(\r\022\022\n\npetitionId\030\002 \002(\r\022\031\n\021proposingPlaye", + "rId\030\003 \002(\r\022\024\n\014kickPlayerId\030\004 \002(\r\022\026\n\016kickT" + + "imeoutSec\030\005 \002(\r\022\034\n\024numVotesNeededToKick\030" + + "\006 \002(\r\"N\n\026VoteKickRequestMessage\022\016\n\006gameI" + + "d\030\001 \002(\r\022\022\n\npetitionId\030\002 \002(\r\022\020\n\010voteKick\030" + + "\003 \002(\010\"\337\001\n\024VoteKickReplyMessage\022\016\n\006gameId" + + "\030\001 \002(\r\022\022\n\npetitionId\030\002 \002(\r\022B\n\021voteKickRe" + + "plyType\030\003 \002(\0162\'.VoteKickReplyMessage.Vot" + + "eKickReplyType\"_\n\021VoteKickReplyType\022\017\n\013v" + + "oteKickAck\020\000\022\031\n\025voteKickDeniedInvalid\020\001\022" + + "\036\n\032voteKickDeniedAlreadyVoted\020\002\"\240\001\n\031Kick", + "PetitionUpdateMessage\022\016\n\006gameId\030\001 \002(\r\022\022\n" + + "\npetitionId\030\002 \002(\r\022\036\n\026numVotesAgainstKick" + + "ing\030\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030\004" + + " \002(\r\022\034\n\024numVotesNeededToKick\030\005 \002(\r\"\344\002\n\026E" + + "ndKickPetitionMessage\022\016\n\006gameId\030\001 \002(\r\022\022\n" + + "\npetitionId\030\002 \002(\r\022\036\n\026numVotesAgainstKick" + + "ing\030\003 \002(\r\022!\n\031numVotesInFavourOfKicking\030\004" + + " \002(\r\022\032\n\022resultPlayerKicked\030\005 \002(\r\022D\n\021peti" + + "tionEndReason\030\006 \002(\0162).EndKickPetitionMes" + + "sage.PetitionEndReason\"\200\001\n\021PetitionEndRe", + "ason\022\032\n\026petitionEndEnoughVotes\020\000\022\034\n\030peti" + + "tionEndTooFewPlayers\020\001\022\031\n\025petitionEndPla" + + "yerLeft\020\002\022\026\n\022petitionEndTimeout\020\003\"\357\001\n\021St" + + "atisticsMessage\0229\n\016statisticsData\030\001 \003(\0132" + + "!.StatisticsMessage.StatisticsData\032\236\001\n\016S" + + "tatisticsData\022H\n\016statisticsType\030\001 \002(\01620." + + "StatisticsMessage.StatisticsData.Statist" + + "icsType\022\027\n\017statisticsValue\030\002 \002(\r\")\n\016Stat" + + "isticsType\022\027\n\023statNumberOfPlayers\020\001\"T\n\022C" + + "hatRequestMessage\022\024\n\014targetGameId\030\001 \001(\r\022", + "\026\n\016targetPlayerId\030\002 \001(\r\022\020\n\010chatText\030\003 \002(" + + "\t\"\330\001\n\013ChatMessage\022\016\n\006gameId\030\001 \001(\r\022\020\n\010pla" + + "yerId\030\002 \001(\r\022\'\n\010chatType\030\003 \002(\0162\025.ChatMess" + + "age.ChatType\022\020\n\010chatText\030\004 \002(\t\"l\n\010ChatTy" + + "pe\022\021\n\rchatTypeLobby\020\000\022\020\n\014chatTypeGame\020\001\022" + + "\017\n\013chatTypeBot\020\002\022\025\n\021chatTypeBroadcast\020\003\022" + + "\023\n\017chatTypePrivate\020\004\"%\n\021ChatRejectMessag" + + "e\022\020\n\010chatText\030\001 \002(\t\")\n\rDialogMessage\022\030\n\020" + + "notificationText\030\001 \002(\t\"\321\001\n\025TimeoutWarnin" + + "gMessage\022;\n\rtimeoutReason\030\001 \002(\0162$.Timeou", + "tWarningMessage.TimeoutReason\022\030\n\020remaini" + + "ngSeconds\030\002 \002(\r\"a\n\rTimeoutReason\022\031\n\025time" + + "outNoDataReceived\020\000\022\027\n\023timeoutInactiveGa" + + "me\020\001\022\034\n\030timeoutKickAfterAutofold\020\002\"\025\n\023Re" + + "setTimeoutMessage\"K\n\023ReportAvatarMessage" + + "\022\030\n\020reportedPlayerId\030\001 \002(\r\022\032\n\022reportedAv" + + "atarHash\030\002 \002(\014\"\336\001\n\026ReportAvatarAckMessag" + + "e\022\030\n\020reportedPlayerId\030\001 \002(\r\022F\n\022reportAva" + + "tarResult\030\002 \002(\0162*.ReportAvatarAckMessage" + + ".ReportAvatarResult\"b\n\022ReportAvatarResul", + "t\022\030\n\024avatarReportAccepted\020\000\022\031\n\025avatarRep" + + "ortDuplicate\020\001\022\027\n\023avatarReportInvalid\020\002\"" + + "+\n\021ReportGameMessage\022\026\n\016reportedGameId\030\001" + + " \002(\r\"\314\001\n\024ReportGameAckMessage\022\026\n\016reporte" + + "dGameId\030\001 \002(\r\022@\n\020reportGameResult\030\002 \002(\0162" + + "&.ReportGameAckMessage.ReportGameResult\"" + + "Z\n\020ReportGameResult\022\026\n\022gameReportAccepte" + + "d\020\000\022\027\n\023gameReportDuplicate\020\001\022\025\n\021gameRepo" + + "rtInvalid\020\002\"\220\003\n\014ErrorMessage\022.\n\013errorRea" + + "son\030\001 \002(\0162\031.ErrorMessage.ErrorReason\"\317\002\n", + "\013ErrorReason\022\014\n\010reserved\020\000\022\033\n\027initVersio" + + "nNotSupported\020\001\022\022\n\016initServerFull\020\002\022\023\n\017i" + + "nitAuthFailure\020\003\022\027\n\023initPlayerNameInUse\020" + + "\004\022\031\n\025initInvalidPlayerName\020\005\022\031\n\025initServ" + + "erMaintenance\020\006\022\017\n\013initBlocked\020\007\022\022\n\016avat" + + "arTooLarge\020\010\022\021\n\rinvalidPacket\020\t\022\020\n\014inval" + + "idState\020\n\022\024\n\020kickedFromServer\020\013\022\024\n\020banne" + + "dFromServer\020\014\022\023\n\017blockedByServer\020\r\022\022\n\016se" + + "ssionTimeout\020\016\"\3771\n\016PokerTHMessage\0227\n\013mes" + + "sageType\030\001 \002(\0162\".PokerTHMessage.PokerTHM", + "essageType\022)\n\017announceMessage\030\002 \001(\0132\020.An" + + "nounceMessage\022!\n\013initMessage\030\003 \001(\0132\014.Ini" + + "tMessage\022?\n\032authServerChallengeMessage\030\004" + + " \001(\0132\033.AuthServerChallengeMessage\022=\n\031aut" + + "hClientResponseMessage\030\005 \001(\0132\032.AuthClien" + + "tResponseMessage\022E\n\035authServerVerificati" + + "onMessage\030\006 \001(\0132\036.AuthServerVerification" + + "Message\022\'\n\016initAckMessage\030\007 \001(\0132\017.InitAc" + + "kMessage\0223\n\024avatarRequestMessage\030\010 \001(\0132\025" + + ".AvatarRequestMessage\0221\n\023avatarHeaderMes", + "sage\030\t \001(\0132\024.AvatarHeaderMessage\022-\n\021avat" + + "arDataMessage\030\n \001(\0132\022.AvatarDataMessage\022" + + "+\n\020avatarEndMessage\030\013 \001(\0132\021.AvatarEndMes" + + "sage\0223\n\024unknownAvatarMessage\030\014 \001(\0132\025.Unk" + + "nownAvatarMessage\022-\n\021playerListMessage\030\r" + + " \001(\0132\022.PlayerListMessage\022/\n\022gameListNewM" + + "essage\030\016 \001(\0132\023.GameListNewMessage\0225\n\025gam" + + "eListUpdateMessage\030\017 \001(\0132\026.GameListUpdat" + + "eMessage\022A\n\033gameListPlayerJoinedMessage\030" + + "\020 \001(\0132\034.GameListPlayerJoinedMessage\022=\n\031g", + "ameListPlayerLeftMessage\030\021 \001(\0132\032.GameLis" + + "tPlayerLeftMessage\022A\n\033gameListAdminChang" + + "edMessage\030\022 \001(\0132\034.GameListAdminChangedMe" + + "ssage\022;\n\030playerInfoRequestMessage\030\023 \001(\0132" + + "\031.PlayerInfoRequestMessage\0227\n\026playerInfo" + + "ReplyMessage\030\024 \001(\0132\027.PlayerInfoReplyMess" + + "age\022?\n\032subscriptionRequestMessage\030\025 \001(\0132" + + "\033.SubscriptionRequestMessage\0229\n\027joinExis" + + "tingGameMessage\030\026 \001(\0132\030.JoinExistingGame" + + "Message\022/\n\022joinNewGameMessage\030\027 \001(\0132\023.Jo", + "inNewGameMessage\022=\n\031rejoinExistingGameMe" + + "ssage\030\030 \001(\0132\032.RejoinExistingGameMessage\022" + + "/\n\022joinGameAckMessage\030\031 \001(\0132\023.JoinGameAc" + + "kMessage\0225\n\025joinGameFailedMessage\030\032 \001(\0132" + + "\026.JoinGameFailedMessage\0229\n\027gamePlayerJoi" + + "nedMessage\030\033 \001(\0132\030.GamePlayerJoinedMessa" + + "ge\0225\n\025gamePlayerLeftMessage\030\034 \001(\0132\026.Game" + + "PlayerLeftMessage\0229\n\027gameAdminChangedMes" + + "sage\030\035 \001(\0132\030.GameAdminChangedMessage\0227\n\026" + + "removedFromGameMessage\030\036 \001(\0132\027.RemovedFr", + "omGameMessage\022;\n\030kickPlayerRequestMessag" + + "e\030\037 \001(\0132\031.KickPlayerRequestMessage\0229\n\027le" + + "aveGameRequestMessage\030 \001(\0132\030.LeaveGameR" + + "equestMessage\022=\n\031invitePlayerToGameMessa" + + "ge\030! \001(\0132\032.InvitePlayerToGameMessage\0221\n\023" + + "inviteNotifyMessage\030\" \001(\0132\024.InviteNotify" + + "Message\022A\n\033rejectGameInvitationMessage\030#" + + " \001(\0132\034.RejectGameInvitationMessage\0227\n\026re" + + "jectInvNotifyMessage\030$ \001(\0132\027.RejectInvNo" + + "tifyMessage\022-\n\021startEventMessage\030% \001(\0132\022", + ".StartEventMessage\0223\n\024startEventAckMessa" + + "ge\030& \001(\0132\025.StartEventAckMessage\0229\n\027gameS" + + "tartInitialMessage\030\' \001(\0132\030.GameStartInit" + + "ialMessage\0227\n\026gameStartRejoinMessage\030( \001" + + "(\0132\027.GameStartRejoinMessage\022+\n\020handStart" + + "Message\030) \001(\0132\021.HandStartMessage\022/\n\022play" + + "ersTurnMessage\030* \001(\0132\023.PlayersTurnMessag" + + "e\0227\n\026myActionRequestMessage\030+ \001(\0132\027.MyAc" + + "tionRequestMessage\022=\n\031yourActionRejected" + + "Message\030, \001(\0132\032.YourActionRejectedMessag", + "e\022;\n\030playersActionDoneMessage\030- \001(\0132\031.Pl" + + "ayersActionDoneMessage\0223\n\024dealFlopCardsM" + + "essage\030. \001(\0132\025.DealFlopCardsMessage\0221\n\023d" + + "ealTurnCardMessage\030/ \001(\0132\024.DealTurnCardM" + + "essage\0223\n\024dealRiverCardMessage\0300 \001(\0132\025.D" + + "ealRiverCardMessage\0225\n\025allInShowCardsMes" + + "sage\0301 \001(\0132\026.AllInShowCardsMessage\022=\n\031en" + + "dOfHandShowCardsMessage\0302 \001(\0132\032.EndOfHan" + + "dShowCardsMessage\022=\n\031endOfHandHideCardsM" + + "essage\0303 \001(\0132\032.EndOfHandHideCardsMessage", + "\022=\n\031showMyCardsRequestMessage\0304 \001(\0132\032.Sh" + + "owMyCardsRequestMessage\022=\n\031afterHandShow" + + "CardsMessage\0305 \001(\0132\032.AfterHandShowCardsM" + + "essage\022+\n\020endOfGameMessage\0306 \001(\0132\021.EndOf" + + "GameMessage\0227\n\026playerIdChangedMessage\0307 " + + "\001(\0132\027.PlayerIdChangedMessage\0223\n\024askKickP" + + "layerMessage\0308 \001(\0132\025.AskKickPlayerMessag" + + "e\0223\n\024askKickDeniedMessage\0309 \001(\0132\025.AskKic" + + "kDeniedMessage\022;\n\030startKickPetitionMessa" + + "ge\030: \001(\0132\031.StartKickPetitionMessage\0227\n\026v", + "oteKickRequestMessage\030; \001(\0132\027.VoteKickRe" + + "questMessage\0223\n\024voteKickReplyMessage\030< \001" + + "(\0132\025.VoteKickReplyMessage\022=\n\031kickPetitio" + + "nUpdateMessage\030= \001(\0132\032.KickPetitionUpdat" + + "eMessage\0227\n\026endKickPetitionMessage\030> \001(\013" + + "2\027.EndKickPetitionMessage\022-\n\021statisticsM" + + "essage\030? \001(\0132\022.StatisticsMessage\022/\n\022chat" + + "RequestMessage\030@ \001(\0132\023.ChatRequestMessag" + + "e\022!\n\013chatMessage\030A \001(\0132\014.ChatMessage\022-\n\021" + + "chatRejectMessage\030B \001(\0132\022.ChatRejectMess", + "age\022%\n\rdialogMessage\030C \001(\0132\016.DialogMessa" + + "ge\0225\n\025timeoutWarningMessage\030D \001(\0132\026.Time" + + "outWarningMessage\0221\n\023resetTimeoutMessage" + + "\030E \001(\0132\024.ResetTimeoutMessage\0221\n\023reportAv" + + "atarMessage\030F \001(\0132\024.ReportAvatarMessage\022" + + "7\n\026reportAvatarAckMessage\030G \001(\0132\027.Report" + + "AvatarAckMessage\022-\n\021reportGameMessage\030H " + + "\001(\0132\022.ReportGameMessage\0223\n\024reportGameAck" + + "Message\030I \001(\0132\025.ReportGameAckMessage\022#\n\014" + + "errorMessage\030J \001(\0132\r.ErrorMessage\"\244\022\n\022Po", + "kerTHMessageType\022\030\n\024Type_AnnounceMessage" + + "\020\001\022\024\n\020Type_InitMessage\020\002\022#\n\037Type_AuthSer" + + "verChallengeMessage\020\003\022\"\n\036Type_AuthClient" + + "ResponseMessage\020\004\022&\n\"Type_AuthServerVeri" + + "ficationMessage\020\005\022\027\n\023Type_InitAckMessage" + + "\020\006\022\035\n\031Type_AvatarRequestMessage\020\007\022\034\n\030Typ" + + "e_AvatarHeaderMessage\020\010\022\032\n\026Type_AvatarDa" + + "taMessage\020\t\022\031\n\025Type_AvatarEndMessage\020\n\022\035" + + "\n\031Type_UnknownAvatarMessage\020\013\022\032\n\026Type_Pl" + + "ayerListMessage\020\014\022\033\n\027Type_GameListNewMes", + "sage\020\r\022\036\n\032Type_GameListUpdateMessage\020\016\022$" + + "\n Type_GameListPlayerJoinedMessage\020\017\022\"\n\036" + + "Type_GameListPlayerLeftMessage\020\020\022$\n Type" + + "_GameListAdminChangedMessage\020\021\022!\n\035Type_P" + + "layerInfoRequestMessage\020\022\022\037\n\033Type_Player" + + "InfoReplyMessage\020\023\022#\n\037Type_SubscriptionR" + + "equestMessage\020\024\022 \n\034Type_JoinExistingGame" + + "Message\020\025\022\033\n\027Type_JoinNewGameMessage\020\026\022\"" + + "\n\036Type_RejoinExistingGameMessage\020\027\022\033\n\027Ty" + + "pe_JoinGameAckMessage\020\030\022\036\n\032Type_JoinGame", + "FailedMessage\020\031\022 \n\034Type_GamePlayerJoined" + + "Message\020\032\022\036\n\032Type_GamePlayerLeftMessage\020" + + "\033\022 \n\034Type_GameAdminChangedMessage\020\034\022\037\n\033T" + + "ype_RemovedFromGameMessage\020\035\022!\n\035Type_Kic" + + "kPlayerRequestMessage\020\036\022 \n\034Type_LeaveGam" + + "eRequestMessage\020\037\022\"\n\036Type_InvitePlayerTo" + + "GameMessage\020 \022\034\n\030Type_InviteNotifyMessag" + + "e\020!\022$\n Type_RejectGameInvitationMessage\020" + + "\"\022\037\n\033Type_RejectInvNotifyMessage\020#\022\032\n\026Ty" + + "pe_StartEventMessage\020$\022\035\n\031Type_StartEven", + "tAckMessage\020%\022 \n\034Type_GameStartInitialMe" + + "ssage\020&\022\037\n\033Type_GameStartRejoinMessage\020\'" + + "\022\031\n\025Type_HandStartMessage\020(\022\033\n\027Type_Play" + + "ersTurnMessage\020)\022\037\n\033Type_MyActionRequest" + + "Message\020*\022\"\n\036Type_YourActionRejectedMess" + + "age\020+\022!\n\035Type_PlayersActionDoneMessage\020," + + "\022\035\n\031Type_DealFlopCardsMessage\020-\022\034\n\030Type_" + + "DealTurnCardMessage\020.\022\035\n\031Type_DealRiverC" + + "ardMessage\020/\022\036\n\032Type_AllInShowCardsMessa" + + "ge\0200\022\"\n\036Type_EndOfHandShowCardsMessage\0201", + "\022\"\n\036Type_EndOfHandHideCardsMessage\0202\022\"\n\036" + + "Type_ShowMyCardsRequestMessage\0203\022\"\n\036Type" + + "_AfterHandShowCardsMessage\0204\022\031\n\025Type_End" + + "OfGameMessage\0205\022\037\n\033Type_PlayerIdChangedM" + + "essage\0206\022\035\n\031Type_AskKickPlayerMessage\0207\022" + + "\035\n\031Type_AskKickDeniedMessage\0208\022!\n\035Type_S" + + "tartKickPetitionMessage\0209\022\037\n\033Type_VoteKi" + + "ckRequestMessage\020:\022\035\n\031Type_VoteKickReply" + + "Message\020;\022\"\n\036Type_KickPetitionUpdateMess" + + "age\020<\022\037\n\033Type_EndKickPetitionMessage\020=\022\032", + "\n\026Type_StatisticsMessage\020>\022\033\n\027Type_ChatR" + + "equestMessage\020?\022\024\n\020Type_ChatMessage\020@\022\032\n" + + "\026Type_ChatRejectMessage\020A\022\026\n\022Type_Dialog" + + "Message\020B\022\036\n\032Type_TimeoutWarningMessage\020" + + "C\022\034\n\030Type_ResetTimeoutMessage\020D\022\034\n\030Type_" + + "ReportAvatarMessage\020E\022\037\n\033Type_ReportAvat" + + "arAckMessage\020F\022\032\n\026Type_ReportGameMessage" + + "\020G\022\035\n\031Type_ReportGameAckMessage\020H\022\025\n\021Typ" + + "e_ErrorMessage\020I*H\n\013NetGameMode\022\022\n\016netGa" + + "meCreated\020\001\022\022\n\016netGameStarted\020\002\022\021\n\rnetGa", + "meClosed\020\003*\226\001\n\014NetGameState\022\023\n\017netStateP" + + "reflop\020\000\022\020\n\014netStateFlop\020\001\022\020\n\014netStateTu" + + "rn\020\002\022\021\n\rnetStateRiver\020\003\022\035\n\031netStatePrefl" + + "opSmallBlind\020\004\022\033\n\027netStatePreflopBigBlin" + + "d\020\005*\230\001\n\017NetPlayerAction\022\021\n\rnetActionNone" + + "\020\000\022\021\n\rnetActionFold\020\001\022\022\n\016netActionCheck\020" + + "\002\022\021\n\rnetActionCall\020\003\022\020\n\014netActionBet\020\004\022\022" + + "\n\016netActionRaise\020\005\022\022\n\016netActionAllIn\020\006*h" + + "\n\016NetPlayerState\022\030\n\024netPlayerStateNormal" + + "\020\000\022!\n\035netPlayerStateSessionInactive\020\001\022\031\n", + "\025netPlayerStateNoMoney\020\002*d\n\023NetPlayerInf" + + "oRights\022\030\n\024netPlayerRightsGuest\020\001\022\031\n\025net" + + "PlayerRightsNormal\020\002\022\030\n\024netPlayerRightsA" + + "dmin\020\003*T\n\rNetAvatarType\022\025\n\021netAvatarImag" + + "ePng\020\001\022\025\n\021netAvatarImageJpg\020\002\022\025\n\021netAvat" + + "arImageGif\020\003B\037\n\023de.pokerth.protocolB\010Pro" + + "toBuf" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { diff --git a/tests/src/de/pokerth/test/PlayerInfoTest.java b/tests/src/de/pokerth/test/PlayerInfoTest.java index d1cc4a6c..bbd47e52 100644 --- a/tests/src/de/pokerth/test/PlayerInfoTest.java +++ b/tests/src/de/pokerth/test/PlayerInfoTest.java @@ -21,7 +21,9 @@ import java.net.Socket; import static org.junit.Assert.*; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import org.junit.Test; @@ -36,8 +38,14 @@ import de.pokerth.protocol.ProtoBuf.PokerTHMessage.PokerTHMessageType; public class PlayerInfoTest extends TestBase { protected void sendPlayerInfoRequest(Socket s, int playerId) throws Exception { + Collection tmpList = new ArrayList(); + tmpList.add(playerId); + sendPlayerInfoRequest(s, tmpList); + } + + protected void sendPlayerInfoRequest(Socket s, Collection playerIds) throws Exception { PlayerInfoRequestMessage request = PlayerInfoRequestMessage.newBuilder() - .setPlayerId(playerId) + .addAllPlayerId(playerIds) .build(); PokerTHMessage msg = PokerTHMessage.newBuilder() .setMessageType(PokerTHMessageType.Type_PlayerInfoRequestMessage) @@ -96,9 +104,12 @@ public class PlayerInfoTest extends TestBase { assertEquals(NetPlayerInfoRights.netPlayerRightsGuest, info.getPlayerRights()); assertFalse(info.hasAvatarData()); } - // Request other players' info. + // Request other players' info (one request containing 9 queries). + Collection tmpList = new ArrayList(); + for (Integer id : playerId) { tmpList.add(id); } + sendPlayerInfoRequest(sock, tmpList); + for (int i = 0; i < 9; i++) { - sendPlayerInfoRequest(sock, playerId[i]); do { msg = receiveMessage(); } while (msg.hasPlayerListMessage());