From f5a47a9db7a47718a758847745f9b3b0c15f525e Mon Sep 17 00:00:00 2001 From: blinkysc <37940565+blinkysc@users.noreply.github.com> Date: Thu, 5 Mar 2026 21:21:38 -0600 Subject: [PATCH] fix(Core/Server): Remove unnecessary HandleTeleportTimeout (#25013) Co-authored-by: blinkysc --- .../apps/worldserver/worldserver.conf.dist | 14 -------- src/server/game/Server/WorldSession.cpp | 32 ------------------- src/server/game/Server/WorldSession.h | 1 - src/server/game/World/WorldConfig.cpp | 2 -- src/server/game/World/WorldConfig.h | 2 -- 5 files changed, 51 deletions(-) diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 44da43222..5f322f9ad 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -4613,20 +4613,6 @@ Calculate.Creature.Zone.Area.Data = 0 Calculate.Gameoject.Zone.Area.Data = 0 -# -# TeleportTimeoutNear -# Description: No description -# Default: 25 - -TeleportTimeoutNear = 25 - -# -# TeleportTimeoutFar -# Description: No description -# Default: 45 - -TeleportTimeoutFar = 45 - # # DailyRBGArenaPoints.MinLevel # Description: Allows gaining arena points on the first RBG win at level 70. diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 208835067..237e79534 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -366,8 +366,6 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater) if (updater.ProcessUnsafe()) UpdateTimeOutTime(diff); - HandleTeleportTimeout(updater.ProcessUnsafe()); - ///- Retrieve packets from the receive queue and call the appropriate handlers /// not process packets if socket already closed WorldPacket* packet = nullptr; @@ -608,36 +606,6 @@ bool WorldSession::IsSocketClosed() const return !m_Socket || !m_Socket->IsOpen(); } -void WorldSession::HandleTeleportTimeout(bool updateInSessions) -{ - // pussywizard: handle teleport ack timeout - if (m_Socket && m_Socket->IsOpen() && GetPlayer() && GetPlayer()->IsBeingTeleported()) - { - time_t currTime = GameTime::GetGameTime().count(); - if (updateInSessions) // session update from World::UpdateSessions - { - if (GetPlayer()->IsBeingTeleportedFar() && GetPlayer()->GetSemaphoreTeleportFar() + sWorld->getIntConfig(CONFIG_TELEPORT_TIMEOUT_FAR) < currTime) - while (GetPlayer() && GetPlayer()->IsBeingTeleportedFar()) - HandleMoveWorldportAck(); - } - else // session update from Map::Update - { - if (GetPlayer()->IsBeingTeleportedNear() && GetPlayer()->GetSemaphoreTeleportNear() + sWorld->getIntConfig(CONFIG_TELEPORT_TIMEOUT_NEAR) < currTime) - while (GetPlayer() && GetPlayer()->IsInWorld() && GetPlayer()->IsBeingTeleportedNear()) - { - Player* plMover = GetPlayer()->m_mover->ToPlayer(); - if (!plMover) - break; - WorldPacket pkt(MSG_MOVE_TELEPORT_ACK, 20); - pkt << plMover->GetPackGUID(); - pkt << uint32(0); // flags - pkt << uint32(0); // time - HandleMoveTeleportAck(pkt); - } - } - } -} - /// %Log the player out void WorldSession::LogoutPlayer(bool save) { diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index b00c1d6ec..b7f33931c 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -1138,7 +1138,6 @@ public: // opcodes handlers void HandleEnterPlayerVehicle(WorldPacket& data); void HandleUpdateProjectilePosition(WorldPacket& recvPacket); - void HandleTeleportTimeout(bool updateInSessions); bool HandleSocketClosed(); void SetOfflineTime(uint32 time) { _offlineTime = time; } uint32 GetOfflineTime() const { return _offlineTime; } diff --git a/src/server/game/World/WorldConfig.cpp b/src/server/game/World/WorldConfig.cpp index b47200082..adfed5cc1 100644 --- a/src/server/game/World/WorldConfig.cpp +++ b/src/server/game/World/WorldConfig.cpp @@ -304,8 +304,6 @@ void WorldConfig::BuildConfigCache() SetConfigValue(CONFIG_LOGDB_CLEARINTERVAL, "LogDB.Opt.ClearInterval", 10, ConfigValueCache::Reloadable::Yes, [](uint32 const& value) { return value > 0; }, "> 0"); SetConfigValue(CONFIG_LOGDB_CLEARTIME, "LogDB.Opt.ClearTime", 1209600); - SetConfigValue(CONFIG_TELEPORT_TIMEOUT_NEAR, "TeleportTimeoutNear", 25); - SetConfigValue(CONFIG_TELEPORT_TIMEOUT_FAR, "TeleportTimeoutFar", 45); SetConfigValue(CONFIG_MAX_ALLOWED_MMR_DROP, "MaxAllowedMMRDrop", 500); SetConfigValue(CONFIG_ENABLE_LOGIN_AFTER_DC, "EnableLoginAfterDC", true); SetConfigValue(CONFIG_DONT_CACHE_RANDOM_MOVEMENT_PATHS, "DontCacheRandomMovementPaths", false); diff --git a/src/server/game/World/WorldConfig.h b/src/server/game/World/WorldConfig.h index e6604565f..fe3b9162f 100644 --- a/src/server/game/World/WorldConfig.h +++ b/src/server/game/World/WorldConfig.h @@ -300,8 +300,6 @@ enum ServerConfigs CONFIG_NUMTHREADS, CONFIG_LOGDB_CLEARINTERVAL, CONFIG_LOGDB_CLEARTIME, - CONFIG_TELEPORT_TIMEOUT_NEAR, - CONFIG_TELEPORT_TIMEOUT_FAR, CONFIG_MAX_ALLOWED_MMR_DROP, CONFIG_CLIENTCACHE_VERSION, CONFIG_GUILD_EVENT_LOG_COUNT,