From cc6fcb69126f461fa93978de0a82bf846d366909 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Tue, 21 Feb 2023 04:33:18 +0100 Subject: [PATCH] fix(Core/PacketIO): Reintroduce requeueing packets that are sent during login but need you to be logged in (#15145) --- src/server/game/Server/WorldSession.cpp | 8 +++----- src/server/game/Server/WorldSession.h | 3 --- src/server/game/World/World.cpp | 7 ------- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 0fd338f40..3aa618656 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -140,7 +140,6 @@ WorldSession::WorldSession(uint32 id, std::string&& name, std::shared_ptrsecond; _offlineSessions.erase(iter); - tmp->SetShouldSetOfflineInDB(false); delete tmp; } oldSession->SetOfflineTime(GameTime::GetGameTime().count()); @@ -298,7 +297,6 @@ void World::AddSession_(WorldSession* s) } else { - oldSession->SetShouldSetOfflineInDB(false); // pussywizard: don't set offline in db because new session for that acc is already created delete oldSession; } } @@ -2975,7 +2973,6 @@ void World::UpdateSessions(uint32 diff) { WorldSession* tmp = iter->second; _offlineSessions.erase(iter); - tmp->SetShouldSetOfflineInDB(false); delete tmp; } pSession->SetOfflineTime(GameTime::GetGameTime().count()); @@ -2991,8 +2988,6 @@ void World::UpdateSessions(uint32 diff) if (!RemoveQueuedPlayer(pSession) && getIntConfig(CONFIG_INTERVAL_DISCONNECT_TOLERANCE)) _disconnects[pSession->GetAccountId()] = GameTime::GetGameTime().count(); _sessions.erase(itr); - if (_offlineSessions.find(pSession->GetAccountId()) != _offlineSessions.end()) // pussywizard: don't set offline in db because offline session for that acc is present (character is in world) - pSession->SetShouldSetOfflineInDB(false); delete pSession; } } @@ -3009,8 +3004,6 @@ void World::UpdateSessions(uint32 diff) if (!pSession->GetPlayer() || pSession->GetOfflineTime() + 60 < currTime || pSession->IsKicked()) { _offlineSessions.erase(itr); - if (_sessions.find(pSession->GetAccountId()) != _sessions.end()) - pSession->SetShouldSetOfflineInDB(false); // pussywizard: don't set offline in db because new session for that acc is already created delete pSession; } }