Treeston
00dd337b5d
Scripts/Commands: .character command conversion
2020-09-07 15:38:23 +02:00
Treeston
bcdbdd6f23
Core/Authserver: Removal of sha_pass_hash, compatibility fields, and everything that uses them (PR #25156 )
2020-09-06 16:04:10 +02:00
jackpoz
cc64762f06
Core/Arena: Fix Arena.ArenaStartPersonalRating setting not having effect if the player didn't do any arena match before next server restart
...
Ref #16609
2020-09-05 22:03:26 +02:00
Treeston
534a2388b7
Core/Common: Tokenizer -> Trinity::Tokenize (PR: #25327 )
2020-08-28 00:11:16 +02:00
Shauren
89fd7d4592
Core/Misc: Remove NULL
2020-08-20 16:04:44 +02:00
Shauren
5c1fc5e387
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
2020-08-16 21:39:25 +02:00
Treeston
38de6d3307
Core/DB: Split accounts.session_key into session_key_auth (3.3.5) and session_key_bnet (master), so the branches will no longer break each other's realm switching.
2020-08-03 18:53:00 +02:00
Shauren
65e3b3cf0d
Core/Authserver: Validate length of session key field after bfb041246f
2020-08-03 15:14:40 +02:00
Treeston
3164b58c7d
Core/Authserver: Re-organize the accounts table (PR #25135 )
...
- 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-08-02 22:52:21 +02:00
Shauren
9b806c6b5d
Core/DBLayer: Add nicer api for SQLQueryHolders
2020-07-31 23:27:26 +02:00
Giacomo Pozzoni
deceb11b5f
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
2020-07-30 21:42:27 +02:00
Shauren
57eaab80d9
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)
2020-07-30 20:38:04 +02:00
Shauren
e94350fcc3
Core/Mail: Refactor mail loading to execute 2 database queries instead of 1+mails.size()
2020-07-30 19:50:24 +02:00
Shauren
2f0893d279
Core/Misc: Replace database query in WorldSession::HandleAddFriendOpcode with async version
2020-07-30 17:41:20 +02:00
Treeston
7f7fa8b23d
Core/Authserver: Split SRP6 into its own file (PR #25131 )
2020-07-29 00:07:41 +02:00
Peter Keresztes Schmidt
85b5b842ca
Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs ( #25054 )
...
Related: #25006
2020-07-18 20:42:28 +02:00
Shauren
dc71bd466f
Core/DBLayer: Fix build with TRINITY_STRICT_DATABASE_TYPE_CHECKS
2020-07-11 10:58:25 +02:00
Shauren
c317f248bf
Core/DBLayer: Optimize string based query results by eliminating unneeded buffer copies
...
(cherry picked from commit 59f1f60a83 )
# Conflicts:
# src/server/database/Database/Field.cpp
# src/server/database/Database/Field.h
# src/server/database/Database/QueryResult.cpp
2020-07-10 22:47:04 +02:00
jackpoz
f10b9d617a
Core/Database: Apply 54b0b8f5ea to 141ada19b0
2020-07-09 22:37:23 +02:00
Peter Keresztes Schmidt
b210bb3713
Core/Misc: Replace Trinity::make_unique with std ( #24869 )
...
(cherry picked from commit bab5fd87a3 )
2020-06-23 18:03:16 +02:00
ForesterDev
8e0365d8a6
DB/Account: update account_access table ( #24788 )
...
* 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-20 21:49:18 +02:00
Shauren
6a1cb348c7
Core/DBLayer: Fix build using TRINITY_DEBUG
...
(cherry picked from commit d6d67a9766 )
2020-06-13 21:25:42 +02:00
Giacomo Pozzoni
141ada19b0
Cherry pick some db commits ( #24713 )
...
* Core/DBLayer: Implement async transaction completion callbacks
(cherry picked from commit 0f0ca3a919 )
# 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 fc9d2e728e )
# Conflicts:
# src/server/game/Handlers/CharacterHandler.cpp
* Fix no-pch build
* Core/Player: Wait for correct transaction on character creation
(cherry picked from commit 01c68b2aa2 )
# Conflicts:
# src/server/game/Entities/Player/Player.cpp
* Fix warning
* Remove unused login transaction
Co-authored-by: Shauren <shauren.trinity@gmail.com >
2020-05-30 17:43:54 +02:00
ForesterDev
48c700347c
Core/Database: fix wrong password logging ( #24487 )
2020-04-23 10:54:45 +02:00
zartech22
56f20d69a6
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 >
2020-04-18 14:26:05 +02:00
Shauren
579d41acc5
Core/DBLayer: Fix compilation with mysql 8
2020-04-08 09:44:52 +02:00
myuzhobcplidtkieno
ae553f8966
Added the ability to use TLS when connecting to a database. ( #24348 )
...
* 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-07 22:08:28 +02:00
jackpoz
caae3886d2
Core/Misc: Remove whitespace at the end of lines
2020-04-05 19:11:00 +02:00
jackpoz
ac61dc6153
Core/DBLayer: Remove unused class forward declarations
2020-03-31 22:13:09 +02:00
Shauren
f7a67099d4
Core/DBLayer: Prevent mixing databases with query holders
...
(cherry picked from commit 13440434c3 )
# Conflicts:
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSession.h
2020-03-31 13:42:01 +00:00
Shauren
635b8d52d5
Core/DBLayer: Prevent committing transactions started on a different database
...
(cherry picked from commit f6e2b8cdc1 )
# 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-31 13:42:01 +00:00
Shauren
fe1003bdbd
Core/DBLayer: Prevent using prepared statements on wrong database
...
(cherry picked from commit e8e89f58fb )
# 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-31 13:42:01 +00:00
Giacomo Pozzoni
0752584856
Core/Database: Fix build with Maria DB on some distros ( #24248 )
2020-03-05 20:16:49 +01:00
Shauren
3048203855
Core/DBLayer: Use std::variant's stored type instead of relying on our own separate enum for prepared statement parameters
2020-03-02 22:51:18 +01:00
Shauren
5b0a32d164
Core/DBLayer: Refactor PreparedStatement class to not depend on MySQLPreparedStatement
2020-03-02 19:40:59 +01:00
jackpoz
9ba4694ff2
Core/Misc: Fix build
2020-03-01 19:23:48 +01:00
Ujp8LfXBJ6wCPR
3ebcb71c3d
Replace MySQL prepared statement union with std::variant ( #24158 )
2020-02-29 17:14:15 +01:00
Ujp8LfXBJ6wCPR
fb75a958f0
Part1: Modernize codebase with Clang-Tidy range based loops ( #24164 )
2020-02-29 13:20:05 +01:00
ratkosrb
6176ce92ea
Core/Creature: Use proper name for wander distance. ( #24133 )
...
* Use proper name for wander distance.
* Rename db field.
* Fix query.
* Remove underscore from chat command.
* Rename the handler too.
* Update chat command description.
* Fix remaining issues.
* Rename 2020_99_99_99_world_335.sql to 2020_02_16_01_world.sql
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com >
2020-02-16 13:36:56 +01:00
Aokromes
ed93932537
New year
...
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
Shauren
4710a3f6c1
Build fix - include went missing when resolving merge conflicts
2019-11-09 14:03:57 +01:00
Shauren
11ed9d7963
Build fix
...
(cherry picked from commit 7c168fb6eb )
2019-11-09 13:49:31 +01:00
Shauren
23afc545f1
Fix dynamic linking builds for msvc
...
(cherry picked from commit a6635436ce )
2019-11-09 13:49:31 +01:00
Shauren
5f06c476f6
Core/DBLayer: Support using mysql 8
...
(cherry picked from commit c3a9d56b56 )
2019-11-09 13:49:27 +01:00
Treeston
4211645834
[3.3.5] Core/Authserver: TOTP rewrite: (PR #23633 )
...
- Proper management commands (.account 2fa)
- Secrets can now be encrypted (set TOTPTokenSecret in .conf)
- Secret now stored in binary
- Argon2 and AES primitives
- Base32/64 support
2019-08-10 21:34:51 +02:00
Treeston
a5e73e41c0
Core/Pooling: Quest pooling rewrite: (PR#23627)
...
- Split quest pooling from PoolMgr (into QuestPoolMgr)
- Proper saving/restoring on server restart
- No more hacking into sObjectMgr to insert/remove available quests
2019-08-04 12:22:57 +02:00
Treeston
fedf1f557b
Core/Chat: Custom channel preservation rewrite. Channel data is now loaded at startup, and written to the DB periodically, instead of both things happening in real time.
2019-08-01 23:42:14 +02:00
Treeston
374597c8e9
Core/DB: Unify creature_respawn and gameobject_respawn into a single respawn table
2019-07-14 18:49:38 +02:00
Shauren
eed9267685
Core/DB: Improved terrible assertion message
2019-07-14 12:06:43 +02:00
Treeston
daf423a6c3
Scripts/Commands: .account ban no longer fails if an account containing the specified account name is already banned (f.ex. attempting to ban 'test' if 'test2' is already banned) - closes #22990
2019-07-12 13:37:27 +02:00