diff --git a/Source/Game/DataStorage/CliDB.cs b/Source/Game/DataStorage/CliDB.cs index 09a849b79..c4a652868 100644 --- a/Source/Game/DataStorage/CliDB.cs +++ b/Source/Game/DataStorage/CliDB.cs @@ -83,7 +83,7 @@ namespace Game.DataStorage AzeriteTierUnlockSetStorage = ReadDB2 ("AzeriteTierUnlockSet.db2", HotfixStatements.SEL_AZERITE_TIER_UNLOCK_SET); AzeriteUnlockMappingStorage = ReadDB2 ("AzeriteUnlockMapping.db2", HotfixStatements.SEL_AZERITE_UNLOCK_MAPPING); BankBagSlotPricesStorage = ReadDB2("BankBagSlotPrices.db2", HotfixStatements.SEL_BANK_BAG_SLOT_PRICES); - //BannedAddOnsStorage = ReadDB2("BannedAddons.db2", HotfixStatements.SEL_BANNED_ADDONS); + BannedAddOnsStorage = ReadDB2("BannedAddons.db2", HotfixStatements.SEL_BANNED_ADDONS); BarberShopStyleStorage = ReadDB2("BarberShopStyle.db2", HotfixStatements.SEL_BARBER_SHOP_STYLE, HotfixStatements.SEL_BARBER_SHOP_STYLE_LOCALE); BattlePetBreedQualityStorage = ReadDB2("BattlePetBreedQuality.db2", HotfixStatements.SEL_BATTLE_PET_BREED_QUALITY); BattlePetBreedStateStorage = ReadDB2("BattlePetBreedState.db2", HotfixStatements.SEL_BATTLE_PET_BREED_STATE); @@ -244,7 +244,7 @@ namespace Game.DataStorage RewardPackXItemStorage = ReadDB2("RewardPackXItem.db2", HotfixStatements.SEL_REWARD_PACK_X_ITEM); ScenarioStorage = ReadDB2("Scenario.db2", HotfixStatements.SEL_SCENARIO, HotfixStatements.SEL_SCENARIO_LOCALE); ScenarioStepStorage = ReadDB2("ScenarioStep.db2", HotfixStatements.SEL_SCENARIO_STEP, HotfixStatements.SEL_SCENARIO_STEP_LOCALE); - //SceneScriptStorage = ReadDB2("SceneScript.db2", HotfixStatements.SEL_SCENE_SCRIPT); + SceneScriptStorage = ReadDB2("SceneScript.db2", HotfixStatements.SEL_SCENE_SCRIPT); SceneScriptGlobalTextStorage = ReadDB2("SceneScriptGlobalText.db2", HotfixStatements.SEL_SCENE_SCRIPT_GLOBAL_TEXT); SceneScriptPackageStorage = ReadDB2("SceneScriptPackage.db2", HotfixStatements.SEL_SCENE_SCRIPT_PACKAGE); SceneScriptTextStorage = ReadDB2("SceneScriptText.db2", HotfixStatements.SEL_SCENE_SCRIPT_TEXT); @@ -442,7 +442,7 @@ namespace Game.DataStorage public static DB6Storage AzeriteTierUnlockSetStorage; public static DB6Storage AzeriteUnlockMappingStorage; public static DB6Storage BankBagSlotPricesStorage; - //public static DB6Storage BannedAddOnsStorage; + public static DB6Storage BannedAddOnsStorage; public static DB6Storage BarberShopStyleStorage; public static DB6Storage BattlePetBreedQualityStorage; public static DB6Storage BattlePetBreedStateStorage; @@ -603,7 +603,7 @@ namespace Game.DataStorage public static DB6Storage RewardPackXItemStorage; public static DB6Storage ScenarioStorage; public static DB6Storage ScenarioStepStorage; - //public static DB6Storage SceneScriptStorage; + public static DB6Storage SceneScriptStorage; public static DB6Storage SceneScriptGlobalTextStorage; public static DB6Storage SceneScriptPackageStorage; public static DB6Storage SceneScriptTextStorage; diff --git a/Source/Game/DataStorage/DB2Manager.cs b/Source/Game/DataStorage/DB2Manager.cs index 4e58c9f22..329d2d04c 100644 --- a/Source/Game/DataStorage/DB2Manager.cs +++ b/Source/Game/DataStorage/DB2Manager.cs @@ -727,7 +727,6 @@ namespace Game.DataStorage continue; } } - HotfixRecord hotfixRecord = new HotfixRecord(); hotfixRecord.TableHash = tableHash; diff --git a/Source/Game/Networking/WorldSocket.cs b/Source/Game/Networking/WorldSocket.cs index f97c65ae0..aae4afb89 100644 --- a/Source/Game/Networking/WorldSocket.cs +++ b/Source/Game/Networking/WorldSocket.cs @@ -243,12 +243,6 @@ namespace Game.Networking PacketHeader header = new PacketHeader(); header.Read(_headerBuffer.GetData()); - if (!header.IsValidSize()) - { - Log.outError(LogFilter.Network, $"WorldSocket.ReadHeaderHandler(): client {GetRemoteIpAddress()} sent malformed packet (size: {header.Size})"); - return false; - } - _packetBuffer.Resize(header.Size); return true; } @@ -277,6 +271,13 @@ namespace Game.Networking PacketLog.Write(packet.GetData(), packet.GetOpcode(), GetRemoteIpAddress(), _connectType, true); ClientOpcodes opcode = (ClientOpcodes)packet.GetOpcode(); + + if (opcode != ClientOpcodes.HotfixRequest && !header.IsValidSize()) + { + Log.outError(LogFilter.Network, $"WorldSocket.ReadHeaderHandler(): client {GetRemoteIpAddress()} sent malformed packet (size: {header.Size})"); + return ReadDataHandlerResult.Error; + } + switch (opcode) { case ClientOpcodes.Ping: @@ -376,7 +377,7 @@ namespace Game.Networking buffer.WriteUInt32(ZLib.adler32(0x9827D8F1, compressedData, compressedSize)); buffer.WriteBytes(compressedData, compressedSize); - packetSize = (ushort)(compressedSize + 12); + packetSize = (int)(compressedSize + 12); opcode = ServerOpcodes.CompressedPacket; data = buffer.GetData();