aboutsummaryrefslogtreecommitdiff
path: root/src/server/database
AgeCommit message (Collapse)Author
2020-08-22Dynamic Creature/Go spawning:r00ty-tc
- True blizzlike creature spawn/respawn behavior - new creature = new object - Toggleable spawn groups (with C++/SAI/command options to use them) - Custom feature: dynamic spawn rate scaling. Accelerates respawn rate based on players in the zone. - Backward compatibility mode (set via group and for summons) to support creatures/gos that currently don't work well with this (this should be removed once the exceptions are fixed) Fixes and closes #2858 Tags #8661 as fixable. Fixes and closes #13787 Fixes #15222. (cherry picked from commit 59db2eeea0a35028779fd76372ae06cc98c8086f)
2020-08-14Core/Misc: Replace NULL with nullptrShauren
2020-08-03Core/DB: Split `accounts`.`session_key` into `session_key_auth` (3.3.5) and ↵Treeston
`session_key_bnet` (master), so the branches will no longer break each other's realm switching. (cherry picked from commit 38de6d330711f0439d311a3c493cc82eaf9d09db)
2020-08-03Core/Authserver: Re-organize the `accounts` table (PR #25135)Treeston
- no longer use sha_pass_hash for anything else core-side (.account, SOAP, RA) - salt/verifier/session_key are now binary - old s/v/sha_pass_hash fields kept around for backwards compatibility - sha_pass_hash is still updated (for now), s/v are not - sha_pass_hash is only read if s/v have been manually changed - SRP6 b now uses the full 32 bytes of randomness (instead of randomly only using 19) (cherry picked from commit 3164b58c7d170810b69378950c0891e5f5b8678b)
2020-08-03Core/Authserver: Split SRP6 into its own file (PR #25131)Treeston
(cherry picked from commit 7f7fa8b23d71297f75ff4ca3c1d6e38333a5cc76)
2020-08-03Core/Authserver: Authserver cleanup (PR#25093)Treeston
- Fix a handful of 1/256 bugs with most significant byte zero in BigNumber - Get rid of (most of) the C-style arrays in authserver - CryptoRandom as a unified source for cryptographic randomness - Bring our other crypto APIs into 2020 - BigNumber usability improvements - Authserver is now actually readable as a result of all of the above (cherry picked from commit 210176fd915cf4ba16f428d3c1a249a71f4aa7a7)
2020-07-13Core/DataStores: Replace harcoded prepared statement offsets with named ↵Shauren
constants
2020-07-05Core/DBLayer: Optimize string based query results by eliminating unneeded ↵Shauren
buffer copies
2020-06-23Core/Misc: Replace Trinity::make_unique with std (#24869)Peter Keresztes Schmidt
2020-06-22DB/Account: update account_access table (#24788)ForesterDev
* DB/Account: update account_access table: - rename fields id -> AccountID, gmlevel -> SecurityLevel - add Comment field - rename command .acc set gmlevel to .acc set seclevel * Update auth database * Fix primary key * Temporary restore old command account set gmlevel with same handler as account set seclevel Use Optional for realmID - if not set, use -1 (for all realms) * Rename 2020_XX_XX_00_auth.sql to 2020_06_20_00_auth.sql * Update auth_database.sql * Rename 2020_XX_XX_00_world.sql to 2020_06_20_06_world.sql Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com> (cherry picked from commit 8e0365d8a6ca5628ad17e6684743d9ab2138c068)
2020-06-13Core/Items: Implemented corruption and corruption resistance statsShauren
2020-06-12Core/Spells: Implement using different difficulty data from all spell ↵Shauren
related db2s, not just SpellEffect and SpellPower
2020-06-06Core/DataStores: Allow custom hotfixes (VerifiedBuild <= 0, has loading ↵Shauren
priority) to coexist with sniffed data (VerifiedBuild > 0)
2020-06-04Core/Misc: Ensure that query used for .reload creature_template command ↵Shauren
always matches the one used for loading during startup
2020-05-21Core/Misc: GCC build and warning fixesShauren
2020-05-02Core/Creatures: Fixed level 240 guards and updated scaling level calculationShauren
2020-04-27Core/Instance: stop updating the instance resettimes based on creature respawnsariel-
- Rather update normal instance reset time to 2 hours after last creature kill - This fixes yet another integer overflow due to the possibility of having time_t max showing up - Also change respawntime and resettime fields to bigint on respawn/instance related tables - Start using prepared statements on the InstanceSaveMgr (cherry picked from commit 4c593f12caa162c1bfb831bdbed934bb39155ddb)
2020-04-27Core/Loot: implement Loot Item Storage (#19018)xinef1
* Created Item Loot Storage, no more synchronous DB selects * Fixed buyback case, where stored loot was not removed from db * Added Primary key, and changed field types to be unsigned for table item_loot_money (cherry picked from commit 9dc3de10f0044c35a95e9b72e7b874f4b5b8e867)
2020-04-25Core/DataStores: Speedup loading hotfix database and change hotfix database ↵Shauren
character set to utf8mb4
2020-04-25Core/DBLayer: Fix build using TRINITY_DEBUGShauren
2020-04-20Core/AuctionHouse: After taking a break at the start of patch 8.3 auction ↵Shauren
house is now back in business.
2020-04-14Core/DBLayer: Implement async transaction completion callbacksShauren
2020-03-26Core/DataStore: Load ItemNameDescriptionShauren
2020-02-17Core/DataStores: Updated db2 structures to 8.3.0Shauren
2020-01-08Core/Misc: Fix build using WITH_COREDEBUGShauren
2020-01-02New YearAokromes
2019-12-05Core/Items: Implement azerite empowered itemsShauren
2019-11-30Core/Spells: Fixed value of aura effects for stat mod auras applied by itemsShauren
2019-11-23Core/Mail: Mark mail item loading prepared statements as synchronous, not ↵Shauren
async queries Closes #23935
2019-11-23Core/Mail: Fix copypaste mistake in prepared statementsShauren
Closes #23934
2019-11-22Core/Items: Implement azerite essencesShauren
* Implement inspecting heart of azeroth data * Fixed heart of azeroth item level - bonuses now apply
2019-11-19Core/Items: Refactor loading additional item data (artifacts/azerite)Shauren
2019-11-16Core/Players: Fixed crash when deleting from dbShauren
Closes #23921
2019-11-12Core/Items: Implemented AzeriteItemShauren
2019-11-11Code/DataStores: Fixed spell_misc hotfix queryShauren
2019-11-04Build fixShauren
2019-11-04Fix dynamic linking builds for msvcShauren
2019-11-03Core/RaF: Remove level granting (new RaF doesn't support this)Shauren
2019-11-03Core/DBUpdater: Fixed db updater for mysql 8 on windows using named pipe ↵Shauren
connections
2019-11-01Core/DBLayer: Support using mysql 8Shauren
2019-11-01Core/DBLayer: Escape mysql 8 keywordsShauren
2019-10-27Core/DataStores: Updated db2 structures to 8.2.5Shauren
2019-09-01Core/SmartScripts: implement SMART_ACTION_PLAY_SPELL_VISUAL_KIT (#23737)Lopfest
2019-08-24Core/DataStores: Implemented WorldStateExpressionTraesh
2019-08-17Core/Database: Prepared statement parameter preallocation (#18999)ariel-
- Pass prepared statement size to the helper class to prevent runtime resizing. - Rename CheckValidIndex -> AssertValidIndex - Cached prepared size on the worker pool as it's shared among all connections - Cached query data only for each connection, done lookup in map instead of possibly creating a new element - Kill the prepared statement map, and store raw sql string on the MySQLPreparedStatement class (This info is only used for logging, and there is no need of keeping a second container just for it) (cherrypicked from affee140c6a8e1e9358be2aa0d0088ede218acaa)
2019-07-27Core/DBLayer: Prevent mixing databases with query holdersShauren
2019-07-27Core/DBLayer: Prevent committing transactions started on a different databaseShauren
2019-07-27Core/DBLayer: Prevent using prepared statements on wrong databaseShauren
2019-07-21Core/Server: fix duplicated inserts into tutorials table for newly created ↵ariel-
characters (cherrypicked from 60dd803bbe01283b15e2b2c5b02d8f857b96745a)
2019-07-21Few small optimizations here and there (#18684)xinef1
Changes list: - Added CharacterGuidByNameContainer which contains name -> guid unordered map (updated along CharacterInfo) - Extended CharacterInfo structure with GuildId - Extended CharacterInfo structure with ArenaTeamId[3], for all possible teams (2v2, 3v3, 5v5) - Removed CHAR_SEL_GUID_BY_NAME and CHAR_SEL_CHAR_GUID_BY_NAME synchronous queries, name -> guid can be now retrieved in World::GetCharacterGuidByName - Removed CHAR_SEL_GUID_RACE_ACC_BY_NAME synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid - Removed CHAR_SEL_CHAR_LEVEL synchronous query, level can be retrieved by guid - Changed CHAR_SEL_CHARACTER_ACTIONS_SPEC to asynchronous query, action bars are now loaded asynchronously - Removed CHAR_SEL_CHARACTER_NAME_CLASS synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid - Removed CHAR_SEL_PLAYER_ARENA_TEAMS and CHAR_SEL_ARENA_TEAM_ID_BY_PLAYER_GUID synchronous queries, arena teams are now stored in CharacterInfo - Replaced synchronous db calls with CharacterInfo lookups - Removed ObjectMgr::GetPlayerGUIDByName, as it used db query - Replaced some unnecessary UpdateObjectVisibility() calls because they were either duplicated (called few lines above in other function) or it is enough to call DestroyForNearbyPlayers because object is being removed or should be invisible and DestroyForNearbyPlayers is faster - Corrected typo in Player::DestroyForPlayer, only items in slots 0 to EQUIPMENT_SLOT_END are sent to other players - Renamed Player::GetGuildIdFromDB to Player::GetGuildIdFromCharacterInfo and changed the function to use CharacterInfo structure - Renamed Player::GetArenaTeamIdFromDB to Player::GetArenaTeamIdFromCharacterInfo and changed the function to use CharacterInfo structure - Renamed Player::GetLevelFromDB to Player::GetLevelFromCharacterInfo and changed the function to use CharacterInfo structure - Removed GameEventMgr::_questToEventLinks and associated functions, eventId is now stored in Quest class under _eventIdForQuest variable - Changed some functions checking quest status to use other functions for quest status check instead of duplicating code - Removed callback from add friend, because we can get the guid from appropriate storage, no need to make db query - Removed callback from add ignore, because we can get the guid from appropriate storage, no need to make db query - Added callback to unwrap wrapped items asynchronously - Removed synchronous select in tutorials to check if we have any entries in db, if any entry exists in db, m_TutorialsChanged variable will have TUTORIALS_FLAG_LOADED_FROM_DB flag added and it is no longer necessary to query database (cherrypicked from b955456008191e60b6bda1f22e3486a3792b08db)