From e24bd4b3f0fe08df8032883836731e9e769159f5 Mon Sep 17 00:00:00 2001 From: Acts1631 Date: Wed, 16 Sep 2026 19:43:06 -0400 Subject: [PATCH] Reject profileless multiplayer peers --- src/network/protocols/server_lobby.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/network/protocols/server_lobby.cpp b/src/network/protocols/server_lobby.cpp index 5d854bfec5..e8bd1fa0aa 100644 --- a/src/network/protocols/server_lobby.cpp +++ b/src/network/protocols/server_lobby.cpp @@ -450,6 +450,11 @@ bool ServerLobby::notifyEvent(Event* event) void ServerLobby::handleChat(Event* event) { if (!checkDataSize(event, 1) || !ServerConfig::m_chat) return; + if (event->getPeer()->getPlayerProfiles().empty()) + { + Log::warn("ServerLobby", "Ignoring chat from peer without a profile."); + return; + } // Update so that the peer is not kicked event->getPeer()->updateLastActivity(); @@ -2797,6 +2802,12 @@ void ServerLobby::handleUnencryptedConnection(std::shared_ptr peer, // if this is a pending connection unsigned total_players = 0; unsigned player_count = data.getUInt8(); + if (player_count == 0) + { + Log::warn("ServerLobby", "Rejecting connection without a player profile."); + peer->reset(); + return; + } if (is_pending_connection) {