Commit Graph

273 Commits

Author SHA1 Message Date
Shauren
839166eddf Core/Packets: Added utility class for handlers using new packet classes 2014-11-03 02:11:15 +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
Shauren
209a743bbe Core/Entities: Updated updatefields 2014-10-26 22:06:48 +01:00
Shauren
10fb948c40 Core/Entities: Changed a few lowguid uses to ObjectGuid::LowType 2014-10-25 17:11:35 +02: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
76f1f85d8b Core/Entities: Second part of required database changes for migrating guids to 128 bit - all fields storing lowguid must be extended to uint64 2014-10-23 21:34:03 +02:00
Shauren
bea5cad67d Core/Entities: Fourth part of removing GetGUIDLow() uses 2014-10-22 21:22:04 +02:00
Shauren
0e35a715e5 Core/Social: Use full guid for friend and ignore storage 2014-10-22 12:52:12 +02:00
Shauren
034561792c Core/Entities: Second batch of removing implicit conversions of ObjectGuid to uint64 2014-10-21 20: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
joschiwald
53725517a0 Core/Misc: fixed a scenario when character factionchange create unexpected results, also moved packet generating code into unique methods
(Packet structure not verificated to 6.0.2)
2014-10-19 16:18:54 +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
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
joschiwald
72ed5bfc93 Core/Misc: changed trinity string id to unsigned and removed obsolete code 2014-09-18 02:36:28 +02:00
Shauren
d72c4085de Core/Misc: Fixed build without pch 2014-09-14 17:29:13 +02:00
Shauren
a0e50ea35f Core/Entities: Use ObjectGuid class in game project 2014-09-14 16:14:12 +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
e0ce4528c5 Core/NetworkIO: Use reactor style sending on linux to reduce locking overhead 2014-09-09 19:19:25 +02:00
Shauren
4a741258f1 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Battlegrounds/ArenaScore.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/Entities/Creature/Creature.h
	src/server/game/Entities/DynamicObject/DynamicObject.h
	src/server/game/Entities/Item/Item.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.h
	src/server/game/Guilds/Guild.h
	src/server/game/Handlers/CharacterHandler.cpp
	src/server/game/Handlers/TradeHandler.cpp
	src/server/game/Miscellaneous/SharedDefines.h
	src/server/game/Server/WorldPacket.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Spells/Auras/SpellAuraEffects.cpp
	src/server/game/World/World.cpp
	src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
	src/server/scripts/Spells/spell_dk.cpp
	src/server/scripts/Spells/spell_shaman.cpp
	src/server/shared/Packets/ByteBuffer.h
2014-08-12 00:45:24 +02:00
leak
1a27ce1267 Core/NetworkIO: Restore networking related scripting hooks
Closes #12607
2014-08-11 17:40:43 +02:00
jackpoz
272b9d3d16 Core/WorldSession: Fix socket not being closed on clean logout
Close the WorldSession socket if Player didn't even login or logged out successfully and then closed the client.
2014-08-09 19:37:57 +02:00
jackpoz
15b1d41740 Core/NetworkIO: Adjust more packet throttling values
Adjust more packet throttling values by increasing some limits, this might fix some random kicks.
2014-08-04 18:43:15 +02:00
Shauren
2cba07d6a1 Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
	README.md
	src/server/game/Entities/Object/Object.cpp
	src/server/game/Entities/Object/Updates/UpdateData.h
	src/server/game/Server/WorldPacket.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Server/WorldSocket.h
	src/server/shared/Packets/ByteBuffer.h
2014-07-27 20:59:22 +02:00
Shauren
6f272ea5b7 Core/Network: Optimized packet sending by removing unneccessary memory copying 2014-07-27 17:46:46 +02:00
Vincent-Michael
55eafa247d Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/authserver/Server/AuthSession.cpp
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Server/WorldSocket.h
2014-07-27 12:09:32 +02:00
Shauren
c1b1ba44ba Core/Network: Refactored socket code, moved common operations to base Socket class 2014-07-26 23:26:01 +02:00
Shauren
909acdbac3 Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts:
	src/server/authserver/Main.cpp
	src/server/authserver/Realms/RealmList.cpp
	src/server/authserver/Realms/RealmList.h
	src/server/authserver/Server/AuthSession.cpp
	src/server/authserver/Server/AuthSocket.h
	src/server/authserver/Server/RealmAcceptor.h
	src/server/game/Accounts/AccountMgr.h
	src/server/game/Achievements/AchievementMgr.cpp
	src/server/game/Achievements/AchievementMgr.h
	src/server/game/Battlegrounds/ArenaTeamMgr.cpp
	src/server/game/Conditions/ConditionMgr.cpp
	src/server/game/DungeonFinding/LFGMgr.h
	src/server/game/Entities/Object/Object.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Handlers/BattleGroundHandler.cpp
	src/server/game/Movement/Spline/MoveSplineFlag.h
	src/server/game/Quests/QuestDef.cpp
	src/server/game/Quests/QuestDef.h
	src/server/game/Server/WorldSession.cpp
	src/server/game/Server/WorldSession.h
	src/server/game/Server/WorldSocket.cpp
	src/server/game/Server/WorldSocket.h
	src/server/game/Spells/Spell.cpp
	src/server/scripts/Commands/cs_debug.cpp
	src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
	src/server/scripts/Spells/spell_mage.cpp
	src/server/scripts/Spells/spell_rogue.cpp
	src/server/scripts/Spells/spell_shaman.cpp
	src/server/scripts/Spells/spell_warrior.cpp
	src/server/shared/Cryptography/BigNumber.h
	src/server/worldserver/RemoteAccess/RASocket.cpp
	src/server/worldserver/worldserver.conf.dist
2014-07-19 03:51:11 +02:00
leak
a738cd96dc Renamed WorldTcpSession back to WorldSocket 2014-07-07 22:03:41 +02:00
Subv
32f5286d05 Fixed compile 2014-07-06 13:46:17 -05:00
Subv
80a8ed23b7 Fixed player saving 2014-07-06 13:02:46 -05:00
Subv
b5d5768d44 Fixed the crashes 2014-07-05 21:38:29 -05:00
Subv
42b2041aeb Fixed PCH build, some leaks and tidied the code up a bit 2014-07-05 19:41:18 -05:00
leak
7befb26625 Some groundwork for replacing the ACE based WorldSocket handling 2014-07-06 01:26:29 +02:00
Subv
87b72f41ca Fixed login and some errors 2014-07-02 21:56:40 -05:00
leak
029bad6698 Replaced all remaining ACE based Singletons
Replaced ACE base AutoPtr class with shared_ptr
Note: worldserver currently broken due to MapUpdater threading failure (ACE ofc, what else could it be)
2014-07-01 00:54:09 +02:00
Subv
f03d49705d Core/Databases: Removed ACE dependencies on some of the database handling code. 2014-06-24 13:17:41 -05:00
Vincent-Michael
26dd770b8e Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/DynamicObject/DynamicObject.h
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Transport/Transport.cpp
	src/server/game/Entities/Unit/Unit.cpp
	src/server/game/Entities/Vehicle/Vehicle.cpp
	src/server/game/Handlers/MovementHandler.cpp
	src/server/game/Server/WorldSession.cpp
	src/server/game/Spells/Spell.cpp
	src/server/scripts/Spells/spell_dk.cpp
	src/server/shared/Utilities/Util.cpp
2014-06-15 19:36:30 +02:00
Shauren
06962b16f1 Core/PacketIO: Fixed logic in DosProtection::EvaluateOpcode 2014-06-11 19:28:25 +02:00
Shauren
2ba05406ce Fixed typo, spotted by @Gooyeth 2014-06-11 18:21:00 +02:00
jackpoz
d52eb14bb6 Core/NetworkIO: Adjust more packet throttling values
Ignore some opcodes that don't cause any trouble.
Remove old Allow/Disable Anti-DoS system since it's no longer required.
2014-06-09 21:37:44 +02:00
Shauren
434b3a80e1 Core/Commands: Added a set of commands to manage battle.net accounts
TODO: Ban commands, linking game accounts to battle.net accounts
2014-06-08 17:58:28 +02:00
Vincent-Michael
73e90f6241 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4 2014-06-08 01:21:17 +02:00
Vincent-Michael
1d39db16b9 Core/Misc: Kill Whitespace ... 2014-06-07 23:58:08 +02:00
Vincent-Michael
1f62d9c387 Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Handlers/ItemHandler.cpp
	src/server/scripts/Spells/spell_dk.cpp
2014-06-07 23:40:37 +02:00
jackpoz
5fee5b0125 Core/Banks: Fix some bank exploits
Re-implement the cheat checks removed in a12501fb5e and check if Player can interact with the Banker when handling bank-related opcodes.
2014-06-07 22:47:50 +02:00
Vincent-Michael
1e4ec81ccb Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
	src/server/game/Server/WorldSession.cpp
2014-06-06 22:56:30 +02:00
Michael
8207aff0d6 Core/NetworkIO: Added latency info for opcodes overflow log 2014-06-06 19:41:57 +02:00