Commit Graph

322 Commits

Author SHA1 Message Date
Vincent-Michael
1e323a10df Core/Characters: Implemented demon hunter cinematic at player login 2016-08-28 19:49:35 +02:00
Vincent-Michael
9f7c26273b Core/Characters:
- Added missing set PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION for barbershop
- Fixed crash
2016-08-27 19:58:17 +02:00
joschiwald
b0c8a9411e Core/Logging: removed useless log message 2016-08-27 12:30:46 +02:00
Shauren
a727a99e34 Core/Players: Implemented new glyph system 2016-08-25 19:12:00 +02:00
Shauren
fea0cb16f2 Core/Items: Implemented artifacts 2016-08-15 00:03:38 +02:00
DJScias
bc467bb261 Core/Players: Fix logic regarding HandleCharEnum and DHs (#17660)
* If CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEMON_HUNTER was set to 0 (disable in the config), it would still not allow you to create a DH in case there were no prior characters.
* If RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_DEMON_HUNTER was true (AKA allow DH creation always) it would not allow DH creation regardless of existing characters or not considering canAlwaysCreateDemonHunter was not checked for validity on charEnum.IsDemonHunterCreationAllowed.
2016-07-25 08:57:10 +02:00
Ovalord
79aafd5865 Core/Players: Initial work on demon hunters
* Added starting level and required level config options as well as rbac permission to ignore the requirements
* Updated max power values for both demon hunter specs
* Fixed a crash during DK and DH creation
* Added playercreateinfo data for demon hunters

Closes #17651
2016-07-23 18:39:56 +02:00
Shauren
6c1c8e7581 Core/PacketIO: Send spec id in char enum 2016-07-19 17:44:00 +02:00
Shauren
0d9136f764 Merge branch '6.x' of https://github.com/TrinityCore/TrinityCore into legion 2016-07-10 00:37:33 +02:00
Shauren
a78aa3cf4e Core/PacketIO: Refactored building SMSG_UPDATE_OBJECT to append directly to final buffer and removed UpdateMask class 2016-07-10 00:11:19 +02:00
Shauren
f7883bd525 Core/Transmog: Implemented transmog collection and updated transmog handling 2016-07-05 22:07:35 +02:00
Shauren
0de1adf281 Core/PacketIO: Updated equipment set packets and implemented saving transmog outfits (even if transmog itself isnt updated) 2016-06-18 23:03:16 +02:00
Shauren
d2733eb6f1 Merge branch '6.x' of https://github.com/TrinityCore/TrinityCore into legion 2016-06-13 21:00:25 +02:00
Shauren
2ecd7e0cb9 Core/PacketIO: Initialize HasDemonHunterOnRealm field in character enum 2016-06-12 14:03:48 +02:00
Shauren
8396dabdad Core/Misc: Fixed coverity issues
Uninitialized fields: CID 1354593, 1354595, 1354738
Unchecked return value: CID 1354558
Out of bounds access: CID 1352989, 1352993
Null pointer dereference: CID 1296286
2016-06-06 09:16:59 +02:00
DDuarte
8b26aea95a 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
(cherry picked from commit 3ae1016082)

# Conflicts:
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/World/World.cpp
#	src/server/worldserver/Main.cpp
2016-06-04 11:26:57 +01:00
Shauren
94005f3496 Core/Players: Fixed character appearance validation 2016-05-30 23:51:39 +02:00
Shauren
5ad01990c6 Core/PacketIO: Updated opcodes to 7.0.3.21796 2016-05-30 23:51:06 +02:00
Shauren
b82332487a Core/DataStores: Updated db2 to 7.0.3.21737 2016-05-27 23:14:36 +02:00
Shauren
5776a256b8 Core/Pets: Fixed wrong prepared statement in bc1a81747a
Thanks Lordron for pointing it out
2016-05-26 23:13:31 +02:00
myran2
bc1a81747a Core/Pets: Implemented pet specializations (#17058)
* Use prepared statements in Pet::SavePetToDB
* Add support for resetting all of a player's pet specializations
* Send one big spell unlearn/learn packet instead of lots of small ones
* Implemented Adaptation talent
2016-05-26 17:20:01 +02:00
Shauren
70102f32fe Core/DataStores: Updated opcodes and db2 to 7.0.3.21414 2016-05-20 23:49:53 +02:00
Shauren
5c2c9a684f Core/DataStores: Updated dbc/db2 to 7.0.1.20810 2016-05-20 23:46:17 +02:00
Shauren
91753a94b3 Core/PacketIO: Updated character list packets for 7.x 2016-05-20 23:39:39 +02:00
Shauren
c75fcbe20b Core/Achievements: AchievementMgr refactoring
* Extracted base CriteriaHandler class that deals with criteria only and will be reused for future scenario implementation
* Fixed players earning guild achievements
2016-05-07 01:16:29 +02:00
Shauren
92e247b226 Core/Dep: Removed ZMQ dependency in preparation for future changes 2016-03-20 18:50:25 +01:00
Carbenium
f5ccb7b474 Core/PacketIO: Updated and enabled SMSG_SET_PLAYER_DECLINED_NAMES_RESULT 2016-02-07 21:02:35 +01:00
Carbenium
3ea1cfc4d0 Core/PacketIO: Updated and enabled CMSG_SET_PLAYER_DECLINED_NAMES 2016-02-02 23:19:37 +01:00
Shauren
00383f4b12 Core/PacketIO: Renamed some unknown fields in FeatureSystemStatus 2016-01-06 23:47:28 +01:00
Shauren
2a6f65fddc Core/Players: Split playerBytes fields in characters table 2016-01-05 00:03:18 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
Shauren
d03ca37f10 Core/Players: Use constant gender from PLAYER_BYTES_3 where appropriate. 2015-11-27 21:53:27 +01:00
Shauren
45994a177c Core/Players: Check if player can enter the instance during login before trying to add him to map
* Fixes name displaying as "Unknown"
2015-10-15 23:29:19 +02:00
Shauren
63def8aa32 Core/Battle.net:
* Changed packet structures to mirror client names
* Simplified ToString Building
* Removed deprecated structures

World: Cleaned up duplicate realm info 'realm' and 'realmHandle' variables (realmHandle was removed, that data is fully contained in realm)
2015-10-06 00:30:47 +02:00
Shauren
aaaa1c3441 Core/World: Store account id in CharacterInfo to reduce the amount of database queries 2015-10-05 15:06:27 +02:00
Shauren
cd27fd38b9 Core/Maps: Moved corpse management to map level 2015-09-28 17:20:27 +02:00
Shauren
3bc3b67a8f Core/Player: Changed ranged weapons to be equipped in main hand slot instead of no longer used ranged slot
Closes #14675
Closes #15296
2015-09-27 00:06:08 +02:00
Shauren
f1b047b826 Core/Taxi: Further improvements
* Updated segment distance calculations - now selected path fully matches clientside preview
* Fixed building sOldContinentsNodesMask to also include any new taxi node added in future
* Implemented filtering possible hops when searching for shortest path by faction (and in future PlayerCondition)
* Changed ObjectMgr::GetNearestTaxiNode to filter faction nodes by flags instead of mount display
2015-09-19 16:44:33 +02:00
Shauren
3109ab2da0 Core/DBLayer: Allowed using GetDouble for SUM results instead of requiring string conversions 2015-09-13 11:13:04 +02:00
horn
e8b1faa156 Core/BattlePets: Basics for Battle Pets 2015-09-09 14:52:32 +02:00
Shauren
b564c10b13 Core/Players: Implemented serverside validation of reserved/profane names
Closes #15357

New library dependency: Boost.Regex
2015-08-30 00:17:08 +02:00
jackpoz
4617d65131 Merge pull request #15297 from StormBytePP/3.3.5_rename_Revision.h
Core/Build: Renamed Revision.h to GitRevision.h to avoid compile failure when old revision.h file is present
(cherry picked from commit 360cc93357)

Conflicts:
	src/server/authserver/Main.cpp
	src/server/database/Updater/DBUpdater.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/World/World.cpp
	src/server/shared/PrecompiledHeaders/sharedPCH.h
	src/server/worldserver/Main.cpp
2015-08-16 22:45:18 +01:00
StormBytePP
6a9fc63e41 Core/Build: Removed obsolete SystemConfig.h and made genrev be part of shared library, which allows cache hits to happen more likely
(cherry picked from commit 94f69fb1bc)
2015-08-16 17:50:40 +02:00
MitchesD
ca9d98f179 Core/Opcodes: enabled duel opcodes and updated CMSG_OPENING_CINEMATIC 2015-08-01 18:42:07 +02:00
Vincent-Michael
2e586bc520 Core: Header cleanup in game/*/*.cpp 2015-07-25 20:18:42 +02:00
Shauren
a22e4e121a Core/Misc: Fixing warnings detected by Visual Studio 2015 compiler 2015-07-21 00:33:36 +02:00
Shauren
dea6c0b122 Core/DataStores: Updated dbc/db2 structures to 6.2.0 2015-07-07 12:13:14 +02:00
Carbenium
21ab4bb14c Core/PacketIO: Update SMSG_FEATURE_SYSTEM_STATUS 2015-07-06 01:52:21 +02:00
DJScias
33ba6b74bd Core/PacketsIO: Updated and enabled SMSG_CHAR_CUSTOMIZE, SMSG_CHAR_CUSTOMIZE_FAILED
Closes #14789
2015-06-02 04:16:24 +02:00
Shauren
b3a754cd7b Core/Garrisons: Implemented follower class/spec abilities and saving them to database 2015-05-22 00:17:48 +02:00