From dbe289385a22e1c5472c840512cbe69df051643b Mon Sep 17 00:00:00 2001 From: goaaats Date: Sat, 2 Dec 2017 17:49:38 +0100 Subject: [PATCH 1/3] * Add def for legacy mark equip flag --- src/servers/Server_Common/Common.h | 1 + src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/servers/Server_Common/Common.h b/src/servers/Server_Common/Common.h index 9b1c1126..e16f5035 100644 --- a/src/servers/Server_Common/Common.h +++ b/src/servers/Server_Common/Common.h @@ -792,6 +792,7 @@ namespace Common { HideNothing = 0x0, HideHead = 0x1, HideWeapon = 0x2, + LegacyMark = 0x4, Visor = 0x40, }; diff --git a/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp b/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp index d4fa75b7..047f58f1 100644 --- a/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp +++ b/src/servers/Server_Zone/Network/Handlers/PacketHandlers.cpp @@ -286,6 +286,7 @@ void Core::Network::GameConnection::updatePositionHandler( const Packets::GamePa void Core::Network::GameConnection::reqEquipDisplayFlagsHandler( const Packets::GamePacket& inPacket, Entity::PlayerPtr pPlayer ) { + g_log.info( "[" + std::to_string( pPlayer->getId() ) + "] Setting EquipDisplayFlags to " + std::to_string( inPacket.getValAt< uint8_t >( 0x20 ) ) ); pPlayer->setEquipDisplayFlags( inPacket.getValAt< uint8_t >( 0x20 ) ); } From 497f555eb425d1a375f3cf2172956ce09e8fc287 Mon Sep 17 00:00:00 2001 From: goaaats Date: Sat, 2 Dec 2017 17:50:08 +0100 Subject: [PATCH 2/3] * Fix logout dc --- src/servers/Server_Zone/ServerZone.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/servers/Server_Zone/ServerZone.cpp b/src/servers/Server_Zone/ServerZone.cpp index 64d53132..d9b4f2f2 100644 --- a/src/servers/Server_Zone/ServerZone.cpp +++ b/src/servers/Server_Zone/ServerZone.cpp @@ -294,7 +294,6 @@ void Core::ServerZone::mainLoop() // remove session of players marked for removel ( logoff / kick ) if( pPlayer->isMarkedForRemoval() && diff > 1 ) { - it->second->close(); // if( it->second.unique() ) { g_log.info("[" + std::to_string(it->second->getId() ) + "] Session removal" ); From 91b8aec97d744a47fc784455de0bc5b8fc9668eb Mon Sep 17 00:00:00 2001 From: goaaats Date: Sat, 2 Dec 2017 20:45:31 +0100 Subject: [PATCH 3/3] * Better fix for logout issue --- src/servers/Server_Zone/ServerZone.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/servers/Server_Zone/ServerZone.cpp b/src/servers/Server_Zone/ServerZone.cpp index d9b4f2f2..67a47dd9 100644 --- a/src/servers/Server_Zone/ServerZone.cpp +++ b/src/servers/Server_Zone/ServerZone.cpp @@ -292,8 +292,9 @@ void Core::ServerZone::mainLoop() auto pPlayer = it->second->getPlayer(); // remove session of players marked for removel ( logoff / kick ) - if( pPlayer->isMarkedForRemoval() && diff > 1 ) + if( pPlayer->isMarkedForRemoval() && diff > 5 ) { + it->second->close(); // if( it->second.unique() ) { g_log.info("[" + std::to_string(it->second->getId() ) + "] Session removal" );