From 6501da3c94319b7e563ab406b39f85750c83273e Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 5 Oct 2014 13:55:56 +0200 Subject: Core/Instances: Add assert to track down a crash Instance reset times are supposed to be initialized on server startup and then only updated when they expire. Refers to #11904 --- src/server/game/Instances/InstanceSaveMgr.cpp | 4 ++-- src/server/game/Instances/InstanceSaveMgr.h | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp index 370d02631ba..8d5ae53f737 100644 --- a/src/server/game/Instances/InstanceSaveMgr.cpp +++ b/src/server/game/Instances/InstanceSaveMgr.cpp @@ -389,7 +389,7 @@ void InstanceSaveManager::LoadResetTimes() if (oldresettime != newresettime) CharacterDatabase.DirectPExecute("UPDATE instance_reset SET resettime = '%u' WHERE mapid = '%u' AND difficulty = '%u'", uint32(newresettime), mapid, difficulty); - SetResetTimeFor(mapid, difficulty, newresettime); + InitializeResetTimeFor(mapid, difficulty, newresettime); } while (result->NextRow()); } @@ -426,7 +426,7 @@ void InstanceSaveManager::LoadResetTimes() CharacterDatabase.DirectPExecute("UPDATE instance_reset SET resettime = '" UI64FMTD "' WHERE mapid = '%u' AND difficulty= '%u'", (uint64)t, mapid, difficulty); } - SetResetTimeFor(mapid, difficulty, t); + InitializeResetTimeFor(mapid, difficulty, t); // schedule the global reset/warning uint8 type; diff --git a/src/server/game/Instances/InstanceSaveMgr.h b/src/server/game/Instances/InstanceSaveMgr.h index 1bab66be1b8..60aeee25e1c 100644 --- a/src/server/game/Instances/InstanceSaveMgr.h +++ b/src/server/game/Instances/InstanceSaveMgr.h @@ -191,11 +191,20 @@ class InstanceSaveManager return itr != m_resetTimeByMapDifficulty.end() ? itr->second : 0; } - void SetResetTimeFor(uint32 mapid, Difficulty d, time_t t) + // Use this on startup when initializing reset times + void InitializeResetTimeFor(uint32 mapid, Difficulty d, time_t t) { m_resetTimeByMapDifficulty[MAKE_PAIR32(mapid, d)] = t; } + // Use this only when updating existing reset times + void SetResetTimeFor(uint32 mapid, Difficulty d, time_t t) + { + ResetTimeByMapDifficultyMap::iterator itr = m_resetTimeByMapDifficulty.find(MAKE_PAIR32(mapid, d)); + ASSERT(itr != m_resetTimeByMapDifficulty.end()); + itr->second = t; + } + ResetTimeByMapDifficultyMap const& GetResetTimeMap() const { return m_resetTimeByMapDifficulty; -- cgit v1.2.3 From 1b2b3278971aadba7778ef49b299c0c202b38af7 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 5 Oct 2014 20:18:26 +0200 Subject: Misc: Update some conf values/texts --- src/server/worldserver/worldserver.conf.dist | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index c09d451592d..ecdc8cf4b98 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -230,9 +230,9 @@ GridUnload = 1 # SocketTimeOutTime # Description: Time (in milliseconds) after which a connection being idle on the character # selection screen is disconnected. -# Default: 900000 - (15 minutes) +# Default: 90000 - (90 seconds) -SocketTimeOutTime = 900000 +SocketTimeOutTime = 90000 # # SessionAddDelay @@ -288,7 +288,7 @@ PlayerSave.Stats.SaveOnlyOnLogout = 1 # # mmap.enablePathFinding -# Description: Enable/Disable pathfinding using mmaps - experimental. +# Description: Enable/Disable pathfinding using mmaps - recommended. # Default: 0 - (Disabled) # 1 - (Enabled) @@ -2034,9 +2034,9 @@ AutoBroadcast.Center = 0 # # AutoBroadcast.Timer # Description: Timer (in milliseconds) for auto broadcasts. -# Default: 60000 - (60 seconds) +# Default: 60000 - (10 minutes) -AutoBroadcast.Timer = 60000 +AutoBroadcast.Timer = 600000 # ################################################################################################### -- cgit v1.2.3 From 986c1e7d2a742ff4cd83154d967a4264cb85c441 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 5 Oct 2014 20:37:45 +0200 Subject: Update worldserver.conf.dist stupid mistake.... --- src/server/worldserver/worldserver.conf.dist | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index ecdc8cf4b98..ac307a254e9 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -230,9 +230,9 @@ GridUnload = 1 # SocketTimeOutTime # Description: Time (in milliseconds) after which a connection being idle on the character # selection screen is disconnected. -# Default: 90000 - (90 seconds) +# Default: 900000 - (15 minutes) -SocketTimeOutTime = 90000 +SocketTimeOutTime = 900000 # # SessionAddDelay @@ -266,9 +266,9 @@ ChangeWeatherInterval = 600000 # # PlayerSaveInterval # Description: Time (in milliseconds) for player save interval. -# Default: 900000 - (15 min) +# Default: 90000 - (90 seconds) -PlayerSaveInterval = 900000 +PlayerSaveInterval = 90000 # # PlayerSave.Stats.MinLevel -- cgit v1.2.3