Skip to content

Commit

Permalink
Core: Updated to 11.0.7
Browse files Browse the repository at this point in the history
  • Loading branch information
Shauren committed Dec 18, 2024
1 parent 4df06ce commit 4f7079f
Show file tree
Hide file tree
Showing 46 changed files with 1,866 additions and 1,521 deletions.
27 changes: 22 additions & 5 deletions sql/base/auth_database.sql
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,21 @@ INSERT INTO `build_auth_key` VALUES
(57689,'Mac','x64','WoWC',0xCA7AD91741F8E2063CE227D475247212),
(57689,'Win','A64','WoW',0x4910E2142A21616934CD4D714691748C),
(57689,'Win','x64','WoW',0x93B4E50E651A28D8CC4E7CE7447901F6),
(57689,'Win','x64','WoWC',0x6AEDD8258D4E9701F737CBA852728A74);
(57689,'Win','x64','WoWC',0x6AEDD8258D4E9701F737CBA852728A74),
(58123,'Mac','A64','WoW',0x7C63CE8A068940D4D019C7CF999E3DC7),
(58123,'Mac','A64','WoWC',0xCF2625300DA905CC9B6D10379C58B590),
(58123,'Mac','x64','WoW',0x1B68981860A6EB24BEAA070FD022B3B9),
(58123,'Mac','x64','WoWC',0x3037FB1C6A73F7468DD11180000BB133),
(58123,'Win','A64','WoW',0x84B75C8F0FF380C3B3970EB63AFB4962),
(58123,'Win','x64','WoW',0x29050AA0D62EF99634CCB7B5F9F6AC1E),
(58123,'Win','x64','WoWC',0x2D5EEEAB57AFFE31856D0DEAC73944DA),
(58162,'Mac','A64','WoW',0x086BB93AF9122791E6CDA58A5F20AAC1),
(58162,'Mac','A64','WoWC',0x280BD3A4F223E1D8F3CF893BBFAEFBC5),
(58162,'Mac','x64','WoW',0x47586B32BD556FA08C966D7F4FC9FF24),
(58162,'Mac','x64','WoWC',0xE861315673972C1B986650C1242196FE),
(58162,'Win','A64','WoW',0x5B1F97D43762F0F1BEC75E99CDD18D35),
(58162,'Win','x64','WoW',0xDA3B48B9A60F4486F27BA9D8858D5688),
(58162,'Win','x64','WoWC',0x25146ED771DC629F2B8CF58126BA562C);
/*!40000 ALTER TABLE `build_auth_key` ENABLE KEYS */;
UNLOCK TABLES;

Expand Down Expand Up @@ -1220,7 +1234,9 @@ INSERT INTO `build_info` VALUES
(57388,11,0,5,NULL),
(57534,11,0,5,NULL),
(57637,11,0,5,NULL),
(57689,11,0,5,NULL);
(57689,11,0,5,NULL),
(58123,11,0,7,NULL),
(58162,11,0,7,NULL);
/*!40000 ALTER TABLE `build_info` ENABLE KEYS */;
UNLOCK TABLES;

Expand Down Expand Up @@ -2832,7 +2848,7 @@ CREATE TABLE `realmlist` (
`timezone` tinyint unsigned NOT NULL DEFAULT '0',
`allowedSecurityLevel` tinyint unsigned NOT NULL DEFAULT '0',
`population` float NOT NULL DEFAULT '0',
`gamebuild` int unsigned NOT NULL DEFAULT '57689',
`gamebuild` int unsigned NOT NULL DEFAULT '58162',
`Region` tinyint unsigned NOT NULL DEFAULT '1',
`Battlegroup` tinyint unsigned NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
Expand All @@ -2847,7 +2863,7 @@ CREATE TABLE `realmlist` (
LOCK TABLES `realmlist` WRITE;
/*!40000 ALTER TABLE `realmlist` DISABLE KEYS */;
INSERT INTO `realmlist` VALUES
(1,'Trinity','127.0.0.1','127.0.0.1',NULL,NULL,'255.255.255.0',8085,0,0,1,0,0,57689,1,1);
(1,'Trinity','127.0.0.1','127.0.0.1',NULL,NULL,'255.255.255.0',8085,0,0,1,0,0,58162,1,1);
/*!40000 ALTER TABLE `realmlist` ENABLE KEYS */;
UNLOCK TABLES;

Expand Down Expand Up @@ -3318,7 +3334,8 @@ INSERT INTO `updates` VALUES
('2024_11_12_00_auth.sql','5A236A557291758C0F2C46FDEC02692E7C53F751','ARCHIVED','2024-11-12 11:42:13',0),
('2024_11_14_00_auth.sql','646A438FAD5A83D80DCDDEDC71BB6CF21A1FE490','ARCHIVED','2024-11-14 10:29:52',0),
('2024_11_16_00_auth.sql','94794542B3320D76E4A3615DB2418EEF38BDFEA1','ARCHIVED','2024-11-16 21:57:39',0),
('2024_11_20_00_auth.sql','444C765DD16E9B70C1D1163155238E8EE481B17D','RELEASED','2024-11-20 20:39:53',0);
('2024_11_20_00_auth.sql','444C765DD16E9B70C1D1163155238E8EE481B17D','RELEASED','2024-11-20 20:39:53',0),
('2024_12_18_00_auth.sql','1F3145F30A79FEE13F5CD9817F54FAFA9A85DEE6','RELEASED','2024-12-18 22:04:44',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;

Expand Down
38 changes: 38 additions & 0 deletions sql/updates/auth/master/2024_12_18_00_auth.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
DELETE FROM `build_info` WHERE `build` IN (58123,58162);
INSERT INTO `build_info` (`build`,`majorVersion`,`minorVersion`,`bugfixVersion`,`hotfixVersion`) VALUES
(58123,11,0,7,NULL),
(58162,11,0,7,NULL);

DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58123 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Mac' AND `arch`='A64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Mac' AND `arch`='x64' AND `type`='WoWC';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Win' AND `arch`='A64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Win' AND `arch`='x64' AND `type`='WoW';
DELETE FROM `build_auth_key` WHERE `build`=58162 AND `platform`='Win' AND `arch`='x64' AND `type`='WoWC';
INSERT INTO `build_auth_key` (`build`,`platform`,`arch`,`type`,`key`) VALUES
(58123,'Mac','A64','WoW',0x7C63CE8A068940D4D019C7CF999E3DC7),
(58123,'Mac','A64','WoWC',0xCF2625300DA905CC9B6D10379C58B590),
(58123,'Mac','x64','WoW',0x1B68981860A6EB24BEAA070FD022B3B9),
(58123,'Mac','x64','WoWC',0x3037FB1C6A73F7468DD11180000BB133),
(58123,'Win','A64','WoW',0x84B75C8F0FF380C3B3970EB63AFB4962),
(58123,'Win','x64','WoW',0x29050AA0D62EF99634CCB7B5F9F6AC1E),
(58123,'Win','x64','WoWC',0x2D5EEEAB57AFFE31856D0DEAC73944DA),
(58162,'Mac','A64','WoW',0x086BB93AF9122791E6CDA58A5F20AAC1),
(58162,'Mac','A64','WoWC',0x280BD3A4F223E1D8F3CF893BBFAEFBC5),
(58162,'Mac','x64','WoW',0x47586B32BD556FA08C966D7F4FC9FF24),
(58162,'Mac','x64','WoWC',0xE861315673972C1B986650C1242196FE),
(58162,'Win','A64','WoW',0x5B1F97D43762F0F1BEC75E99CDD18D35),
(58162,'Win','x64','WoW',0xDA3B48B9A60F4486F27BA9D8858D5688),
(58162,'Win','x64','WoWC',0x25146ED771DC629F2B8CF58126BA562C);

UPDATE `realmlist` SET `gamebuild`=58162 WHERE `gamebuild` IN (57689,58123);

ALTER TABLE `realmlist` CHANGE `gamebuild` `gamebuild` int unsigned NOT NULL DEFAULT '58162';
16 changes: 16 additions & 0 deletions sql/updates/hotfixes/master/2024_12_18_00_hotfixes.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ALTER TABLE `broadcast_text` MODIFY `Flags` smallint UNSIGNED NOT NULL DEFAULT 0 AFTER `EmotesID`;

ALTER TABLE `lfg_dungeons`
ADD `MaxPremadeCountTank` tinyint UNSIGNED NOT NULL DEFAULT 0 AFTER `MinCountDamage`,
ADD `MaxPremadeCountHealer` tinyint UNSIGNED NOT NULL DEFAULT 0 AFTER `MaxPremadeCountTank`,
ADD `MaxPremadeCountDamage` tinyint UNSIGNED NOT NULL DEFAULT 0 AFTER `MaxPremadeCountHealer`;

ALTER TABLE `map_difficulty` MODIFY `ID` int UNSIGNED NOT NULL DEFAULT 0 AFTER `Message`;

ALTER TABLE `player_condition`
ADD `MinLevel` smallint UNSIGNED NOT NULL DEFAULT 0 AFTER `FailureDescription`,
ADD `MaxLevel` smallint UNSIGNED NOT NULL DEFAULT 0 AFTER `MinLevel`;

ALTER TABLE `vignette`
ADD `UiMapPinInfoID` int NOT NULL DEFAULT 0 AFTER `UiWidgetSetID`,
ADD `ObjectiveType` tinyint NOT NULL DEFAULT 0 AFTER `UiMapPinInfoID`;
4 changes: 2 additions & 2 deletions src/common/Cryptography/Authentication/WorldPacketCrypt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
#include <array>
#include <cstring>

WorldPacketCrypt::WorldPacketCrypt() : _clientDecrypt(false), _serverEncrypt(true), _clientCounter(0), _serverCounter(0), _initialized(false)
WorldPacketCrypt::WorldPacketCrypt() : _clientDecrypt(false, 256), _serverEncrypt(true, 256), _clientCounter(0), _serverCounter(0), _initialized(false)
{
}

void WorldPacketCrypt::Init(Trinity::Crypto::AES::Key const& key)
void WorldPacketCrypt::Init(Key const& key)
{
_clientDecrypt.Init(key);
_serverEncrypt.Init(key);
Expand Down
4 changes: 3 additions & 1 deletion src/common/Cryptography/Authentication/WorldPacketCrypt.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@
class TC_COMMON_API WorldPacketCrypt
{
public:
using Key = std::array<uint8, 32>;

WorldPacketCrypt();

void Init(Trinity::Crypto::AES::Key const& key);
void Init(Key const& key);
bool PeekDecryptRecv(uint8* data, size_t length);
bool DecryptRecv(uint8* data, size_t length, Trinity::Crypto::AES::Tag& tag);
bool EncryptSend(uint8* data, size_t length, Trinity::Crypto::AES::Tag& tag);
Expand Down
13 changes: 7 additions & 6 deletions src/server/database/Database/Implementation/HotfixDatabase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1115,8 +1115,9 @@ void HotfixDatabaseConnection::DoPrepareStatements()
// LfgDungeons.db2
PrepareStatement(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name, Description, TypeID, Subtype, Faction, IconTextureFileID, RewardsBgTextureFileID, "
"PopupBgTextureFileID, ExpansionLevel, MapID, DifficultyID, MinGear, GroupID, OrderIndex, RequiredPlayerConditionId, RandomID, ScenarioID, "
"FinalEncounterID, CountTank, CountHealer, CountDamage, MinCountTank, MinCountHealer, MinCountDamage, BonusReputationAmount, MentorItemLevel, "
"MentorCharLevel, MaxPremadeGroupSize, ContentTuningID, Flags1, Flags2 FROM lfg_dungeons WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
"FinalEncounterID, CountTank, CountHealer, CountDamage, MinCountTank, MinCountHealer, MinCountDamage, MaxPremadeCountTank, "
"MaxPremadeCountHealer, MaxPremadeCountDamage, BonusReputationAmount, MentorItemLevel, MentorCharLevel, MaxPremadeGroupSize, ContentTuningID, "
"Flags1, Flags2 FROM lfg_dungeons WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_LFG_DUNGEONS, "SELECT MAX(ID) + 1 FROM lfg_dungeons", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_LFG_DUNGEONS, "SELECT ID, Name_lang, Description_lang FROM lfg_dungeons_locale WHERE (`VerifiedBuild` > 0) = ?"
" AND locale = ?", CONNECTION_SYNCH);
Expand Down Expand Up @@ -1168,7 +1169,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()
" AND locale = ?", CONNECTION_SYNCH);

// MapDifficulty.db2
PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message, DifficultyID, LockID, ResetInterval, MaxPlayers, ItemContext, "
PrepareStatement(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT Message, ID, DifficultyID, LockID, ResetInterval, MaxPlayers, ItemContext, "
"ItemContextPickerID, Flags, ContentTuningID, WorldStateExpressionID, MapID FROM map_difficulty WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT MAX(ID) + 1 FROM map_difficulty", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_MAP_DIFFICULTY, "SELECT ID, Message_lang FROM map_difficulty_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);
Expand Down Expand Up @@ -1279,8 +1280,8 @@ void HotfixDatabaseConnection::DoPrepareStatements()
PREPARE_MAX_ID_STMT(HOTFIX_SEL_PHASE_X_PHASE_GROUP, "SELECT MAX(ID) + 1 FROM phase_x_phase_group", CONNECTION_SYNCH);

// PlayerCondition.db2
PrepareStatement(HOTFIX_SEL_PLAYER_CONDITION, "SELECT ID, RaceMask, FailureDescription, ClassMask, SkillLogic, LanguageID, MinLanguage, "
"MaxLanguage, MaxFactionID, MaxReputation, ReputationLogic, CurrentPvpFaction, PvpMedal, PrevQuestLogic, CurrQuestLogic, "
PrepareStatement(HOTFIX_SEL_PLAYER_CONDITION, "SELECT ID, RaceMask, FailureDescription, MinLevel, MaxLevel, ClassMask, SkillLogic, LanguageID, "
"MinLanguage, MaxLanguage, MaxFactionID, MaxReputation, ReputationLogic, CurrentPvpFaction, PvpMedal, PrevQuestLogic, CurrQuestLogic, "
"CurrentCompletedQuestLogic, SpellLogic, ItemLogic, ItemFlags, AuraSpellLogic, WorldStateExpressionID, WeatherID, PartyStatus, "
"LifetimeMaxPVPRank, AchievementLogic, Gender, NativeGender, AreaLogic, LfgLogic, CurrencyLogic, QuestKillID, QuestKillLogic, "
"MinExpansionLevel, MaxExpansionLevel, MinAvgItemLevel, MaxAvgItemLevel, MinAvgEquippedItemLevel, MaxAvgEquippedItemLevel, PhaseUseFlags, "
Expand Down Expand Up @@ -2003,7 +2004,7 @@ void HotfixDatabaseConnection::DoPrepareStatements()

// Vignette.db2
PrepareStatement(HOTFIX_SEL_VIGNETTE, "SELECT ID, Name, PlayerConditionID, VisibleTrackingQuestID, QuestFeedbackEffectID, Flags, MaxHeight, "
"MinHeight, VignetteType, RewardQuestID, UiWidgetSetID FROM vignette WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
"MinHeight, VignetteType, RewardQuestID, UiWidgetSetID, UiMapPinInfoID, ObjectiveType FROM vignette WHERE (`VerifiedBuild` > 0) = ?", CONNECTION_SYNCH);
PREPARE_MAX_ID_STMT(HOTFIX_SEL_VIGNETTE, "SELECT MAX(ID) + 1 FROM vignette", CONNECTION_SYNCH);
PREPARE_LOCALE_STMT(HOTFIX_SEL_VIGNETTE, "SELECT ID, Name_lang FROM vignette_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?", CONNECTION_SYNCH);

Expand Down
23 changes: 15 additions & 8 deletions src/server/game/DataStores/DB2LoadInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ struct BroadcastTextLoadInfo
{ true, FT_INT, "LanguageID" },
{ true, FT_INT, "ConditionID" },
{ false, FT_SHORT, "EmotesID" },
{ false, FT_BYTE, "Flags" },
{ false, FT_SHORT, "Flags" },
{ false, FT_INT, "ChatBubbleDurationMs" },
{ true, FT_INT, "VoiceOverPriorityID" },
{ false, FT_INT, "SoundKitID1" },
Expand Down Expand Up @@ -3549,7 +3549,7 @@ struct LanguagesLoadInfo

struct LfgDungeonsLoadInfo
{
static constexpr DB2FieldMeta Fields[32] =
static constexpr DB2FieldMeta Fields[35] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
Expand All @@ -3576,6 +3576,9 @@ struct LfgDungeonsLoadInfo
{ false, FT_BYTE, "MinCountTank" },
{ false, FT_BYTE, "MinCountHealer" },
{ false, FT_BYTE, "MinCountDamage" },
{ false, FT_BYTE, "MaxPremadeCountTank" },
{ false, FT_BYTE, "MaxPremadeCountHealer" },
{ false, FT_BYTE, "MaxPremadeCountDamage" },
{ false, FT_SHORT, "BonusReputationAmount" },
{ false, FT_SHORT, "MentorItemLevel" },
{ false, FT_BYTE, "MentorCharLevel" },
Expand All @@ -3585,7 +3588,7 @@ struct LfgDungeonsLoadInfo
{ true, FT_INT, "Flags2" },
};

static constexpr DB2LoadInfo Instance{ Fields, 32, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS };
static constexpr DB2LoadInfo Instance{ Fields, 35, &LFGDungeonsMeta::Instance, HOTFIX_SEL_LFG_DUNGEONS };
};

struct LightLoadInfo
Expand Down Expand Up @@ -3807,8 +3810,8 @@ struct MapDifficultyLoadInfo
{
static constexpr DB2FieldMeta Fields[12] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Message" },
{ false, FT_INT, "ID" },
{ true, FT_INT, "DifficultyID" },
{ true, FT_INT, "LockID" },
{ false, FT_BYTE, "ResetInterval" },
Expand Down Expand Up @@ -4142,11 +4145,13 @@ struct PhaseXPhaseGroupLoadInfo

struct PlayerConditionLoadInfo
{
static constexpr DB2FieldMeta Fields[160] =
static constexpr DB2FieldMeta Fields[162] =
{
{ false, FT_INT, "ID" },
{ true, FT_LONG, "RaceMask" },
{ false, FT_STRING, "FailureDescription" },
{ false, FT_SHORT, "MinLevel" },
{ false, FT_SHORT, "MaxLevel" },
{ true, FT_INT, "ClassMask" },
{ false, FT_INT, "SkillLogic" },
{ true, FT_INT, "LanguageID" },
Expand Down Expand Up @@ -4306,7 +4311,7 @@ struct PlayerConditionLoadInfo
{ false, FT_SHORT, "TraitNodeEntryMaxRank4" },
};

static constexpr DB2LoadInfo Instance{ Fields, 160, &PlayerConditionMeta::Instance, HOTFIX_SEL_PLAYER_CONDITION };
static constexpr DB2LoadInfo Instance{ Fields, 162, &PlayerConditionMeta::Instance, HOTFIX_SEL_PLAYER_CONDITION };
};

struct PowerDisplayLoadInfo
Expand Down Expand Up @@ -6636,7 +6641,7 @@ struct VehicleSeatLoadInfo

struct VignetteLoadInfo
{
static constexpr DB2FieldMeta Fields[11] =
static constexpr DB2FieldMeta Fields[13] =
{
{ false, FT_INT, "ID" },
{ false, FT_STRING, "Name" },
Expand All @@ -6649,9 +6654,11 @@ struct VignetteLoadInfo
{ true, FT_BYTE, "VignetteType" },
{ true, FT_INT, "RewardQuestID" },
{ true, FT_INT, "UiWidgetSetID" },
{ true, FT_INT, "UiMapPinInfoID" },
{ true, FT_BYTE, "ObjectiveType" },
};

static constexpr DB2LoadInfo Instance{ Fields, 11, &VignetteMeta::Instance, HOTFIX_SEL_VIGNETTE };
static constexpr DB2LoadInfo Instance{ Fields, 13, &VignetteMeta::Instance, HOTFIX_SEL_VIGNETTE };
};

struct WmoAreaTableLoadInfo
Expand Down
Loading

0 comments on commit 4f7079f

Please sign in to comment.