Commit Graph

58 Commits

Author SHA1 Message Date
Naios
5b15b714ab Core/Utilities: Inherit env vars when starting external processes 2016-04-30 01:06:00 +02:00
Shauren
5bbc58f32d Core/Misc: Use steady_clock instead of system_clock for calculating ms timers. This makes update diffs immune to systemwide time changes
(cherry picked from commit 406ac4f4b4)
2016-04-26 18:15:10 +02:00
joschiwald
9e371b766c Core/Utils: replaced std::random_shuffle with our own implementation using SFMT random generator 2016-04-24 01:15:56 +02:00
Naios
2698d1ff48 Core/Common: Fix a std::string -> char* -> std::string conversion
* Thanks jackpoz for noticing
2016-04-23 18:13:42 +02:00
Naios
86b0fcf67a Core/Scripting: Use the path of the worldserver executable to search for the scripts dir
* Fixes issues when starting the worldserver not in the bin directory
  or the CMAKE_INSTALL_PREFIX directory using the -c option.
2016-04-18 21:02:01 +02:00
Naios
3271f328de Core/Cryptography: Move the SHA1 calculate helper to the SHA1 header 2016-04-17 19:30:13 +02:00
Naios
f93617c3c9 Core/Common: Capsule boost process into helper functions
* For easier usage, the processes output it routed
  correctly to the TC logger line by line now.
* Add support for asynchronous process execution
  and process termination.

(cherry picked from commit 3497b4960b)
2016-04-11 21:40:59 +02:00
Naios
fc106eba51 Core/Misc: Replace tc's optional with boost::optional. (very partial cherry-pick)
* benefits from empty optimization (objects are only constructed if needed).
* supports r-value references (move semantics) (boost >= 1.56.0).
* preparation for c++14/17's std::optional and std::none_t.
* add move constructor to CompactArray.

(cherry picked from commit 800d5d8939)
2016-04-11 21:00:26 +02:00
Shauren
836788ed3c Core/Misc: MSVC /W4 warning fixes
(cherry picked from commit 08c27d3205)
2016-04-09 18:25:53 +02:00
Shauren
39abb8acb3 Core/Misc: MSVC warning fixes
(cherry picked from commit 70412e7e25)
2016-04-09 18:13:30 +02:00
Shauren
702cfefddb Buildsystem: Initial changes to support building with vs clang toolset
(cherry picked from commit 4a3a178d7f)
2016-04-09 12:38:20 +02:00
Shauren
b841546574 Core/Common: Moved MessageBuffer to common
(cherry picked from commit a81a204678)
2016-04-09 12:31:04 +02:00
DDuarte
c9e3f2aa9a Core/Config: Fix 3 more missing config warnings
Closes #16861

Thanks tkrokli

(cherry picked from commit 0afcefea27)
2016-03-31 03:31:51 +01:00
DDuarte
9aadd97fba Core/Config: Error logging for ptree_bad_data
Ref 6487e2f2d6 (commitcomment-16888976)

(cherry picked from commit 9431b94bff)
2016-03-31 03:31:46 +01:00
DDuarte
6487e2f2d6 Core/Startup: Warn when a config key isn't found in the config files
Example: "Missing name Guild.SaveInterval in config file worldserver.conf, add "Guild.SaveInterval = 15" to this file"
(cherry picked from commit 06b3bca0d2)

# Conflicts:
#	src/common/Configuration/Config.cpp
2016-03-27 23:49:08 +01:00
Naios
1a1c0d1dc4 Core/Common: Converted the common library to a shared library.
* There is still the possibility to static link against common.

(cherry picked from commit 501fd9b502)
2016-03-24 02:45:44 +01:00
Naios
2613413608 Core/Build: Add the possibility to link libraries dynamically.
* makes it possible to access exported singletons from other shared lib's.
* reduces binary size

(cherry picked from commit f4e0945b13)
2016-03-24 02:38:54 +01:00
Shauren
9295d9fa09 Core/Util: Extracted GetPID to separate function
(cherry picked from commit e3af42e05c)
2016-03-21 17:26:48 +01:00
Naios
abda7a910a CMake: Use inherited dependencies in common and tools 2016-03-18 02:52:57 +01:00
Naios
f52495c66b Dep/CppFormat: Update cppformat to cppformat/cppformat@5174b8c 2016-03-16 15:36:32 +01:00
MitchesD
caef32d375 Core/Misc: fix build
(cherry picked from commit ce5def332f)
2016-03-12 23:52:51 +01:00
Shauren
fd819b0919 Core/Debugging: Make abort() less bad on windows by forcing crash log generation
(cherry picked from commit dea7d429ab)

# Conflicts:
#	src/server/bnetserver/Main.cpp
2016-03-12 23:52:35 +01:00
Shauren
c71987b1a1 Core/Logging: Force synchronous logging after io_service shutdown - fixes logging on worldserver shutdown
(cherry picked from commit a0b2be6c1d)
2016-03-12 23:49:56 +01:00
Shauren
9fc5c4bc41 Core/PacketIO: Requeue packets handled with STATUS_LOGGEDIN received before player is fully loaded in one step after packet processing loop - reduces used locks from 3 per packet to 1 per packet
(cherry picked from commit 8086a39210)
2016-03-12 23:49:39 +01:00
Vincent-Michael
f81488b90e Core: Revert fail
(cherry picked from commit b5329d8a03)
2016-03-12 21:46:56 +01:00
Vincent-Michael
d6f093681e Core: Added missing overrides
(cherry picked from commit 5d584116fe)
2016-03-12 21:46:37 +01:00
Shauren
298d70476e Core/Misc: Partial port of d9f1d6466d (refactoring) 2016-03-12 21:21:41 +01:00
Naios
fbe724fab9 Core/Common: Generalize platform specific includes in common/Platform
(cherry picked from commit 30517cb1d3)
2016-03-11 19:09:56 +01:00
Naios
998607b106 Core/Common: Move singleton instances into compilation units
* Fixes issues when building shared libraries
  (prevents gcc and clang from providing several instance)

(cherry picked from commit 5c91586797)
2016-03-11 18:55:33 +01:00
treeston
224b42c53a Util/Random: Add randtime(Milliseconds const&, Milliseconds const&) to supersede urandms(uint32,uint32) for scripts being ported to std::chrono. 2016-03-01 23:09:25 +01:00
joschiwald
ffdf75a233 Scripts/Spells: Glyph of Arcane Shot is affected by own debuffs on target only 2016-02-27 17:55:43 +01:00
joschiwald
9beeca79ac Core/Logging: fixed default logger (partial reverts 0904858624) 2016-02-27 17:47:35 +01:00
Naios
b5369b7d87 Core/Common: Add a generic config helper to access built-in overwriteable paths.
* Adds CMAKE_COMMAND and CMAKE_BINARY_DIR to revision_data.h
* Move the source and mysql exe path handling out of the DBUpdater.
* Make some Config methods const for correctness.
* Remove C & CXX flags from revision_data.h
 (was unused and didn't capture all cxx vars)
* Reorder the link order to prevent `ld` from ignoring the file
* Ref #15671

(cherry picked from commit 719159e207)
2016-02-22 16:25:47 +01:00
Shauren
b2e03a7448 Core/Networking: Rewrite networking threading model
Each network thread has its own io_service - this means that all operations on a given socket except queueing packets run from a single thread, removing the need for locking
Sending packets now writes to a lockfree intermediate queue directly, encryption is applied in network thread if it was required at the time of sending the packet

(cherry picked from commit 97a79af470)
2016-02-20 13:08:03 +01:00
Shauren
55ef8d80a3 Core/Utils: Moved rng functions to separate header and added utility functions to select a random element from a container where each element can have different chance of being selected
(cherry picked from commit ae20b2ab56)
(cherry picked from commit 921d893c2a)
(cherry picked from commit 9ab10d6e68)
(cherry picked from commit 00c878e73a)
(cherry picked from commit ff9c999334)
(cherry picked from commit bc94bacce4)
(cherry picked from commit d5b0ffbe9b)
2016-02-09 19:26:29 +01:00
Carbenium
1038df8d5b Core/Util: Add a missing include 2016-01-22 20:22:45 +01:00
Rushor
923a368ac7 Update copyright note for 2016 2016-01-01 12:02:33 +01:00
treeston
c0faee0795 Core/Util: Add a urandms(min,max) helper to make urand(min*IN_MILLISECONDS, max*IN_MILLISECONDS) shorter to write for random time intervals (boss scripts). 2015-11-28 23:53:04 +01:00
Shauren
7631ec444e Core/DBLayer: Improve error message from 0a27f8bce2
(cherry picked from commit d31706b07e)
2015-11-14 13:54:36 +01:00
Vincent-Michael
7d5e7102cd Core: Whitespace cleanup 2015-11-07 20:01:53 +01:00
Shauren
3158605603 Core/Conditions: Optimizations part 1 - use containers more suited for their role
(cherry picked from commit 9fa938f3e0)
2015-10-31 20:26:40 +01:00
Shauren
dc74454356 Core/Conditions: Type renaming
(cherry picked from commit 5e0cee85dd)
2015-10-31 20:26:40 +01:00
Shauren
c5d36a3183 Core/Misc: Added a few stl header includes to Common.h
(cherry picked from commit 89b902b4e0)
2015-10-31 18:37:54 +01:00
Shauren
7fb63478bb Buildsystem: Added dependency on revision_data to common project. Simply including the header in GitRevision.cpp is not enough to rebuild that file after updating sources
Fixes having to build twice before GitRevision returns accurate info.

(cherry picked from commit 65999801d3)
2015-10-31 17:30:59 +01:00
Shauren
1de03cf107 Core/Players: Implemented serverside validation of reserved/profane names
Closes #15357

New library dependency: Boost.Regex

(cherry picked from commit b564c10b13)
2015-10-31 17:27:45 +01:00
Shauren
38c7a37530 Core/Crash reporting: Fixed windows version detection for 8.1 and newer
(cherry picked from commit 4c866a0af0)
2015-10-29 18:59:24 +01:00
Shauren
b1b72dafd0 Warning fixes
(cherry picked from commit 82db416b5d)
2015-10-29 18:56:26 +01:00
Naios
d96db56f03 Core/Tools: Fix brutal linking in mmaps extractor.
* caused warnings with shared linking
* ref #15671

(cherry picked from commit 13654bac2c)
2015-10-29 18:56:25 +01:00
Shauren
0d0c2e1ca6 Core/Misc: Fixed macro redefinition warnings when building for running under helgrind
(cherry picked from commit ec5700c2a2)
2015-09-27 13:57:15 +02:00
Shauren
7af320c419 Partially revert "Core/Build: Added missing abort() calls on error handlers"
This reverts commit 8ea17647e6.
2015-09-22 18:08:49 +02:00