Commit Graph

89 Commits

Author SHA1 Message Date
Shauren
92e247b226 Core/Dep: Removed ZMQ dependency in preparation for future changes 2016-03-20 18:50:25 +01:00
Naios
28d8f7f70d CMake: Use inherited dependencies in scripts
* Removes the circular dependency between game <-> scripts

(cherry picked from commit 96bc31924a)
2016-03-19 23:19:54 +01:00
Naios
7c257aab5e Core/Worldserver: Move the Realm instance into the game library 2016-03-11 18:35:50 +01:00
Naios
a8fe7f6eb7 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.
2016-03-11 18:25:55 +01:00
MitchesD
ce5def332f Core/Misc: fix build 2016-03-03 19:58:28 +01:00
Shauren
dea7d429ab Core/Debugging: Make abort() less bad on windows by forcing crash log generation 2016-03-03 17:29:48 +01:00
Naios
ba3f439bcb Core/Database: Close the databases correctly when the DBUpdater fails
* Also fixes a memory leak spotted by Aokromes

(cherry picked from commit 7d3cffc297)
2016-03-03 01:27:02 +01:00
Shauren
a0b2be6c1d Core/Logging: Force synchronous logging after io_service shutdown - fixes logging on worldserver shutdown 2016-02-23 23:41:18 +01:00
Vincent-Michael
478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
Shauren
63def8aa32 Core/Battle.net:
* Changed packet structures to mirror client names
* Simplified ToString Building
* Removed deprecated structures

World: Cleaned up duplicate realm info 'realm' and 'realmHandle' variables (realmHandle was removed, that data is fully contained in realm)
2015-10-06 00:30:47 +02:00
Shauren
cd27fd38b9 Core/Maps: Moved corpse management to map level 2015-09-28 17:20:27 +02:00
StormBytePP
0bed9d56cb 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:17:05 +02:00
jackpoz
4617d65131 Merge pull request #15297 from StormBytePP/3.3.5_rename_Revision.h
Core/Build: Renamed Revision.h to GitRevision.h to avoid compile failure when old revision.h file is present
(cherry picked from commit 360cc93357)

Conflicts:
	src/server/authserver/Main.cpp
	src/server/database/Updater/DBUpdater.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/World/World.cpp
	src/server/shared/PrecompiledHeaders/sharedPCH.h
	src/server/worldserver/Main.cpp
2015-08-16 22:45:18 +01:00
StormBytePP
6a9fc63e41 Core/Build: Removed obsolete SystemConfig.h and made genrev be part of shared library, which allows cache hits to happen more likely
(cherry picked from commit 94f69fb1bc)
2015-08-16 17:50:40 +02:00
Shauren
d5cf594bfe Core/Logging: Refactored appender creation to allow using logging without mysql dependency in tools (future task) 2015-08-16 00:12:18 +02:00
DDuarte
0f082e8f92 Core/Executables: Add --version and -v to worldserver and bnetserver arguments
Closes #14993
2015-07-04 00:45:52 +01:00
Shauren
50848e4dac Core/Bnet: Fixed bnetserver not shutting down correctly when started as windows service 2015-06-10 00:21:55 +02:00
Shauren
ba6e5c5637 Core/Bnet: Implemented starting bnetserver as a windows service 2015-06-06 13:03:36 +02:00
Shauren
ca83e14f8b Core/Entities: Reworked guid scopes
* Added ObjectGuid traits to easily access whether guid type can be generated globally (ObjectMgr) or not
* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396eb0b
* 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
2015-04-28 21:19:46 +02:00
Shauren
cc4d79495f Core/Misc: Warning fixes 2015-03-22 13:47:55 +01:00
Naios
72bb8ffd96 Core/Worldserver: Set updates enabled default value to "none" -> disabled
* in addition to 1f7f9feafc
* if no config entry is presented this value is used
2015-03-21 21:06:03 +01:00
Naios
352012e531 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 ,-)

Signed-off-by: Naios <naios-dev@live.de>
Signed-off-by: Nayd <dnpd.dd@gmail.com>
2015-03-21 14:09:38 +00:00
jackpoz
b35578bac3 Revert "Core/Server: Catch exceptions in int main()"
This reverts commit e68ca82d4d.

Closes #14329
2015-03-11 21:07:08 +01:00
Duarte Duarte
e68ca82d4d Core/Server: Catch exceptions in int main()
The exceptions is rethrown on debug mode.

Ref Coverity CID 1010213, 1022574, 1227501, 1227502,
1227503, 1227504, 1227505, 1254536 and 1254612
2015-02-15 14:56:12 +00:00
Vincent-Michael
ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
Kinzcool
ac53077dff Conf: Changed hotfix database's name to actually match the initial name 2014-11-11 15:35:41 -05:00
devil1234
b978f0286c Core/Databases: Add hotfix database to world config and prepared statement for it.
Closes #13533
2014-11-11 13:14:36 +00:00
joschiwald
2fee7d195b Core/NetworkIO: updated SMSG_UPDATE_WORLD_STATE, added SMSG_PVP_SEASON and added packet class for SMSG_INIT_WORLD_STATES 2014-11-09 04:25:09 +01:00
Shauren
bacc90b6ba Core/NetworkIO: Added second connection to WorldSession, handle AuthContinuedSession and enabled ConnectTo and ResumeComms 2014-11-09 00:37:33 +01:00
Shauren
f773a9e053 Core: Implemented IPC (Inter-process communication) between worldserver and bnetserver using ZeroMQ library.
* Implemented ToonReady and ToonLoggedOut battle.net packets
2014-10-17 22:48:06 +02:00
jackpoz
b33695a2ef Core/Worldserver: Fix worldserver stuck on "Halting process" on shutdown
Partially revert 4fe45b8c63 to fix worldserver stuck on "Halting process" on shutdown.

Fixes #13201
2014-10-03 21:21:17 +02:00
jackpoz
02d497165a WorldServer/Misc: Log possible errors on shutdown
Log possible error on shutdown happening when trying to cancel any I/O sync operation in CliThread, refers to #13201
2014-09-28 13:49:44 +02:00
DDuarte
cefcde9ba9 Core/Misc: Multiple static analysis issues fixed (small optimizations and clear code) 2014-09-19 03:30:02 +01:00
Shauren
e0ce4528c5 Core/NetworkIO: Use reactor style sending on linux to reduce locking overhead 2014-09-09 19:19:25 +02:00
leak
1a27ce1267 Core/NetworkIO: Restore networking related scripting hooks
Closes #12607
2014-08-11 17:40:43 +02:00
leak
14cb6e4235 Resolve shutdown crash/leak if MySQL server is not running
Fixes #12734
2014-08-10 22:43:48 +02:00
Shauren
4fe45b8c63 Core/Worldserver: Replaced old hack sending key events to unblock console thread 2014-08-10 11:50:19 +02:00
DDuarte
0e52b111f3 Core/Config: User-friendlyfy configuration parsing errors
It will now print useful error messages that pinpoint the issue
with the config file (missing file, bad syntax, etc)

In memory of MitchesD that lost 18 hours finding a problem with
his config because of a duplicated line.
2014-07-29 01:47:00 +01:00
Shauren
86f3ee9949 Core/Instances: Explicitly unload InstanceSaveMgr before MapManager, fixes invalid memory access at shutdown
Closes #12635
2014-07-28 23:32:53 +02:00
Jared P. Jones
11ecd851a1 Core/Misc: Silenced 500 OS X Warnings and removed deprecated finite() method.
*Mac OS X fires off over 200 warnings related to gsoap about the deprecated register method. CMake has been patched to remove this warning.
*Updated all occurences of finite() to std::isfinite. The method finite() is not standardized by anyone aside from BSD. std::isfinite() however is standarized by C++
*Removed -ncurses and -pthread from OS X compilation. Now that we use Boost and C++11 there is no longer a need for pthread in OS X. All it does is throw a warning. However, ncurses isn't needed either as it's built into the OS X SDK and linked by default.

Note: There are only 5 remaining warnings left when compiling on OS X. I did not attempt to fix these as they were related to 3rd party libraries statically linked into the code. The 5 warnings left are all related to unused variables.
2014-07-23 17:30:45 -05:00
Shauren
42eeec12bf Core/Mains: Handle SIGBREAK to achieve clean shutdown when users click X button on windows 2014-07-23 19:04:07 +02:00
jackpoz
fe1289ed1a Core/Misc: Fix abort() on shutdown on *nix
Wait for cliThead to exit before deleting it to about std::abort() triggered on *nix systems.
2014-07-17 20:54:32 +02:00
leak
8c10ffa62d GCC compile fixes 2014-07-16 19:27:15 +02:00
Chaplain
68398a559e [Auth\Worldserver] Use boost to load console arguments. (Added a few style changes and cmake fix)
Conflicts:
	src/server/worldserver/Main.cpp
2014-07-15 18:15:55 +02:00
Subv
a4f7211aed Fixed the worldserver not using the path to the config file as defined in cmake 2014-07-13 15:55:46 -05:00
Subv
375363ed08 Fixed the first world connection being slow 2014-07-09 16:53:15 -05:00
leak
2f28f4ce75 Fixed FreezeDetectorHandler trigger time 2014-07-08 21:17:24 +02:00
leak
d1594998f8 Replaced the LogWorker thread with Boost ASIO 2014-07-08 20:55:25 +02:00
leak
a738cd96dc Renamed WorldTcpSession back to WorldSocket 2014-07-07 22:03:41 +02:00
leak
c7d5660e99 Readd support for TCP_NODELAY socket option 2014-07-07 21:37:55 +02:00