Shauren
0e49eefe85
Core/DBLayer: Sprinkle some async magic on worldserver auth/session load process
...
* Implemented base for loading account wide data
2015-06-20 00:59:31 +02:00
Shauren
07260316ba
Core/NetworkIO: Fixed packet compression
...
Closes #14401
2015-06-13 00:16:06 +02:00
Naios
800d5d8939
Core/Misc: Replace tc's optional with boost::optional.
...
* benefits from empty optimization (objects are only constructed if needed).
* supports r-value references (move semantics) (boost >= 1.56.0).
* preparation for c++14/17's std::optional and std::none_t.
* add move constructor to CompactArray.
2015-04-26 23:45:52 +02:00
Shauren
59e9bcf0bf
Core/Socket: Removed unused synchronous read method
2015-04-24 00:10:04 +02:00
Shauren
bfca8246d8
Core/Socket: Fixed race conditions with instance socket
...
Helgrind logs:
==41785== Possible data race during write of size 8 at 0x6D80D590 by thread #4
==41785== Locks held: none
==41785== at 0x19603A2: void std::swap<std::__future_base::_State_baseV2*>(std::__future_base::_State_baseV2*&, std::__future_base::_State_baseV2*&) (move.h:177)
==41785== by 0x195FD7C: std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>&) (shared_ptr_base.h:1069)
==41785== by 0x1FC5B84: std::__basic_future<SQLQueryHolder*>::_M_swap(std::__basic_future<SQLQueryHolder*>&) (future:629)
==41785== by 0x1FC5155: std::future<SQLQueryHolder*>::operator=(std::future<SQLQueryHolder*>&&) (future:691)
==41785== by 0x1FB94C6: WorldSession::HandleContinuePlayerLogin() (CharacterHandler.cpp:832)
==41785== by 0x1ABD31A: WorldSocket::HandleAuthContinuedSession(WorldPackets::Auth::AuthContinuedSession&) (WorldSocket.cpp:742)
==41785== by 0x1AB8322: WorldSocket::ReadDataHandler() (WorldSocket.cpp:261)
==41785== by 0x1AB77D1: WorldSocket::ReadHandler() (WorldSocket.cpp:157)
==41785== by 0x1AC068A: Socket<WorldSocket>::ReadHandlerInternal(boost::system::error_code, unsigned long) (Socket.h:201)
==41785== by 0x1AC39ED: void std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)>::_M_call<std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&>(std::shared_ptr<WorldSocket>&, void const volatile*, boost::system::error_code const&, unsigned long const&) const (in /usr/local/bin/worldserver)
==41785== by 0x1AC393F: void std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)>::operator()<std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&, void>(std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&) const (functional:578)
==41785== by 0x1AC370F: void std::_Bind<std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)> (std::shared_ptr<WorldSocket>, std::_Placeholder<1>, std::_Placeholder<2>)>::__call<void, boost::system::error_code const&, unsigned long const&, 0ul, 1ul, 2ul>(std::tuple<boost::system::error_code const&, unsigned long const&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (functional:1264)
==41785==
==41785== This conflicts with a previous read of size 8 by thread #1
==41785== Locks held: none
==41785== at 0x144BF6A: std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::operator bool() const (shared_ptr_base.h:1056)
==41785== by 0x1AAF7BD: std::__basic_future<SQLQueryHolder*>::valid() const (future:590)
==41785== by 0x1AAA04C: WorldSession::ProcessQueryCallbacks() (WorldSession.cpp:1006)
==41785== by 0x1AA5167: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:452)
==41785== by 0x1D2D667: World::UpdateSessions(unsigned int) (World.cpp:2793)
==41785== by 0x1D2A8C6: World::Update(unsigned int) (World.cpp:2159)
==41785== by 0x145B823: WorldUpdateLoop() (Main.cpp:397)
==41785== by 0x145957F: main (Main.cpp:255)
==41785== Possible data race during read of size 8 at 0x6D80D638 by thread #1
==41785== Locks held: none
==41785== at 0x1A5E914: std::__shared_ptr<WorldSocket, (__gnu_cxx::_Lock_policy)2>::operator bool() const (shared_ptr_base.h:1056)
==41785== by 0x1AA52A9: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:468)
==41785== by 0x1D2D667: World::UpdateSessions(unsigned int) (World.cpp:2793)
==41785== by 0x1D2A8C6: World::Update(unsigned int) (World.cpp:2159)
==41785== by 0x145B823: WorldUpdateLoop() (Main.cpp:397)
==41785== by 0x145957F: main (Main.cpp:255)
==41785==
==41785== This conflicts with a previous write of size 8 by thread #4
==41785== Locks held: none
==41785== at 0x1AAD12D: std::__shared_ptr<WorldSocket, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<WorldSocket, (__gnu_cxx::_Lock_policy)2> const&) (shared_ptr_base.h:860)
==41785== by 0x1AAD174: std::shared_ptr<WorldSocket>::operator=(std::shared_ptr<WorldSocket> const&) (shared_ptr.h:93)
==41785== by 0x1ABF0B5: WorldSession::AddInstanceConnection(std::shared_ptr<WorldSocket>) (WorldSession.h:684)
==41785== by 0x1ABD2F8: WorldSocket::HandleAuthContinuedSession(WorldPackets::Auth::AuthContinuedSession&) (WorldSocket.cpp:741)
==41785== by 0x1AB8322: WorldSocket::ReadDataHandler() (WorldSocket.cpp:261)
==41785== by 0x1AB77D1: WorldSocket::ReadHandler() (WorldSocket.cpp:157)
==41785== by 0x1AC068A: Socket<WorldSocket>::ReadHandlerInternal(boost::system::error_code, unsigned long) (Socket.h:201)
==41785== by 0x1AC39ED: void std::_Mem_fn<void (Socket<WorldSocket>::*)(boost::system::error_code, unsigned long)>::_M_call<std::shared_ptr<WorldSocket>&, boost::system::error_code const&, unsigned long const&>(std::shared_ptr<WorldSocket>&, void const volatile*, boost::system::error_code const&, unsigned long const&) const (in /usr/local/bin/worldserver)
2015-04-19 15:30:24 +02:00
Shauren
18343a7309
Core/Networking: Cleanup CloseSocket calls from read failures in WorldSocket
2015-04-03 15:38:03 +02:00
Shauren
3da0f7e409
Core/Networking: Fixed deadlock in HandlePing if the client is about to be kicked for overspeed pings
2015-04-01 01:47:40 +02:00
Shauren
942f9f079c
Build fix
2015-03-28 21:50:58 +01:00
Shauren
bed88e0dd4
Core/Networking: Fixed unsafe access to _worldSession member in WorldSocket
2015-03-28 21:45:27 +01:00
Shauren
5ac0b7844c
Core/PacketIO: Implemented CMSG_ENABLE_NAGLE
2015-03-28 20:51:01 +01:00
click
aec6353297
Core: More INFO -> DEBUG changes (WorldSession/WorldSocket)
...
(cherry picked from commit 132d4ede37 )
Conflicts:
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSocket.cpp
2015-03-18 00:18:20 +00:00
jackpoz
a20905598d
Core/PacketLog: Avoid unneeded calls with disabled packet logs
...
Avoid calling GetOpcodeNameForLogging() when packet logs are disabled.
(cherry picked from commit 5e7d4a44e0 )
Conflicts:
src/server/game/Server/WorldSocket.cpp
2015-03-18 00:13:05 +00:00
Vincent-Michael
f2cb963565
Core/Packets: Update some opcodes and enable this
2015-03-15 03:09:34 +01:00
Vincent-Michael
369b08b68d
Core/Misc: Update base stuff for V6.1.0 build 19702
2015-03-01 02:24:59 +01:00
Shauren
bbb2000fea
Build fix
2015-02-24 00:32:01 +01:00
Shauren
3fcea2e9d4
Core/PacketIO: Handle ConnectToFailed and allow the client to reconnect up to 5 times before aborting login to world
...
Closes #14214
2015-02-23 22:35:26 +01:00
Shauren
880be1bc63
Core/Cosmetic: Use DEFINE_HANDLER to mark implemented packets processed directly in WorldSocket
2015-02-23 19:35:52 +01:00
Vincent-Michael
ab90f74486
Update copyright note for 2015
...
Happy new year
2015-01-01 00:28:09 +01:00
joschiwald
b68b6417f6
Core: fixed few coverity issues and warnings
2014-12-07 01:24:00 +01:00
joschiwald
d55c0cbf3a
Core/Packets: updated AccountData packets
2014-11-16 06:08:46 +01:00
Shauren
e52357eb45
Warning fixes
2014-11-10 09:26:01 +01:00
Shauren
f59a701e29
Core/PacketIO: Updated and enabled logout opcodes
2014-11-09 21:36:06 +01:00
Shauren
31730d52b6
Core/Logging: Added connection index to packetlog
2014-11-09 20:48:13 +01:00
Shauren
bacc90b6ba
Core/NetworkIO: Added second connection to WorldSession, handle AuthContinuedSession and enabled ConnectTo and ResumeComms
2014-11-09 00:37:33 +01:00
Shauren
b8d1d9a733
Core/PacketIO: Minor refactor to writing server packets
2014-11-03 20:23:21 +01:00
Shauren
dd040c5992
Core/NetworkIO: Fixed packet compression
2014-10-31 22:36:43 +01:00
Shauren
7de1356085
Core/NetworkIO: Moved SMSG_AUTH_CHALLENGE and CMSG_AUTH_SESSION to packet claases, added SMSG_COMPRESSED_PACKET
2014-10-31 01:20:53 +01:00
DDuarte
7b2274a744
Core/Networking: PoC changes to the way packets are handled
...
This is a rewrite of the way we send SMSG opcodes, the reasoning behind this is to make fixing packets sent in multiple places easier, and allow for clearer documentation of the packet fields.
Included SMSG_AUTH_RESPONSE and SMSG_AUCTION_COMMAND_RESULT as two examples.
2014-10-30 02:04:54 +00:00
DDuarte
07a640de0d
Core: Fix warnings, mostly wrong printf formatters
2014-10-27 21:56:44 +00:00
DDuarte
f37e5b9afd
Core/Opcodes: Support opcodes with the same ids and different direction
...
- Split enum Opcodes in enum OpcodeMisc/OpcodeClient/OpcodeServer
- Old MSGs are temporarly in the enum OpcodeClient
- Split _internalTable of OpcodeTable in two tables, one for CMSG opcodes and another for SMSG opcodes
Note: most added static_cast<OpcodeX> will be removed once WorldPacket
is split in two classes (ServerPacket/ClientPacket, see #13434 )
2014-10-25 15:42:16 +01:00
Shauren
ff781978a5
Fixed gcc linking
2014-10-23 15:00:31 +02:00
Shauren
7889a3bb87
Fixed gcc build2
2014-10-23 10:32:14 +02:00
Shauren
ae4496b769
Fixed gcc build
2014-10-23 10:28:46 +02:00
Shauren
b3e3cfa81f
Core/Entities: First part of removing GetGUIDLow() uses
2014-10-22 17:33:55 +02:00
Shauren
484eae18ea
Merge pull request #13361 from Sovak/602
...
Core/NetworkIO: *Fixed basic auth packets
2014-10-20 01:33:10 +02:00
Shauren
5e56430156
Core/PacketIO: Updated packet headers to 6.0
2014-10-20 01:27:00 +02:00
Sovak
51095ad39b
Core/NetworkIO: *Fixed basic auth packets
...
Fixed basic character packets
Nulled all opcodes
Thanks to @Shauren for pointing some derps out
Signed-off-by: Sovak <sovak007@gmail.com >
2014-10-19 23:19:49 +02:00
Shauren
f773a9e053
Core: Implemented IPC (Inter-process communication) between worldserver and bnetserver using ZeroMQ library.
...
* Implemented ToonReady and ToonLoggedOut battle.net packets
2014-10-17 22:48:06 +02:00
Shauren
c2a39ce36a
Core/PacketIO: Let packets that have a handler in array through to worldsession update
2014-10-12 15:32:25 +02:00
Sovak
d0db99961f
Core/PacketIO: Restored client opcode handler check lost in ace->boost transition
2014-10-12 12:38:04 +02:00
Shauren
0f83c6ac32
Build fix
2014-10-11 23:49:31 +02:00
Shauren
665b1daab7
Core/PacketIO: Removed PacketFilter::DropHighBytes
2014-10-11 23:40:51 +02:00
Shauren
8e288dd673
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
...
Conflicts:
src/server/game/Achievements/AchievementMgr.cpp
src/server/game/Battlefield/Battlefield.h
src/server/game/Battlegrounds/ArenaScore.h
src/server/game/Battlegrounds/ArenaTeam.cpp
src/server/game/Battlegrounds/ArenaTeam.h
src/server/game/Battlegrounds/ArenaTeamMgr.cpp
src/server/game/Battlegrounds/BattlegroundMgr.cpp
src/server/game/Battlegrounds/BattlegroundMgr.h
src/server/game/Battlegrounds/BattlegroundQueue.h
src/server/game/Battlegrounds/BattlegroundScore.h
src/server/game/Battlegrounds/Zones/BattlegroundAB.h
src/server/game/Battlegrounds/Zones/BattlegroundAV.h
src/server/game/Battlegrounds/Zones/BattlegroundEY.h
src/server/game/Battlegrounds/Zones/BattlegroundIC.h
src/server/game/Battlegrounds/Zones/BattlegroundSA.h
src/server/game/Battlegrounds/Zones/BattlegroundWS.h
src/server/game/DungeonFinding/LFG.h
src/server/game/DungeonFinding/LFGMgr.cpp
src/server/game/DungeonFinding/LFGMgr.h
src/server/game/DungeonFinding/LFGQueue.cpp
src/server/game/DungeonFinding/LFGQueue.h
src/server/game/Entities/Corpse/Corpse.cpp
src/server/game/Entities/Creature/Creature.cpp
src/server/game/Entities/Creature/GossipDef.cpp
src/server/game/Entities/Creature/GossipDef.h
src/server/game/Entities/Creature/TemporarySummon.cpp
src/server/game/Entities/DynamicObject/DynamicObject.cpp
src/server/game/Entities/Object/Object.cpp
src/server/game/Entities/Object/Object.h
src/server/game/Entities/Object/ObjectDefines.h
src/server/game/Entities/Object/Updates/UpdateData.cpp
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Player/Player.h
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Unit/Unit.h
src/server/game/Globals/ObjectAccessor.cpp
src/server/game/Globals/ObjectAccessor.h
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Groups/Group.cpp
src/server/game/Groups/Group.h
src/server/game/Guilds/Guild.cpp
src/server/game/Guilds/Guild.h
src/server/game/Handlers/AuctionHouseHandler.cpp
src/server/game/Handlers/BattleGroundHandler.cpp
src/server/game/Handlers/CalendarHandler.cpp
src/server/game/Handlers/CharacterHandler.cpp
src/server/game/Handlers/ChatHandler.cpp
src/server/game/Handlers/GroupHandler.cpp
src/server/game/Handlers/GuildHandler.cpp
src/server/game/Handlers/ItemHandler.cpp
src/server/game/Handlers/LFGHandler.cpp
src/server/game/Handlers/MailHandler.cpp
src/server/game/Handlers/MiscHandler.cpp
src/server/game/Handlers/MovementHandler.cpp
src/server/game/Handlers/NPCHandler.cpp
src/server/game/Handlers/PetHandler.cpp
src/server/game/Handlers/QueryHandler.cpp
src/server/game/Handlers/QuestHandler.cpp
src/server/game/Handlers/TradeHandler.cpp
src/server/game/Handlers/VehicleHandler.cpp
src/server/game/Movement/Spline/MoveSplineInit.cpp
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSession.h
src/server/game/Spells/Spell.cpp
src/server/scripts/Commands/cs_debug.cpp
src/server/scripts/Commands/cs_gm.cpp
src/server/scripts/Commands/cs_misc.cpp
src/server/scripts/Commands/cs_modify.cpp
src/server/scripts/Commands/cs_reset.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
src/server/scripts/Kalimdor/zone_azshara.cpp
src/server/scripts/Kalimdor/zone_durotar.cpp
src/server/scripts/Kalimdor/zone_moonglade.cpp
src/server/scripts/Kalimdor/zone_orgrimmar.cpp
src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
src/server/scripts/Spells/spell_dk.cpp
src/server/scripts/Spells/spell_generic.cpp
src/server/shared/Packets/ByteBuffer.h
2014-09-20 11:05:30 +02:00
DDuarte
cefcde9ba9
Core/Misc: Multiple static analysis issues fixed (small optimizations and clear code)
2014-09-19 03:30:02 +01:00
Shauren
e57a63939e
Core/NetworkIO: Fixed queued packets not being properly sent causing players to be stuck during loading
...
Closes #13120
2014-09-17 23:06:34 +02:00
Shauren
ee0df6aa86
Core/NetworkIO: Applied 4.3.4 changes to "new" network code
2014-09-12 22:09:07 +02:00
Shauren
de4aea093b
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
...
Conflicts:
src/server/game/Server/WorldSocket.h
2014-09-12 20:27:46 +02:00
Shauren
7f2cdfd166
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
...
Conflicts:
src/server/authserver/Main.cpp
src/server/authserver/Server/AuthSession.cpp
src/server/authserver/Server/AuthSession.h
src/server/game/Server/WorldSocket.cpp
src/server/game/Server/WorldSocket.h
src/server/scripts/World/npcs_special.cpp
2014-09-12 20:26:46 +02:00
Shauren
b3f7210f4d
Core/WorldSocket: Refactored client packet header check
2014-09-12 20:25:13 +02:00
Shauren
e0ce4528c5
Core/NetworkIO: Use reactor style sending on linux to reduce locking overhead
2014-09-09 19:19:25 +02:00