Commit Graph

336 Commits

Author SHA1 Message Date
Shauren
3e060fc95d Core/Players: Fixed setting a few updatefields to make client addons relying on player names/realn names behave properly
Ref #19490
2017-04-27 00:03:18 +02:00
Shauren
adbdb64301 Core/PacketIO: Updated server packet structures to 7.2.0 2017-04-15 12:32:36 +02:00
Shauren
0998eca105 Core/PacketIO: Delete opcodes removed in 7.2 2017-04-11 00:27:52 +02:00
Chazy Chaz
c7ea1b97c2 Core/Config: Add option CharDelete.DemonHunter.MinLevel
Closes #19285
2017-03-17 19:08:38 +01:00
Chazy Chaz
c31de25627 Core/Players: Rename "heroic character" to "death knight"
Closes #19286
2017-03-17 19:00:56 +01:00
treeston
78748bff93 Entities/Player: Fixed an edge case bug that could cause a character to get stuck in forced recustomization indefinitely if two or more appearance properties were out of bounds.
(cherry picked from commit d08efca201)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
2017-02-12 14:47:27 +01:00
Aokromes
d2dd5f9f02 Core/Logs: Fine tune more logs
And move others to more logical appenders
(cherry picked from commit 1ad24352ac)

# Conflicts:
#	src/server/authserver/Server/AuthSession.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/AuctionHouseHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/GuildHandler.cpp
#	src/server/game/Handlers/LootHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Handlers/QuestHandler.cpp
#	src/server/game/Handlers/SpellHandler.cpp
#	src/server/game/Spells/SpellEffects.cpp
2017-02-11 23:15:24 +01:00
ariel-
5d36f29843 Core/Misc: remove two synch queries and replace them with CharacterInfo cache
(cherry picked from commit 1a52c1cd36)
2017-02-05 21:07:32 +01:00
psayafan
d1e9bb6f26 Core/Player: Add option to prevent rename during character customization
Closes #17420

(cherry picked from commit fe2aed6047)
2017-02-01 22:53:24 +01:00
joschiwald
a6d238b833 Core/Player: Moved character_template from character to world db 2017-01-29 16:09:46 +01:00
joschiwald
bc0d82a81e Core/DBLayer: Fixed copy paste mistake in 8e2634b2b4 2017-01-16 15:09:14 +01:00
Shauren
8e2634b2b4 Core/DBLayer: Convert async queries to new query callbacks and remove old callback handling 2017-01-13 21:38:03 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Shauren
ac1dc758b9 Core/Units: Cleanup hardcoded magic numbers for byte field offsets 2016-12-13 20:58:22 +01:00
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