diff --git a/src/server/game/AI/CombatAI.cpp b/src/server/game/AI/CoreAI/CombatAI.cpp similarity index 100% rename from src/server/game/AI/CombatAI.cpp rename to src/server/game/AI/CoreAI/CombatAI.cpp diff --git a/src/server/game/AI/CombatAI.h b/src/server/game/AI/CoreAI/CombatAI.h similarity index 100% rename from src/server/game/AI/CombatAI.h rename to src/server/game/AI/CoreAI/CombatAI.h diff --git a/src/server/game/AI/GuardAI.cpp b/src/server/game/AI/CoreAI/GuardAI.cpp similarity index 100% rename from src/server/game/AI/GuardAI.cpp rename to src/server/game/AI/CoreAI/GuardAI.cpp diff --git a/src/server/game/AI/GuardAI.h b/src/server/game/AI/CoreAI/GuardAI.h similarity index 100% rename from src/server/game/AI/GuardAI.h rename to src/server/game/AI/CoreAI/GuardAI.h diff --git a/src/server/game/AI/PassiveAI.cpp b/src/server/game/AI/CoreAI/PassiveAI.cpp similarity index 100% rename from src/server/game/AI/PassiveAI.cpp rename to src/server/game/AI/CoreAI/PassiveAI.cpp diff --git a/src/server/game/AI/PassiveAI.h b/src/server/game/AI/CoreAI/PassiveAI.h similarity index 100% rename from src/server/game/AI/PassiveAI.h rename to src/server/game/AI/CoreAI/PassiveAI.h diff --git a/src/server/game/AI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp similarity index 100% rename from src/server/game/AI/PetAI.cpp rename to src/server/game/AI/CoreAI/PetAI.cpp diff --git a/src/server/game/AI/PetAI.h b/src/server/game/AI/CoreAI/PetAI.h similarity index 100% rename from src/server/game/AI/PetAI.h rename to src/server/game/AI/CoreAI/PetAI.h diff --git a/src/server/game/AI/ReactorAI.cpp b/src/server/game/AI/CoreAI/ReactorAI.cpp similarity index 100% rename from src/server/game/AI/ReactorAI.cpp rename to src/server/game/AI/CoreAI/ReactorAI.cpp diff --git a/src/server/game/AI/ReactorAI.h b/src/server/game/AI/CoreAI/ReactorAI.h similarity index 100% rename from src/server/game/AI/ReactorAI.h rename to src/server/game/AI/CoreAI/ReactorAI.h diff --git a/src/server/game/AI/TotemAI.cpp b/src/server/game/AI/CoreAI/TotemAI.cpp similarity index 100% rename from src/server/game/AI/TotemAI.cpp rename to src/server/game/AI/CoreAI/TotemAI.cpp diff --git a/src/server/game/AI/TotemAI.h b/src/server/game/AI/CoreAI/TotemAI.h similarity index 100% rename from src/server/game/AI/TotemAI.h rename to src/server/game/AI/CoreAI/TotemAI.h diff --git a/src/server/game/AI/UnitAI.cpp b/src/server/game/AI/CoreAI/UnitAI.cpp similarity index 100% rename from src/server/game/AI/UnitAI.cpp rename to src/server/game/AI/CoreAI/UnitAI.cpp diff --git a/src/server/game/AI/UnitAI.h b/src/server/game/AI/CoreAI/UnitAI.h similarity index 100% rename from src/server/game/AI/UnitAI.h rename to src/server/game/AI/CoreAI/UnitAI.h diff --git a/src/server/game/Account/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp similarity index 100% rename from src/server/game/Account/AccountMgr.cpp rename to src/server/game/Accounts/AccountMgr.cpp diff --git a/src/server/game/Account/AccountMgr.h b/src/server/game/Accounts/AccountMgr.h similarity index 100% rename from src/server/game/Account/AccountMgr.h rename to src/server/game/Accounts/AccountMgr.h diff --git a/src/server/game/AI/AuctionHouseBot/AuctionHouseBot.cpp b/src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp similarity index 100% rename from src/server/game/AI/AuctionHouseBot/AuctionHouseBot.cpp rename to src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp diff --git a/src/server/game/AI/AuctionHouseBot/AuctionHouseBot.h b/src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.h similarity index 100% rename from src/server/game/AI/AuctionHouseBot/AuctionHouseBot.h rename to src/server/game/AuctionHouse/AuctionHouseBot/AuctionHouseBot.h diff --git a/src/server/game/BattleGrounds/BattleGroundAA.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundAA.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundAA.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundAA.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundAA.h b/src/server/game/BattleGrounds/Zones/BattleGroundAA.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundAA.h rename to src/server/game/BattleGrounds/Zones/BattleGroundAA.h diff --git a/src/server/game/BattleGrounds/BattleGroundAB.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundAB.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundAB.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundAB.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundAB.h b/src/server/game/BattleGrounds/Zones/BattleGroundAB.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundAB.h rename to src/server/game/BattleGrounds/Zones/BattleGroundAB.h diff --git a/src/server/game/BattleGrounds/BattleGroundAV.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundAV.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundAV.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundAV.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundAV.h b/src/server/game/BattleGrounds/Zones/BattleGroundAV.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundAV.h rename to src/server/game/BattleGrounds/Zones/BattleGroundAV.h diff --git a/src/server/game/BattleGrounds/BattleGroundBE.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundBE.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundBE.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundBE.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundBE.h b/src/server/game/BattleGrounds/Zones/BattleGroundBE.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundBE.h rename to src/server/game/BattleGrounds/Zones/BattleGroundBE.h diff --git a/src/server/game/BattleGrounds/BattleGroundDS.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundDS.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundDS.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundDS.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundDS.h b/src/server/game/BattleGrounds/Zones/BattleGroundDS.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundDS.h rename to src/server/game/BattleGrounds/Zones/BattleGroundDS.h diff --git a/src/server/game/BattleGrounds/BattleGroundEY.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundEY.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundEY.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundEY.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundEY.h b/src/server/game/BattleGrounds/Zones/BattleGroundEY.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundEY.h rename to src/server/game/BattleGrounds/Zones/BattleGroundEY.h diff --git a/src/server/game/BattleGrounds/BattleGroundIC.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundIC.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundIC.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundIC.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundIC.h b/src/server/game/BattleGrounds/Zones/BattleGroundIC.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundIC.h rename to src/server/game/BattleGrounds/Zones/BattleGroundIC.h diff --git a/src/server/game/BattleGrounds/BattleGroundNA.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundNA.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundNA.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundNA.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundNA.h b/src/server/game/BattleGrounds/Zones/BattleGroundNA.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundNA.h rename to src/server/game/BattleGrounds/Zones/BattleGroundNA.h diff --git a/src/server/game/BattleGrounds/BattleGroundRB.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundRB.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundRB.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundRB.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundRB.h b/src/server/game/BattleGrounds/Zones/BattleGroundRB.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundRB.h rename to src/server/game/BattleGrounds/Zones/BattleGroundRB.h diff --git a/src/server/game/BattleGrounds/BattleGroundRL.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundRL.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundRL.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundRL.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundRL.h b/src/server/game/BattleGrounds/Zones/BattleGroundRL.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundRL.h rename to src/server/game/BattleGrounds/Zones/BattleGroundRL.h diff --git a/src/server/game/BattleGrounds/BattleGroundRV.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundRV.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundRV.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundRV.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundRV.h b/src/server/game/BattleGrounds/Zones/BattleGroundRV.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundRV.h rename to src/server/game/BattleGrounds/Zones/BattleGroundRV.h diff --git a/src/server/game/BattleGrounds/BattleGroundSA.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundSA.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundSA.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundSA.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundSA.h b/src/server/game/BattleGrounds/Zones/BattleGroundSA.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundSA.h rename to src/server/game/BattleGrounds/Zones/BattleGroundSA.h diff --git a/src/server/game/BattleGrounds/BattleGroundWS.cpp b/src/server/game/BattleGrounds/Zones/BattleGroundWS.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundWS.cpp rename to src/server/game/BattleGrounds/Zones/BattleGroundWS.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundWS.h b/src/server/game/BattleGrounds/Zones/BattleGroundWS.h similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundWS.h rename to src/server/game/BattleGrounds/Zones/BattleGroundWS.h diff --git a/src/server/game/Chat/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp similarity index 100% rename from src/server/game/Chat/Channel.cpp rename to src/server/game/Chat/Channels/Channel.cpp diff --git a/src/server/game/Chat/Channel.h b/src/server/game/Chat/Channels/Channel.h similarity index 100% rename from src/server/game/Chat/Channel.h rename to src/server/game/Chat/Channels/Channel.h diff --git a/src/server/game/Chat/ChannelMgr.cpp b/src/server/game/Chat/Channels/ChannelMgr.cpp similarity index 100% rename from src/server/game/Chat/ChannelMgr.cpp rename to src/server/game/Chat/Channels/ChannelMgr.cpp diff --git a/src/server/game/Chat/ChannelMgr.h b/src/server/game/Chat/Channels/ChannelMgr.h similarity index 100% rename from src/server/game/Chat/ChannelMgr.h rename to src/server/game/Chat/Channels/ChannelMgr.h diff --git a/src/server/game/Chat/Debugcmds.cpp b/src/server/game/Chat/Commands/Debugcmds.cpp similarity index 100% rename from src/server/game/Chat/Debugcmds.cpp rename to src/server/game/Chat/Commands/Debugcmds.cpp diff --git a/src/server/game/Chat/Level0.cpp b/src/server/game/Chat/Commands/Level0.cpp similarity index 100% rename from src/server/game/Chat/Level0.cpp rename to src/server/game/Chat/Commands/Level0.cpp diff --git a/src/server/game/Chat/Level1.cpp b/src/server/game/Chat/Commands/Level1.cpp similarity index 100% rename from src/server/game/Chat/Level1.cpp rename to src/server/game/Chat/Commands/Level1.cpp diff --git a/src/server/game/Chat/Level2.cpp b/src/server/game/Chat/Commands/Level2.cpp similarity index 100% rename from src/server/game/Chat/Level2.cpp rename to src/server/game/Chat/Commands/Level2.cpp diff --git a/src/server/game/Chat/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp similarity index 100% rename from src/server/game/Chat/Level3.cpp rename to src/server/game/Chat/Commands/Level3.cpp diff --git a/src/server/game/Events/UnitEvents.h b/src/server/game/Combat/UnitEvents.h similarity index 100% rename from src/server/game/Events/UnitEvents.h rename to src/server/game/Combat/UnitEvents.h diff --git a/src/server/game/ConditionMgr/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp similarity index 100% rename from src/server/game/ConditionMgr/ConditionMgr.cpp rename to src/server/game/Conditions/ConditionMgr.cpp diff --git a/src/server/game/ConditionMgr/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h similarity index 100% rename from src/server/game/ConditionMgr/ConditionMgr.h rename to src/server/game/Conditions/ConditionMgr.h diff --git a/src/server/game/LookingForGroup/LFG.h b/src/server/game/DungeonFinding/LFG.h similarity index 100% rename from src/server/game/LookingForGroup/LFG.h rename to src/server/game/DungeonFinding/LFG.h diff --git a/src/server/game/LookingForGroup/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp similarity index 100% rename from src/server/game/LookingForGroup/LFGMgr.cpp rename to src/server/game/DungeonFinding/LFGMgr.cpp diff --git a/src/server/game/LookingForGroup/LFGMgr.h b/src/server/game/DungeonFinding/LFGMgr.h similarity index 100% rename from src/server/game/LookingForGroup/LFGMgr.h rename to src/server/game/DungeonFinding/LFGMgr.h diff --git a/src/server/game/Entities/Object/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp similarity index 100% rename from src/server/game/Entities/Object/Corpse.cpp rename to src/server/game/Entities/Corpse/Corpse.cpp diff --git a/src/server/game/Entities/Object/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h similarity index 100% rename from src/server/game/Entities/Object/Corpse.h rename to src/server/game/Entities/Corpse/Corpse.h diff --git a/src/server/game/Entities/Object/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp similarity index 100% rename from src/server/game/Entities/Object/DynamicObject.cpp rename to src/server/game/Entities/DynamicObject/DynamicObject.cpp diff --git a/src/server/game/Entities/Object/DynamicObject.h b/src/server/game/Entities/DynamicObject/DynamicObject.h similarity index 100% rename from src/server/game/Entities/Object/DynamicObject.h rename to src/server/game/Entities/DynamicObject/DynamicObject.h diff --git a/src/server/game/Entities/Item/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp similarity index 100% rename from src/server/game/Entities/Item/Bag.cpp rename to src/server/game/Entities/Item/Container/Bag.cpp diff --git a/src/server/game/Entities/Item/Bag.h b/src/server/game/Entities/Item/Container/Bag.h similarity index 100% rename from src/server/game/Entities/Item/Bag.h rename to src/server/game/Entities/Item/Container/Bag.h diff --git a/src/server/game/Map/ObjectPosSelector.cpp b/src/server/game/Entities/Object/ObjectPosSelector.cpp similarity index 100% rename from src/server/game/Map/ObjectPosSelector.cpp rename to src/server/game/Entities/Object/ObjectPosSelector.cpp diff --git a/src/server/game/Map/ObjectPosSelector.h b/src/server/game/Entities/Object/ObjectPosSelector.h similarity index 100% rename from src/server/game/Map/ObjectPosSelector.h rename to src/server/game/Entities/Object/ObjectPosSelector.h diff --git a/src/server/game/Entities/Object/UpdateData.cpp b/src/server/game/Entities/Object/Updates/UpdateData.cpp similarity index 100% rename from src/server/game/Entities/Object/UpdateData.cpp rename to src/server/game/Entities/Object/Updates/UpdateData.cpp diff --git a/src/server/game/Entities/Object/UpdateData.h b/src/server/game/Entities/Object/Updates/UpdateData.h similarity index 100% rename from src/server/game/Entities/Object/UpdateData.h rename to src/server/game/Entities/Object/Updates/UpdateData.h diff --git a/src/server/game/Entities/Object/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h similarity index 100% rename from src/server/game/Entities/Object/UpdateFields.h rename to src/server/game/Entities/Object/Updates/UpdateFields.h diff --git a/src/server/game/Entities/Object/UpdateMask.h b/src/server/game/Entities/Object/Updates/UpdateMask.h similarity index 100% rename from src/server/game/Entities/Object/UpdateMask.h rename to src/server/game/Entities/Object/Updates/UpdateMask.h diff --git a/src/server/game/Movement/Transports.cpp b/src/server/game/Entities/Transport/Transports.cpp similarity index 100% rename from src/server/game/Movement/Transports.cpp rename to src/server/game/Entities/Transport/Transports.cpp diff --git a/src/server/game/Movement/Transports.h b/src/server/game/Entities/Transport/Transports.h similarity index 100% rename from src/server/game/Movement/Transports.h rename to src/server/game/Entities/Transport/Transports.h diff --git a/src/server/game/Events/GlobalEvents.cpp b/src/server/game/Globals/GlobalEvents.cpp similarity index 100% rename from src/server/game/Events/GlobalEvents.cpp rename to src/server/game/Globals/GlobalEvents.cpp diff --git a/src/server/game/Events/GlobalEvents.h b/src/server/game/Globals/GlobalEvents.h similarity index 100% rename from src/server/game/Events/GlobalEvents.h rename to src/server/game/Globals/GlobalEvents.h diff --git a/src/server/game/Entities/Object/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp similarity index 100% rename from src/server/game/Entities/Object/ObjectAccessor.cpp rename to src/server/game/Globals/ObjectAccessor.cpp diff --git a/src/server/game/Entities/Object/ObjectAccessor.h b/src/server/game/Globals/ObjectAccessor.h similarity index 100% rename from src/server/game/Entities/Object/ObjectAccessor.h rename to src/server/game/Globals/ObjectAccessor.h diff --git a/src/server/game/Entities/Object/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp similarity index 100% rename from src/server/game/Entities/Object/ObjectMgr.cpp rename to src/server/game/Globals/ObjectMgr.cpp diff --git a/src/server/game/Entities/Object/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h similarity index 100% rename from src/server/game/Entities/Object/ObjectMgr.h rename to src/server/game/Globals/ObjectMgr.h diff --git a/src/server/game/Map/Cell/Cell.h b/src/server/game/Maps/Cell/Cell.h similarity index 100% rename from src/server/game/Map/Cell/Cell.h rename to src/server/game/Maps/Cell/Cell.h diff --git a/src/server/game/Map/Cell/CellImpl.h b/src/server/game/Maps/Cell/CellImpl.h similarity index 100% rename from src/server/game/Map/Cell/CellImpl.h rename to src/server/game/Maps/Cell/CellImpl.h diff --git a/src/server/game/Map/Grid/GridDefines.h b/src/server/game/Maps/Grid/GridDefines.h similarity index 100% rename from src/server/game/Map/Grid/GridDefines.h rename to src/server/game/Maps/Grid/GridDefines.h diff --git a/src/server/game/Map/Grid/GridNotifiers.cpp b/src/server/game/Maps/Grid/GridNotifiers.cpp similarity index 100% rename from src/server/game/Map/Grid/GridNotifiers.cpp rename to src/server/game/Maps/Grid/GridNotifiers.cpp diff --git a/src/server/game/Map/Grid/GridNotifiers.h b/src/server/game/Maps/Grid/GridNotifiers.h similarity index 100% rename from src/server/game/Map/Grid/GridNotifiers.h rename to src/server/game/Maps/Grid/GridNotifiers.h diff --git a/src/server/game/Map/Grid/GridNotifiersImpl.h b/src/server/game/Maps/Grid/GridNotifiersImpl.h similarity index 100% rename from src/server/game/Map/Grid/GridNotifiersImpl.h rename to src/server/game/Maps/Grid/GridNotifiersImpl.h diff --git a/src/server/game/Map/Grid/GridStates.cpp b/src/server/game/Maps/Grid/GridStates.cpp similarity index 100% rename from src/server/game/Map/Grid/GridStates.cpp rename to src/server/game/Maps/Grid/GridStates.cpp diff --git a/src/server/game/Map/Grid/GridStates.h b/src/server/game/Maps/Grid/GridStates.h similarity index 100% rename from src/server/game/Map/Grid/GridStates.h rename to src/server/game/Maps/Grid/GridStates.h diff --git a/src/server/game/Map/Grid/ObjectGridLoader.cpp b/src/server/game/Maps/Grid/ObjectGridLoader.cpp similarity index 100% rename from src/server/game/Map/Grid/ObjectGridLoader.cpp rename to src/server/game/Maps/Grid/ObjectGridLoader.cpp diff --git a/src/server/game/Map/Grid/ObjectGridLoader.h b/src/server/game/Maps/Grid/ObjectGridLoader.h similarity index 100% rename from src/server/game/Map/Grid/ObjectGridLoader.h rename to src/server/game/Maps/Grid/ObjectGridLoader.h diff --git a/src/server/game/Map/Map.cpp b/src/server/game/Maps/Map.cpp similarity index 100% rename from src/server/game/Map/Map.cpp rename to src/server/game/Maps/Map.cpp diff --git a/src/server/game/Map/Map.h b/src/server/game/Maps/Map.h similarity index 100% rename from src/server/game/Map/Map.h rename to src/server/game/Maps/Map.h diff --git a/src/server/game/Map/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp similarity index 100% rename from src/server/game/Map/MapInstanced.cpp rename to src/server/game/Maps/MapInstanced.cpp diff --git a/src/server/game/Map/MapInstanced.h b/src/server/game/Maps/MapInstanced.h similarity index 100% rename from src/server/game/Map/MapInstanced.h rename to src/server/game/Maps/MapInstanced.h diff --git a/src/server/game/Map/MapManager.cpp b/src/server/game/Maps/MapManager.cpp similarity index 100% rename from src/server/game/Map/MapManager.cpp rename to src/server/game/Maps/MapManager.cpp diff --git a/src/server/game/Map/MapManager.h b/src/server/game/Maps/MapManager.h similarity index 100% rename from src/server/game/Map/MapManager.h rename to src/server/game/Maps/MapManager.h diff --git a/src/server/game/Map/MapRefManager.h b/src/server/game/Maps/MapRefManager.h similarity index 100% rename from src/server/game/Map/MapRefManager.h rename to src/server/game/Maps/MapRefManager.h diff --git a/src/server/game/Map/MapReference.h b/src/server/game/Maps/MapReference.h similarity index 100% rename from src/server/game/Map/MapReference.h rename to src/server/game/Maps/MapReference.h diff --git a/src/server/game/Map/MapUpdater.cpp b/src/server/game/Maps/MapUpdater.cpp similarity index 100% rename from src/server/game/Map/MapUpdater.cpp rename to src/server/game/Maps/MapUpdater.cpp diff --git a/src/server/game/Map/MapUpdater.h b/src/server/game/Maps/MapUpdater.h similarity index 100% rename from src/server/game/Map/MapUpdater.h rename to src/server/game/Maps/MapUpdater.h diff --git a/src/server/game/Map/ZoneScript.h b/src/server/game/Maps/ZoneScript.h similarity index 100% rename from src/server/game/Map/ZoneScript.h rename to src/server/game/Maps/ZoneScript.h diff --git a/src/server/game/Globals/Formulas.h b/src/server/game/Miscellaneous/Formulas.h similarity index 100% rename from src/server/game/Globals/Formulas.h rename to src/server/game/Miscellaneous/Formulas.h diff --git a/src/server/game/Globals/Language.h b/src/server/game/Miscellaneous/Language.h similarity index 100% rename from src/server/game/Globals/Language.h rename to src/server/game/Miscellaneous/Language.h diff --git a/src/server/game/Globals/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h similarity index 100% rename from src/server/game/Globals/SharedDefines.h rename to src/server/game/Miscellaneous/SharedDefines.h diff --git a/src/server/game/Movement/MovementGenerators/MovementGenerator.cpp b/src/server/game/Movement/MovementGenerator.cpp similarity index 100% rename from src/server/game/Movement/MovementGenerators/MovementGenerator.cpp rename to src/server/game/Movement/MovementGenerator.cpp diff --git a/src/server/game/Movement/MovementGenerators/MovementGenerator.h b/src/server/game/Movement/MovementGenerator.h similarity index 100% rename from src/server/game/Movement/MovementGenerators/MovementGenerator.h rename to src/server/game/Movement/MovementGenerator.h diff --git a/src/server/game/Movement/MovementGenerators/MovementGeneratorImpl.h b/src/server/game/Movement/MovementGeneratorImpl.h similarity index 100% rename from src/server/game/Movement/MovementGenerators/MovementGeneratorImpl.h rename to src/server/game/Movement/MovementGeneratorImpl.h diff --git a/src/server/game/Movement/Path.h b/src/server/game/Movement/Waypoints/Path.h similarity index 100% rename from src/server/game/Movement/Path.h rename to src/server/game/Movement/Waypoints/Path.h diff --git a/src/server/game/Movement/WaypointManager.cpp b/src/server/game/Movement/Waypoints/WaypointManager.cpp similarity index 100% rename from src/server/game/Movement/WaypointManager.cpp rename to src/server/game/Movement/Waypoints/WaypointManager.cpp diff --git a/src/server/game/Movement/WaypointManager.h b/src/server/game/Movement/Waypoints/WaypointManager.h similarity index 100% rename from src/server/game/Movement/WaypointManager.h rename to src/server/game/Movement/Waypoints/WaypointManager.h diff --git a/src/server/game/OutdoorPvP/OutdoorPvPEP.cpp b/src/server/game/OutdoorPvP/Zones/OutdoorPvPEP.cpp similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPEP.cpp rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPEP.cpp diff --git a/src/server/game/OutdoorPvP/OutdoorPvPEP.h b/src/server/game/OutdoorPvP/Zones/OutdoorPvPEP.h similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPEP.h rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPEP.h diff --git a/src/server/game/OutdoorPvP/OutdoorPvPHP.cpp b/src/server/game/OutdoorPvP/Zones/OutdoorPvPHP.cpp similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPHP.cpp rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPHP.cpp diff --git a/src/server/game/OutdoorPvP/OutdoorPvPHP.h b/src/server/game/OutdoorPvP/Zones/OutdoorPvPHP.h similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPHP.h rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPHP.h diff --git a/src/server/game/OutdoorPvP/OutdoorPvPNA.cpp b/src/server/game/OutdoorPvP/Zones/OutdoorPvPNA.cpp similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPNA.cpp rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPNA.cpp diff --git a/src/server/game/OutdoorPvP/OutdoorPvPNA.h b/src/server/game/OutdoorPvP/Zones/OutdoorPvPNA.h similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPNA.h rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPNA.h diff --git a/src/server/game/OutdoorPvP/OutdoorPvPSI.cpp b/src/server/game/OutdoorPvP/Zones/OutdoorPvPSI.cpp similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPSI.cpp rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPSI.cpp diff --git a/src/server/game/OutdoorPvP/OutdoorPvPSI.h b/src/server/game/OutdoorPvP/Zones/OutdoorPvPSI.h similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPSI.h rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPSI.h diff --git a/src/server/game/OutdoorPvP/OutdoorPvPTF.cpp b/src/server/game/OutdoorPvP/Zones/OutdoorPvPTF.cpp similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPTF.cpp rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPTF.cpp diff --git a/src/server/game/OutdoorPvP/OutdoorPvPTF.h b/src/server/game/OutdoorPvP/Zones/OutdoorPvPTF.h similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPTF.h rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPTF.h diff --git a/src/server/game/OutdoorPvP/OutdoorPvPZM.cpp b/src/server/game/OutdoorPvP/Zones/OutdoorPvPZM.cpp similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPZM.cpp rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPZM.cpp diff --git a/src/server/game/OutdoorPvP/OutdoorPvPZM.h b/src/server/game/OutdoorPvP/Zones/OutdoorPvPZM.h similarity index 100% rename from src/server/game/OutdoorPvP/OutdoorPvPZM.h rename to src/server/game/OutdoorPvP/Zones/OutdoorPvPZM.h diff --git a/src/server/game/ScriptMgr/ScriptedPch.cpp b/src/server/game/PrecompiledHeaders/ScriptedPch.cpp similarity index 100% rename from src/server/game/ScriptMgr/ScriptedPch.cpp rename to src/server/game/PrecompiledHeaders/ScriptedPch.cpp diff --git a/src/server/game/ScriptMgr/ScriptedPch.h b/src/server/game/PrecompiledHeaders/ScriptedPch.h similarity index 100% rename from src/server/game/ScriptMgr/ScriptedPch.h rename to src/server/game/PrecompiledHeaders/ScriptedPch.h diff --git a/src/server/game/ScriptMgr/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp similarity index 100% rename from src/server/game/ScriptMgr/ScriptLoader.cpp rename to src/server/game/Scripting/ScriptLoader.cpp diff --git a/src/server/game/ScriptMgr/ScriptLoader.h b/src/server/game/Scripting/ScriptLoader.h similarity index 100% rename from src/server/game/ScriptMgr/ScriptLoader.h rename to src/server/game/Scripting/ScriptLoader.h diff --git a/src/server/game/ScriptMgr/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp similarity index 100% rename from src/server/game/ScriptMgr/ScriptMgr.cpp rename to src/server/game/Scripting/ScriptMgr.cpp diff --git a/src/server/game/ScriptMgr/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h similarity index 100% rename from src/server/game/ScriptMgr/ScriptMgr.h rename to src/server/game/Scripting/ScriptMgr.h diff --git a/src/server/game/ScriptMgr/ScriptSystem.cpp b/src/server/game/Scripting/ScriptSystem.cpp similarity index 100% rename from src/server/game/ScriptMgr/ScriptSystem.cpp rename to src/server/game/Scripting/ScriptSystem.cpp diff --git a/src/server/game/ScriptMgr/ScriptSystem.h b/src/server/game/Scripting/ScriptSystem.h similarity index 100% rename from src/server/game/ScriptMgr/ScriptSystem.h rename to src/server/game/Scripting/ScriptSystem.h diff --git a/src/server/game/Addons/AddonHandler.cpp b/src/server/game/Server/Protocol/Handlers/AddonHandler.cpp similarity index 100% rename from src/server/game/Addons/AddonHandler.cpp rename to src/server/game/Server/Protocol/Handlers/AddonHandler.cpp diff --git a/src/server/game/Addons/AddonHandler.h b/src/server/game/Server/Protocol/Handlers/AddonHandler.h similarity index 100% rename from src/server/game/Addons/AddonHandler.h rename to src/server/game/Server/Protocol/Handlers/AddonHandler.h diff --git a/src/server/game/BattleGrounds/ArenaTeamHandler.cpp b/src/server/game/Server/Protocol/Handlers/ArenaTeamHandler.cpp similarity index 100% rename from src/server/game/BattleGrounds/ArenaTeamHandler.cpp rename to src/server/game/Server/Protocol/Handlers/ArenaTeamHandler.cpp diff --git a/src/server/game/AuctionHouse/AuctionHouseHandler.cpp b/src/server/game/Server/Protocol/Handlers/AuctionHouseHandler.cpp similarity index 100% rename from src/server/game/AuctionHouse/AuctionHouseHandler.cpp rename to src/server/game/Server/Protocol/Handlers/AuctionHouseHandler.cpp diff --git a/src/server/game/BattleGrounds/BattleGroundHandler.cpp b/src/server/game/Server/Protocol/Handlers/BattleGroundHandler.cpp similarity index 100% rename from src/server/game/BattleGrounds/BattleGroundHandler.cpp rename to src/server/game/Server/Protocol/Handlers/BattleGroundHandler.cpp diff --git a/src/server/game/Calendar/CalendarHandler.cpp b/src/server/game/Server/Protocol/Handlers/CalendarHandler.cpp similarity index 100% rename from src/server/game/Calendar/CalendarHandler.cpp rename to src/server/game/Server/Protocol/Handlers/CalendarHandler.cpp diff --git a/src/server/game/Chat/ChannelHandler.cpp b/src/server/game/Server/Protocol/Handlers/ChannelHandler.cpp similarity index 100% rename from src/server/game/Chat/ChannelHandler.cpp rename to src/server/game/Server/Protocol/Handlers/ChannelHandler.cpp diff --git a/src/server/game/Entities/Player/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/CharacterHandler.cpp rename to src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp diff --git a/src/server/game/Chat/ChatHandler.cpp b/src/server/game/Server/Protocol/Handlers/ChatHandler.cpp similarity index 100% rename from src/server/game/Chat/ChatHandler.cpp rename to src/server/game/Server/Protocol/Handlers/ChatHandler.cpp diff --git a/src/server/game/Combat/CombatHandler.cpp b/src/server/game/Server/Protocol/Handlers/CombatHandler.cpp similarity index 100% rename from src/server/game/Combat/CombatHandler.cpp rename to src/server/game/Server/Protocol/Handlers/CombatHandler.cpp diff --git a/src/server/game/Entities/Player/DuelHandler.cpp b/src/server/game/Server/Protocol/Handlers/DuelHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/DuelHandler.cpp rename to src/server/game/Server/Protocol/Handlers/DuelHandler.cpp diff --git a/src/server/game/Groups/GroupHandler.cpp b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp similarity index 100% rename from src/server/game/Groups/GroupHandler.cpp rename to src/server/game/Server/Protocol/Handlers/GroupHandler.cpp diff --git a/src/server/game/Guilds/GuildHandler.cpp b/src/server/game/Server/Protocol/Handlers/GuildHandler.cpp similarity index 100% rename from src/server/game/Guilds/GuildHandler.cpp rename to src/server/game/Server/Protocol/Handlers/GuildHandler.cpp diff --git a/src/server/game/Entities/Item/ItemHandler.cpp b/src/server/game/Server/Protocol/Handlers/ItemHandler.cpp similarity index 100% rename from src/server/game/Entities/Item/ItemHandler.cpp rename to src/server/game/Server/Protocol/Handlers/ItemHandler.cpp diff --git a/src/server/game/LookingForGroup/LFGHandler.cpp b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp similarity index 100% rename from src/server/game/LookingForGroup/LFGHandler.cpp rename to src/server/game/Server/Protocol/Handlers/LFGHandler.cpp diff --git a/src/server/game/Loot/LootHandler.cpp b/src/server/game/Server/Protocol/Handlers/LootHandler.cpp similarity index 100% rename from src/server/game/Loot/LootHandler.cpp rename to src/server/game/Server/Protocol/Handlers/LootHandler.cpp diff --git a/src/server/game/Entities/Player/MiscHandler.cpp b/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/MiscHandler.cpp rename to src/server/game/Server/Protocol/Handlers/MiscHandler.cpp diff --git a/src/server/game/Movement/MovementHandler.cpp b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp similarity index 100% rename from src/server/game/Movement/MovementHandler.cpp rename to src/server/game/Server/Protocol/Handlers/MovementHandler.cpp diff --git a/src/server/game/Entities/Creature/NPCHandler.cpp b/src/server/game/Server/Protocol/Handlers/NPCHandler.cpp similarity index 100% rename from src/server/game/Entities/Creature/NPCHandler.cpp rename to src/server/game/Server/Protocol/Handlers/NPCHandler.cpp diff --git a/src/server/game/Entities/Creature/NPCHandler.h b/src/server/game/Server/Protocol/Handlers/NPCHandler.h similarity index 100% rename from src/server/game/Entities/Creature/NPCHandler.h rename to src/server/game/Server/Protocol/Handlers/NPCHandler.h diff --git a/src/server/game/Entities/Pet/PetHandler.cpp b/src/server/game/Server/Protocol/Handlers/PetHandler.cpp similarity index 100% rename from src/server/game/Entities/Pet/PetHandler.cpp rename to src/server/game/Server/Protocol/Handlers/PetHandler.cpp diff --git a/src/server/game/Entities/Player/PetitionsHandler.cpp b/src/server/game/Server/Protocol/Handlers/PetitionsHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/PetitionsHandler.cpp rename to src/server/game/Server/Protocol/Handlers/PetitionsHandler.cpp diff --git a/src/server/game/Quests/QueryHandler.cpp b/src/server/game/Server/Protocol/Handlers/QueryHandler.cpp similarity index 100% rename from src/server/game/Quests/QueryHandler.cpp rename to src/server/game/Server/Protocol/Handlers/QueryHandler.cpp diff --git a/src/server/game/Quests/QuestHandler.cpp b/src/server/game/Server/Protocol/Handlers/QuestHandler.cpp similarity index 100% rename from src/server/game/Quests/QuestHandler.cpp rename to src/server/game/Server/Protocol/Handlers/QuestHandler.cpp diff --git a/src/server/game/Skills/SkillHandler.cpp b/src/server/game/Server/Protocol/Handlers/SkillHandler.cpp similarity index 100% rename from src/server/game/Skills/SkillHandler.cpp rename to src/server/game/Server/Protocol/Handlers/SkillHandler.cpp diff --git a/src/server/game/Spells/SpellHandler.cpp b/src/server/game/Server/Protocol/Handlers/SpellHandler.cpp similarity index 100% rename from src/server/game/Spells/SpellHandler.cpp rename to src/server/game/Server/Protocol/Handlers/SpellHandler.cpp diff --git a/src/server/game/Movement/TaxiHandler.cpp b/src/server/game/Server/Protocol/Handlers/TaxiHandler.cpp similarity index 100% rename from src/server/game/Movement/TaxiHandler.cpp rename to src/server/game/Server/Protocol/Handlers/TaxiHandler.cpp diff --git a/src/server/game/Entities/Player/TicketHandler.cpp b/src/server/game/Server/Protocol/Handlers/TicketHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/TicketHandler.cpp rename to src/server/game/Server/Protocol/Handlers/TicketHandler.cpp diff --git a/src/server/game/Entities/Player/TradeHandler.cpp b/src/server/game/Server/Protocol/Handlers/TradeHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/TradeHandler.cpp rename to src/server/game/Server/Protocol/Handlers/TradeHandler.cpp diff --git a/src/server/game/Entities/Player/VoiceChatHandler.cpp b/src/server/game/Server/Protocol/Handlers/VoiceChatHandler.cpp similarity index 100% rename from src/server/game/Entities/Player/VoiceChatHandler.cpp rename to src/server/game/Server/Protocol/Handlers/VoiceChatHandler.cpp diff --git a/src/server/game/Opcodes/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp similarity index 100% rename from src/server/game/Opcodes/Opcodes.cpp rename to src/server/game/Server/Protocol/Opcodes.cpp diff --git a/src/server/game/Opcodes/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h similarity index 100% rename from src/server/game/Opcodes/Opcodes.h rename to src/server/game/Server/Protocol/Opcodes.h diff --git a/src/server/game/World/WorldLog.cpp b/src/server/game/Server/Protocol/WorldLog.cpp similarity index 100% rename from src/server/game/World/WorldLog.cpp rename to src/server/game/Server/Protocol/WorldLog.cpp diff --git a/src/server/game/World/WorldLog.h b/src/server/game/Server/Protocol/WorldLog.h similarity index 100% rename from src/server/game/World/WorldLog.h rename to src/server/game/Server/Protocol/WorldLog.h diff --git a/src/server/game/World/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp similarity index 100% rename from src/server/game/World/WorldSession.cpp rename to src/server/game/Server/WorldSession.cpp diff --git a/src/server/game/World/WorldSession.h b/src/server/game/Server/WorldSession.h similarity index 100% rename from src/server/game/World/WorldSession.h rename to src/server/game/Server/WorldSession.h diff --git a/src/server/game/World/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp similarity index 100% rename from src/server/game/World/WorldSocket.cpp rename to src/server/game/Server/WorldSocket.cpp diff --git a/src/server/game/World/WorldSocket.h b/src/server/game/Server/WorldSocket.h similarity index 100% rename from src/server/game/World/WorldSocket.h rename to src/server/game/Server/WorldSocket.h diff --git a/src/server/game/World/WorldSocketMgr.cpp b/src/server/game/Server/WorldSocketMgr.cpp similarity index 100% rename from src/server/game/World/WorldSocketMgr.cpp rename to src/server/game/Server/WorldSocketMgr.cpp diff --git a/src/server/game/World/WorldSocketMgr.h b/src/server/game/Server/WorldSocketMgr.h similarity index 100% rename from src/server/game/World/WorldSocketMgr.h rename to src/server/game/Server/WorldSocketMgr.h