aboutsummaryrefslogtreecommitdiff
path: root/src/server/database
AgeCommit message (Collapse)Author
2021-01-22Core/Creature: Add new db field InteractionPauseTimer (#25880)Giacomo Pozzoni
* Core/Creature: Add new db field InteractionPauseTimer Add new db field InteractionPauseTimer to allow to define different interaction pause timers for each creature (the previous system was a global setting in worldserver.conf Creature.MovingStopTimeForPlayer) * Set all columns in creature_template_movement as optional (can be NULL, default NULL). Fill only the columns that should override the default C++ value * Use the InteractionPauseTimer value throughout the code instead of Creature.MovingStopTimeForPlayer * Handle InteractionPauseTimer set to 0 as "don't stop at all" * Implement InteractionPauseTimer in creature_movement_override creature_movement_override allows NULL values, in which case the values from creature_template_movement will be used for those columns that are NULL, falling back to default C++ values if creature_template_movement has NULL values too (or no rows for the creature) * Read default InteractionPauseTimer from worldserver.conf * Rename 2021_99_99_99_world.sql to 2021_01_22_00_world.sql
2021-01-03Core: whitespace cleanup, reduce double blank line to single (#25795)Kargatum
* Core/Misc: fix double empty line * worldserver.conf
2020-10-24Core/DBLayer: Fixed memory leaks with existing SQLQueryHolder uses and ↵Shauren
eliminated the possibilty of adding more in future (replaced manual memory management with smart pointers)
2020-09-27Core/Mail: Replaced blocking db query in mail sending with async versionShauren
2020-09-27Core/Auction House: Eliminate blocking db queries for account permissions ↵Shauren
when expiring auctions that have offline bidders
2020-09-201eca51b follow-up, nuke `command`.`permission` from orbit; it was only ↵Treeston
duplicating data already stored in the core.
2020-09-19Core/SAI: Add orientation and delay columns to waypoints table (#25472)Giacomo Pozzoni
* Core/SAI: Add orientation and delay columns to waypoints table * Rename 2020_99_99_99_world.sql to 2020_09_19_00_world.sql
2020-09-13Core/Characters: Replace 2 database statements with 1jackpoz
Replace DELETE + INSERT with REPLACE when updating realmcharacters table
2020-09-07Scripts/Commands: .character command conversionTreeston
2020-09-06Core/Authserver: Removal of sha_pass_hash, compatibility fields, and ↵Treeston
everything that uses them (PR #25156)
2020-09-05Core/Arena: Fix Arena.ArenaStartPersonalRating setting not having effect if ↵jackpoz
the player didn't do any arena match before next server restart Ref #16609
2020-08-28Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327)Treeston
2020-08-20Core/Misc: Remove NULLShauren
2020-08-16Core/Pets: Pet management refactoring (#25191)Shauren
* Core/Pets: Pet management refactoring * Preload basic pet data on character login with async query * Load additional pet data (declined names/auras/spells/cooldowns) using async query after we are sure pet loading will succeed * Remove all select queries related to pet stable/unstable * Remove all silent pet deletions except explicit UI-triggered abandons * Fixed displaying stable master content when current pet is not summoned * Allow to stable/swap unsummoned current pet Closes #3610 Closes #21266
2020-08-07Core/Updater: Fix detection of the mysql binary when a directory is given as ↵Carbenium
path This ensures that we never pass a directory path StartProcess which results in a crash. Closes #25216
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.
2020-08-03Core/Authserver: Validate length of session key field after ↵Shauren
bfb041246f5c7c499ff365b38a281b0784f0bdb7
2020-08-02Core/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)
2020-07-31Core/DBLayer: Add nicer api for SQLQueryHoldersShauren
2020-07-30Log sync db queries in World::Update() loop (#25174)Giacomo Pozzoni
* Core/Misc: Log sync queries on critical path * Fix build * Rename * Fix warning * Fix no-pch * Change WarnAboutSyncQueries() to be header-only
2020-07-30Core/Mail: Load mails at login instead of on demand when queried by packets ↵Shauren
(logging in always sends one of the packets that cause mail loading anyway)
2020-07-30Core/Mail: Refactor mail loading to execute 2 database queries instead of ↵Shauren
1+mails.size()
2020-07-30Core/Misc: Replace database query in WorldSession::HandleAddFriendOpcode ↵Shauren
with async version
2020-07-29Core/Authserver: Split SRP6 into its own file (PR #25131)Treeston
2020-07-26Core/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
2020-07-18Misc: Use [[fallthrough]] attribute instead of comment to mark intentional ↵Peter Keresztes Schmidt
fallthroughs (#25054) Related: #25006
2020-07-15Dep: Switch to boost process instead of old standalone versionShauren
2020-07-11Core/DBLayer: Fix build with TRINITY_STRICT_DATABASE_TYPE_CHECKSShauren
2020-07-10Core/DBLayer: Optimize string based query results by eliminating unneeded ↵Shauren
buffer copies (cherry picked from commit 59f1f60a8387479d93dc64e3ecc3a56b7f0cbf34) # Conflicts: # src/server/database/Database/Field.cpp # src/server/database/Database/Field.h # src/server/database/Database/QueryResult.cpp
2020-07-09Core/Database: Apply 54b0b8f5ead41f936b12e97d1b4fbacd9b89ab53 to ↵jackpoz
141ada19b00fb9d0dd1a260d86d97bbb709a0f5e
2020-06-24fixed indentation for cmake filesipriver
2020-06-23Core/Misc: Replace Trinity::make_unique with std (#24869)Peter Keresztes Schmidt
(cherry picked from commit bab5fd87a34d92737e92d0850be05890a5ce8e24)
2020-06-20DB/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>
2020-06-13Core/DBLayer: Fix build using TRINITY_DEBUGShauren
(cherry picked from commit d6d67a9766c7e6e07198f4f43e2f9d47be7e266d)
2020-05-30Cherry pick some db commits (#24713)Giacomo Pozzoni
* Core/DBLayer: Implement async transaction completion callbacks (cherry picked from commit 0f0ca3a9194d76afa0227943e86469ad8368c5e2) # Conflicts: # src/server/bnetserver/REST/LoginRESTService.cpp # src/server/bnetserver/Server/Session.cpp # src/server/bnetserver/Server/Session.h # src/server/database/Database/Transaction.cpp # src/server/game/Handlers/CharacterHandler.cpp # src/server/game/Handlers/SpellHandler.cpp # src/server/game/Server/WorldSession.cpp # src/server/game/Server/WorldSocket.cpp # src/server/game/Server/WorldSocket.h * Core/Misc: Fixed char enum packet sometimes not showing newly created character when client latency is too low (cherry picked from commit fc9d2e728e5c21bd2a1645a29be60d0e280ad940) # Conflicts: # src/server/game/Handlers/CharacterHandler.cpp * Fix no-pch build * Core/Player: Wait for correct transaction on character creation (cherry picked from commit 01c68b2aa2ed25ea9b4c007f238a0e958f6525b1) # Conflicts: # src/server/game/Entities/Player/Player.cpp * Fix warning * Remove unused login transaction Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-04-23Core/Database: fix wrong password logging (#24487)ForesterDev
2020-04-18Add realm ID for actions based ip logging (#24453)zartech22
* Update SQL queries to insert realm id * Insert the realm id when logging actions based on IP * Adding the SQL update file * Update 9999_99_99_99_auth.sql * Update auth structure Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-04-08Core/DBLayer: Fix compilation with mysql 8Shauren
2020-04-07Added the ability to use TLS when connecting to a database. (#24348)myuzhobcplidtkieno
* Added the ability to use TLS when connecting to a database. * Trying to kickstart CI checks * Revert the kickstart change Co-authored-by: myuzhobcplidtkieno <myuzhobcplidtkieno@github.com> Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2020-04-05Core/Misc: Remove whitespace at the end of linesjackpoz
2020-03-31Core/DBLayer: Remove unused class forward declarationsjackpoz
2020-03-31Core/DBLayer: Prevent mixing databases with query holdersShauren
(cherry picked from commit 13440434c34da28a5106af8419aabc8e5783faf0) # Conflicts: # src/server/game/Server/WorldSession.cpp # src/server/game/Server/WorldSession.h
2020-03-31Core/DBLayer: Prevent committing transactions started on a different databaseShauren
(cherry picked from commit f6e2b8cdc1c8a3dd291947f67566b41dac116622) # Conflicts: # src/server/bnetserver/REST/LoginRESTService.cpp # src/server/database/Database/DatabaseWorkerPool.cpp # src/server/database/Database/DatabaseWorkerPool.h # src/server/database/Database/Implementation/HotfixDatabase.h # src/server/database/Database/MySQLConnection.h # src/server/database/Database/Transaction.cpp # src/server/database/Database/Transaction.h # src/server/game/Achievements/AchievementMgr.cpp # src/server/game/Achievements/AchievementMgr.h # src/server/game/AuctionHouse/AuctionHouseMgr.cpp # src/server/game/AuctionHouse/AuctionHouseMgr.h # src/server/game/BattlePets/BattlePetMgr.cpp # src/server/game/BattlePets/BattlePetMgr.h # src/server/game/BlackMarket/BlackMarketMgr.cpp # src/server/game/BlackMarket/BlackMarketMgr.h # src/server/game/Entities/Creature/Creature.cpp # src/server/game/Entities/Item/Item.cpp # src/server/game/Entities/Item/Item.h # src/server/game/Entities/Player/CollectionMgr.cpp # src/server/game/Entities/Player/CollectionMgr.h # src/server/game/Entities/Player/Player.cpp # src/server/game/Entities/Player/Player.h # src/server/game/Garrison/Garrison.cpp # src/server/game/Garrison/Garrison.h # src/server/game/Groups/Group.cpp # src/server/game/Guilds/Guild.cpp # src/server/game/Guilds/Guild.h # src/server/game/Guilds/GuildFinderMgr.cpp # src/server/game/Handlers/BlackMarketHandler.cpp # src/server/game/Handlers/CalendarHandler.cpp # src/server/game/Handlers/CharacterHandler.cpp # src/server/game/Handlers/MailHandler.cpp # src/server/game/Handlers/PetHandler.cpp # src/server/game/Handlers/PetitionsHandler.cpp # src/server/game/Mails/Mail.cpp # src/server/game/Pools/PoolMgr.cpp # src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp # src/server/game/Quests/QuestObjectiveCriteriaMgr.h # src/server/game/Scenarios/InstanceScenario.cpp # src/server/game/Server/WorldSession.cpp # src/server/game/Server/WorldSession.h # src/server/game/Spells/SpellHistory.cpp # src/server/game/Support/SupportMgr.cpp # src/server/game/Tools/PlayerDump.cpp # src/server/scripts/Commands/cs_misc.cpp
2020-03-31Core/DBLayer: Prevent using prepared statements on wrong databaseShauren
(cherry picked from commit e8e89f58fb800014f53341f12505f60ee2b5fb6f) # Conflicts: # src/server/bnetserver/REST/LoginRESTService.cpp # src/server/bnetserver/Server/Session.cpp # src/server/database/Database/DatabaseWorkerPool.cpp # src/server/database/Database/Implementation/HotfixDatabase.h # src/server/database/Database/MySQLConnection.cpp # src/server/database/Database/MySQLConnection.h # src/server/database/Database/PreparedStatement.cpp # src/server/database/Database/PreparedStatement.h # src/server/database/Database/QueryHolder.cpp # src/server/database/Database/SQLOperation.h # src/server/database/Database/Transaction.h # src/server/game/Accounts/BattlenetAccountMgr.cpp # src/server/game/Achievements/AchievementMgr.cpp # src/server/game/AuctionHouse/AuctionHouseMgr.cpp # src/server/game/AuctionHouseBot/AuctionHouseBot.cpp # src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp # src/server/game/BattlePets/BattlePetMgr.cpp # src/server/game/Battlegrounds/ArenaTeam.cpp # src/server/game/BlackMarket/BlackMarketMgr.cpp # src/server/game/Chat/Channels/Channel.cpp # src/server/game/Entities/Corpse/Corpse.cpp # src/server/game/Entities/Creature/Creature.cpp # src/server/game/Entities/GameObject/GameObject.cpp # src/server/game/Entities/Item/Item.cpp # src/server/game/Entities/Pet/Pet.cpp # src/server/game/Entities/Player/CollectionMgr.cpp # src/server/game/Entities/Player/Player.cpp # src/server/game/Garrison/Garrison.cpp # src/server/game/Globals/ObjectMgr.cpp # src/server/game/Groups/Group.cpp # src/server/game/Guilds/Guild.cpp # src/server/game/Guilds/GuildFinderMgr.cpp # src/server/game/Guilds/GuildMgr.cpp # src/server/game/Handlers/AuctionHouseHandler.cpp # src/server/game/Handlers/CharacterHandler.cpp # src/server/game/Handlers/ItemHandler.cpp # src/server/game/Handlers/MailHandler.cpp # src/server/game/Handlers/MiscHandler.cpp # src/server/game/Handlers/PetitionsHandler.cpp # src/server/game/Handlers/SpellHandler.cpp # src/server/game/Handlers/TicketHandler.cpp # src/server/game/Loot/Loot.cpp # src/server/game/Mails/Mail.cpp # src/server/game/Maps/Map.cpp # src/server/game/Movement/Waypoints/WaypointManager.cpp # src/server/game/OutdoorPvP/OutdoorPvP.cpp # src/server/game/Pools/PoolMgr.cpp # src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp # src/server/game/Reputation/ReputationMgr.cpp # src/server/game/Scenarios/InstanceScenario.cpp # src/server/game/Server/WorldSession.cpp # src/server/game/Server/WorldSocket.cpp # src/server/game/Spells/SpellHistory.cpp # src/server/game/Support/SupportMgr.cpp # src/server/game/Tools/PlayerDump.cpp # src/server/game/World/World.cpp # src/server/scripts/Commands/cs_account.cpp # src/server/scripts/Commands/cs_ban.cpp # src/server/scripts/Commands/cs_battlenet_account.cpp # src/server/scripts/Commands/cs_group.cpp # src/server/scripts/Commands/cs_lfg.cpp # src/server/scripts/Commands/cs_list.cpp # src/server/scripts/Commands/cs_message.cpp # src/server/scripts/Commands/cs_misc.cpp # src/server/scripts/Commands/cs_npc.cpp # src/server/scripts/Commands/cs_tele.cpp # src/server/scripts/Commands/cs_wp.cpp # src/server/shared/DataStores/DB2DatabaseLoader.cpp # src/server/shared/Realm/RealmList.cpp
2020-03-05Core/Database: Fix build with Maria DB on some distros (#24248)Giacomo Pozzoni
2020-03-02Core/DBLayer: Use std::variant's stored type instead of relying on our own ↵Shauren
separate enum for prepared statement parameters
2020-03-02Core/DBLayer: Refactor PreparedStatement class to not depend on ↵Shauren
MySQLPreparedStatement
2020-03-01Core/Misc: Fix buildjackpoz
2020-02-29Replace MySQL prepared statement union with std::variant (#24158)Ujp8LfXBJ6wCPR
2020-02-29Part1: Modernize codebase with Clang-Tidy range based loops (#24164)Ujp8LfXBJ6wCPR