Commit Graph
452 Commits
Author SHA1 Message Date
ModoX 26fc144191 Core/AreaTriggers: Handle exit areatrigger on player map change (#31077) 2025-09-03 21:45:38 +02:00
Shauren 5cf0c6c8bb Core: Updated to 11.2.0 2025-08-13 00:31:39 +02:00
Shauren 60400d25f5 Core/Players: Implemented PlayerDataElementAccount, PlayerDataElementCharacter, PlayerDataFlagAccount and PlayerDataFlagCharacter 2025-06-27 15:29:30 +02:00
Shauren b7122c2f6a Core/PacketIO: Migration to PacketUtilities bit/string operations part 3 2025-05-22 13:46:45 +02:00
Shauren 17a783ce45 Core/Misc: Fixed some uninitialized variables 2025-05-19 15:54:59 +02:00
Shauren cb837ce926 Core/World: Move linking instance socket to WorldSession 2025-05-08 14:30:42 +02:00
Shauren 821ecf8fa3 Core/Players: Improve setting ActivePlayerData::TransportServerTime by including TIME_SYNC and CMSG_QUEUED_MESSAGES_END values in its calculation
* This removes delay on nearby object visibility after login and teleport
2025-04-16 16:16:49 +02:00
Shauren 29e0327076 Core/Players: Implement warband scene collection 2025-03-04 13:52:20 +01:00
Shauren 039acb20e4 Core/Network: Simplify worldserver port configuration: removed InstanceServerPort 2025-01-07 13:41:09 +01:00
Shauren c522e5f4c2 Core/Misc: Support IPv6 ip2location 2024-11-14 00:13:18 +01:00
Shauren af4dcc93ed Core/Networking: Support IPv6 2024-11-12 13:54:43 +01:00
Shauren ac7a95b45c Core/PacketIO: Update opcodes for 11.0.5 2024-10-30 14:40:36 +01:00
Shauren 8e15952659 Core/Auth: Refactor client auth key storage to support more future client variants and preserve more information about client version 2024-08-29 15:08:47 +02:00
Shauren c4b710446d Core/Realms: Realmlist refactors
* Removed global realm variable from World and use RealmList everywhere
* Match auth build key with client version
* Restored allowedSecurityLevel checks for realmlist packet building
* Restored updating population field, mysteriously removed 15 years ago in f20b25d1c9
2024-08-18 18:59:58 +02:00
Shauren e7c0ea9048 Core/Misc: Refactor OpcodeTable reducing its size and modernize array/pointer storage 2024-05-05 18:19:36 +02:00
Shauren 4131022f6c Core/Entities: Make ObjectGuid formattable with fmt without using ToString() 2024-03-31 19:32:39 +02:00
Shauren b888b1b09f Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427
2023-11-21 12:25:22 +01:00
Shauren 4d4c7e6893 Core/Quests: Quest flag fixups
* Update flag names
* Implemented QUEST_FLAGS_COMPLETION_NO_DEATH and QUEST_FLAGS_FAIL_ON_LOGOUT
* Started using QUEST_FLAGS_COMPLETION_EVENT and QUEST_FLAGS_COMPLETION_AREA_TRIGGER instead of a custom SpeclalFlag
* Renamed Quest::IsAutoComplete to Quest::IsTurnIn to better describe what it means (a quest that can be turned in without accepting it to quest log)
* Implemented QUEST_FLAGS_UPDATE_PHASESHIFT and removed forced phaseshift updates on every quest status change
* Implemented QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT - reopens gossip menu with questgiver
2023-06-10 20:31:33 +02:00
Shauren d791afae1d Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api) 2023-01-08 21:16:53 +01:00
Shauren 1afec8be63 Core/Misc: Use boost/circular_buffer forward declaration headers in our headers 2023-01-06 16:55:25 +01:00
Shauren bde93b25d2 Core/Gossip: Integrate banker guid checks into shared gossip interaction data 2022-12-30 14:08:01 +01:00
Shauren 3ef5079fee Core/Loot: Move loot rolls from Group to Loot
* Partial port of cmangos/mangos-wotlk@ffdf9a05d6
2022-09-16 16:58:03 +02:00
jackpoz 3bedbf6596 Core/PacketIO: Continue processing packets even if player is not in world
(cherry picked from commit aee4f0350ea5610b663cb07fb097f2fad256809e)
2022-06-10 16:58:19 +02:00
Shauren a196f8fdec Core/PacketIO: Stop WorldSession packet processing loop immediately when AntiDOS kicks/bans the player
(cherry picked from commit 0d0cb23a634a37e2d679a5b8ec2e078d20def66a)
2022-06-10 16:51:03 +02:00
fluxurion 125ada42f6 Core/Transmog: Implemented Transmog Illusions + Spelleffect to unlock them 2022-06-09 21:27:02 +02:00
Shauren 0943610fde Core/PacketIO: Add flood exceptions to CMSG_MOVE_SET_FACING_HEARTBEAT and CMSG_MOVE_SET_PITCH 2022-06-08 21:41:42 +02:00
Jan Van Buggenhout dbf528be69 Core/Misc: Fix typo in SendAuthWaitQue method name (#25887)
(cherry picked from commit a832a1fe903779fa5a03202708997ced7d4c1acc)
2022-03-06 00:31:02 +01:00
Jan Van Buggenhout 9df5eb27e0 Core/Misc: Update WorldSocket::OnRead to WorldSocket::ReadDataHandler in comments and logging (#25885)
(cherry picked from commit ec689e790894cfcab5b44b3bd5a9cee036bc9daf)
2022-03-06 00:27:11 +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 a32b6b8ac4c81128a56b282f20837fb085bdd9e7)
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 53482f729995889936ad8fba9fc5789d9cdba85a)
2022-02-28 22:41:36 +01:00
Shauren 1021fcee34 Core/PacketIO: Rename some new opcodes 2022-02-25 19:18:55 +01:00
Treeston 54fc62db52 Core/Misc: Convert leftover DatabaseTransactions-by-reference (pass them by value!)
(cherry picked from commit 6b8f3d0f94b7a611eba81b7a2ff476cf75d09f4a)
2022-02-05 19:56:31 +01:00
Treeston b6635be041 [3.3.5] Core/Guilds: Guild cleanup (PR #25422)
(cherry picked from commit cd28423a4e813baf6833f38c93613a7f82a721f8)
2022-02-05 19:20:18 +01:00
Shauren f7ed56f232 Core/Warden: Fix warden timeout ticking twice as fast as it should
(cherry picked from commit ec783fcbb59fcd6e657bc1a39c2b073fd7506ed4)
2022-02-04 00:27:12 +01:00
Treeston eaa3c7e5a0 Core/Warden: Add .debug warden force, allowing you to force specific warden checks to be sent
(cherry picked from commit f04f4e91ff3afbf89f30659b85e8593c3206138e)
2022-02-02 22:47:55 +01:00
Shauren 5a82a0381d Core/Objects: Properly choose between "Destroyed" or "OutOfRange" during visibility update 2022-01-29 16:01:57 +01:00
Treeston 319ddd9bcd Core/Warden: Warden refactors (PR #25235)
(cherry picked from commit 6116e5b38522ccfb00f6c941c75482e05b4c0799)
2022-01-26 19:42:11 +01:00
Shauren d5dcf02196 Core/DBLayer: Add nicer api for SQLQueryHolders
(cherry picked from commit 9b806c6b5d9e83f8614523317a44742954f97744)
2022-01-24 21:21:37 +01:00
Giacomo Pozzoni 8350985975 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

(cherry picked from commit 8a2c79c850199a73fd431d04f83d6aa89733060d)
2022-01-24 13:02:38 +01:00
Treeston d11c3807b3 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

(cherry picked from commit 896b68d5c297b06587645caebc98b704978ecaa7)
2022-01-23 21:36:03 +01:00
Shauren c0296ac131 Core/PacketIO: Allow more CMSG_SET_ACTION_BAR_TOGGLES before triggering AntiDOS protection
Closes #27619
2022-01-16 19:45:16 +01:00
jackpoz 68d947d42f Core/Log: Log all character kicks to "network.kick" category
(cherry picked from commit 31018c36527755166d8a297ac9e6c98a66f014ae)
2022-01-01 12:56:24 +01:00
jackpoz dbb0f399fa Core/NetworkIO: Adjust more packet throttling values
Thanks @Nefertumm at https://github.com/azerothcore/azerothcore-wotlk/commit/f5e38a7f5797dc04b2fd5a6710aabd9780751339 for the heads-up

(cherry picked from commit 68fcd592f8c164d1720fda147d37960362194306)
2022-01-01 12:44:07 +01:00
Giacomo Pozzoni a9e325f6b7 Core/Logs: Log full guid instead of just low guid, part 2
(cherry picked from commit 3def52c1c459f566ab2b2d8cf017c70df4d7cf22)
2022-01-01 00:51:54 +01:00
Shauren 3ebfa8cc64 Core/PacketIO: Add a validating string helper class for use in packet classes
(cherry picked from commit f2f47f774f3d9c5da1a38b5f20cbfe59c2ff66af)
2021-12-23 23:55:58 +01:00
treeston ee5c0e5372 Core/Chat: Disallow hyperlinks from being inserted in various guild-related freetext fields (the client already blocks this)
(cherry picked from commit 01b2ac3ed425a3f94480c2b8a453c62ae30f6708)
2021-12-23 21:09:24 +01:00
Giacomo Pozzoni 562c567b1e Core/Calendar: Add some additional validation when creating events (#23797)
* Core/Calendar: Add some additional validation when creating events

Allow only 30 player events and 100 guild events to be created.
Don't allow to create guild events if player is not in guild.
Send some more error messages to the client (not blizzlike errors but better than nothing).

* Core/Calendar: Add some additional validation/checks

Add guild id check in GetPlayerEvents().
Change error message in HandleCalendarCopyEvent() to be the same as in HandleCalendarAddEvent() when creating an event in the past.

* Core/Calendar: Add some additional validation/checks

Reduce the number of CMSG_CALENDAR_ADD_EVENT packets a seconds allowed from 10 to 3.

* Core/Calendar: Add some additional validation/checks

Implement 5 seconds cooldown between the creation of calendar events

* Core/Calendar: Add some additional validation/checks

Don't allow to copy events of a different player/guild

* Core/Calendar: Implement automatic deletion of old events

Implement automatic deletion of events older than 1 month (30 days).
Fix debug assertion triggered when deleting a character with calendar events.
Avoid double std::set lookup when deleting events when deleting a character.

NB: The whole CalendarMgr/CalendarHandler code should be checked line by line for bugs/crashes/exploits.
(cherry picked from commit fb059722fdb18a94d47b3f44a5b2d7f183bf5a29)
2021-12-18 22:19:05 +01:00
Shauren e8b3dda4a0 Core/BattlePets: Wrap battle pet related code in a separate namespace 2021-12-17 14:23:43 +01:00
Aokromes 3ad5bc1e15 Core/Misc: More coding standards (#23519)
* Core/Misc: More coding standards

* revert part

* "void  " or more to "void "

* fix? reject

* remove more double whitespaces

* remove more double whitespaces

* more standards

* more coding standards

* More standards

* more coding

* more coding standards

* more coding standards

* And more standards

(cherry picked from commit 574a7c8d3d5f5a5660295deb70e905cf4dd756c4)
2021-12-14 23:04:29 +01:00
ccrs 4e6c59dca7 Core/Unit: rename several getters to follow codestyle
uint8 GetLevel()
        uint8 GetLevelForTarget(WorldObject const* /*target*/)
        void SetLevel(uint8 lvl)
        uint8 GetRace()
        uint32 GetRaceMask()
        uint8 GetClass()
        uint32 GetClassMask()
        uint8 GetGender()

(cherry picked from commit 5c09ff51f7015b775def8d5cc1f678eaef37200f)
2021-12-13 00:42:20 +01:00