aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMikhail Redko <ovitnez@gmail.com>2017-10-13 23:26:53 +0300
committerShauren <shauren.trinity@gmail.com>2017-10-13 22:26:53 +0200
commit558382ed6d87942603fa309b16a30e64d07bb305 (patch)
tree22d0647691d0f70f052b62f788485214f0b53f49 /src
parent5505625b0a04b0ff790872ea6f989cd3c2ee3cd7 (diff)
Core/WorldSession: Add RBAC permission for skipping idle connection check (#20595)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Accounts/RBAC.h2
-rw-r--r--src/server/game/Server/WorldSession.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index cf2d1f3f409..05747f96739 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -57,7 +57,7 @@ enum RBACPermissions
RBAC_PERM_JOIN_RANDOM_BG = 4,
RBAC_PERM_JOIN_ARENAS = 5,
RBAC_PERM_JOIN_DUNGEON_FINDER = 6,
- // 7 - reuse
+ RBAC_PERM_IGNORE_IDLE_CONNECTION = 7,
// 8 - reuse
// 9 - reuse
RBAC_PERM_USE_CHARACTER_TEMPLATES = 10, // not on 3.3.5a
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 05f69568507..a5a4f9139b2 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -273,7 +273,7 @@ bool WorldSession::Update(uint32 diff, PacketFilter& updater)
///- Before we process anything:
/// If necessary, kick the player because the client didn't send anything for too long
/// (or they've been idling in character select)
- if (IsConnectionIdle())
+ if (IsConnectionIdle() && !HasPermission(rbac::RBAC_PERM_IGNORE_IDLE_CONNECTION))
m_Socket->CloseSocket();
///- Retrieve packets from the receive queue and call the appropriate handlers