Core/WorldSession: Add RBAC permission for skipping idle connection check (#20595)

This commit is contained in:
Mikhail Redko
2017-10-13 23:26:53 +03:00
committed by Shauren
parent 5505625b0a
commit 558382ed6d
4 changed files with 12 additions and 5 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,7 @@
DELETE FROM `rbac_permissions` WHERE `id`=7;
INSERT INTO `rbac_permissions` (`id`,`name`) VALUES
(7, 'Skip idle connection check');
DELETE FROM `rbac_linked_permissions` WHERE `linkedId`=7;
INSERT INTO `rbac_linked_permissions` (`id`,`linkedId`) VALUES
(196,7);

View File

@@ -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

View File

@@ -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