Commit Graph
955 Commits
Author SHA1 Message Date
Shauren 23e4472d14 Core/PacketIO: Removed timezone adjustments from ReadPackedTime - player's session timezone offset should be used there, not server offset
(cherry picked from commit aa3b05c312626d903228aa7a768a069bce5fe526)
2015-07-06 22:25:34 +01:00
Naios 4335611010 Core/Updater: Fix mysql cli password prompt when password is empty.
* ref: http://community.trinitycore.org/topic/11510-world-server-bug-enter-password-to-update/
2015-06-30 23:33:07 +02:00
Naios 836ec5a6e6 Core/Utilities: Fix callback invokation when there are no tasks present.
* thx @joschiwald for noticing.
2015-06-30 23:29:19 +02:00
Carbenium adb5d3ea5f Merge pull request #14941 from ShinDarth/db_backports3
DB/World schema backport: move questItem* fields to *_questitem tables
2015-06-29 20:03:11 +02:00
ShinDarth 1c0b0f825c DB/World schema backport: move questItem* fields to *_questitem tables 2015-06-29 19:21:00 +02:00
Warpten aade16a2f4 Scripts/RubySanctum: Updates to Halion.
* Fixed Living Embers not spawning.
* Meteor Strike is now randomized.

(cherry picked from 1447875cac0fefd58ae3ad27e6b3fa2134a714c0)

Scripts/RubySanctum: Fix a mathematical mistake.
SQL: Do not use MAX(Id), hardcode it.

(cherry picked from 7a5bc9e1fe457f0c77cdfecefa5bd42525105c3e)

Scripts/RubySanctum: Correctly spawn Living Embers.

(cherry picked from 7c4b8b0e826fd1cdab8a635225123aebd1b950c6)

Scripts/RubySanctum: Remove duplicate code.

(cherry picked from 1d29328769d505caf4541b0d712972195dda8b70)

Core/Misc: Warning fixes

(cherry picked from dc53dad8a44292bcb555db9fdc07eb255a838cac)
2015-06-26 01:52:17 +01:00
ShinDarth f8230a59a9 DB/Characters: Backport schema changes from 6.x branch (renames)
Closes #14951
2015-06-26 00:28:32 +01:00
Naios 3d95aba2b3 Core/Utilities: TaskScheduler: add a task validator and on update success callback.
* makes it possible to block tasks if there is an active spellcast.
* requested by @joschiwald
2015-06-21 18:19:17 +02:00
Naios bd661b58fd Core/Updater: Fix a wrong formatter introduced in 0d095109eec31
* thanks @Aokromes for noticing
2015-06-21 18:13:01 +02:00
Naios a5b3862bc1 Core/Updater: Add some info about the count of applied updates.
* some minor improvements
* add a log message when database updates are disabled.
2015-06-20 14:33:31 +02:00
Naios 151a0f5c5e Core/Shared: Hide the internal shared_ptr of the TaskContext
* use . operator instead of -> to access the TaskContext now.
* Add TaskContext::IsExpired to check whether the owner has expired.
2015-06-03 18:24:21 +02:00
jackpoz 1a5051a9c3 Core/CrashHandler: Make crashhandler tread-safe
Handle only 1 exception in the whole process lifetime and create only 1 crash report.
2015-06-01 21:43:57 +02:00
MitchesD db8fdd94ed Merge pull request #14782 from doctaweeks/fixes-for-6.x
Minor fixes for 6.x
(cherry picked from commit 0cf02097414ddf7a370bd2efef5b892616e8de93)

Conflicts:
	src/server/bnetserver/Main.cpp
	src/server/game/Battlegrounds/Zones/BattlegroundBFG.h
	src/server/game/Battlegrounds/Zones/BattlegroundTP.h
	src/server/game/Chat/Channels/Channel.h
	src/server/game/Entities/Player/Player.h
	src/server/game/Quests/QuestDef.h
	src/server/scripts/OutdoorPvP/OutdoorPvPNA.h
	src/server/shared/Cryptography/SHA256.h
2015-06-01 00:39:56 +01:00
Naios da77a90aa9 Shared/Util: Introduce a task scheduler which schedules task with c++11 techniques.
* Use std::function as callback (methods, lamdas & std::bind).
* Uses std::chrono::duration as duration type (Milliseconds, Seconds...)
  - With c++11 user defined literals we could just write "11s" for example (MSVS 2015, gcc & clang).
* Provides a lot of overloads for easier usage:
  - Static durations or random durations between min and max.
  - Named (with group ids - group id 0 is possible) or anonymous tasks.
  - Asynchronous tasks.
* Is adapted to the current needs of scripting:
  - Repeat tasks through the TaskContext
  - Schedule new tasks from the context.
  - Provides access to the times repeat counter of a task,
    this will help to schedule multi step events (dialogs for example).

See https://gist.github.com/Naios/6d143538abdc3d32fd2b for usage examples.
2015-05-31 19:32:09 +02:00
glkrlos fd660d725d Core/Updater: Fix issues when connecting through unix sockets.
* closes #14766
* closes #14759

Signed-off-by: Naios <naios-dev@live.de>
2015-05-28 18:30:03 +02:00
jackpoz ec4b08e3cf Core/CrashHandler: Log STACK_OVERFLOW crashes
Try to log STACK_OVERFLOW crashes by allocating log buffer on the heap which should still be in a valid state with a stack overflow exception.
This will probably still not produce a complete crash report with details about all stackframes.
2015-05-23 23:15:56 +02:00
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
Shauren 970d7abf97 Core/Networking: Fixed possible msvc debug assertions in vector
(cherry picked from commit e4abbc09266d5878d0a03b04f3d72ea68549997f)
2015-05-19 11:12:03 +01:00
Shauren 88af3ffc2a Core/Socket: Removed unused synchronous read method
(cherry picked from commit 59e9bcf0bf44d89397f5a182e2ef21f7e3a3635d)

Conflicts:
	src/server/game/Server/WorldSocket.cpp
2015-04-29 00:06:19 +01:00
Naios 2592528741 Core/Log: Fix newlines when using dynamic log names
* thanks @Aokromes for reporting
* also removes an unnecessary std::move
2015-04-24 19:44:16 +02: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
Daniel M. Weeks c25a06f4b6 Fix documentation
(cherry picked from commit 62ff887236ad835f1353c415ae6baca6ac6b94b8)
2015-04-15 19:29:36 +02:00
Daniel M. Weeks 67faa0f458 Prevent collisions in GCC attribute definitions
(cherry picked from commit 64848856002a796e30b822d70a31087495084bfa)
2015-04-15 19:29:35 +02:00
ariel- e707905764 Port commit 56186319bdd41dd26b6cc14f84e6e41eef5d953b (6.x branch)
Core/Spells: Cooldown updates

Updates #14418
2015-04-13 12:13:46 -03:00
click a09eafa104 Core: Whitespace/tab2spaces cleanup 2015-04-10 04:12:06 +02:00
Shauren 62a3edb84a Core/Misc: Warning fixes
(cherry picked from commit cc4d79495f98006f77c68792b946a412f5e86714)

Partial cherry-picked.

Signed-off-by: Naios <naios-dev@live.de>
2015-04-05 01:20:11 +02:00
Carbenium 67238e2166 Rename variables to fix C++11 keyword collision
(cherry picked from commit 573cda7b524ee4d7d23cefd026b056181f451a8b)
2015-04-05 00:36:33 +02:00
Naios de490674ff Core/DBUpdater: Exit clean if a query failed to apply.
* Fix some \W4 warnings about constructors.
2015-04-05 00:23:12 +02:00
Naios 85d6ff9570 Core/Log: Remove some unnecessary std::move's.
* This are r-value references already.
* Thanks @Shauren for noticing
2015-04-05 00:23:11 +02:00
Shauren 548aa119ac Core/Networking: Fixed unsafe access to _worldSession member in WorldSocket
(cherry picked from commit bed88e0dd475af5b73cea03821f7fb7cb9ddce9d)

Core/Networking: Fixed deadlock in HandlePing if the client is about to be kicked for overspeed pings

(cherry picked from commit 3da0f7e40920b652d2222fa88dbb4b516d24725d)

Core/Networking: Cleanup CloseSocket calls from read failures in WorldSocket

(cherry picked from commit 18343a7309fbf53a3509749c0a5ca1f8ea273c57)

Conflicts:
	src/server/game/Server/WorldSocket.cpp

Ref #14474
2015-04-04 23:07:41 +01: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 c386711972 CMake: Use source_groups to represent the source tree
* It let ide's (like vs) display the source tree.
* Disabled by default.
* Soft requirement is cmake >= 2.8.12 .
* Offers 2 modes: flat & hierarchical.
* For detailed description see #14471
* Thanks @click for help and advises.
* Closes #14471
2015-03-29 16:08:28 +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 832234c47b Core/Log: Improve creation of log prefixes.
* this also fixes non whitespace seperated timestamps in logs after 95ebe4f31cba6b4772cfd19 @Aokromes
* remove an unnecessary stringstream in Log::outCommand
* delete copy constructor of LogMessage to prevent unwanted copies

(cherry picked from commit a2e280c8a8478bbe0652c1850b1a435abba79f93)
2015-03-28 17:29:56 +01: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 0778cc3332 Core/DBUpdater: Use correct formatter for size_t
* thanks @DDuarte pointing this out.

(cherry picked from commit b2b8de5786364d81fbce643e8f00bcc0129ed760)
2015-03-24 22:02:08 +01:00
Naios 4201ca021b Core/DBUpdater: Add the possibility to limit the remove of orphaned entries.
* This will save you from loosing your update history if you use a repository in bad state (revision or branch) by mistake.
* Also turned 1 error message into a warning

(cherry picked from commit 966282fbed24a0d0cf8cb3e05b1849c3e6a0d1d6)
(cherry picked from commit 3ad7776d5061308d3e2b4ff9e3cbf67d48bffdd6)
2015-03-24 13:03:55 +01:00
Naios 4fd51ab3b9 Core/DBUpdater: Use correct uint64 to store timestamps.
* Thanks @Shauren for pointing out.
* Also removes an invalid argument thanks @jackpoz for noticing.

(cherry picked from commit 8e48ef7863c5018aa185913ce6a616e46ef5b17e)
2015-03-22 01:33:58 +01:00
Shauren 8bdd94f849 Core/DBUpdater: Fixed compile errors with boost 1.55 and VS 2013
(cherry picked from commit 495af75b7e21a2a84231b0540a6f2b9ed349ea58)
2015-03-22 00:35:05 +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
Naios fc665b14dc Core/Log: Readd include of <stdarg.h> to fix compile issues under gcc
(cherry picked from commit d64e6ffade392be32f634b32658a6e0353f369c1)
2015-03-18 15:37:43 +01:00
Carbenium 03176662d1 Merge pull request #14317 from Naios/typesafelog
Type safe logging
(cherry picked from commit cc0c9add5a3f3a17e19029ddcaa7e711040f4fc5)

Conflicts:
	src/server/bnetserver/CMakeLists.txt
	src/server/game/Server/WorldSocketMgr.cpp
	src/server/shared/Logging/AppenderDB.cpp
	src/server/worldserver/CMakeLists.txt
2015-03-18 02:59:40 +01:00
Naios a38945a3b3 Core/Log: Fix some issues detected by static analysis.
* Either inefficient or wrong usage of string::find(). string::compare() will
  be faster if string::find's result is compared with 0, because it will not scan the whole string.
  If your intention is to check that there are no findings in the string,
  you should compare with std::string::npos.

* C-style pointer casting detected. C++ offers four different kinds of casts as replacements:
  static_cast, const_cast, dynamic_cast and reinterpret_cast.

(cherry picked from commit 8882a6ca78e90d2980a3cd8d53acea9d2137f8b8)
2015-03-18 01:13:46 +00:00