1
0
Fork 0

Check property duplicate login names

* Check for duplicate login in TOSERVER_INIT handler
  backported 492110a640
  i.e. checks for duplicate logins before sending all media data to the client
minenux
mckaygerhard 2023-09-17 20:26:34 -04:00
parent 24c0b221fa
commit dda082c29b
1 changed files with 10 additions and 0 deletions

View File

@ -175,6 +175,16 @@ void Server::handleCommand_Init(NetworkPacket* pkt)
return;
}
RemotePlayer *player = m_env->getPlayer(playername);
// If player is already connected, cancel
if (player && player->getPeerId() != PEER_ID_INEXISTENT) {
actionstream << "Server: Player with name \"" << playername <<
"\" tried to connect, but player with same name is already connected" << std::endl;
DenyAccess(peer_id, SERVER_ACCESSDENIED_ALREADY_CONNECTED);
return;
}
m_clients.setPlayerName(peer_id, playername);
//TODO (later) case insensitivity