Core/Misc: Add configuration option for setting the update interval of the Who list cache (#30750)
(cherry picked from commit 0bd56da09b1f0ae34605a1a6fdd14ca26cd42d4c)
This commit is contained in:
@@ -853,6 +853,7 @@ void World::LoadConfigSettings(bool reload)
|
||||
{ .Name = "Respawn.DynamicMinimumGameObject"sv, .DefaultValue = 10, .Index = CONFIG_RESPAWN_DYNAMICMINIMUM_GAMEOBJECT },
|
||||
{ .Name = "Respawn.WarningFrequency"sv, .DefaultValue = 1800, .Index = CONFIG_RESPAWN_GUIDWARNING_FREQUENCY },
|
||||
{ .Name = "MaxWhoListReturns"sv, .DefaultValue = 49, .Index = CONFIG_MAX_WHO },
|
||||
{ .Name = "WhoList.Update.Interval"sv, .DefaultValue = 5, .Index = CONFIG_WHO_LIST_UPDATE_INTERVAL, .Min = 1 },
|
||||
{ .Name = "HonorPointsAfterDuel"sv, .DefaultValue = 0, .Index = CONFIG_HONOR_AFTER_DUEL },
|
||||
{ .Name = "PvPToken.MapAllowType"sv, .DefaultValue = 4, .Index = CONFIG_PVP_TOKEN_MAP_TYPE, .Min = 1, .Max = 4 },
|
||||
{ .Name = "PvPToken.ItemID"sv, .DefaultValue = 29434, .Index = CONFIG_PVP_TOKEN_ID },
|
||||
@@ -1222,6 +1223,8 @@ void World::LoadConfigSettings(bool reload)
|
||||
m_timers[WUPDATE_CLEANDB].Reset();
|
||||
m_timers[WUPDATE_AUTOBROADCAST].SetInterval(m_int_configs[CONFIG_AUTOBROADCAST_INTERVAL]);
|
||||
m_timers[WUPDATE_AUTOBROADCAST].Reset();
|
||||
m_timers[WUPDATE_WHO_LIST].SetInterval(m_int_configs[CONFIG_WHO_LIST_UPDATE_INTERVAL] * IN_MILLISECONDS);
|
||||
m_timers[WUPDATE_WHO_LIST].Reset();
|
||||
WorldStateMgr::SetValue(WS_CURRENT_PVP_SEASON_ID, getBoolConfig(CONFIG_ARENA_SEASON_IN_PROGRESS) ? getIntConfig(CONFIG_ARENA_SEASON_ID) : 0, false, nullptr);
|
||||
WorldStateMgr::SetValue(WS_PREVIOUS_PVP_SEASON_ID, getIntConfig(CONFIG_ARENA_SEASON_ID) - getBoolConfig(CONFIG_ARENA_SEASON_IN_PROGRESS), false, nullptr);
|
||||
|
||||
@@ -1976,7 +1979,7 @@ bool World::SetInitialWorldSettings()
|
||||
|
||||
m_timers[WUPDATE_CHECK_FILECHANGES].SetInterval(500);
|
||||
|
||||
m_timers[WUPDATE_WHO_LIST].SetInterval(5 * IN_MILLISECONDS); // update who list cache every 5 seconds
|
||||
m_timers[WUPDATE_WHO_LIST].SetInterval(getIntConfig(CONFIG_WHO_LIST_UPDATE_INTERVAL) * IN_MILLISECONDS); // update who list cache every 5 seconds
|
||||
|
||||
m_timers[WUPDATE_CHANNEL_SAVE].SetInterval(getIntConfig(CONFIG_PRESERVE_CUSTOM_CHANNEL_INTERVAL) * MINUTE * IN_MILLISECONDS);
|
||||
|
||||
|
||||
@@ -346,6 +346,7 @@ enum WorldIntConfigs : uint32
|
||||
CONFIG_ARENA_START_PERSONAL_RATING,
|
||||
CONFIG_ARENA_START_MATCHMAKER_RATING,
|
||||
CONFIG_MAX_WHO,
|
||||
CONFIG_WHO_LIST_UPDATE_INTERVAL,
|
||||
CONFIG_HONOR_AFTER_DUEL,
|
||||
CONFIG_PVP_TOKEN_MAP_TYPE,
|
||||
CONFIG_PVP_TOKEN_ID,
|
||||
|
||||
@@ -764,6 +764,13 @@ ArenaTeam.CharterCost.5v5 = 2000000
|
||||
|
||||
MaxWhoListReturns = 50
|
||||
|
||||
#
|
||||
# WhoList.Update.Interval
|
||||
# Description: Interval in seconds for Who List to get updated
|
||||
# Default: 5 (seconds)
|
||||
|
||||
WhoList.Update.Interval = 5
|
||||
|
||||
#
|
||||
# CharacterCreating.Disabled
|
||||
# Description: Disable character creation for players based on faction.
|
||||
|
||||
Reference in New Issue
Block a user