diff --git a/apps/openmw-mp/Networking.cpp b/apps/openmw-mp/Networking.cpp index 663256dd7..30c580f53 100644 --- a/apps/openmw-mp/Networking.cpp +++ b/apps/openmw-mp/Networking.cpp @@ -121,8 +121,11 @@ void Networking::processPlayerPacket(RakNet::Packet *packet) LOG_MESSAGE_SIMPLE(Log::LOG_WARN, "Attempts so far: %i", player->getHandshakeAttempts()); - if (player->getHandshakeAttempts() > 5) - kickPlayer(player->guid); + if (player->getHandshakeAttempts() > 20) + kickPlayer(player->guid, false); + else if (player->getHandshakeAttempts() > 5) + kickPlayer(player->guid, true); + return; } @@ -499,9 +502,9 @@ int Networking::mainLoop() return exitCode; } -void Networking::kickPlayer(RakNet::RakNetGUID guid) +void Networking::kickPlayer(RakNet::RakNetGUID guid, bool sendNotification) { - peer->CloseConnection(guid, true); + peer->CloseConnection(guid, sendNotification); } void Networking::banAddress(const char *ipAddress) diff --git a/apps/openmw-mp/Networking.hpp b/apps/openmw-mp/Networking.hpp index 913377b0b..74f5090b7 100644 --- a/apps/openmw-mp/Networking.hpp +++ b/apps/openmw-mp/Networking.hpp @@ -22,7 +22,7 @@ namespace mwmp void newPlayer(RakNet::RakNetGUID guid); void disconnectPlayer(RakNet::RakNetGUID guid); - void kickPlayer(RakNet::RakNetGUID guid); + void kickPlayer(RakNet::RakNetGUID guid, bool sendNotification = true); void banAddress(const char *ipAddress); void unbanAddress(const char *ipAddress);