From 8bef4abdbc7030c39d6c74aed6bc05b07189d5a1 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:23:01 +1000 Subject: Connection changes --- source/game/StarUniverseServer.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'source/game/StarUniverseServer.cpp') diff --git a/source/game/StarUniverseServer.cpp b/source/game/StarUniverseServer.cpp index 56ae634..690f1c6 100644 --- a/source/game/StarUniverseServer.cpp +++ b/source/game/StarUniverseServer.cpp @@ -1584,7 +1584,7 @@ void UniverseServer::acceptConnection(UniverseConnection connection, MaybesetCompressionStreamEnabled(useCompressionStream); String remoteAddressString = remoteAddress ? toString(*remoteAddress) : "local"; - Logger::info("UniverseServer: Awaiting connection info from {}, {} client", remoteAddressString, legacyClient ? "Starbound" : "OpenStarbound"); + Logger::info("UniverseServer: Awaiting connection info from {} ({} client)", remoteAddressString, legacyClient ? "vanilla" : "custom"); connection.receiveAny(clientWaitLimit); auto clientConnect = as(connection.pullSingle()); @@ -1597,7 +1597,6 @@ void UniverseServer::acceptConnection(UniverseConnection connection, Maybeaccount.empty() ? strf("'{}'", clientConnect->account) : ""; auto connectionFail = [&](String message) { @@ -1669,14 +1668,24 @@ void UniverseServer::acceptConnection(UniverseConnection connection, MaybeplayerName, remoteAddressString); + String connectionLog = strf("UniverseServer: Logged in account '{}' as player '{}' from address {}", + accountString, clientConnect->playerName, remoteAddressString); + + if (Json& info = clientConnect->info) { + if (Json brand = info.get("brand", "custom")) + connectionLog += strf(" ({} client)", brand.toString()); + if (info.getBool("legacy", false)) + connection.packetSocket().setLegacy(legacyClient = true); + } + Logger::log(LogLevel::Info, connectionLog.utf8Ptr()); + + mainLocker.lock(); WriteLocker clientsLocker(m_clientsLock); if (auto clashId = getClientForUuid(clientConnect->playerUuid)) { if (administrator) { - doDisconnection(*clashId, "Duplicate Uuid joined and is Administrator so has priority."); + doDisconnection(*clashId, "Duplicate UUID joined and is Administrator so has priority."); } else { connectionFail("Duplicate player UUID"); return; -- cgit v1.2.3