summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorYehonal <yehonal.azeroth@gmail.com>2017-08-20 04:59:52 +0200
committerGitHub <noreply@github.com>2017-08-20 04:59:52 +0200
commitc854b658828f66f69b13eb62c6a984de8e345b45 (patch)
tree0118efcdd8898db4857961009f8eac79ca27b4d4 /modules
parentfa147d84d29b6ebd99af6f8eb9eb39476d2f0228 (diff)
parent0dd68dfbee97eb7ed2c9bd4109ba3f2aed697860 (diff)
Merge branch 'master' into master
Diffstat (limited to 'modules')
-rw-r--r--modules/acore/extractors/mmaps_generator/MapBuilder.cpp5
-rw-r--r--modules/acore/startup-scripts/conf.sh.dist28
-rw-r--r--modules/acore/startup-scripts/run-engine11
-rw-r--r--modules/worldengine/lib-collision/src/Management/MMapManager.cpp56
-rw-r--r--modules/worldengine/lib-collision/src/Management/VMapManager2.cpp18
-rw-r--r--modules/worldengine/lib-collision/src/Maps/MapTree.cpp18
-rw-r--r--modules/worldengine/nucleus/src/Database/MySQLConnection.cpp4
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