diff options
| author | Gildor <gildor55@gmail.com> | 2017-10-20 23:34:45 +0200 |
|---|---|---|
| committer | funjoker <funjoker109@gmail.com> | 2021-01-08 21:12:11 +0100 |
| commit | 3b36278d0227d241643a618fdc0e8cce5133d78c (patch) | |
| tree | b9d55fafb4cf7fa24d2aa5a1269e4b5462a7ef6f /src | |
| parent | 22d5a2a2eb42cfb0f52a294669c31c7d32b27693 (diff) | |
Core/Misc: Added the possibility to configure the hour at which the server will be return old mails or delete them. (#20305)
(cherry picked from commit 3eb0cfc687dad4ac5e7f9cb413f38b1facf0e0d9)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/World/World.cpp | 9 | ||||
| -rw-r--r-- | src/server/game/World/World.h | 1 | ||||
| -rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 8 |
3 files changed, 17 insertions, 1 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 020d6eb5627..9262ec58840 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1088,6 +1088,12 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_GROUP_VISIBILITY] = sConfigMgr->GetIntDefault("Visibility.GroupMode", 1); m_int_configs[CONFIG_MAIL_DELIVERY_DELAY] = sConfigMgr->GetIntDefault("MailDeliveryDelay", HOUR); + m_int_configs[CONFIG_CLEAN_OLD_MAIL_TIME] = sConfigMgr->GetIntDefault("CleanOldMailTime", 4); + if (m_int_configs[CONFIG_CLEAN_OLD_MAIL_TIME] > 23) + { + TC_LOG_ERROR("server.loading", "CleanOldMailTime (%u) must be an hour, between 0 and 23. Set to 4.", m_int_configs[CONFIG_CLEAN_OLD_MAIL_TIME]); + m_int_configs[CONFIG_CLEAN_OLD_MAIL_TIME] = 4; + } m_int_configs[CONFIG_UPTIME_UPDATE] = sConfigMgr->GetIntDefault("UpdateUptimeInterval", 10); if (int32(m_int_configs[CONFIG_UPTIME_UPDATE]) <= 0) @@ -2259,7 +2265,8 @@ void World::SetInitialWorldSettings() tm localTm; time_t gameTime = GameTime::GetGameTime(); localtime_r(&gameTime, &localTm); - mail_timer = ((((localTm.tm_hour + 20) % 24)* HOUR * IN_MILLISECONDS) / m_timers[WUPDATE_AUCTIONS].GetInterval()); + uint8 CleanOldMailsTime = getIntConfig(CONFIG_CLEAN_OLD_MAIL_TIME); + mail_timer = ((((localTm.tm_hour + (24 - CleanOldMailsTime)) % 24)* HOUR * IN_MILLISECONDS) / m_timers[WUPDATE_AUCTIONS].GetInterval()); //1440 mail_timer_expires = ((DAY * IN_MILLISECONDS) / (m_timers[WUPDATE_AUCTIONS].GetInterval())); TC_LOG_INFO("server.loading", "Mail timer set to: " UI64FMTD ", mail return is called every " UI64FMTD " minutes", uint64(mail_timer), uint64(mail_timer_expires)); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 3160ff92595..46fbdf9610f 100644 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -278,6 +278,7 @@ enum WorldIntConfigs CONFIG_FORCE_SHUTDOWN_THRESHOLD, CONFIG_GROUP_VISIBILITY, CONFIG_MAIL_DELIVERY_DELAY, + CONFIG_CLEAN_OLD_MAIL_TIME, CONFIG_UPTIME_UPDATE, CONFIG_SKILL_CHANCE_ORANGE, CONFIG_SKILL_CHANCE_YELLOW, diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index c4a07abb5fd..1548d3eb2bd 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -1161,6 +1161,14 @@ MaxRecruitAFriendBonusDistance = 100 MailDeliveryDelay = 3600 # +# CleanOldMailTime +# Description: The hour at which old mails will be returned or deleted by the server. +# This can be any integer number from 0 to 23. 20 will be 8pm server time. +# Default: 4 - 4am + +CleanOldMailTime = 4 + +# # SkillChance.Prospecting # Description: Allow skill increase from prospecting. # Default: 0 - (Disabled) |
