Commit Graph

400 Commits

Author SHA1 Message Date
Shauren
e487d78ba7 Core/WorldStates: Move custom worldstates to separate table and move saving worldstate values to WorldStateMgr 2022-07-14 22:32:21 +02:00
Shauren
49ad0d2d49 Core/Quests: Reset seasonal quests based on saved completion time and intended holiday start time 2022-07-03 23:44:48 +02:00
fluxurion
125ada42f6 Core/Transmog: Implemented Transmog Illusions + Spelleffect to unlock them 2022-06-09 21:27:02 +02:00
Shauren
6c8ef045a5 Core/DataStores: Updated structures to 9.2.5 2022-06-02 00:48:57 +02:00
Shauren
d3c4216de8 Core/PacketIO: Updated packet structures to 9.2.5 2022-06-01 23:13:29 +02:00
Giacomo Pozzoni
b7addbafe8 Core/DB: Improve MySQL version check messages (#26866)
* Core/DB: Improve MySQL version check messages

* Make it more clear that any version above the required one is supported

* Implement feedback

(cherry picked from commit d9a0db79a8)
2022-03-13 22:37:07 +01:00
Kelno
6b8d03d71e Don't count character pending deletion towards character per account limit (#26837)
* Don't count character pending deletion towards character per account limit

* Never show more than 10 characters char enum

* Use constants

(cherry picked from commit e2f20aff8a)
2022-03-13 14:27:10 +01:00
Aokromes
0a77534245 Core/DB: Updated missing check (#26834)
* Core/DB: Updated missing check

TrinityCore does not support MySQL versions below 5.7, please update your MySQL server

(cherry picked from commit 3c84972a36)
2022-03-13 14:05:23 +01:00
Giacomo Pozzoni
51f0294c18 Core/DBLayer: Add QueueSize() method (#26733)
* Core/DBLayer: Add QueueSize() method

Add QueueSize() method to database objects (Login, Character and World) that returns how many tasks are queued.
Include the queue size of the 3 databases in ".server debug" command

* Make the code less threadsafe

* Send data to InfluxDB

* Update grafana dashboard

(cherry picked from commit 96dc110f4a)
2022-03-11 19:32:22 +01:00
robinsch
0910bca34c [Exploit/Dupe] Container item (#26689)
* Core/Item: Fixed possible dupe with container items containing non unique non stackable items

* Fixed build

* Update sql script and related base structure

Co-authored-by: jackpoz <giacomopoz@gmail.com>
(cherry picked from commit d1e913162e)
2022-03-11 19:03:12 +01:00
Ovahlord
209b90cfdd Core/DBLayer: escape MySQL keywords in page_text, page_text_locale, broadcast_text and broadcast_text_locale select queries
(cherry picked from commit d4f71131f0)

(cherry picked from commit edcaac6c95)
2022-03-09 15:30:23 +01:00
Giacomo Pozzoni
5180abfb19 Core/Creature: Add new db field InteractionPauseTimer (#25880)
* 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

(cherry picked from commit a22bc236eb)
2022-03-06 00:56:46 +01:00
Kargatum
373ed8f46b Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf

(cherry picked from commit a32b6b8ac4)
2022-03-05 20:07:57 +01:00
Shauren
357147834e Core/DBLayer: Fixed memory leaks with existing SQLQueryHolder uses and eliminated the possibilty of adding more in future (replaced manual memory management with smart pointers)
(cherry picked from commit 53482f7299)
2022-02-28 22:41:36 +01:00
Shauren
081fa7cfc4 Core/Mail: Replaced blocking db query in mail sending with async version
(cherry picked from commit 0a9e239c12)
2022-02-28 13:56:45 +01:00
Shauren
569b5d6f04 Core/Auction House: Eliminate blocking db queries for account permissions when expiring auctions that have offline bidders
(cherry picked from commit d0d0f51f32)
2022-02-28 12:45:06 +01:00
Treeston
46d4e2fa83 1eca51b follow-up, nuke command.permission from orbit; it was only duplicating data already stored in the core.
(cherry picked from commit 991dc8e050)
2022-02-27 20:59:19 +01:00
Giacomo Pozzoni
a65b3493a7 Core/SAI: Add orientation and delay columns to waypoints table (#25472)
* Core/SAI: Add orientation and delay columns to waypoints table

* Rename 2020_99_99_99_world.sql to 2020_09_19_00_world.sql

(cherry picked from commit 4b7d19c91b)
2022-02-27 20:08:41 +01:00
Shauren
7fbdd6473e Core/DataStores: Updated db2 structures to 9.2.0 2022-02-25 11:40:20 +01:00
Shauren
439b027d48 Core/Misc: Cleanup unused includes 2022-02-13 15:07:00 +01:00
Shauren
fe8c1ac7ac Core/Misc: database PCH tuning 2022-02-11 23:37:22 +01:00
Shauren
cbcd149ce5 Core/Misc: Explicitly include required headers instead of relying on them to be included by other headers 2022-02-11 14:33:35 +01:00
Meji
fa3cba3a00 Core/BattlePets: Delete declined names of non-account battle pets when deleting character permanently (#27706) 2022-02-06 21:46:28 +01:00
jackpoz
8cbc21120f Core/Characters: Replace 2 database statements with 1
Replace DELETE + INSERT with REPLACE when updating realmcharacters table

(cherry picked from commit a33ff74d92)
2022-02-06 00:15:31 +01:00
Treeston
1e9d60b4ac Scripts/Commands: .character command conversion
(cherry picked from commit 00dd337b5d)
2022-02-05 14:44:01 +01:00
Treeston
e0e3bae82c Core/Authserver: Removal of sha_pass_hash, compatibility fields, and everything that uses them (PR #25156)
(cherry picked from commit bcdbdd6f23)
2022-02-05 13:29:21 +01:00
jackpoz
341ef2c0dd Core/Arena: Fix Arena.ArenaStartPersonalRating setting not having effect if the player didn't do any arena match before next server restart
Ref #16609

(cherry picked from commit cc64762f06)
2022-02-05 13:08:08 +01:00
Treeston
9f97fdd31a Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327)
(cherry picked from commit 534a2388b7)
2022-02-04 00:27:14 +01:00
Shauren
950db60435 Core/Pets: Updated pet summoning for latest client version (5 Call Pet spells and stable size 200) 2022-02-02 00:08:37 +01:00
Shauren
fd9eb28322 Core/Pets: Adjust pet slot saving logic after constant changes in 22e823b5f9 2022-01-31 23:30:00 +01:00
Shauren
8349444749 Core/Pets: Save last summoned pet number in characters table 2022-01-31 21:34:48 +01:00
Shauren
e458144442 Core/Pets: Removed storing stable slot count in db 2022-01-31 14:34:05 +01:00
Shauren
ca92686b44 Core/Pets: Pet management refactoring (#25191)
* 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

(cherry picked from commit 5c1fc5e387)
2022-01-31 00:17:21 +01:00
Shauren
b79a91039b Core/DBUpdater: Apply each sql update file in a separate transaction 2022-01-30 15:50:35 +01:00
Carbenium
d6c998a1a8 Core/Updater: Fix detection of the mysql binary when a directory is given as path
This ensures that we never pass a directory path StartProcess which results in a crash.

Closes #25216

(cherry picked from commit 98b1b20d6b)
2022-01-26 18:41:14 +01:00
Shauren
d5dcf02196 Core/DBLayer: Add nicer api for SQLQueryHolders
(cherry picked from commit 9b806c6b5d)
2022-01-24 21:21:37 +01:00
Giacomo Pozzoni
736b9ac112 Log sync db queries in World::Update() loop (#25174)
* Core/Misc: Log sync queries on critical path

* Fix build

* Rename

* Fix warning

* Fix no-pch

* Change WarnAboutSyncQueries() to be header-only

(cherry picked from commit deceb11b5f)
2022-01-24 14:58:08 +01:00
Shauren
a9b4f9aca0 Core/Mail: Load mails at login instead of on demand when queried by packets (logging in always sends one of the packets that cause mail loading anyway)
(cherry picked from commit 57eaab80d9)
2022-01-24 14:45:54 +01:00
Shauren
54a6e603ff Core/Misc: Replace database query in WorldSession::HandleAddFriendOpcode with async version
(cherry picked from commit 2f0893d279)
2022-01-24 13:38:40 +01:00
Peter Keresztes Schmidt
ad340466d0 Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs (#25054)
Related: #25006
(cherry picked from commit 85b5b842ca)
2022-01-23 22:02:03 +01:00
Shauren
2b312c7bd2 Dep: Switch to boost process instead of old standalone version
(cherry picked from commit 524d167398)
2022-01-23 20:39:15 +01:00
Giacomo Pozzoni
e9cf3828ba Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23) (#24997)
* Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23)

Original research by @xvwyh.

* Add missing sql update

* Fix some build errors

* Remove unused enum values

* Change artkits from 0-4 to 0-3

* Remove unused code

* Code review feedback

* Fix sql

* Remove artkit4 special case handling

* Default initialize artKits

* Code review feedback

* Split sql into structure and data files

Co-authored-by: Warpten <vertozor@gmail.com>
(cherry picked from commit 203573db83)
2022-01-23 15:17:54 +01:00
Shauren
6ce56e8137 Core/DBLayer: Fixed false positive msvc analysis warning 2022-01-22 01:11:16 +01:00
Shauren
f2bde40922 Core/DataStores: Load UnitCondition.db2 2022-01-14 20:10:16 +01:00
Shauren
0d3235f569 Core/Guilds: Separate guild rank id from guild rank order
Co-authored-by: aquadeus <efectokoleos13@gmail.com>
2022-01-09 23:12:00 +01:00
ipriver
bde36062b7 fixed indentation for cmake files
(cherry picked from commit a46d047f94)
2022-01-06 23:40:39 +01:00
ForesterDev
69cadae38a DB/Account: update account_access table cherry-pick take 2 (with refactors)
(cherry picked from commit 8e0365d8a6)
2022-01-06 23:28:52 +01:00
ForesterDev
6bddc8ff5e Core/Database: fix wrong password logging (#24487)
(cherry picked from commit 48c700347c)
2022-01-01 20:13:25 +01:00
zartech22
c57c26d7fb Add realm ID for actions based ip logging (#24453)
* 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>
(cherry picked from commit 56f20d69a6)
2022-01-01 19:38:40 +01:00
kvolk2git
285e3a1ed2 Core/DBUpdater: Fixed db auto updater for mysql 8 when ssl connections are enabled (#27298)
(cherry picked from commit 57617e215b)
2022-01-01 01:11:58 +01:00