aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-01-08 14:57:46 -0600
committermegamage <none@none>2009-01-08 14:57:46 -0600
commitb57516e170cb3dd09ee7d4335dee0f8bbbc4a1df (patch)
tree4105527f87dabbd5fea344fbfa1be7c8ebe1f508
parent4296a32f606183189acafbaf90f952a0ee385b8f (diff)
*Add config option MinRecordUpdateTimeDiff to prevent timediff spams.
--HG-- branch : trunk
-rw-r--r--src/game/MapManager.cpp1
-rw-r--r--src/game/World.cpp19
-rw-r--r--src/game/World.h1
-rw-r--r--src/trinitycore/trinitycore.conf.dist6
4 files changed, 19 insertions, 8 deletions
diff --git a/src/game/MapManager.cpp b/src/game/MapManager.cpp
index abdb3a599af..fdd62d2d4ce 100644
--- a/src/game/MapManager.cpp
+++ b/src/game/MapManager.cpp
@@ -259,6 +259,7 @@ MapManager::Update(time_t diff)
}
ObjectAccessor::Instance().Update(i_timer.GetCurrent());
+ sWorld.RecordTimeDiff("UpdateObjectAccessor");
for (TransportSet::iterator iter = m_Transports.begin(); iter != m_Transports.end(); ++iter)
(*iter)->Update(i_timer.GetCurrent());
sWorld.RecordTimeDiff("UpdateTransports");
diff --git a/src/game/World.cpp b/src/game/World.cpp
index 5abdb17d6cf..838e2013270 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -998,6 +998,7 @@ void World::LoadConfigSettings(bool reload)
m_configs[CONFIG_NO_RESET_TALENT_COST] = sConfig.GetBoolDefault("NoResetTalentsCost", false);
m_configs[CONFIG_SHOW_KICK_IN_WORLD] = sConfig.GetBoolDefault("ShowKickInWorld", false);
m_configs[CONFIG_INTERVAL_LOG_UPDATE] = sConfig.GetIntDefault("RecordUpdateTimeDiffInterval", 60000);
+ m_configs[CONFIG_MIN_LOG_UPDATE] = sConfig.GetIntDefault("MinRecordUpdateTimeDiff", 10);
std::string forbiddenmaps = sConfig.GetStringDefault("ForbiddenMaps", "");
char * forbiddenMaps = new char[forbiddenmaps.length() + 1];
@@ -1428,14 +1429,18 @@ void World::RecordTimeDiff(const char *text, ...)
return;
}
- uint32 thisTime = getMSTime();
+ uint32 thisTime = getMSTime();
+ uint32 diff = getMSTimeDiff(m_currentTime, thisTime);
- va_list ap;
- char str [256];
- va_start(ap, text);
- vsnprintf(str,256,text, ap );
- va_end(ap);
- sLog.outDetail("Difftime %s: %u.", str, getMSTimeDiff(m_currentTime, thisTime));
+ if(diff > m_configs[CONFIG_MIN_LOG_UPDATE])
+ {
+ va_list ap;
+ char str [256];
+ va_start(ap, text);
+ vsnprintf(str,256,text, ap );
+ va_end(ap);
+ sLog.outDetail("Difftime %s: %u.", str, diff);
+ }
m_currentTime = thisTime;
}
diff --git a/src/game/World.h b/src/game/World.h
index 0bf88e4fd2d..80b876ccaf3 100644
--- a/src/game/World.h
+++ b/src/game/World.h
@@ -197,6 +197,7 @@ enum WorldConfigs
CONFIG_NO_RESET_TALENT_COST,
CONFIG_SHOW_KICK_IN_WORLD,
CONFIG_INTERVAL_LOG_UPDATE,
+ CONFIG_MIN_LOG_UPDATE,
CONFIG_ENABLE_SINFO_LOGIN,
CONFIG_VALUE_COUNT
diff --git a/src/trinitycore/trinitycore.conf.dist b/src/trinitycore/trinitycore.conf.dist
index db4a22fe223..91b0209acd4 100644
--- a/src/trinitycore/trinitycore.conf.dist
+++ b/src/trinitycore/trinitycore.conf.dist
@@ -1265,6 +1265,9 @@ Ra.Secure = 1
# >0 = Interval
# 0 = Disable
#
+# MinRecordUpdateTimeDiff
+# only record update time diff which is greater than this value
+#
# PlayerStart.String
# If set to anything else than "", this string will be displayed to players when they login
# to a newly created character.
@@ -1285,4 +1288,5 @@ PvPToken.ItemCount = 1
NoResetTalentsCost = 0
ShowKickInWorld = 0
RecordUpdateTimeDiffInterval = 60000
-PlayerStart.String = "" \ No newline at end of file
+MinRecordUpdateTimeDiff = 10
+PlayerStart.String = ""