Commit Graph

952 Commits

Author SHA1 Message Date
Jan Van Buggenhout
c7e03e4cef Core/PacketIO: Change size of SMSG_AUTH_CHALLENGE WorldPacket from 37 to 40 in WorldSocket::HandleSendAuthSession (#25886) 2021-01-18 17:23:41 +01:00
Matan Shukry
cdfa85957e Core/logs: added xp info on login & logout (#25867)
* Core/logs: added xp info on login & logout

* - Moved getters to header
- Changed %s to %u

(cherry picked from commit bb24c6a11b)

# Conflicts:
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Server/WorldSession.cpp
2021-01-17 17:45:00 +01:00
Kargatum
a32b6b8ac4 Core: whitespace cleanup, reduce double blank line to single (#25795)
* Core/Misc: fix double empty line

* worldserver.conf
2021-01-03 11:47:07 +01:00
Shauren
53482f7299 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) 2020-10-24 17:37:24 +02:00
Shauren
7de23e4619 Warning fix 2020-09-27 18:52:13 +02:00
Shauren
93f6e7431a Core/PacketIO: Convert mail packets to classes 2020-09-27 15:29:32 +02:00
ForesterDev
2a91743d6c Core/PacketIO: Updated SMSG_CHAT_SERVER_MESSAGE (#25468)
* Core/PacketIO: Updated enabled SMSG_CHAT_SERVER_MESSAGE

(cherry picked from commit fc7014628a)

Co-authored-by: Vincent-Michael <Vincent_Michael@gmx.de>
2020-09-18 19:21:12 +02:00
Treeston
6b8f3d0f94 Core/Misc: Convert leftover DatabaseTransactions-by-reference (pass them by value!) 2020-09-09 23:25:26 +02:00
Treeston
cd28423a4e [3.3.5] Core/Guilds: Guild cleanup (PR #25422) 2020-09-09 20:38:04 +02:00
HelloKitty
c0d62fe0b3 Core/Addon: Correct Banned Addon length in SMSG_ADDON_INFO packet (#25424) 2020-09-09 10:29:28 +02:00
Shauren
bf7efe3ca0 Core/PacketIO: Fixed structure of "fake" SMSG_SPELL_GO sent when loading pets from db
Closes #25354
2020-08-28 23:59:17 +02:00
Shauren
be73959a0d Core/PacketIO: Fixed SMSG_QUEST_GIVER_QUEST_DETAILS structure 2020-08-27 17:06:09 +02:00
Shauren
ec783fcbb5 Core/Warden: Fix warden timeout ticking twice as fast as it should 2020-08-24 14:17:40 +02:00
NoName
01c7663bdd Core/PacketIO: Update SMSG_QUESTGIVER_OFFER_REWARD (#25251)
Co-authored-by: Carbenium <carbenium@outlook.com>
2020-08-19 14:47:55 +02:00
Treeston
f04f4e91ff Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent 2020-08-19 00:25: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
Peter Keresztes Schmidt
87211d9f4d Core/PacketIO: Update SMSG_QUESTGIVER_QUEST_DETAILS (#25232)
* Core/PacketIO: Update SMSG_QUESTGIVER_QUEST_DETAILS

* Core/PacketIO: Name RewardFactionFlags field of QuestInfo struct
2020-08-15 13:25:23 +02:00
Treeston
6116e5b385 Core/Warden: Warden refactors (PR #25235) 2020-08-11 18:04:36 +02:00
Shauren
e240e5936a Core/PacketIO: Name previously unknown fields in lfg packets 2020-08-06 22:08:21 +02:00
Ovahlord
86107584c0 Core/Packets: updated CMSG_LFG_JOIN and CMSG_LFG_LEAVE to new packet handling
(cherry picked from commit 6abeb36584)

# Conflicts:
#	src/server/game/Handlers/LFGHandler.cpp
#	src/server/game/Server/Packets/AllPackets.h
#	src/server/game/Server/WorldSession.h
#	src/server/game/Server/WorldSocket.cpp
2020-08-06 21:48:51 +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
Treeston
2059c32744 Build fix for certain compiler configurations on Linux. 7f7fa8b follow-up. 2020-07-30 16:52:55 +02:00
Treeston
7f7fa8b23d Core/Authserver: Split SRP6 into its own file (PR #25131) 2020-07-29 00:07:41 +02:00
Shauren
3ad05386c8 Core/Networking: Fixed authserver socket read handlers being called on incorrect thread 2020-07-28 19:44:38 +02:00
Giacomo Pozzoni
8a2c79c850 Core/Metric: Log detailed metrics about each opcode handler (#25153)
* Core/Metric: Log detailed metrics about each opcode handler

* Add new panel to Performance profiling dashboard and use fill(0) instead of fill(none)

* Add new settings Metric.Threshold.* to be able to specify the minimum threshold for the specified metrics

* Update dashboard

* Change thresholds to be required to send the metrics. A TC_METRIC_DETAILED_TIMER metric with an expected threshold not configured will be ignored

* Use typedef Milliseconds

* Refresh realms on load
2020-07-28 14:27:54 +02:00
Treeston
4f570e5d08 Core/Authserver: Auth cleanup phase 1b, the "I didn't hit Stage All" commit. Sorry. (5e36bf7 follow-up) 2020-07-26 05:20:41 +02:00
Treeston
210176fd91 Core/Authserver: Authserver cleanup (PR#25093)
- 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-26 01:53:34 +02:00
Shauren
83e0a1b944 Core/PacketIO: Fix broken CMSG_RESURRECT_RESPONSE structure after 9fe6756cf2 2020-07-17 21:06:45 +02:00
Treeston
896b68d5c2 Core/Time: Rename GetGameTime{System, Steady}Point methods
The names are a bit unhandy. Rename them (shorter but still meaningful).

GetGameTimeSystemPoint() -> GetSystemTime()
GetGameTimeSteadyPoint() -> Now()

Also add 2 new typedefs:

typedef std::chrono::steady_clock::time_point TimePoint;
typedef std::chrono::system_clock::time_point SystemTimePoint;

Closes #25042
2020-07-17 17:05:55 +02:00
NoName
9fe6756cf2 Core/PacketIO: Updated corpse related packet structures (#24922)
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Handlers/QueryHandler.cpp
#	src/server/game/Maps/MapManager.cpp
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/QueryPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Server/WorldSession.h

* + For SMSG_DEATH_RELEASE_LOC
G3D::Vector3 -> TaggedPosition<Position::XYZ>
+ removed non 3.3.5 packets

Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
Co-authored-by: Mogadischu <cgnad@live.de>
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-07-14 23:15:33 +02:00
Peter Keresztes Schmidt
c92950b3e1 Core/DataStores: Update DBC field names to generated ones (#24999) 2020-07-12 15:36:55 +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
jackpoz
adc7cd3cee Core/Misc: Fix static analysis issues reported by Coverity Scan 2020-06-03 20:49:31 +02:00
Shauren
0e9eb8e7f5 Core/PacketIO: Validate AddonInfo size
Closes #24734
2020-06-01 23:43:38 +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
f7ac6296b6 Core/PacketIO: Create BankHandler & update bank opcodes to new packet class (#24695)
* Core/PacketIO: Create BankHandler & update bank opcodes to new packet class

(cherry picked from commit 478e86c074)

* fix nopch build

* Update SMSG_BUY_BANK_SLOT_RESULT

* fix naming

* fix copypaste error

Co-authored-by: Luzifix <luzifix19@gmail.com>
2020-05-29 18:26:53 +02:00
Shauren
f0060496f9 Core/Networking: Switch to intrusive variant of MPSC queue to halve the number of memory allocations for packet sending (#24659) 2020-05-29 18:17:24 +02:00
NoName
1680f2221e Core/Misc: Sync some funcion names with master (#24683) 2020-05-24 21:56:34 +02:00
ForesterDev
84dad1b29b Core/Packets: updated CMSG_PLAYED_TIME, SMSG_PLAYED_TIME (#24674)
(cherry picked from commit 50b4a3a707)

# Conflicts:
#	src/server/game/Server/Packets/CharacterPackets.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/scripts/Northrend/Nexus/Nexus/nexus.h

Co-authored-by: MitchesD <majklprofik@seznam.cz>
2020-05-21 14:55:30 +02:00
ForesterDev
6caba62572 Core/PacketIO: updated some pet packets (#24531)
* Core/PacketIO: Updated and enabled CMSG_PET_ABANDON

(cherry picked from commit 0b76381283)

# Conflicts:
#	src/server/game/Handlers/PetHandler.cpp
#	src/server/game/Server/Packets/PetPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h

* Core/PacketIO: Updated and enabled CMSG_PET_STOP_ATTACK

(cherry picked from commit dea718e4ed)

# Conflicts:
#	src/server/game/Handlers/PetHandler.cpp
#	src/server/game/Server/Packets/PetPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h

* Core/PacketIO: Updated and enabled CMSG_PET_SPELL_AUTOCAST

(cherry picked from commit 1f8268c89c)

# Conflicts:
#	src/server/game/Handlers/PetHandler.cpp
#	src/server/game/Server/Packets/PetPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/WorldSession.h

* Core/PacketIO: Updated SMSG_PET_LEARNED_SPELL

* Core/PacketIO: Updated SMSG_PET_UNLEARNED_SPELL

* fix build

* Remove whitespaces

* Unify naming for PetGUID

* Initialize variables

Co-authored-by: Carbenium <carbenium@outlook.com>
2020-05-10 16:25:08 +02:00
ForesterDev
5eaf68670a Core/PacketIO: Updated logout opcodes (#24519)
(cherry picked from commit f59a701e29)

# Conflicts:
#	src/server/database/Database/Implementation/LoginDatabase.cpp
#	src/server/database/Database/Implementation/LoginDatabase.h
#	src/server/game/Handlers/MiscHandler.cpp
#	src/server/game/Server/Packets/AuthenticationPackets.cpp
#	src/server/game/Server/Packets/AuthenticationPackets.h
#	src/server/game/Server/Packets/CharacterPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
#	src/server/game/Server/WorldSocket.cpp

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-05-10 14:37:44 +02:00
ccrs
eedb2d3343 Build: fix nopch
hey there
2020-05-02 11:42:31 +02:00
NoName
c38a9d757d Core/Spells: implement SMSG_MOUNT_RESULT and use it for transformed mounting cases (#24507)
cherry-pick from fb0d2ed2b9

Co-authored-by: Ovah <dreadkiller@gmx.de>
2020-04-29 22:37:35 +02:00
Shauren
b4584ee323 Core/PacketIO: Fixed crash in TogglePvP::Read 2020-04-27 10:51:13 +02:00
ForesterDev
332b2f1f53 Core/PacketIO: updated CMSG_TOGGLE_PVP opcode (#24476)
* Core/PacketIO: updated CMSG_TOGGLE_PVP opcode

* Use Optional<T>.
Restore ApplyModFlag() code.

* Fix no-pch build

Co-authored-by: jackpoz <giacomopoz@gmail.com>
2020-04-26 22:10:07 +02:00
ForesterDev
c79b5f58e5 Core/PacketIO: updated SMSG_CROSSED_INEBRIATION_THRESHOLD (#24475)
(cherry picked from commit 9f4e4b9546)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Server/Packets/MiscPackets.cpp
#	src/server/game/Server/Packets/MiscPackets.h
#	src/server/game/Server/Protocol/Opcodes.cpp

Co-authored-by: MitchesD <majklprofik@seznam.cz>
2020-04-20 09:26:19 +02:00
ForesterDev
c0f516caee Core/Packets: updated MSG_RANDOM_ROLL (#24457)
(cherry picked from commit 5dddfbdb7b)

# Conflicts:
#	src/server/game/Handlers/ChatHandler.cpp
#	src/server/game/Handlers/GroupHandler.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h
#	src/server/game/Server/WorldSession.h

Co-authored-by: DJScias <djscias@gmail.com>
2020-04-18 14:28:07 +02:00
ForesterDev
b712222a08 Core/Packets: (#24441)
* SMSG_START_MIRROR_TIMER
* SMSG_STOP_MIRROR_TIMER
* SMSG_PAUSE_MIRROR_TIMER -- not used

(cherry picked from commit 79bbca0bbf)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Server/Protocol/Opcodes.cpp

Co-authored-by: Golrag <golrag.jeremy@gmail.com>
2020-04-14 14:15:20 +02:00
ForesterDev
c973c0260f Core/Packets: updated SMSG_LEVELUP_INFO (#24440)
* Core/Packets: updated & enabled SMSG_LEVELUP_INFO

(cherry picked from commit bf9024c34180b1e35afb3cc9ef4cf1f3133dedfd#gitext://gotocommit/bf9024c34180b1e35afb3cc9ef4cf1f3133dedfd)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Server/Protocol/Opcodes.cpp
#	src/server/game/Server/Protocol/Opcodes.h

* Remove empty line

* Remove whitespace

Co-authored-by: MitchesD <majklprofik@seznam.cz>
2020-04-14 14:06:16 +02:00