Any opcode sent after CMSG_CHAR_ENUM should reset the timeout timer, not just CMSG_PLAYER_LOGIN.

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2010-05-05 22:50:11 +02:00
parent 62dc839819
commit d6f7547eba

View File

@@ -666,14 +666,14 @@ int WorldSocket::ProcessIncoming (WorldPacket* new_pct)
that are sitting idle on the character select screen. After a period of being AFK in the realm,
the client will be automatically sent back to the character selection screen. In order to pick up
the idle connections and prevent they are sitting there, taking up slots for the realm, we'll check if the packet
that was sent is CMSG_CHAR_ENUM and initiate the timeout timer that will be checked on WorldSocket::Update.
that was sent is CMSG_CHAR_ENUM and initiate the timeout timer that will be checked on WorldSession::Update.
*/
if (opcode == CMSG_CHAR_ENUM)
m_Session->UpdateTimeOutTime(true);
/* If the packet is CMSG_PLAYER_LOGIN opcode, it means our connection is not idle, we're logging into the world.
/* If we're sending any other opcode, it means our connection is not idle, we're logging into the world.
Until we receive our next CMSG_CHAR_ENUM packet, we can disregard the timeout timer.
*/
else if (opcode == CMSG_PLAYER_LOGIN)
else
m_Session->UpdateTimeOutTime(false);
// OK ,give the packet to WorldSession