Commit Graph

541 Commits

Author SHA1 Message Date
Aokromes ea4e7fec01 Core/PVP: Improve log (#17698) 2016-07-31 05:25:41 +02:00
Aokromes 6631697505 Update worldserver.conf.dist 2016-07-02 14:17:50 +02:00
Aokromes 4e37275a50 Update worldserver.conf.dist 2016-07-02 13:20:52 +02:00
psayafan fe2aed6047 Core/Player: Add option to prevent rename during character customization
Closes #17420
2016-06-23 21:31:09 +02:00
Aokromes 069e1c8120 Update worldserver.conf.dist 2016-06-04 12:49:39 +02:00
Duarte Duarte 3ae1016082 Implement real time statistic visualization (#16956)
Docs at https://trinitycore.atlassian.net/wiki/display/tc/Monitoring+a+TrinityCore+server

* Common/Graphs: Initial proof of concept

* Move influx db code to its own class

* Reuse the same socket

* Allow to log values of different categories

* Allow to log events

* Pass the timestamp to influxdb

* Send events in batches

* Send data async

* Log server shutdown.
Fix memory leak.

* Allow to enable/disable Stats in the settings and at runtime

* Read interval between each batch send from config

* Add InfluxDB connection info to configs

* Move each event category to its own table

* Log pathfinding queries

* Move categories table initialization to constructor using enum as key to avoid assigning the table name to the wrong enum value

* Log player login/logout events.
Pass the hostname correctly in the HTTP request.

* Fix linux build

* Handle "Connection: close" HTTP header, reconnecting on next scheduled send.
Disable StatsLogger if connection fails, logging the error.

* Add an enum for categories of logged values, it's still possible to pass a string instead of the enum.

* Don't log the whole batchedData when InfluxDB returns an error, it's too long and unreadable on console.

* Allow to call a function at a specified interval in thread-safe World::Update() context to log data like player count.

* Log map tile load/unload

* Core/StatsLogger: Allow logging more value types other than ints

https://docs.influxdata.com/influxdb/v0.10/write_protocols/write_syntax/

* Fix a typo in string escape of StatsLogger

* Yet more fixes to the escaping in FormatInfluxDBValue

* DB/Gameobject: Fix respawn time of few Quest GameObjects

By Tauriella, closes #16701

* DB/Misc: Fix some engrish

By tkrokli closes #16648

* Tools/MMaps: Add format library linking to mmaps_generator

(Very) partial cherry pick of ed75b0649a

* Core/StatsLogger: Simplify code

Convert values and categories arrays to maps initialized in-place
Remove constructor and destructor

* Core/StatsLogger: Add realm name to the event and value tags

* Log amount of processed packet of each session

* Apply recent singleton changes to sStatsLogger too

* Fix influxdb data format if no realm name is present

* Remove unneeded newlines from request body, fixes response 400 from InfluxDB 0.10

* Rename Reporting folder to Metric

* Rename StatsLogger to Metric

* Rename InfluxDB configs to Metric

* Add Grafana dashboards

* Add a random annoying macro

* Move string formatting to Metric::SendBatch(), reducing performance footprint of Metric::LogEvent() and Metric::LogValue()

* Update grafana graphs refresing tags on load and showing now-15m data, refreshing every minute. These settings can be modified in grafana.

* Rename MetricData fields

* Contrib/Grafana: Rename dashboard files

* Contrib/Grafana: Replace hardcoded Windows/Ubuntu realm names by the default, Trinity

* Config/Worldserver: Add missing section to the index

* Contrib/Grafana: Add singlestat panels with current online players, update diff averages (1 min, 5 mins and 15 mins)

http://i.imgur.com/Zi8lfvS.png

* Core/Metric: Replace the enums MetricEventCategory and MetricValueCategory by strings

For the sake of simplicity and less recompile time when adding new metrics, similar to how TC_LOG_* works

* Contrib/Grafana: Display the current number of online players and not its average

Closes #15075
2016-06-04 11:23:29 +01:00
Sean Rhone b253b694ed Update worldserver.conf.dist (#17276)
- Same as https://github.com/TrinityCore/TrinityCore/pull/17270
2016-06-03 15:40:30 +02:00
treeston 0e1eb460d6 Scripts/Commands: Small QoL adjustments
- .debug hostil now shows spawn ID (DBGUID) in addition to current GUID (so you can .go creature to it)
- .npc temp now takes an additional argument before the creature entry that determines whether the spawned creature instantly despawns upon death. Default is instant despawn (current behavior).
- Add .npc evade command.
- Add .pet level command.
- .server shutdown and .server restart now fail with an error message if time is below a config var (GM.ForceShutdownThreshold, default 30s) as long as another player is connected.
    - New commands .server shutdown force and .server restart force bypass this limitation.
2016-05-10 15:09:18 +02:00
Mikhail Redko d5f04f5a38 Core/Misc: Move STOP_TIME_FOR_PLAYER value to config. (#17024) 2016-04-25 22:33:26 +01:00
Aokromes aa9129f55d Update worldserver.conf.dist 2016-04-25 11:54:21 +02:00
Naios 86b0fcf67a Core/Scripting: Use the path of the worldserver executable to search for the scripts dir
* Fixes issues when starting the worldserver not in the bin directory
  or the CMAKE_INSTALL_PREFIX directory using the -c option.
2016-04-18 21:02:01 +02:00
Naios 1fe4e09d1f Core/Scripting: Change the INFO logger of the hotswap system to enabled 2016-04-17 01:12:50 +02:00
Naios 9e43e50fa7 Core/Worldserver: Correct the default comment of HotSwap.EnableReCompiler
* Thanks jackpoz for noticing
2016-04-14 20:31:03 +02:00
Naios ff8a54ab92 Core/Build: Provide an interface target for game
* Increases the build time because dependent projects can build
  without waiting for the game project.
2016-04-14 20:30:55 +02:00
Aokromes afaa8e2c60 Update worldserver.conf.dist 2016-04-13 21:49:32 +02:00
Naios 3123c278b9 Core/Game: Add a dynamic script reloader which reloads scripts modules on changes.
* is responsible for registering plain modules.
* requires compilation with the `WITH_DYNAMIC_LINKING` flag.
* requires further support of the ScriptMgr.

(cherry picked from commit bc0f2b6e5a)
2016-04-11 21:42:16 +02:00
Naios 8660f90bdf Core/Scripts: Split script subdirectories into independent modules
* Makes it possible to define the linkage for every module
* Move the ScriptPCH into the root directory
* Changes the SCRIPTS cmake variable to a string type:
  -> -DSCRIPTS=0 is -DSCRIPTS="minimal-static" now
     (builds commands and spells statically)
  -> -DSCRIPTS=1 is -DSCRIPTS="static" now
     (builds all modules statically)
  -> -DSCRIPTS="dynamic"
     (builds all modules dynamically)
  -> Also the default value which is provided by the SCRIPTS
     variable is overwriteable through the SCRIPTS_COMMANDS,
     SCRIPTS_SPELLS... variable.

(cherry picked from commit 848b8a4136)
2016-04-11 21:41:58 +02:00
Shauren 702cfefddb Buildsystem: Initial changes to support building with vs clang toolset
(cherry picked from commit 4a3a178d7f)
2016-04-09 12:38:20 +02:00
DDuarte c9e3f2aa9a Core/Config: Fix 3 more missing config warnings
Closes #16861

Thanks tkrokli

(cherry picked from commit 0afcefea27)
2016-03-31 03:31:51 +01:00
DDuarte 9aadd97fba Core/Config: Error logging for ptree_bad_data
Ref https://github.com/TrinityCore/TrinityCore/commit/6487e2f2d6a1ddbeff77362219658376b8a3f9f0#commitcomment-16888976

(cherry picked from commit 9431b94bff)
2016-03-31 03:31:46 +01:00
DDuarte 92be9ad7ad Core/AHBot: Add missing AuctionHouseBot.Class.CLASS.Allow.Zero to config
Ref #16859
2016-03-28 02:21:09 +01:00
DDuarte 980f28d2ce Core/Network: Change SocketMgr.StartNetwork to take the thread count by arg instead of config
AuthSocketMgr doesn't need "Network.Threads" config

Fixes "Missing name Network.Threads in config file authserver.conf"

Ref #16859
2016-03-28 02:02:29 +01:00
Naios 03d249f063 CMake: Use inherited dependencies in worldserver and authserver
* Closes #1679
2016-03-18 14:27:43 +01:00
Naios 96bc31924a CMake: Use inherited dependencies in scripts
* Removes the circular dependency between game <-> scripts
2016-03-18 02:53:00 +01:00
Vincent-Michael 5e74c2223b Core: Remove whitespaces 2016-03-16 21:40:15 +01:00
Naios f52495c66b Dep/CppFormat: Update cppformat to cppformat/cppformat@5174b8c 2016-03-16 15:36:32 +01:00
r00ty-tc 971f4ccab8 Core/Maps: Implement optional pre-loading of maps.
- Option to preload basemaps upon server load (BaseMapLoadAllGrids)
- Option to preload instance maps upon map load (InstanceMapLoadAllGrids)
- Change default logging to only log mmap errors to server log
- Add new public to map to load all cells in map
- change debug loadcells to use new function instead
2016-03-15 02:05:13 +01:00
MitchesD caef32d375 Core/Misc: fix build
(cherry picked from commit ce5def332f)
2016-03-12 23:52:51 +01:00
Shauren fd819b0919 Core/Debugging: Make abort() less bad on windows by forcing crash log generation
(cherry picked from commit dea7d429ab)

# Conflicts:
#	src/server/bnetserver/Main.cpp
2016-03-12 23:52:35 +01:00
Shauren c71987b1a1 Core/Logging: Force synchronous logging after io_service shutdown - fixes logging on worldserver shutdown
(cherry picked from commit a0b2be6c1d)
2016-03-12 23:49:56 +01:00
Andrew Letson c83f29d2c4 AHBot item class modifiers
Adds missing modifiers to worldserver.conf

(cherry picked from commit e5c9997362)
2016-03-12 23:41:14 +01:00
Cosmo Orzechovsky b13e664e5d Misc: Removed unneeded info about character escaping from .conf.dist and improved example MotD
(cherry picked from commit c731bd5d59)
2016-03-12 23:34:29 +01:00
Shauren 298d70476e Core/Misc: Partial port of d9f1d6466d (refactoring) 2016-03-12 21:21:41 +01:00
Naios cebe6122ad Core/Worldserver: Move the Realm instance into the game library
(cherry picked from commit 7c257aab5e)
2016-03-11 20:03:13 +01:00
Naios 3a4ec8bcbe Core/Database: Move singleton instances into compilation units
* Fixes issues when building shared libraries
  (prevents gcc and clang from providing several instance)
* Also instantiate the database worker pools in DatabaseEnv.cpp now.

(cherry picked from commit a8fe7f6eb7)
2016-03-11 19:51:07 +01:00
Naios fbe724fab9 Core/Common: Generalize platform specific includes in common/Platform
(cherry picked from commit 30517cb1d3)
2016-03-11 19:09:56 +01:00
DDuarte 2ea31027e5 Core: Backport 6.x realm changes
Make acessible all the info about current realm (e.g name) anywhere, not only realm id
Reduce the number of differences between the two branches

Original changes by Shauren

Partial port of bacc90b6ba and 63def8aa32
2016-03-06 19:46:59 +00:00
Naios 7d3cffc297 Core/Database: Close the databases correctly when the DBUpdater fails
* Also fixes a memory leak spotted by Aokromes
2016-03-03 01:06:13 +01:00
Naios b5369b7d87 Core/Common: Add a generic config helper to access built-in overwriteable paths.
* Adds CMAKE_COMMAND and CMAKE_BINARY_DIR to revision_data.h
* Move the source and mysql exe path handling out of the DBUpdater.
* Make some Config methods const for correctness.
* Remove C & CXX flags from revision_data.h
 (was unused and didn't capture all cxx vars)
* Reorder the link order to prevent `ld` from ignoring the file
* Ref #15671

(cherry picked from commit 719159e207)
2016-02-22 16:25:47 +01:00
treeston 1134b5e2f4 Core/Packets: Adjust 'TalentsInspecting' option so it no longer doesn't actually do what it says (but would instead disable talent inspecting completely). 2016-02-18 20:54:59 +01:00
pete318 3aaeb57405 Implement AuctionHouse features: GetAll scan and search throttling
Implements two standard features of the Auction House.
* GetAll scan, retrieves all auctions and sends them in a single packet.
  There's a limitation on how often a player can do this (Max 55000 items)
* Search throttling. For normal searches, the server can send a time
  in milliseconds to the client, the client will wait that long between
  searches. Delay set in config

Closes #16469
2016-02-05 15:01:59 +01:00
Duarte Duarte bddf9ec6fe Merge pull request #16101 from NathanHandley/3.3.5
Updated AuctionHouseSeller to have item class stack control
2016-01-09 18:46:20 +00:00
Rushor 923a368ac7 Update copyright note for 2016 2016-01-01 12:02:33 +01:00
NathanHandley ec3a98caeb Updates in respnose to feedback from DDuarte. Including:
- Changed SetStackSizeForItem to GetStackSizeForItem in AuctionHouseBotSeller
- Added Initializer to SellerItemClassInfo.RandomStackRatio in AuctionHouseBotSeller
- Updated verbiage around AuctionHouseBot.Class.RandomStackRatio.* to be clearer
2015-12-25 19:47:38 -06:00
NathanHandley 33a75afb60 Updated AuctionHouseSeller to have item class level stack control
For each item class (consumable, glyph), you can now edit the worldserver.conf to

configure the ratio (percent) of random compared to single stack auction postings.

Example 1
AuctionHouseBot.Class.RandomStackRatio.Consumable = 0
- New consumable auctions posted by AuctionHouseSeller will always be single stack.

Example 2
AuctionHouseBot.Class.RandomStackRatio.Consumable = 100
- New consumable auctions posted by AuctionHouseSeller will always be of a random

stack size.

Example 3
AuctionHouseBot.Class.RandomStackRatio.Consumable = 20
- New consumable auctions posted by AuctionHouseSeller have a 20% chance of being a

random stack size, and an 80% chance of being single stack size.
2015-12-25 18:54:15 -06:00
ShinDarth 3d1614b622 Core/Arena: create more arena configs
- made rating modifiers configurable
- made arena points rate configurable
2015-12-14 20:09:07 +01:00
Naios 1ce5a62feb Core/Worldserver: Enable the database updater by default.
* Seems like this feature is stable enough to enable it by default
  since the last missing bugs were fixed some months ago.
* The database updater is the preferred method to update the databases
  as described in the wiki: http://collab.kpsn.org/display/tc/Databases+Installation

(cherry picked from commit 25185967e8)
2015-11-14 17:08:01 +01:00
MitchesD a1150ce20f Merge pull request #15732 from ShinDarth/reset-health-mana
Scripts/Duel: implement duel reset of health and mana and improve duel reset
2015-11-12 19:40:26 +01:00
ShinDarth 7ab1d1b7d0 Core/Ticket improved ticket system
- Safely close ticket before character deletion
- Allow to keep trace of delete characters tickets (configurable)
- Closes #15655

Closes #15699
2015-11-03 16:07:30 +01:00
MitchesD 8e7012f076 Merge pull request #15736 from ShinDarth/deserters
BG Deserters tracking system
2015-10-28 20:40:25 +01:00