diff options
Diffstat (limited to 'modules')
7 files changed, 102 insertions, 38 deletions
diff --git a/modules/acore/extractors/mmaps_generator/MapBuilder.cpp b/modules/acore/extractors/mmaps_generator/MapBuilder.cpp index cea205cefe..e5edd4a611 100644 --- a/modules/acore/extractors/mmaps_generator/MapBuilder.cpp +++ b/modules/acore/extractors/mmaps_generator/MapBuilder.cpp @@ -14,9 +14,14 @@ #include "DetourNavMesh.h" #include "DetourCommon.h" +#include "DisableMgr.h" #include <ace/OS_NS_unistd.h> uint32 GetLiquidFlags(uint32 /*liquidType*/) { return 0; } +namespace DisableMgr +{ + bool IsDisabledFor(DisableType /*type*/, uint32 /*entry*/, Unit const* /*unit*/, uint8 /*flags*/ /*= 0*/) { return false; } +} #define MMAP_MAGIC 0x4d4d4150 // 'MMAP' #define MMAP_VERSION 3 diff --git a/modules/acore/startup-scripts/conf.sh.dist b/modules/acore/startup-scripts/conf.sh.dist index fbf31e3cab..774a7c01ce 100644 --- a/modules/acore/startup-scripts/conf.sh.dist +++ b/modules/acore/startup-scripts/conf.sh.dist @@ -1,36 +1,50 @@ # enable/disable GDB execution export GDB_ENABLED=0 -# gdb file +# [optional] gdb file +# default: gdb.txt export GDB="" # directory where binary are stored export BINPATH="" - ### Put here the pid you configured on your worldserver.conf file ### +# Put here the pid you configured on your worldserver.conf file +# needed when GDB_ENABLED=1 export SERVERPID="" -# path to conf file +# path to configuration file (including the file name) +# ex: /home/user/azerothcore/etc/worldserver.conf export CONFIG="" # path of log files +# needed by restarter to store its logs export LOGS_PATH=""; # exec name +# ex: worldserver export SERVERBIN="" # prefix name for log files +# to avoid collision with other restarters export LOG_PREFIX_NAME="" -# name of screen service ( for restarter ) +# [optional] name of screen service # if no specified, screen util won't be used export SCREEN_NAME="" -# overwrite default screen options: -A -m -d -S +# [optional] overwrite default screen options: -A -m -d -S +# WARNING: if you are running it under a systemd service +# please do not remove -m -d arguments from screen if are you using it, +# or keep WITH_CONSOLE=0 . +# otherwise the journald-logging system will take 100% of CPU slowing +# down the whole machine. It's because a systemd service should have +# low console output. export SCREEN_OPTIONS="" -# enable it to show the output -# within console +# enable/disable it to show the output +# within console, if disable the output will be redirect to +# logging files +# export WITH_CONSOLE=0 diff --git a/modules/acore/startup-scripts/run-engine b/modules/acore/startup-scripts/run-engine index a12ebbc3b2..86391f02a7 100644 --- a/modules/acore/startup-scripts/run-engine +++ b/modules/acore/startup-scripts/run-engine @@ -5,6 +5,16 @@ if [ -e "$RUN_ENGINE_PATH/conf.dist" ]; then source "$RUN_ENGINE_PATH/conf.sh.dist" fi +function finish { + if [ ! -z "$SCREEN_NAME" ]; then + screen -X -S "$SCREEN_NAME" quit + fi +} + +# disabled for now, but could be useful if we want +# shutdown the process if restarter crashes for some reason +# trap finish EXIT + function configureFiles() { TRACE_BEGIN_STRING="SIGSEGV" TRACE_FILE="$LOGS_PATH/"$LOG_PREFIX_NAME"_trace.log" @@ -100,3 +110,4 @@ function restarter() { sleep 10 done } + diff --git a/modules/worldengine/lib-collision/src/Management/MMapManager.cpp b/modules/worldengine/lib-collision/src/Management/MMapManager.cpp index 722a8321ff..26fa9fb594 100644 --- a/modules/worldengine/lib-collision/src/Management/MMapManager.cpp +++ b/modules/worldengine/lib-collision/src/Management/MMapManager.cpp @@ -34,7 +34,9 @@ namespace MMAP FILE* file = fopen(fileName, "rb"); if (!file) { - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMapData: Error: Could not open mmap file '%s'", fileName); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMapData: Error: Could not open mmap file '%s'", fileName); +#endif delete [] fileName; return false; } @@ -61,7 +63,9 @@ namespace MMAP delete [] fileName; - ;//sLog->outDetail("MMAP:loadMapData: Loaded %03i.mmap", mapId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:loadMapData: Loaded %03i.mmap", mapId); +#endif // store inside our map list MMapData* mmap_data = new MMapData(mesh); @@ -115,7 +119,9 @@ namespace MMAP FILE *file = fopen(fileName, "rb"); if (!file) { - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMap: Could not open mmtile file '%s'", fileName); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:loadMap: Could not open mmtile file '%s'", fileName); +#endif delete [] fileName; return false; } @@ -165,7 +171,9 @@ namespace MMAP { mmap->mmapLoadedTiles.insert(std::pair<uint32, dtTileRef>(packedGridPos, tileRef)); ++loadedTiles; - ;//sLog->outDetail("MMAP:loadMap: Loaded mmtile %03i[%02i,%02i] into %03i[%02i,%02i]", mapId, x, y, mapId, header->x, header->y); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:loadMap: Loaded mmtile %03i[%02i,%02i] into %03i[%02i,%02i]", mapId, x, y, mapId, header->x, header->y); +#endif return true; } else @@ -186,7 +194,9 @@ namespace MMAP if (loadedMMaps.find(mapId) == loadedMMaps.end()) { // file may not exist, therefore not loaded - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map. %03u%02i%02i.mmtile", mapId, x, y); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map. %03u%02i%02i.mmtile", mapId, x, y); +#endif return false; } @@ -197,7 +207,9 @@ namespace MMAP if (mmap->mmapLoadedTiles.find(packedGridPos) == mmap->mmapLoadedTiles.end()) { // file may not exist, therefore not loaded - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh tile. %03u%02i%02i.mmtile", mapId, x, y); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh tile. %03u%02i%02i.mmtile", mapId, x, y); +#endif return false; } @@ -222,7 +234,9 @@ namespace MMAP { mmap->mmapLoadedTiles.erase(packedGridPos); --loadedTiles; - ;//sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId); +#endif return true; } @@ -236,7 +250,9 @@ namespace MMAP if (loadedMMaps.find(mapId) == loadedMMaps.end()) { // file may not exist, therefore not loaded - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map %03u", mapId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMap: Asked to unload not loaded navmesh map %03u", mapId); +#endif return false; } @@ -258,13 +274,17 @@ namespace MMAP else { --loadedTiles; - ;//sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:unloadMap: Unloaded mmtile %03i[%02i,%02i] from %03i", mapId, x, y, mapId); +#endif } } delete mmap; loadedMMaps.erase(mapId); - ;//sLog->outDetail("MMAP:unloadMap: Unloaded %03i.mmap", mapId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:unloadMap: Unloaded %03i.mmap", mapId); +#endif return true; } @@ -277,14 +297,18 @@ namespace MMAP if (loadedMMaps.find(mapId) == loadedMMaps.end()) { // file may not exist, therefore not loaded - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded navmesh map %03u", mapId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded navmesh map %03u", mapId); +#endif return false; } MMapData* mmap = loadedMMaps[mapId]; if (mmap->navMeshQueries.find(instanceId) == mmap->navMeshQueries.end()) { - ;//sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded dtNavMeshQuery mapId %03u instanceId %u", mapId, instanceId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "MMAP:unloadMapInstance: Asked to unload not loaded dtNavMeshQuery mapId %03u instanceId %u", mapId, instanceId); +#endif return false; } @@ -292,7 +316,9 @@ namespace MMAP dtFreeNavMeshQuery(query); mmap->navMeshQueries.erase(instanceId); - ;//sLog->outDetail("MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:unloadMapInstance: Unloaded mapId %03u instanceId %u", mapId, instanceId); +#endif return true; } @@ -334,7 +360,9 @@ namespace MMAP return NULL; } - ;//sLog->outDetail("MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId %03u instanceId %u", mapId, instanceId); +#endif mmap->navMeshQueries.insert(std::pair<uint32, dtNavMeshQuery*>(instanceId, query)); } } diff --git a/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp b/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp index d67b465ae9..2751db4ea9 100644 --- a/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp +++ b/modules/worldengine/lib-collision/src/Management/VMapManager2.cpp @@ -124,7 +124,7 @@ namespace VMAP bool VMapManager2::isInLineOfSight(unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2) { -#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS) +#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS) if (!isLineOfSightCalcEnabled() || DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_LOS)) return true; #endif @@ -149,7 +149,7 @@ namespace VMAP */ bool VMapManager2::getObjectHitPos(unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2, float& rx, float &ry, float& rz, float modifyDist) { -#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS) +#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS) if (isLineOfSightCalcEnabled() && !DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_LOS)) #endif { @@ -181,7 +181,7 @@ namespace VMAP float VMapManager2::getHeight(unsigned int mapId, float x, float y, float z, float maxSearchDist) { -#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS) +#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS) if (isHeightCalcEnabled() && !DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_HEIGHT)) #endif { @@ -202,7 +202,7 @@ namespace VMAP bool VMapManager2::getAreaInfo(unsigned int mapId, float x, float y, float& z, uint32& flags, int32& adtId, int32& rootId, int32& groupId) const { -#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS) +#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS) if (!DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_AREAFLAG)) #endif { @@ -222,7 +222,7 @@ namespace VMAP bool VMapManager2::GetLiquidLevel(uint32 mapId, float x, float y, float z, uint8 reqLiquidType, float& level, float& floor, uint32& type) const { -#if defined(DISABLE_EXTRAS) || defined(DISABLE_VMAP_CHECKS) +#if defined(ENABLE_EXTRAS) && defined(ENABLE_VMAP_CHECKS) if (!DisableMgr::IsDisabledFor(DISABLE_TYPE_VMAP, mapId, NULL, VMAP_DISABLE_LIQUIDSTATUS)) #endif { @@ -262,7 +262,9 @@ namespace VMAP delete worldmodel; return NULL; } - ;//sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: loading file '%s%s'", basepath.c_str(), filename.c_str()); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: loading file '%s%s'", basepath.c_str(), filename.c_str()); +#endif model = iLoadedModelFiles.insert(std::pair<std::string, ManagedModel>(filename, ManagedModel())).first; model->second.setModel(worldmodel); } @@ -283,7 +285,9 @@ namespace VMAP } if (model->second.decRefCount() == 0) { - ;//sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: unloading file '%s'", filename.c_str()); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDebug(LOG_FILTER_MAPS, "VMapManager2: unloading file '%s'", filename.c_str()); +#endif delete model->second.getModel(); iLoadedModelFiles.erase(model); }*/ diff --git a/modules/worldengine/lib-collision/src/Maps/MapTree.cpp b/modules/worldengine/lib-collision/src/Maps/MapTree.cpp index ebd8656f4e..c2056c90b9 100644 --- a/modules/worldengine/lib-collision/src/Maps/MapTree.cpp +++ b/modules/worldengine/lib-collision/src/Maps/MapTree.cpp @@ -44,8 +44,8 @@ namespace VMAP AreaInfoCallback(ModelInstance* val): prims(val) {} void operator()(const Vector3& point, uint32 entry) { -#ifdef VMAP_DEBUG - ;//sLog->outDebug(LOG_FILTER_MAPS, "AreaInfoCallback: trying to intersect '%s'", prims[entry].name.c_str()); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG) + sLog->outDebug(LOG_FILTER_MAPS, "AreaInfoCallback: trying to intersect '%s'", prims[entry].name.c_str()); #endif prims[entry].intersectPoint(point, aInfo); } @@ -60,8 +60,8 @@ namespace VMAP LocationInfoCallback(ModelInstance* val, LocationInfo &info): prims(val), locInfo(info), result(false) {} void operator()(const Vector3& point, uint32 entry) { -#ifdef VMAP_DEBUG - ;//sLog->outDebug(LOG_FILTER_MAPS, "LocationInfoCallback: trying to intersect '%s'", prims[entry].name.c_str()); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG) + sLog->outDebug(LOG_FILTER_MAPS, "LocationInfoCallback: trying to intersect '%s'", prims[entry].name.c_str()); #endif if (prims[entry].GetLocationInfo(point, locInfo)) result = true; @@ -373,10 +373,10 @@ namespace VMAP { if (!iLoadedSpawns.count(referencedVal)) { -#ifdef VMAP_DEBUG +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG) if (referencedVal > iNTreeValues) { - ;//sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues); + sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues); continue; } #endif @@ -386,11 +386,11 @@ namespace VMAP else { ++iLoadedSpawns[referencedVal]; -#ifdef VMAP_DEBUG +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) && defined(VMAP_DEBUG) if (iTreeValues[referencedVal].ID != spawn.ID) - ;//sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : trying to load wrong spawn in node"); + sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : trying to load wrong spawn in node"); else if (iTreeValues[referencedVal].name != spawn.name) - ;//sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : name collision on GUID=%u", spawn.ID); + sLog->outDebug(LOG_FILTER_MAPS, "StaticMapTree::LoadMapTile() : name collision on GUID=%u", spawn.ID); #endif } } diff --git a/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp b/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp index b11f161be8..6b554ce8e7 100644 --- a/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp +++ b/modules/worldengine/nucleus/src/Database/MySQLConnection.cpp @@ -121,7 +121,9 @@ bool MySQLConnection::Open() // sLog->outInfo(LOG_FILTER_SQL, "[WARNING] MySQL client/server version mismatch; may conflict with behaviour of prepared statements."); } - ;//sLog->outDetail("Connected to MySQL database at %s", m_connectionInfo.host.c_str()); +#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) + sLog->outDetail("Connected to MySQL database at %s", m_connectionInfo.host.c_str()); +#endif mysql_autocommit(m_Mysql, 1); // set connection properties to UTF8 to properly handle locales for different |