Commit Graph
73 Commits
Author SHA1 Message Date
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 <[email protected]>
Signed-off-by: Nayd <[email protected]>
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
Subv eeb2720401 Removed some dead code 2014-07-06 19:05:13 -05:00
leak 59c8ffe4b3 Change the freeze detector thread to be a periodic callback running on the thread pool 2014-07-06 23:04:38 +02:00
leak 7befb26625 Some groundwork for replacing the ACE based WorldSocket handling 2014-07-06 01:26:29 +02:00
leak 021e18d152 Refactored both world and auth main
- Master/Worldrunable removed
- World Update loop now running on main (which was doing nothing before)
- Processpriority moved to shared
- Added a preliminary thread pool for boost::asio::io_service
2014-07-04 15:22:06 +02:00
leak 310f5e6846 Some ground work for ASIO based RemoteAccess handling 2014-07-02 17:38:44 +02:00
Vincent_Michael 20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
Spp 94e2b9332a Core/Logging: Remove LOG_FILTER_XXX defines with it's value (remember logger names are case-sensitive) 2013-11-08 10:50:51 +01:00
Nay f71d894a21 Servers: Fix some code style issues in world and authserver 2013-07-28 16:59:07 +01:00
Shauren 779a59e7e2 Core/Config: Refactored ConfigMgr
* Loading initial configuration files is now separate from loading any additional custom configs
2013-07-15 17:31:44 +02:00
Shauren 86d846e627 Core: Fixed windows compile 2013-05-13 18:10:20 +02:00
Spp d1677b2db0 Core/Logging: Performance-related tweaks to logging system
All sLog->out* functions (except outCommand atm) are replaced with TC_LOG_* macros.
    Memleak fix
2013-05-13 15:07:36 +02:00
Nefarion 49fd11ab5a First step of comment style refactoring to doxygen-style. 2013-03-08 21:55:37 +01:00
Vincent_Michael cc65aba789 Update copyright note for 2013.
Happy new year.
2013-01-01 00:41:01 +01:00
Spp 2251d1bfae Core/Misc: Set mode 0644 for files 2012-11-27 13:03:12 +01:00
Spp 1e50a08604 Core/Logging: Fix PlayerDump logging 2012-10-22 10:37:39 +02:00
Nay b89b8ff277 Core/Loading: Change info/error messages to printf when config is not loaded 2012-08-29 20:02:55 +01:00