Commit Graph

410 Commits

Author SHA1 Message Date
Shauren
fc37c42e55 Core/Misc: Added noexcept to move constructors and move assignment operators 2022-11-06 01:03:35 +01:00
Aqua Deus
4772c4817f Core/Garrisons: Implement SMSG_GARRISON_OPEN_TALENT_NPC opcode (#28256)
Co-authored-by: ModoX <moardox@gmail.com>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2022-10-11 22:16:02 +02:00
Shauren
ab12e77cf7 Core/Commands: Restore instance management commands 2022-10-04 00:19:38 +02:00
Shauren
4ce1c6cdf4 Core/Instances: Add prepared statements for InstanceLockMgr 2022-10-04 00:19:38 +02:00
Shauren
1e99011edf Core/Scenarios: Attempt to restore scenario state from completed encounter info 2022-10-04 00:19:38 +02:00
Shauren
461a9c024c Core/Instances: Remove old database statements (WIP) 2022-10-04 00:19:38 +02:00
Shauren
301572212f Core/Misc: Changed string formatting functions to accept std::string_view as format argument instead being templated on it to slightly improve compile times and reduce executable size 2022-09-19 00:33:19 +02:00
Shauren
8a183a6e5e Core/bnetserver: Implemented reconnecting with launcherlogin 2022-09-13 14:27:54 +02:00
daMaex
57dae92ed3 Fixed MariaDB build the easy way for the client version check (#28039)
depending on https://jira.mariadb.org/browse/CONC-509

(cherry picked from commit f922a7dff6)
2022-09-05 19:27:04 +02:00
daMaex
0a07f257f2 MariaDB support for Ubuntu 22.04 (#28031)
(cherry picked from commit bceb5b6060)
2022-09-05 18:34:50 +02:00
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