Commit Graph
150 Commits
Author SHA1 Message Date
Shauren cc6dba1376 Core/Realms: Minor refactor to realm address storage (remove LocalSubnetMask as it is now unused, db field kept for table structure compatibility with 3.3.5 branch) 2023-08-03 11:18:11 +02:00
Shauren 6be536a73b Core/Network: Refactor local/remote ip address selection code and allow using hostnames in LoginREST bnetserver config options 2023-07-15 00:45:16 +02:00
СмердокрылandShauren 74a4dc46b4 Core/Config: Implement reading config overrides from subdirectory (#29068)
Co-authored-by: Shauren <[email protected]>
2023-06-09 20:36:03 +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 edc922d532 Core/Misc: Fixed worldserver shutdown with --update-databases-only 2022-10-13 12:53:54 +02:00
Shauren f59580dc6c Core/Threading: Create ThreadPool class
(cherry picked from commit d82b2b1a6712df685b989911e3e519809935de03)
2022-10-13 11:54:18 +02:00
Shauren 9b924522d0 Core/Instances: Delete InstanceSaveMgr and replace most of its uses with new InstanceLockMgr 2022-10-04 00:19:38 +02:00
Shauren 17665c929c Core/Instances: Instance lock rewrite (WIP) 2022-10-04 00:19:38 +02:00
Giacomo Pozzoni c80d7696c3 Core/World: Include more details about MaxCoreStuckTime asserts (#28188)
* Core/World: Include more details about MaxCoreStuckTime asserts

Include more details about MaxCoreStuckTime asserts that might help find why FreezeDetector gets triggered with idle MapThreads

* Codestyle fix

(cherry picked from commit de4920de81a495ed8d6b04cf68f3912c74921f48)
2022-09-29 22:00:08 +02:00
Shauren 3fa46c6dc1 Core/Crypto: Fixed loading legacy openssl provider for RC4 on windows 2022-09-05 18:48:43 +02:00
Shauren 20f38369f3 Core/PacketIO: Updated packet structures to 9.2.7 2022-07-31 21:39:48 +02:00
Shauren 16a06346ae Core/Maps: Move terrain data handling out of Map class
Partial port of cmangos/mangos-wotlk@ff5232c648
2022-07-23 19:13:33 +02:00
Shauren 833ddfad11 Core/World: Allow specifying minimum world updates diff in config
(cherry picked from commit 29a4153f0038526ee6df690ec3499d66630e5071)
2022-06-10 16:50:29 +02:00
Shauren aa6a0f2431 Core/Crypto: Fixed EVP_PKEY reference counting for copied objects
Closes #27943
2022-05-06 12:21:59 +02:00
Shauren bc87f7b337 Core/Crypto: Switch away from most deprecated openssl functions and removed upper version limit 2022-05-03 17:03:57 +02:00
Anton Popovichenko 8447f627ba Core/Config: Implement config override with env vars (#26811)
* Core/Config: Implement config override with env vars

Implement overriding of configuration from the .conf file with environment variables.
Environment variables keys are autogenerated based on the keys defined in .conf file.
Usage example:
$ export TC_DATA_DIR=/usr
$ TC_WORLD_SERVER_PORT=8080 ./worldserver

* Core/Config Fix typo in logs

Co-authored-by: Giacomo Pozzoni <[email protected]>

* Core/Config Fix code style in EnvVarForIniKey

Co-authored-by: Shauren <[email protected]>

* Update tests/common/Config.cpp

* Apply suggestions from code review

Co-authored-by: Peter Keresztes Schmidt <[email protected]>

* Apply suggestions from code review

Co-authored-by: Peter Keresztes Schmidt <[email protected]>

Co-authored-by: Anton Popovichenko <[email protected]>
Co-authored-by: Giacomo Pozzoni <[email protected]>
Co-authored-by: Shauren <[email protected]>
Co-authored-by: Peter Keresztes Schmidt <[email protected]>
(cherry picked from commit 1ddd9dc19cc1df1a1ab8c6123283999f9dea6760)
2022-03-13 16:37:01 +01:00
jackpoz aaa7596e01 Core/Misc: Fix build on systems where size_t is not defined as uintXX_t, i.e. Mac
(cherry picked from commit 8fcf59f9db929e94b1a6d2c75c1905f0a51dcddd)
2022-03-12 00:25:49 +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 96dc110f4a353871ac74c82ff4b1bcc4c34156f3)
2022-03-11 19:32:22 +01:00
Shauren ad4f4bfab7 Core/Misc: Minor game include cleanup 2022-02-13 00:49:10 +01:00
Shauren 58d199db48 Core/Misc: Fix compile errors found with msvc /permissive-
(cherry picked from commit b3db50a3b41b2db209327387f59afa1c40532773)
2022-01-26 14:20:13 +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 deceb11b5fc52c8036f249d628ccc69ca5d022b3)
2022-01-24 14:58:08 +01:00
Shauren c776218cb5 Core/Misc: Properly close database connections when using --update-databases-only arg
(cherry picked from commit a9f9f737b2c93d8f9fcb435f7a2b164a84cbc684)
2022-01-06 23:35:09 +01:00
Shauren 3a67e37681 Core/Time: Remove artificially high minimal update intervals 2022-01-03 11:26:23 +01:00
jackpoz 0fb1bf8439 Core/Misc: Enable MaxCoreStuckTime setting by default
Enable MaxCoreStuckTime setting by default to force worldserver to exit in case of infinite loops.
Note that this will not affect existing setups with the setting MaxCoreStuckTime set to 0 in the local worldserver.conf .

(cherry picked from commit 00703ee238729a8d5b3d17edf8dc16d6c6c6b601)
2021-12-18 23:24:24 +01:00
Treeston 0b61c3b7b1 [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

(cherry picked from commit 4211645834c467a03c60248e80818d3607be9ea7)
2021-12-18 20:24:50 +01:00
Wyrserth 2344671af5 Core/Console: start CliRunnable thread after all log messages have been printed. (#23321)
(cherry picked from commit d8ce37e0c90a3da2d42a09d33523e4403aab2723)
2021-12-08 21:55:04 +01:00
jackpoz d532420d79 Core/Misc: Update 85e3169fbd7b2da70e0f054399f4db64ded36325 about SOAP
Change again how SOAP is stopped if SOAP successfully binds but worldserver fails to bind its sockets.
A crash remains if SOAP fails to bind because it calls exit() and that triggers asserts everywhere.

(cherry picked from commit d05ab073cb102a4f868b0fda51ef4368350ded32)
2021-11-21 20:16:46 +01:00
jackpoz 05210c2a34 Core/Misc: Fix shutdown with SOAP enabled
Fix worldserver entering a loop when having SOAP enabled but failing to bind both SOAP and worldserver listened socket. SOAP thread would keep trying to bind the socket over and over checking World::IsStopped() condition that was never set to true

(cherry picked from commit 85e3169fbd7b2da70e0f054399f4db64ded36325)
2021-11-21 20:16:03 +01:00
jackpoz 289be4d97c Core/Misc: Fix FreezeDetector triggered on startup
Fix FreezeDetector triggering the assert on startup if scripts took more than a few seconds to initialize.

(cherry picked from commit 7b7dc1b50844027853023491c1f69dc40292eec3)
2021-09-26 20:51:09 +02:00
Shauren 3c08eb190f Core/Misc: Add another boost hack. Fixes bnetserver/worldserver -c command line parameter when path contains spaces 2021-05-24 00:08:03 +02:00
jackpoz 8313053a3b Shared/Metric: Fix crash on shutdown
Fix crash on shutdown with metrics enabled but InfluxDB stopping before worldserver

(cherry picked from commit 45b2bcfaf266cac74806ed71f32b8dc02cd2321e)
2021-03-15 20:17:31 +01:00
Shauren e3126ed8a6 Kill whitespace 2020-09-05 10:28:02 +02:00
Maks Szokalski 6812af37bb Core/Cosmetic: Execute OnStartup script hook before printing that startup is finished (#25401) 2020-09-05 10:25:09 +02:00
Peter Keresztes Schmidt bab5fd87a3 Core/Misc: Replace Trinity::make_unique with std (#24869) 2020-06-23 08:54:12 +02:00
jackpoz d3782c2d09 Core/Misc: Add console option to update databases only
Add "--update-databases-only" console argument to stop worldserver execution after having updated all databases (if specified in config file)

(cherry picked from commit 92bf5b1ba795303808c5f1b3bf82dd0204133ed8)
2020-05-13 21:06:33 +02:00
Aokromes b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
Shauren bcda8dd742 Core/Dep: Boost 1.70 compatibility 2019-04-14 00:13:23 +02:00
vincent-michael 5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
xinef1 608260b853 Core/World: Simplified sleep calculation routine for world update thread (#18634)
(cherry picked from commit 48f30911b9e09e45ed4426d41c4284141037bcc6)
2018-03-18 00:19:48 +01:00
Shauren dfd2660a85 Core/Misc: Added compatibility layer for boost 1.66 and future std:: networking stuff
* Based on work done by @dimiandre in PR #21173

Closes #21171
Closes #21173
2018-01-06 01:21:59 +01:00
vincent-michael 7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Shauren 803c5fcc88 Core/Misc: Fixed sending "X" to parent terminal when shutting down with ctrl+c on windows
* Also fixed usage of FormatMessage - its number of characters written, not error code
2017-08-25 23:51:46 +02:00
Shauren 7e39fb3a80 Build fix 2017-05-22 00:02:06 +02:00
Shauren 3d7c2ef88f Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr) 2017-05-21 23:18:43 +02:00
Shauren 9299e9bde0 Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50 2017-05-13 19:37:33 +02:00
joschiwald 229c78b5a3 Core/Packets: Implemented CMSG_QUERY_REALM_NAME and SMSG_REALM_QUERY_RESPONSE 2017-05-13 17:25:21 +02:00
Shauren beb3316089 Core/Shared: Include cleanup 2017-05-13 11:49:09 +02:00
Shauren 7e538980a2 Core/Database: Include cleanup 2017-05-12 18:50:27 +02:00
Shauren 3a418a0bbc Core/Common: Include cleanup 2017-05-11 22:29:51 +02:00
Shauren 6c92a481a3 Core/Misc: Cleanup worldserver/bnetserver main() functions to run destructors in predictable order
* world/bnet servers will now fail to startup if listen ports are in use
* Restored "Network.OutUBuff" config option lost during boost transition
2017-05-04 20:41:22 +02:00