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
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
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
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
jackpoz
caae3886d2
Core/Misc: Remove whitespace at the end of lines
2020-04-05 19:11:00 +02: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
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
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
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
ForesterDev
e71773140c
Scripts/Commands: update .wp commands to use orientation field from DB (PR #23566 )
...
Closes #23330
2019-07-08 14:16:10 +02:00
zartech22
678e0e606a
Core/Instance : Fix instance resetting exploit ( #23263 )
...
* Push offline players out of instance
Push offline players out of instance when reseting dungeon with a raid mode group
* Add SQL request to character
Add a SQL request to update the position of a player in a specified map
* Teleport to graveyard instead
2019-06-22 19:23:42 +02:00
Giacomo Pozzoni
d5fb0a30ec
Core/CreatureTemplate: Outsourced resistances and spells into creatur… ( #23343 )
...
* Core/CreatureTemplate: Outsourced resistances and spells into creature_template_spell and creature_template_resistance
* Rename 2019_99_99_00_world.sql to 2019_06_15_01_world.sql
2019-06-15 14:46:31 +02:00
jackpoz
12de860b4a
Scirpts/Commands: Fix crash in ".reload creature_template <entry>"
2019-06-09 18:58:03 +02:00
jackpoz
f88a5b12bd
Core/Database: Delete gameobject_addon data when deleting a GameObject from the database
...
Close #23076
2019-04-17 21:01:32 +02:00
TheWinchesters
a0056951f7
[3.3.5] Commands: lookup player shows which character is online ( #23039 )
...
* Show 'online' for every online player in lookup player commands
2019-02-15 20:18:58 +01:00
Treeston
fcfcb0eb6f
Happy New Year, folks. It's 2019!
2019-01-01 15:45:25 +01:00
Ghaster
bf3ab6d9c4
Core/Creatures: Port trainer changes from master
...
Closes #20493
2018-12-30 19:51:36 +01:00
Shauren
be47254a4f
Core/Auras: Fixed saving auras with same spell id but different item source
2018-11-09 20:51:20 +01:00
jackpoz
7634a57f64
Core/SAI: Add a 4th target parameter to SAI
2018-09-21 17:56:20 +02:00
Kittnz
9f945d2f42
Core/Guild: Implement character gender and send in packet. ( #22436 )
...
Closes #22433
Credit xvwyh
2018-09-16 13:17:03 +02:00
Shauren
8411ec7ed6
Core/Players: Fixed saving quest item progress
2018-07-09 18:32:40 +02:00
Gooyeth
a3198cbddc
Typo fix contry -> country ( #22075 )
2018-06-23 02:30:26 +02:00
Gooyeth
2fe4ab94c5
Common: Replace ip2nation by ip2location. ( #21957 )
...
Replace ip2nation by ip2location.
Download: https://lite.ip2location.com/database/ip-country
2018-06-23 01:32:39 +02:00
Shauren
3eefbc9469
Core/DBLayer: Escape more keywords
2018-05-20 23:16:10 +02:00
Shauren
389092ab23
Core/DBLayer: Escape new mysql 8 keywords
2018-05-20 19:58:53 +02:00
Gooyeth
8cec3ffe43
Core/Player: Skip the cinematic of the first login if the character is teleported before. ( #21776 )
2018-04-27 09:41:50 +02:00
Gooyeth
768968f0c0
Core/Database: Add columns on *_banned ( #21748 )
...
* Add columns on ban character query
* Add columns on ban account query
2018-04-01 11:14:41 +02:00
Shauren
592516ae69
Core/Creatures: Reworked setting move types in database
...
* Each move type has its own field instead of trying to combine everything in InhabitType
* Allow overriding movement separately for each spawn
2018-03-08 23:13:51 +01:00
ariel-
cb9e72e521
Core/Auras: removed caster dependency from core
...
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813 ) crit handling
Closes #19876
2018-01-13 06:45:21 -03:00
jackpoz
1c60af6328
Core/SAI: Add a 5th parameter to SAI events
2018-01-12 20:17:53 +01:00
kelno
70eb18d0e5
Core/Creature: improve DB linked_respawn handling ( #21172 )
...
* Fixed SetCreatureLinkedRespawn function possible erasing/replacing a GameObject link (instead of a creature one)
2018-01-08 00:32:22 +01:00
tkrokli
f6b6f57a6d
Update copyright note for 2018
...
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
Wyreth
ae878e18ef
Core/Creature: implement school immunity for creatures in creature_template ( #20709 )
2017-12-17 16:29:22 +01:00
iridinite
9d454eb3df
[3.3.5] Core/AuctionHouse: Auction bidders ( #18328 )
...
* Save more auction bidders than the highest bidder only
2017-11-27 23:00:30 +01:00
r00ty-tc
59db2eeea0
Dynamic Creature/Go spawning:
...
- 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 .
2017-07-31 21:21:04 +02:00
ariel-
85a7d5ce9a
Core: ported headers cleanup from master branch
2017-06-19 23:20:06 -03:00
Chazy Chaz
d17a45ee7e
Core/Misc: Update locales_creature_text to simple system
2017-05-04 16:46:53 +02:00