create game limit
This commit is contained in:
@@ -240,7 +240,7 @@ ServerDBThread::SetPlayerLastGames(unsigned requestId, DB_id playerId, std::vect
|
|||||||
LOG_ERROR("ServerDBThread::SetPlayerLastGames() entered.");
|
LOG_ERROR("ServerDBThread::SetPlayerLastGames() entered.");
|
||||||
|
|
||||||
std::ostringstream oss;
|
std::ostringstream oss;
|
||||||
std::copy(lastGames.begin(), lastGames.end(), std::ostream_iterator<int>(oss, ";"));
|
std::copy(lastGames.begin(), lastGames.end(), std::ostream_iterator<int>(oss, ","));
|
||||||
std::string lastGamesFieldValue( oss.str() );
|
std::string lastGamesFieldValue( oss.str() );
|
||||||
list<string> params;
|
list<string> params;
|
||||||
ostringstream paramStream;
|
ostringstream paramStream;
|
||||||
|
|||||||
@@ -1379,6 +1379,11 @@ ServerLobbyThread::HandleNetPacketCreateGame(boost::shared_ptr<SessionData> sess
|
|||||||
SendJoinGameFailed(session, gameId, NTF_NET_JOIN_GUEST_FORBIDDEN);
|
SendJoinGameFailed(session, gameId, NTF_NET_JOIN_GUEST_FORBIDDEN);
|
||||||
} else if (!ServerGame::CheckSettings(tmpData, password, GetServerMode())) {
|
} else if (!ServerGame::CheckSettings(tmpData, password, GetServerMode())) {
|
||||||
SendJoinGameFailed(session, gameId, NTF_NET_JOIN_INVALID_SETTINGS);
|
SendJoinGameFailed(session, gameId, NTF_NET_JOIN_INVALID_SETTINGS);
|
||||||
|
} else if (!session->GetPlayerData()->IsPlayerAllowedToJoinCreateLimitRank()
|
||||||
|
// @TODO: uncomment in productive
|
||||||
|
/*&& tmpData.gameType != GAME_TYPE_RANKING*/ ) {
|
||||||
|
LOG_ERROR('not allowed due to ranklimit')
|
||||||
|
SendJoinGameFailed(session, gameId, NTF_NET_JOIN_GUEST_FORBIDDEN);
|
||||||
} else {
|
} else {
|
||||||
boost::shared_ptr<ServerGame> game(
|
boost::shared_ptr<ServerGame> game(
|
||||||
new ServerGame(
|
new ServerGame(
|
||||||
@@ -1429,7 +1434,7 @@ ServerLobbyThread::HandleNetPacketJoinGame(boost::shared_ptr<SessionData> sessio
|
|||||||
SendJoinGameFailed(session, joinGame.gameid(), NTF_NET_JOIN_NOT_INVITED);
|
SendJoinGameFailed(session, joinGame.gameid(), NTF_NET_JOIN_NOT_INVITED);
|
||||||
} else if (!game->CheckPassword(password)) {
|
} else if (!game->CheckPassword(password)) {
|
||||||
SendJoinGameFailed(session, joinGame.gameid(), NTF_NET_JOIN_INVALID_PASSWORD);
|
SendJoinGameFailed(session, joinGame.gameid(), NTF_NET_JOIN_INVALID_PASSWORD);
|
||||||
} else if (tmpData.gameType == GAME_TYPE_RANKING && !session->GetPlayerData()->IsPlayerAllowedToJoinLimitRank()) {
|
} else if (tmpData.gameType == GAME_TYPE_RANKING && !session->GetPlayerData()->IsPlayerAllowedToJoinCreateLimitRank()) {
|
||||||
SendJoinGameFailed(session, joinGame.gameid(), NTF_NET_JOIN_GUEST_FORBIDDEN);
|
SendJoinGameFailed(session, joinGame.gameid(), NTF_NET_JOIN_GUEST_FORBIDDEN);
|
||||||
// } else if (tmpData.gameType == GAME_TYPE_RANKING && !joinGame.spectateonly()
|
// } else if (tmpData.gameType == GAME_TYPE_RANKING && !joinGame.spectateonly()
|
||||||
// && session->GetClientAddr() != SERVER_ADDRESS_LOCALHOST_STR
|
// && session->GetClientAddr() != SERVER_ADDRESS_LOCALHOST_STR
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ public:
|
|||||||
bool IsPlayerConnected(unsigned uniqueId) const;
|
bool IsPlayerConnected(unsigned uniqueId) const;
|
||||||
bool IsClientAddressConnected(const std::string &clientAddress) const;
|
bool IsClientAddressConnected(const std::string &clientAddress) const;
|
||||||
bool IsGuestAllowedToConnect(const std::string &clientAddress) const;
|
bool IsGuestAllowedToConnect(const std::string &clientAddress) const;
|
||||||
bool IsPlayerAllowedToJoinLimitRank(const std::string &playerName) const;
|
bool IsPlayerAllowedToJoinCreateLimitRank(const std::string &playerName) const;
|
||||||
bool IsPlayerAllowedToJoinLimitRank(unsigned uniqueId) const;
|
bool IsPlayerAllowedToJoinCreateLimitRank(unsigned uniqueId) const;
|
||||||
|
|
||||||
void ForEach(boost::function<void (boost::shared_ptr<SessionData>)> func);
|
void ForEach(boost::function<void (boost::shared_ptr<SessionData>)> func);
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -269,7 +269,7 @@ PlayerData::GetPlayerLastGames()
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
PlayerData::IsPlayerAllowedToJoinLimitRank()
|
PlayerData::IsPlayerAllowedToJoinCreateLimitRank()
|
||||||
{
|
{
|
||||||
bool retVal = false;
|
bool retVal = false;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -120,7 +120,7 @@ public:
|
|||||||
void AddPlayerLastGame(long lastGames);
|
void AddPlayerLastGame(long lastGames);
|
||||||
void SetPlayerLastGames(std::vector<long> lastGames);
|
void SetPlayerLastGames(std::vector<long> lastGames);
|
||||||
std::vector<long> GetPlayerLastGames();
|
std::vector<long> GetPlayerLastGames();
|
||||||
bool IsPlayerAllowedToJoinLimitRank();
|
bool IsPlayerAllowedToJoinCreateLimitRank();
|
||||||
|
|
||||||
bool operator<(const PlayerData &other) const;
|
bool operator<(const PlayerData &other) const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user