Commit Graph

576 Commits

Author SHA1 Message Date
Nathan Handley
6612ec47f4 Core/Misc: Add functionality to allow low level quests/kills/discoveries to grant experience 2017-11-04 01:25:14 +01:00
Gildor
3eb0cfc687 Core/Misc: Added the possibility to configure the hour at which the server will be return old mails or delete them. (#20305) 2017-10-20 23:34:45 +02:00
Shoxxo
7754960e39 Core/config: add MonsterSight setting to worldserver.conf.dist
* Updated MonsterSight (What does it)

* Core/Worldserver: Update worldserver.conf.dist

Now it should be corectly ;)

* Relocated and renamed the MonsterSight!
2017-08-19 21:21:39 +02:00
Treeston
184c45cfe0 Core/Scripts: dynamic_spawning follow-up, I had forgotten JustRespawned existed.
- Rename JustRespawned to JustAppeared, which better matches its behavior anyway.
- Properly invoke JustAppeared for new (re-)spawns - fixes #20111.
- Fix Thaddius script to work with dynamic_spawning (mostly unrelated to the above) - Feugen/Stalagg should really be a summon group, but I don't have time to fix that right now.
- Fix default value for DynamicEscortNPC to match worldserver.conf.dist.
2017-08-06 16:07:30 +02: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
Treeston
7dfd472f8d Proper client timeout detection (#19906)
- Properly detect client timeout when logged into a character after a configurable time (default 60s) has passed without the client sending any packets.
- Fixes issues with crashed clients leaving characters in the world for a very long time (default 15 minutes), as well as edge case exploits involving intentionally pausing client execution for some amount of time.
2017-06-27 00:22:33 +02:00
Shauren
5024813fe3 Buildsystem: Minor PCH building changes
* *PCH.cpp are now only compiled with MSVC, other compilers use custom helper commands to generate the precompiled header
* Don't call the linker for pch helpertargets

(cherry picked from commit 137f5e7887)
2017-06-22 02:33:12 -03:00
ariel-
85a7d5ce9a Core: ported headers cleanup from master branch 2017-06-19 23:20:06 -03:00
Shauren
d6201e5dbb Core/Grids: Ported cmangos/mangos-wotlk@ea99457e50
(cherry picked from commit 9299e9bde0)
2017-06-19 13:16:13 -03:00
Shauren
7874bee7bf Core/Misc: Cleanup worldserver/authserver main() functions to run destructors in predictable order
* world/auth servers will now fail to startup if listen ports are in use
* Restored "Network.OutUBuff" config option lost during boost transition

(cherry picked from commit 6c92a481a3)
2017-06-19 04:04:21 -03:00
treeston
4b9b1d485d Revert "Cross-check client-submitted fall time with server-measured time. When excessive difference is detected, punish player. (#19895)" due to really random edge case client behavior causing false positives.
Going to need to find a different approach for dealing with the underlying issue.

This reverts commit 27cbfc3a93.
2017-06-18 01:25:36 +02:00
Treeston
27cbfc3a93 Cross-check client-submitted fall time with server-measured time. When excessive difference is detected, punish player. (#19895)
Fixes an exploit that could trivialize the Lich King encounter.
2017-06-17 03:31:53 +02:00
treeston
4b6351e6a5 Fixes to all-reputation and all-skill custom option handling:
- Move on-create customs (all explored, all reputations) to CharacterHandler::HandlePlayerLogin for first login. Fixes #19839.
- Add Wrath factions to all reputations custom (it only had BC factions).
- Remove unused ReputationMgr::SendStates. Add ReputationMgr::SendState handling for sending all updated states in arbitrary order if nullptr is passed (used in point #1).
- Fix all weapon skills max custom to properly apply on learning new weapon skills.
2017-06-15 04:19:28 +02:00
treeston
d57307f63d So, I came in trying to fix gameobject LoS. So I restructured some stuff.
Then it turned out that gameobject LoS is already fixed. So all this does, really, is restructure some stuff.
And remove the hack from Sapphiron because I could.
2017-06-10 15:08:35 +02:00
Shauren
f59bac4d14 Build fix 2017-06-05 20:00:28 +02:00
ariel-
c3d0a3c1a8 Core/Misc: fix some clang 5 warnings 2017-05-27 17:23:05 -03:00
Shauren
9ec2a82cac Core/Misc: Prefix all preprocessor defines from CompilerDefs with TRINITY_ to avoid conflicts (PLATFORM_WINDOWS is used/defined by CascLib)
(cherry picked from commit b8db320bf1)
2017-05-23 18:46:44 +02:00
ariel-
8be85a5408 Core/Misc: cache server MOTD and properly format it for RA and when issuing .server motd 2017-03-21 00:51:13 -03:00
Chazy Chaz
a63bd06ec6 Core/Players: Rename "heroic character" to "death knight"
Closes #19287
2017-03-17 19:03:59 +01:00
Aokromes
0eaa58dc84 Core/AHBot: Disable few broken items
Closes #19283
P.S: you will need to update your conf.
2017-03-12 13:07:14 +01:00
xinef1
ae9d01a324 Store cached static data queries, instead of building them in every query opcode (#18637)
- Added config option to enable / disable cache
- Reinitialize data on reload command use
- Always send WDB fields in item query
2017-02-20 16:27:08 -03:00
Alan Deutscher
fc06465b17 Core/Chat: Added option to allow 5-man parties to use raid warnings
Closes #17889

* Added parentheses to satisfy TravisCI.

* Adjusted to a boolean config option instead of an integer.
2017-01-07 13:03:03 +01:00
Staleness89
7c379129e9 Core/Player: Add another config option for IsGroupVisibleFor() (#18723) 2017-01-05 13:03:48 +01:00
tkrokli
6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
Ayrton Stout
4df1b28054 Fixed array size bug with the auction house bid price. Lowered the default max bid price (#18697)
Closes #18698
2016-12-31 23:47:41 +01:00
xinef1
48f30911b9 Core/World: Simplified sleep calculation routine for world update thread (#18634) 2016-12-31 20:50:39 +01:00
Ayrton Stout
bed369e7c8 Core/AH: AuctionHouseBot BidPrice determined by config options 2016-12-31 19:47:58 +01:00
Sean Rhone
023eec874a RA.MinLevel to Ra.MinLevel (#18387)
Solves https://github.com/TrinityCore/TrinityCore/issues/18386
2016-12-02 09:19:30 +01:00
iridinite
6dc0a9f04a [3.3.5] AHBot Characters (#17885) 2016-10-14 23:52:26 +02:00
SnapperRy
a5e05d0d0c Misc/Config: fix an oversight.
Thanks tkrokli for noticing.
2016-09-30 16:17:24 +02:00
SnapperRy
2deea99cd7 Misc/Config: enable ChatFakeMessagePreventing by default, since it's a blizzlike feature. 2016-09-30 15:56:10 +02:00
SnapperRy
e9870fb1fc Core/Config: allow to specify daily quest reset hour in config.
Also default it to 3:00AM, as that's when daily quests used to reset during WotLK.
2016-09-30 15:27:31 +02:00
Aokromes
cf8276845d Core/Chat: Split ChatLevelReq.Say into 3
ChatLevelReq.Say
ChatLevelReq.Emote
ChatLevelReq.Yell
2016-08-01 13:24:58 +02:00
Aokromes
bfda0ba91d Core/Player: New PartyLevelReq setting (#17707) 2016-08-01 10:43:49 +02:00
Aokromes
633264f58f Core/PVP: Move report AFK requirement to config (#17699) 2016-07-31 13:35:08 +02:00
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