Commit Graph

51 Commits

Author SHA1 Message Date
ariel- e84dfff4ce Core/Auras: don't save auras casted by items
- Drop useless field from DB (itemGuid was being saved, but never used, see Prepared Statements)
- This type of auras (like Water Bucket, Precious Ribbon, etc) will be recasted on login anyways.

This reverts commit 16cfd59f5b
2016-10-30 07:31:42 -03:00
ariel- 66688a7855 Core/Channel: revamp channel system (#17980)
* Core/Channel: change the way channels are stored and sent to client.

- Fixes multiple channels per zone when using different locales
- Connected clients will receive locally the name of the channel for their apropiate locale (if available)
- In other cases default locale name will be sent, so as to prevent breaking channel chat for those players

Closes #8411
2016-10-07 00:59:56 -03:00
joschiwald ec221c5500 Core/Auth: removed unneeded sub query 2016-09-25 18:06:01 +02:00
SnapperRy 6f1e823cac Core/Fishing: implement retail-like fishing skill-up functionality (#17528) 2016-09-13 04:16:05 +02:00
joschiwald f5890941b1 Core/Logging: delete old logs of the own realm only
(cherry picked from commit beedf737c8)
2016-08-27 15:28:33 +02:00
ariel- fbfcfe4c1d Core/Globals: delete another synch query using CharacterInfo map 2016-08-18 01:45:44 -03:00
jackpoz 7616f796d0 Server/Database: Reduce differences between 3.3.5 and 6.x branches
Code functionality shouldn't have been modified.
2016-08-10 16:57:21 +02:00
jackpoz abe37e458c Server/Database: Reduce differences between 3.3.5 and 6.x branches
Cherry-pick 1bea52fd46 and 543bea32 to add support to TYPE_BINARY MySQL field type
2016-08-10 16:02:22 +02:00
ForesterDev 6a87524204 Core\Command: remove account_muted data on account deletion 2016-08-04 17:24:41 +04:00
ariel- 1a52c1cd36 Core/Misc: remove two synch queries and replace them with CharacterInfo cache 2016-07-16 20:51:32 -03:00
Aokromes 90cff479ac Core/Misc: Better description for a log 2016-07-02 19:53:38 +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 862d068cde * DB/Graveyards: Added a comment field to describe the graveyards in graveyard_zone 2016-05-25 19:08:52 +02:00
Naios d4d199d765 Core/Common: Move the query callback header to the database project
* Also renames the header to it's correct name QueryCallback
2016-05-10 18:16:13 +02:00
Shauren 40b0f03d5c Core/Misc: Fixed warnings found by GCC 6
(cherry picked from commit 67fd3ee726)

# Conflicts:
#	src/server/game/Spells/Auras/SpellAuras.cpp
2016-04-28 16:21:20 +01:00
Shauren 39abb8acb3 Core/Misc: MSVC warning fixes
(cherry picked from commit 70412e7e25)
2016-04-09 18:13:30 +02:00
Naios 205556b226 Core/Database: Converted the database library to a shared library.
* There is still the possibility to static link against database.

(cherry picked from commit 6cfea2d8f7)
2016-03-24 02:46:01 +01:00
Shauren 1925778e44 Core/Players: Split playerBytes fields in characters table
(cherry picked from commit 2a6f65fddc)
2016-03-13 20:18:05 +01:00
Shauren 2a37266269 Core/Auth: Fixed login for accounts with accented characters
Closes #16770
2016-03-12 21:22:16 +01:00
Naios 3a4ec8bcbe Core/Database: Move singleton instances into compilation units
* Fixes issues when building shared libraries
  (prevents gcc and clang from providing several instance)
* Also instantiate the database worker pools in DatabaseEnv.cpp now.

(cherry picked from commit a8fe7f6eb7)
2016-03-11 19:51:07 +01:00
Naios 62815c6e1c Core/Database: Use RAII for resource management in MySQLConnection
* Prevents double deletion of MySQLConnection after errors
* The object stays valid after an error and will wait for a reconnect
* Also crash the server if 5 reconnects fail
* Corrects an issue where the server was crashed after one reconnect
  because mysql_thread_id was invoked with an invalid handle
2016-03-03 01:19:58 +01:00
Naios 09fa0ab46a Core/Database: Move DatabaseWorkerPool into it's own translation unit 2016-03-03 01:06:13 +01:00
Naios 5ed0180994 Core/Database: Use RAII instead of raw pointers for resource management
* Corrects dirty usage of vectors with array indexes
* Removes _connectionCount which is now handled through the vector size
* Rename magic identifier "t" to "connection"
2016-03-03 01:06:13 +01:00
Naios 7d3cffc297 Core/Database: Close the databases correctly when the DBUpdater fails
* Also fixes a memory leak spotted by Aokromes
2016-03-03 01:06:13 +01:00
Shauren dfbb3bec56 Core/Auth: Moved expiring bans to background task - no longer blocking queries during login by default running every minute (configurable) 2016-02-15 19:38:53 +01:00
Shauren 5bf90b3338 Core/Auth: Performance/security improvements
* Changed all db queries to async
* Added buffer length checks
* Only allow one challenge/proof packet per socket lifetime

Closes #13217
Closes #16602
2016-02-14 18:41:25 +01:00
treeston 6102a7937d Maps/Instances: Implement handling of CMSG_SET_SAVED_INSTANCE_EXTEND 2016-02-10 19:35:11 +01:00
Rushor 923a368ac7 Update copyright note for 2016 2016-01-01 12:02:33 +01:00
jackpoz 5b8b32dac7 Core/Quest: Fix issues reported by static analysis 2015-12-07 20:55:33 +01:00
Shauren 7631ec444e Core/DBLayer: Improve error message from 0a27f8bce2
(cherry picked from commit d31706b07e)
2015-11-14 13:54:36 +01:00
Shauren 536365a70f Fix build for mysql versions older than 5.7
(cherry picked from commit 5604aed5f1)
2015-11-13 09:28:14 +01:00
Shauren 9bc5088a81 Core/DBLayer: Ensure that MySQL version used when compiling is the same as libmysql.dll version used for running the server.
Ref #15848

(cherry picked from commit 0a27f8bce2)
2015-11-12 17:55:10 +01:00
Vincent-Michael ff9001ce1d Updated url for tc wiki
(cherry picked from commit 6d01960448)
2015-11-07 19:35:24 +01:00
Shauren a17c27aaeb Core/Accounts: Fixed ban check after 517a30d7c1 2015-11-05 21:25:51 +01:00
ShinDarth 7ab1d1b7d0 Core/Ticket improved ticket system
- Safely close ticket before character deletion
- Allow to keep trace of delete characters tickets (configurable)
- Closes #15655

Closes #15699
2015-11-03 16:07:30 +01:00
Shauren e8909de8de Core/Accounts: Check active column when determining if account is banned or not 2015-11-01 13:16:29 +01:00
Shauren b8e86b9b7a Core/DBLayer: Allowed using GetDouble for SUM results instead of requiring string conversions
(cherry picked from commit 3109ab2da0)
2015-10-31 18:25:40 +01:00
Shauren 517a30d7c1 Core/DBLayer: Sprinkle some async magic on worldserver auth/session load process
(cherry picked from commit 0e49eefe85)
2015-10-31 15:36:48 +01:00
Shauren 4a36850167 Core/World: Store account id in CharacterInfo to reduce the amount of database queries
(cherry picked from commit aaaa1c3441)
2015-10-29 21:08:00 +01:00
Shauren 7dcddd90be Core/Spells: Improved spell category cooldown handling
* Category cooldown is stored with the spell that started the cooldown (and only resetting cooldown on that spell will clear cooldowns on entire category - this fully mirrors client behavior)
* This significantly reduces the amount of data saved to database for cooldowns
* Spell casts from items that have a different category specified than on spell will now check for cooldown during the cast

(cherry picked from commit 1efb3f08e2)

Closes #15766
Closes #15137
Closes #14837
2015-10-29 17:56:18 +01:00
ShinDarth d380c12c56 Core/Battleground: implement deserters tracker feature 2015-10-28 20:39:04 +01:00
ShinDarth 2ebf068fc7 Core/BG fix .character changefaction pvpstats victories amount 2015-10-12 19:25:43 +02:00
ShinDarth e66db9e20c Core/Ticket keep always trace of GM who resolves the ticket 2015-10-06 15:31:54 +02:00
Shauren 402a3c45ff Core/Maps: Moved corpse management to map level
(cherry picked from commit cd27fd38b9)

# Conflicts:
#	src/server/database/Database/Implementation/CharacterDatabase.cpp
#	src/server/database/Database/Implementation/CharacterDatabase.h
#	src/server/game/Entities/Corpse/Corpse.cpp
#	src/server/game/Entities/Creature/GossipDef.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Globals/ObjectAccessor.cpp
#	src/server/game/Globals/ObjectAccessor.h
#	src/server/game/Globals/ObjectMgr.cpp
#	src/server/game/Globals/ObjectMgr.h
#	src/server/game/Grids/ObjectGridLoader.cpp
#	src/server/game/Handlers/AuctionHouseHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/ChatHandler.cpp
#	src/server/game/Handlers/QueryHandler.cpp
#	src/server/game/Maps/Map.cpp
#	src/server/game/Server/Packets/CharacterPackets.cpp
#	src/server/game/World/World.cpp
#	src/server/scripts/Commands/cs_reload.cpp
2015-09-29 18:45:01 +02:00
pete318 01ae5c4bf6 Auction house changes:
- Stop storing guid for auctioneer.
 - Store instead house ID
 - No separate ID for various houses. Only Horde, Alliance and Neutral.
 - Removed non-needed faction checks.
 - Use enum for auction house IDs

NOTE: This will expire all current auctions and return item to player (or
award to high bidder) in order to prepare database for the changes.
2015-09-28 22:26:23 +02:00
Shauren 5c3ba60d54 Core/DBLayer: Allocate a single buffer for entire prepared result set instead of separate ones for each field
(cherry picked from commit 8652f4b4de)
2015-09-27 17:11:35 +02:00
Shauren 25c0303976 Core/DBLayer: Added compile time validation for prepared statement indexes passed to DatabaseWorkerPool::GetPreparedStatement turning mistakes like the one fixed in 0327927fa6 into compiler errors.
(cherry picked from commit 7c75160f59)

Conflicts:
	src/server/database/Database/Implementation/HotfixDatabase.h
	src/server/shared/DataStores/DB2StorageLoader.cpp
	src/server/shared/DataStores/DB2StorageLoader.h
	src/server/shared/DataStores/DB2Store.h
2015-09-27 17:08:50 +02:00
Shauren d2076ef8b0 Core/DBLayer: Optimized prepared statement query results by eliminating unneeded buffer copies
* Improved error logs for using incorrect Field getters to also include table name, field name and field index.

(cherry picked from commit 65dbc7082a)

Conflicts:
	src/server/database/Database/Field.h
	src/server/game/Globals/ObjectMgr.cpp
2015-09-27 16:28:04 +02:00
pete318 dcb7082277 Map local guids 6.x -> 3.3.35:
Implemented:
  https://github.com/TrinityCore/TrinityCore/commit/ca83e14f8b141fab0a13e08f48fca6c1ace0c4c7
  https://github.com/TrinityCore/TrinityCore/commit/ee1c1b97be4492ecabe8b15ea6323fc37e4eaa8c
  https://github.com/TrinityCore/TrinityCore/commit/18e4ab6911468b829b0fc768e532a770263c3717
  https://github.com/TrinityCore/TrinityCore/commit/bf37446b3c2ed73b4d3aa9e227d3eff5c53b378b
  https://github.com/TrinityCore/TrinityCore/commit/cb854a2b7bb7bd96cf9c4d1daf3789f797bf4db8

* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396e
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update
* Added new function to return but not increment guid
* Adjusted .debug loadcells to show low guid in map before/after load
* Added debug messages for creature spawn/destroy, for map guid debugging
* Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed.
2015-09-22 21:33:57 +02:00
StormBytePP 7b245a0b6b Core: Added ABORT() macro to prevent the usage of ASSERT(false) as a quick hack to crash the core misusing assert 2015-09-21 15:11:06 +02:00