diff --git a/src/config/configfile.cpp b/src/config/configfile.cpp index 9d4ec0cf..dc5d2510 100644 --- a/src/config/configfile.cpp +++ b/src/config/configfile.cpp @@ -311,7 +311,7 @@ ConfigFile::ConfigFile(char *argv0, bool readonly) : noWriteAccess(readonly) configList.push_back(ConfigInfo("DBServerDatabaseName", CONFIG_TYPE_STRING, "pokerth")); configList.push_back(ConfigInfo("DBServerEncryptionKey", CONFIG_TYPE_STRING, "")); configList.push_back(ConfigInfo("GameNameBadWordList", CONFIG_TYPE_STRING_LIST, "Regex")); - configList.push_back(ConfigInfo("ServerBlockGuestDuplicateIP", CONFIG_TYPE_INT, "0")); + configList.push_back(ConfigInfo("ServerRestrictGuestLogin", CONFIG_TYPE_INT, "0")); //fill tempList firstTime configBufferList = configList; diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index 5e76f908..f6003f77 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -1062,7 +1062,8 @@ ServerLobbyThread::HandleNetPacketInit(boost::shared_ptr session, c } // check if a guest session in lobby with same ip is already connected and // if number of lobby guests >= SERVER_MAX_GUEST_USERS_LOBBY - if(!m_sessionManager.IsGuestAllowedToConnect(session->GetClientAddr(), m_serverConfig.readConfigInt("ServerBlockGuestDuplicateIP"))) { + if(m_serverConfig.readConfigInt("ServerRestrictGuestLogin") != 0 + && !m_sessionManager.IsGuestAllowedToConnect(session->GetClientAddr())) { SessionError(session, ERR_NET_SERVER_FULL); return; } diff --git a/src/net/common/sessionmanager.cpp b/src/net/common/sessionmanager.cpp index 1017b45f..f4e00461 100644 --- a/src/net/common/sessionmanager.cpp +++ b/src/net/common/sessionmanager.cpp @@ -249,7 +249,7 @@ SessionManager::IsClientAddressConnected(const std::string &clientAddress) const } bool -SessionManager::IsGuestAllowedToConnect(const std::string &clientAddress, int blockDup) const +SessionManager::IsGuestAllowedToConnect(const std::string &clientAddress) const { bool retVal = true; boost::recursive_mutex::scoped_lock lock(m_sessionMapMutex); @@ -262,7 +262,7 @@ SessionManager::IsGuestAllowedToConnect(const std::string &clientAddress, int bl boost::shared_ptr tmpPlayer(i->second->GetPlayerData()); if (tmpPlayer && tmpPlayer->GetRights() == PLAYER_RIGHTS_GUEST) { num++; - if (blockDup && i->second->GetClientAddr() == clientAddress) { + if (i->second->GetClientAddr() == clientAddress) { // guest has same ip as another guest in lobby or retVal = false; break;