Commit Graph
479 Commits
Author SHA1 Message Date
Shauren ba9e0de36d Core/Misc: Removed gcc specific packing pragma syntax - only unsupported (now) versions required it
(cherry picked from commit 4c7c2abf03b692e67a89d2ba0856aec1553c8ae1)

Conflicts:
	src/server/bnetserver/Packets/BitStream.h
	src/server/shared/Common.h
2015-05-19 21:47:48 +01:00
Duarte Duarte f4c1a8fb2d Merge pull request #14454 from ariel-/cd
Port Core/Spells: Cooldown updates (6.x branch)
2015-05-19 18:52:05 +01:00
Daniel M. Weeks 2dda2483a3 Add missing newline
(cherry picked from commit f48b86fd8ad734855744e766109a543208fce454)
2015-04-15 19:29:38 +02:00
Daniel M. Weeks 5b556fb1cb Remove unnecessary semicolons
(cherry picked from commit 27923b8d8fc10b46f86a2419cf27e9c9f1a96be8)
2015-04-15 19:29:37 +02:00
ariel- e707905764 Port commit 56186319bdd41dd26b6cc14f84e6e41eef5d953b (6.x branch)
Core/Spells: Cooldown updates

Updates #14418
2015-04-13 12:13:46 -03:00
Naios 1939367108 Core/Database: Remove va_list from PreparedStatement::PAppend. 2015-04-02 21:07:48 +02:00
Naios df4723af25 Core/Database: Remove va_args from DatabaseWorker::Execute methods.
* Also delegate SQLQueryHolder::SetPQuery into SetQuery.
2015-04-02 21:07:44 +02:00
leak 7010671931 Core/Misc: Remove unused headers 2015-03-30 17:16:50 +02:00
Naios c61fac843b Core/Database: Return an unknown error code instead of false (0) if mysql_init failed.
* Thanks @et65 for noticing.
* ref #14139

(cherry picked from commit 83bbe00785a7ee7c8141d83bfe94a1415466c64d)
2015-03-29 15:04:51 +02:00
Naios 6486827204 Core/Database: Fix a mistake in 54ee5267244acac16
* Also use proper errno instead of 0 when reconnecting.
* Thanks @et65 for reporting
* ref #14139

(cherry picked from commit 47410157b1d1e51062732696ad5f457a69019ef4)
2015-03-29 14:28:18 +02:00
Naios 11e1f4af60 Core/Database Improve commit 39bdd06446dc
* found a better way where no cast is needed.
* ref #14430

(cherry picked from commit 54ee5267244acac16e4b56342e64c0235ee0599b)
2015-03-28 17:25:16 +01:00
Naios 62a5ee8e2c Core/Database: Prepare statements at reconnect.
* Closes #14430

(cherry picked from commit 39bdd06446dc8ae6f19e017e4390bd2aa7834d03)
2015-03-27 15:38:58 +01:00
Naios 93457ac9d8 Core/Database: Fix some warnings on gcc
* warning: when initialized here [-Wreorder]
* thanks to @Vincent-Michael

(cherry picked from commit cff3910ec82b9f5ebc462a756ce39cc062120cfa)
2015-03-22 00:34:07 +01:00
Naios 2bd1c8541d Core/Updates: Add an automatic database update system. Automatically detects new and edited sql updates through file lists and hashing. Detects renames, deletes and is able to create and auto import full databases. * cleanups in main.cpp of world & bnetserver * refactoring in DatabaseWorkerPool.h & MySQLConnection.cpp
Make sure you re-run cmake, because boost::iostreams was added as dependency.
Maybe you need to install libboost-iostreams1.55-dev on unix as well.

Import every update manual until (included) those INSERT IGNORE updates for each database.

Thanks DDuarte and Shauren for your amazing ideas, help and advises.

In hope that nobody gets a "Your database structure is not up to date..." anymore ,-)

(cherry picked from commit 352012e53173372ebc82898e1b6854c983b01b25)
(cherry picked from commit 1f7f9feafc3f5017d617634ae993d2cdf4430920)

For 3.3.5:
* Synchronized ConfigureBoost.cmake with 6.x, libboost-filesystem1.55-dev also added as dependency!

Signed-off-by: Naios <naios-dev@live.de>
Signed-off-by: Nayd <dnpd.dd@gmail.com>
2015-03-21 20:54:54 +00:00
Nayd 0ebc15e6f4 Core/DBLayer: Remove references to table character_currency (6.x only)
Ref 170bc318b3
2015-03-15 15:50:05 +00:00
joschiwald 170bc318b3 Core/Player: fixed some leftovers in db after player delete
* character_arena_stats
* character_battleground_random
* character_cuf_profiles
* character_currency
* character_stats
* character_void_storage

(cherry picked from commit 2955a1f595be8ba510260e5a84b53663f2300fff)

Conflicts:
	src/server/game/Entities/Player/Player.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.cpp
	src/server/shared/Database/Implementation/CharacterDatabase.h
2015-03-15 13:06:49 +00:00
jackpoz 62001360dd Shared/Database: Improve dead-lock error handling
Improve dead-lock error handling by making sure only 1 thread at time retries to execute a transaction so they don't keep dead-locking each other.
2015-02-12 22:48:57 +01:00
Nayd c66bd709f1 Fix build 2015-02-04 19:44:34 +00:00
jackpoz d4db0c15c7 Shared/Database: Fix transactions not being recommitted on dead-lock error
Fix transactions not being recommitted on dead-lock error (error code 1213) because of calling http://dev.mysql.com/doc/refman/5.0/en/mysql-errno.html after sending the ROLLBACK command. This way the returned error code was related to the ROLLBACK command, not the failed transaction.
2015-02-04 19:42:39 +01:00
Vincent-Michael f3e86d3e68 Update copyright note for 2015
Happy new year

Conflicts:
	src/server/bnetserver/Authentication/AuthCodes.h
	src/server/bnetserver/Authentication/BattlenetPacketCrypt.cpp
	src/server/bnetserver/Authentication/BattlenetPacketCrypt.h
	src/server/bnetserver/Packets/AchievementPackets.h
	src/server/bnetserver/Packets/AuthenticationPackets.cpp
	src/server/bnetserver/Packets/AuthenticationPackets.h
	src/server/bnetserver/Packets/BitStream.cpp
	src/server/bnetserver/Packets/BitStream.h
	src/server/bnetserver/Packets/CachePackets.cpp
	src/server/bnetserver/Packets/CachePackets.h
	src/server/bnetserver/Packets/ChatPackets.h
	src/server/bnetserver/Packets/ConnectionPackets.cpp
	src/server/bnetserver/Packets/ConnectionPackets.h
	src/server/bnetserver/Packets/FriendsPackets.cpp
	src/server/bnetserver/Packets/FriendsPackets.h
	src/server/bnetserver/Packets/PacketManager.cpp
	src/server/bnetserver/Packets/PacketManager.h
	src/server/bnetserver/Packets/Packets.h
	src/server/bnetserver/Packets/PacketsBase.cpp
	src/server/bnetserver/Packets/PacketsBase.h
	src/server/bnetserver/Packets/PresencePackets.cpp
	src/server/bnetserver/Packets/PresencePackets.h
	src/server/bnetserver/Packets/ProfilePackets.h
	src/server/bnetserver/Packets/SupportPackets.h
	src/server/bnetserver/Packets/WoWRealmPackets.cpp
	src/server/bnetserver/Packets/WoWRealmPackets.h
	src/server/bnetserver/Realms/RealmList.cpp
	src/server/bnetserver/Realms/WorldListener.cpp
	src/server/bnetserver/Realms/WorldListener.h
	src/server/bnetserver/Server/ComponentManager.cpp
	src/server/bnetserver/Server/ComponentManager.h
	src/server/bnetserver/Server/ModuleManager.cpp
	src/server/bnetserver/Server/ModuleManager.h
	src/server/bnetserver/Server/Session.cpp
	src/server/bnetserver/Server/Session.h
	src/server/bnetserver/Server/SessionManager.cpp
	src/server/bnetserver/Server/SessionManager.h
	src/server/game/Accounts/BattlenetAccountMgr.cpp
	src/server/game/Accounts/BattlenetAccountMgr.h
	src/server/game/Battlegrounds/Zones/BattlegroundBFG.cpp
	src/server/game/Battlegrounds/Zones/BattlegroundBFG.h
	src/server/game/Battlegrounds/Zones/BattlegroundTP.cpp
	src/server/game/Battlegrounds/Zones/BattlegroundTP.h
	src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
	src/server/game/Entities/AreaTrigger/AreaTrigger.h
	src/server/game/Entities/Item/ItemTemplate.cpp
	src/server/game/Guilds/GuildFinderMgr.cpp
	src/server/game/Guilds/GuildFinderMgr.h
	src/server/game/Handlers/GuildFinderHandler.cpp
	src/server/game/Handlers/VoidStorageHandler.cpp
	src/server/game/Movement/MovementStructures.cpp
	src/server/game/Movement/MovementStructures.h
	src/server/game/Movement/PathGenerator.cpp
	src/server/game/Server/BattlenetServerManager.cpp
	src/server/game/Server/BattlenetServerManager.h
	src/server/game/Server/Packet.cpp
	src/server/game/Server/Packet.h
	src/server/game/Server/Packets/AchievementPackets.cpp
	src/server/game/Server/Packets/AchievementPackets.h
	src/server/game/Server/Packets/AuctionHousePackets.cpp
	src/server/game/Server/Packets/AuctionHousePackets.h
	src/server/game/Server/Packets/AuthenticationPackets.cpp
	src/server/game/Server/Packets/AuthenticationPackets.h
	src/server/game/Server/Packets/BattlegroundPackets.cpp
	src/server/game/Server/Packets/BattlegroundPackets.h
	src/server/game/Server/Packets/ChannelPackets.cpp
	src/server/game/Server/Packets/ChannelPackets.h
	src/server/game/Server/Packets/CharacterPackets.cpp
	src/server/game/Server/Packets/CharacterPackets.h
	src/server/game/Server/Packets/ChatPackets.cpp
	src/server/game/Server/Packets/ChatPackets.h
	src/server/game/Server/Packets/ClientConfigPackets.cpp
	src/server/game/Server/Packets/ClientConfigPackets.h
	src/server/game/Server/Packets/CombatLogPackets.cpp
	src/server/game/Server/Packets/CombatLogPackets.h
	src/server/game/Server/Packets/CombatPackets.cpp
	src/server/game/Server/Packets/CombatPackets.h
	src/server/game/Server/Packets/EquipmentSetPackets.cpp
	src/server/game/Server/Packets/EquipmentSetPackets.h
	src/server/game/Server/Packets/GameObjectPackets.cpp
	src/server/game/Server/Packets/GameObjectPackets.h
	src/server/game/Server/Packets/GuildPackets.cpp
	src/server/game/Server/Packets/GuildPackets.h
	src/server/game/Server/Packets/ItemPackets.cpp
	src/server/game/Server/Packets/ItemPackets.h
	src/server/game/Server/Packets/LootPackets.h
	src/server/game/Server/Packets/MiscPackets.cpp
	src/server/game/Server/Packets/MiscPackets.h
	src/server/game/Server/Packets/MovementPackets.cpp
	src/server/game/Server/Packets/MovementPackets.h
	src/server/game/Server/Packets/NPCPackets.cpp
	src/server/game/Server/Packets/NPCPackets.h
	src/server/game/Server/Packets/QueryPackets.cpp
	src/server/game/Server/Packets/QueryPackets.h
	src/server/game/Server/Packets/QuestPackets.cpp
	src/server/game/Server/Packets/QuestPackets.h
	src/server/game/Server/Packets/ReputationPackets.cpp
	src/server/game/Server/Packets/ReputationPackets.h
	src/server/game/Server/Packets/SpellPackets.cpp
	src/server/game/Server/Packets/SpellPackets.h
	src/server/game/Server/Packets/SystemPackets.cpp
	src/server/game/Server/Packets/SystemPackets.h
	src/server/game/Server/Packets/TalentPackets.cpp
	src/server/game/Server/Packets/TalentPackets.h
	src/server/game/Server/Packets/TradePackets.h
	src/server/game/Server/Packets/WorldStatePackets.cpp
	src/server/game/Server/Packets/WorldStatePackets.h
	src/server/game/Server/WorldSocket.cpp
	src/server/ipc/CMakeLists.txt
	src/server/ipc/Commands.cpp
	src/server/ipc/Commands.h
	src/server/ipc/ZMQTask.cpp
	src/server/ipc/ZMQTask.h
	src/server/ipc/ZmqContext.cpp
	src/server/ipc/ZmqContext.h
	src/server/ipc/ZmqListener.cpp
	src/server/ipc/ZmqListener.h
	src/server/ipc/ZmqMux.cpp
	src/server/ipc/ZmqMux.h
	src/server/ipc/ZmqWorker.cpp
	src/server/ipc/ZmqWorker.h
	src/server/scripts/Commands/cs_battlenet_account.cpp
	src/server/scripts/Commands/cs_mmaps.cpp
	src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
	src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp
	src/server/scripts/EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
	src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.h
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_beauty.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_karsh_steelbender.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_romogg_bonecrusher.cpp
	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp
	src/server/scripts/EasternKingdoms/Deadmines/deadmines.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_daakara.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
	src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
	src/server/scripts/EasternKingdoms/ZulAman/zulaman.h
	src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_ironforge.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
	src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp
	src/server/scripts/Kalimdor/Firelands/firelands.h
	src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp
	src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
	src/server/scripts/Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
	src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
	src/server/scripts/Kalimdor/HallsOfOrigination/halls_of_origination.h
	src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
	src/server/scripts/Kalimdor/zone_azshara.cpp
	src/server/scripts/Kalimdor/zone_darkshore.cpp
	src/server/scripts/Kalimdor/zone_felwood.cpp
	src/server/scripts/Kalimdor/zone_moonglade.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
	src/server/scripts/Maelstrom/Stonecore/boss_corborus.cpp
	src/server/scripts/Maelstrom/Stonecore/boss_high_priestess_azil.cpp
	src/server/scripts/Maelstrom/Stonecore/boss_ozruk.cpp
	src/server/scripts/Maelstrom/Stonecore/boss_slabhide.cpp
	src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp
	src/server/scripts/Maelstrom/Stonecore/stonecore.cpp
	src/server/scripts/Maelstrom/Stonecore/stonecore.h
	src/server/shared/Cryptography/Authentication/AuthCrypt.h
	src/server/shared/Cryptography/Authentication/PacketCrypt.cpp
	src/server/shared/Cryptography/Authentication/WorldPacketCrypt.cpp
	src/server/shared/Cryptography/HmacHash.cpp
	src/server/shared/Cryptography/SHA256.cpp
	src/server/shared/Cryptography/SHA256.h
	src/server/shared/Database/Implementation/HotfixDatabase.cpp
	src/server/shared/Database/Implementation/HotfixDatabase.h
	src/server/shared/Realm/Realm.cpp
	src/server/shared/Realm/Realm.h
	src/tools/connection_patcher/CMakeLists.txt
	src/tools/connection_patcher/Constants/BinaryTypes.hpp
	src/tools/connection_patcher/Helper.cpp
	src/tools/connection_patcher/Helper.hpp
	src/tools/connection_patcher/Patcher.cpp
	src/tools/connection_patcher/Patcher.hpp
	src/tools/connection_patcher/Patches/Common.hpp
	src/tools/connection_patcher/Patches/Mac.hpp
	src/tools/connection_patcher/Patches/Windows.hpp
	src/tools/connection_patcher/Patterns/Common.hpp
	src/tools/connection_patcher/Patterns/Mac.hpp
	src/tools/connection_patcher/Patterns/Windows.hpp
	src/tools/connection_patcher/Program.cpp
	src/tools/map_extractor/loadlib/DBFilesClientList.h
2015-01-01 00:32:50 +01:00
ShinDarth fd0b961781 Core/Commands: implement .pvpstats command
Shows number of battleground victories in the last 7 days

Closes #13460
2014-11-10 22:30:20 +00:00
Rochet2 b53810ea37 AH related fixes
Load items from memory instead of DB (may break 3rd party programs)
Fix item suffix search Closes #9196
For AHBot set expired auctions ignored from update process
2014-10-25 11:28:25 +03:00
Heihachi 15a9c6729e Scripts/Commands: Implement mutehistory command for GM's with requested improvements
Closes #13350
2014-10-18 23:34:18 +01:00
ShinDarth e806fc8a02 Core/Quest: implement Quest Tracker 2014-10-18 18:37:39 +02:00
Vincent-Michael f989c7182c Core/Misc: Added support for calculate zoneId/areaId for creature / gameoject table at loading (Slow server startup ca.3-4 sec.) 2014-10-05 01:57:37 +02:00
jackpoz 5150222f19 Revert "Core/AuctionHouse: Delete expired auctions at startup."
This reverts commit a92038feaf which caused items of expired auctions not being mailed back to the owner and leaving those items in item_instance table.

Please refer to the forum for steps to verify the integrity of your database and remove old unneeded rows in item_instance table.

Fixes #12699
2014-09-30 21:25:58 +02:00
xjose93 0d50833d20 Core/Commands: Fix displaying in .baninfo character command. 2014-09-19 18:58:12 +02:00
DDuarte cefcde9ba9 Core/Misc: Multiple static analysis issues fixed (small optimizations and clear code) 2014-09-19 03:30:02 +01:00
joschiwald e567ab9597 Core/Texts: added TextRange parameter to creature_text
Ranges:
0 - Normal (Default)
1 - Area
2 - Zone
3 - Map
4 - World

Ref #13116
2014-09-18 23:33:59 +02:00
jackpoz 8bb4f33852 Core/DB: Fix crash on shutdown
Fix race condition crash on shutdown, closing MySQL connections with queries still being executed
2014-09-10 22:39:03 +02:00
Odyssey 54e201b8b9 Scripts/Commands: Allow to set a custom duration to the Freeze command applied Aura
- Allow to set a default duration for the Freeze Aura in worldserver.conf
- Handle the .freeze and .unfreeze command custom effects through the Freeze AuraScript
- Make players able to eventually unfreeze by themselves since the aura will expire without someone having to use .unfreeze
- Make .freeze command usable with the following syntax:

      * .freeze (with a targeted player)
      * .freeze duration_in_seconds (with a targeted player)
      * .freeze playername duration (if duration is an invalid value it will be defaulted to the config one)
      * .freeze playername (in this case, duration will be defaulted to the config value)

- Make .listfreeze command able to show the remaining freeze duration on all affected players

Closes #12972
2014-09-08 15:56:32 +01:00
Shauren 9ab74b3910 Core/DBLayer: Fixed GetUInt32,GetInt64 and GetUInt64 on windows when value stored in db was greater than 2147483647 2014-09-06 22:58:29 +02:00
ShinDarth b65172910c Core/BattleGrounds: store data about BGs victories
Enable in worldserver.conf

Closes #12944

Signed-off-by: DDuarte <dnpd.dd@gmail.com>
2014-08-28 15:32:38 +01:00
Shauren 7cb72c2aac Core/DBLayer: Fixed an incredibly rare memory leak happening when player started loading from database and never finished 2014-08-16 01:43:42 +02:00
joschiwald ccfa82e7d5 Core/Creature: update creature_template and some other small things
http://www.trinitycore.org/f/topic/9572-creature-damage/
2014-08-14 16:09:14 +02:00
leak 528baae5f7 Kill potentially uninitialized variable warning 2014-08-11 14:03:16 +02:00
leak 14cb6e4235 Resolve shutdown crash/leak if MySQL server is not running
Fixes #12734
2014-08-10 22:43:48 +02:00
DDuarte df3b08d140 Core/Server: Use nullptr instead of 0 where pointers are expected 2014-08-09 21:32:26 +01:00
DDuarte a394205eca Core/Server: Add missing overrides 2014-08-09 20:17:40 +01:00
DDuarte cb453fa093 Core/Shared: Fix world and auth crash on shutdown (PCQ & DbWorker)
Fixes #12704
2014-08-02 19:30:55 +01:00
joschiwald 04bb78f6c3 Scripts/OutdoorPvP: replaced some chat texts with proper defense messages 2014-07-29 23:45:34 +02:00
Shauren e1c400250c Added comments to 6961f957c9 to make sure noone decides that storing the result in a variable is unneccessary 2014-07-26 16:14:18 +02:00
Shauren 6961f957c9 Core/DBLayer: Fixed possible crashes with async queries retrieving result
Closes #12655
2014-07-26 16:10:05 +02:00
Subv a03c879565 Core/PreparedStatements: Fixed a change I missed in the World prepared statements for waypoints. 2014-07-25 20:18:43 -05:00
Subv b5d025938e Core/Waypoints: Allow the table waypoint_data to use Takeoff and Land waypoints. 2014-07-25 19:05:25 -05:00
leak 5b0898b33c Core/DatabaseWorkerPool: Delete PCQ in dtor rather than in Close() and cancel queue properly before doing so 2014-07-21 20:12:44 +02:00
Sebastian Valle Herrera eae97c7bc8 Core/PreparedStatements: Fixed a Coverity warning 2014-07-21 13:01:11 -05:00
Vincent-Michael 946ab3e8b7 Core: Kill again whitespace :( 2014-07-21 18:14:22 +02:00
Shauren 7532864264 Buildsystem/MSVC: Warning fixes
C4800 'type' : forcing value to bool 'true' or 'false' (performance warning)
C4127 conditional expression is constant
2014-07-17 15:42:57 +02:00
Subv 87f830ca89 Fix a warning about abstract class not having a virtual destructor 2014-07-13 15:17:13 -05:00