Commit Graph

21083 Commits

Author SHA1 Message Date
jackpoz
a4ba54fbdb Core/NetworkIO: Improve packet spam solution
Implement an improved packet Anti-DoS by counting how many times the same opcode has been sent in the last second and applying the policy specified in the configs if the amount of packets exceeds a reasonable amount.
Credits to the original author who decided to share this with TrinityCore team.
2014-05-24 22:34:06 +02:00
jackpoz
f091713086 Core/Misc: Fix typo
Fix typos about the word "Resurrect"
2014-05-24 18:25:53 +02:00
Discover-
8f42dd3fab Merge pull request #12111 from MitchesD/commands
Scripts/Commands: added option to show InhabitType in .npc info command
2014-05-24 00:45:06 +02:00
MitchesD
007e903753 Scripts/Commands: added option to show InhabitType in .npc info command 2014-05-23 20:51:22 +02:00
Discover-
80daaf8d43 Core/SAI: SMART_EVENT_IC_LOS is now called when movement in LOS was made while the creature was in combat 2014-05-23 17:11:37 +02:00
joschiwald
3c97735056 Scripts/PoS: fixed rimefang icy blast
Closes #632
2014-05-23 16:16:31 +02:00
Warpten
fa31b161cc Merge pull request #12102 from Trisjdc/achievements
Core/Achievements: Fixed ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS in case killed creature has a loot recipient (Credit would be granted to loot recipient rather than killing blow lander)
2014-05-22 20:04:27 +02:00
Shauren
8ddb112569 Merge pull request #12107 from Trisjdc/nitro_jump
Core/Spells: Nitro Boost should not fail in dungeon maps
2014-05-22 17:28:48 +02:00
Trisjdc
4793f20506 Core/Spells: Nitro Boost should not fail in dungeon maps 2014-05-22 14:40:21 +01:00
Trisjdc
4d3156e0b8 Core/Achievements: Fix ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS 2014-05-21 15:10:15 +01:00
jackpoz
1083dbb993 Core/Misc: Remove Unit::Get* wrappers for ObjectAccessor::Get* 2014-05-20 21:21:33 +02:00
jackpoz
d36ecbf4a3 Merge pull request #12076 from Trisjdc/even_more_sai
Core/SAI: Clear UNIT_STATE_EVADE immediately if we're about to follow a target on EnterEvadeMode
2014-05-19 22:00:48 +02:00
jackpoz
0166d9bf89 Merge pull request #12083 from Trisjdc/pet_combat
Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat
2014-05-19 21:44:15 +02:00
jackpoz
35d5e63258 Merge pull request #12018 from Foereaper/master
Core/Misc: Fixed SendAddonMessage issue.
2014-05-19 21:33:08 +02:00
Aokromes
a5f84e83cc DB/Creature: Fix Crazed Mana Surge
By dr-j, closes #11998
2014-05-19 18:31:57 +02:00
Aokromes
ced47da812 DB/Quest: Fix Gambling Debt
By dr-j, closes #12092
2014-05-19 18:28:57 +02:00
Shauren
b83cff2a85 Core/Vehicles: Set proper power type using PowerDisplay.dbc
Original commit by Xfurry - cmangos/mangos-wotlk/bef8c99cc07c96d4e2f45e0ff6bc107068555ffb
2014-05-19 15:42:51 +02:00
Shauren
b41de6cb38 Core/Misc: Removed remnants of old db threading model 2014-05-19 14:48:10 +02:00
joschiwald
37073a8817 Merge pull request #12082 from MitchesD/misc_2
Scripts/Krystallus: converted to EventMap, removed useless code
2014-05-19 02:48:41 +02:00
jackpoz
7228bd3664 Revert "Core/Logging: Use logger cache for speed up logger filter search"
This reverts commit 39331ea7b9.
This is required to fix a race condition introduced with the logger cache. Adding a locking mechanism might make worthless the speed gain added by the cache itself, push a proper thread-safe implementation if it's worth it.

Helgrind log:
Possible data race during write of size 8 at 0x736F428 by thread #1
Locks held: none
   at 0x11872DF: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_bucket_begin(unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1196)
   by 0x11865A1: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::string const, Logger const*>, true>*) (hashtable.h:1342)
   by 0x1185A48: std::__detail::_Map_base<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, true>::operator[](std::string const&) (hashtable_policy.h:496)
   by 0x1184F3A: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::operator[](std::string const&) (unordered_map.h:596)
   by 0x1184495: Log::GetLoggerByType(std::string const&) (Log.h:106)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x16E7121: World::LoadConfigSettings(bool) (World.cpp:909)
   by 0x16EB623: World::SetInitialWorldSettings() (World.cpp:1276)
   by 0x118F0EC: Master::Run() (Master.cpp:169)
   by 0x1196AFF: main (Main.cpp:142)

This conflicts with a previous read of size 8 by thread #3
Locks held: none
   at 0x1186EA6: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:1162)
   by 0x1186263: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node(unsigned long, std::string const&, unsigned long) const (hashtable.h:604)
   by 0x11857B9: std::_Hashtable<std::string, std::pair<std::string const, Logger const*>, std::allocator<std::pair<std::string const, Logger const*> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::string const&) (hashtable.h:1025)
   by 0x1184DE2: std::unordered_map<std::string, Logger const*, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<std::string const, Logger const*> > >::find(std::string const&) (unordered_map.h:543)
   by 0x11842EF: Log::GetLoggerByType(std::string const&) (Log.h:84)
   by 0x1184527: Log::ShouldLog(std::string const&, LogLevel) (Log.h:112)
   by 0x189AACA: MySQLConnection::Execute(char const*) (MySQLConnection.cpp:175)
   by 0x18A3225: BasicStatementTask::Execute() (AdhocStatement.cpp:56)

Address 0x736F428 is 120 bytes inside a block of size 184 alloc'd
   at 0x4C2AE3A: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:350)
   by 0x1185046: ACE_Singleton<Log, ACE_Thread_Mutex>::instance() (Singleton.cpp:91)
   by 0x11968E2: main (Main.cpp:135)
2014-05-18 16:53:29 +02:00
jackpoz
0904858624 Revert "Core/Logging: store loggers in cache correctly"
This reverts commit c6a4d5a1de.
2014-05-18 16:04:59 +02:00
jackpoz
a83c315771 Core/Calendar: Fix warning
Fix warning added b6048f89f7 about signed/unsigned comparison mismatch
2014-05-18 14:41:11 +02:00
MitchesD
fa1358afce Scripts/Krystallus: converted to EventMap, removed useless code 2014-05-18 13:48:09 +02:00
Shauren
f9c7bb4171 Partially revert f296095191 "Fix various warnings. The core, the scripts and the tools now compile without warnings with -Wall -Wextra -pedantic."
Visual studio does not support constexpr
Made semicolon after "Prepare*Script" mandatory - workaround for dumb IDEs inserting extra indentation level after newline
2014-05-18 12:50:10 +02:00
Trisjdc
8aee9dd948 Core/PetAI: Pet's owner should NOT enter combat when the pet attacks/enters combat 2014-05-18 11:00:48 +01:00
Aokromes
fce80ffa6e Update 2014_05_18_04_world_misc.sql 2014-05-18 03:30:44 +02:00
Aokromes
23691bd4d1 Update 2014_05_18_04_world_misc.sql 2014-05-18 03:30:02 +02:00
Aokromes
83c3abce61 DB/Spawns: Myralion Sunblaze Frozen Halls spawns
By Foldy, closes #11899
2014-05-18 03:12:53 +02:00
Aokromes
f3676f3675 Rename 2014_05_18_02_world_gameobject.sql to 2014_05_18_02_world_gameobject.sql 2014-05-18 01:59:07 +02:00
Aokromes
71e38c7b51 DB/Misc: Nesingwary Lackey Ear
By nelegalno, closes #8624
2014-05-18 01:58:24 +02:00
Aokromes
820095230d DB/Gameobject: Thunderbrew Lager Keg
By Foldy, closes #12078
2014-05-18 01:47:52 +02:00
Aokromes
f8f8819bef DB/Creature: Ethereal Soul-Trader
By Foldy, closes #12080 updates #4152
2014-05-18 01:43:40 +02:00
Sebastian Valle Herrera
b70edf7bca Merge pull request #12071 from Praetonus/warnings
Fix various warnings.
2014-05-17 18:40:23 -05:00
Aokromes
2d1272da5f DB/Creature: Highlord Darion Mograine - Restore Shadow's Edge gossip
By Foldy, closes #12079
2014-05-18 01:39:03 +02:00
Sebastian Valle Herrera
d76da63a5a Merge pull request #12070 from Trisjdc/more_sai
Core/SAI: Prevent nullifying damage, because of player damage requirements
2014-05-17 18:37:50 -05:00
jackpoz
5e86dea0b0 Shared/Packets: Handle crash by throwing an exception instead
Throw a ByteBufferException when trying to access the first element of an empty ByteBuffer class
2014-05-18 00:51:40 +02:00
jackpoz
c200d2c8cc Core/Warden: Fix crash
Fix crash with empty CMSG_WARDEN_DATA packets
2014-05-18 00:29:00 +02:00
jackpoz
03f16d2e90 Shared/Database: Increase Database Worker Pool queue size
Increase DatabaseWorkerPool queue size from the default 16KB to 8MB to avoid blocking the caller thread when queuing an async statement/transaction.
2014-05-17 23:48:32 +02:00
Shauren
8eeec647d1 Fixed build without pch 2014-05-17 21:35:39 +02:00
jackpoz
b6048f89f7 Core/Calendar: Align max amount of Players to be invited to Client limits
Limit the max amount of Players to be invited to a Calendar event to 100, same limit as the one in the Client
2014-05-17 21:22:28 +02:00
Shauren
a62f95e4c2 Core/Calendar: Use single database transaction for adding multiple invites when creating new event 2014-05-17 21:02:01 +02:00
joschiwald
1dbc943297 Core/GameObjects: fixed instant reset of gameobjects after activation 2014-05-17 20:05:43 +02:00
Warpten
488e4ef8e1 Contrib: Added an updated version of the configuration file merger tool.
This one lets you choose which value to keep between the two configuration files.
Make sure to carefully read the file's lines 3 to 9 to make sure you don't misuse it and get back at me later raging.
It is not exactly as I would like it to be, but current state will have to do.

You can try it out live at: http://tinyurl.com/kzxmrlm
2014-05-17 14:54:17 +02:00
Trisjdc
9bad26fc88 Core/SAI: Clear UNIT_STATE_EVADE immediately if we're about to follow a target on EnterEvadeMode (MoveFollow does not clear evade) 2014-05-16 19:46:02 +01:00
Praetonus
e7255e66da Remove changes in dep file. 2014-05-15 23:10:21 +02:00
Praetonus
f296095191 Fix various warnings. The core, the scripts and the tools now compile without warnings with -Wall -Wextra -pedantic.
-Fix warnings from -Woverflow on implicit constant conversion.
-Fix warnings from -pedantic.
-Fix warnings from -pedantic.
-Fix warnings from -Wformat.

Two minor changes in addition :

-Replace a defined value equal to 2^31 - 1 by std::numeric_limits<int>::max().
-Remove useless null-check on pointer returned by new. New doesn't returns nullptr on failure, it throws std::bad_alloc.
2014-05-15 21:32:47 +02:00
Trisjdc
50336af1c7 Core/SAI: Prevent nullifying damage, because of player damage requirements 2014-05-15 17:05:02 +01:00
jackpoz
9d760098a5 Core/Misc: Fix crash in ticket creation
Fix a crash happening with malicious CMSG_GMTICKET_CREATE packets.
2014-05-14 22:07:20 +02:00
jackpoz
32386be8e7 Merge pull request #12021 from Trisjdc/spell_target_dest
Core/Spells: Replace MovePosition by MovePositionToFirstCollision in spell dest target handling.
2014-05-13 21:02:07 +02:00
jackpoz
d32180df17 Merge pull request #12058 from Trisjdc/sunwell
Scripts/SWP: Sathrovarr will no longer cause player teleports on grid load
2014-05-13 20:48:23 +02:00