From fb059722fdb18a94d47b3f44a5b2d7f183bf5a29 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Tue, 17 Sep 2019 09:11:56 +0200 Subject: Core/Calendar: Add some additional validation when creating events (#23797) * Core/Calendar: Add some additional validation when creating events Allow only 30 player events and 100 guild events to be created. Don't allow to create guild events if player is not in guild. Send some more error messages to the client (not blizzlike errors but better than nothing). * Core/Calendar: Add some additional validation/checks Add guild id check in GetPlayerEvents(). Change error message in HandleCalendarCopyEvent() to be the same as in HandleCalendarAddEvent() when creating an event in the past. * Core/Calendar: Add some additional validation/checks Reduce the number of CMSG_CALENDAR_ADD_EVENT packets a seconds allowed from 10 to 3. * Core/Calendar: Add some additional validation/checks Implement 5 seconds cooldown between the creation of calendar events * Core/Calendar: Add some additional validation/checks Don't allow to copy events of a different player/guild * Core/Calendar: Implement automatic deletion of old events Implement automatic deletion of events older than 1 month (30 days). Fix debug assertion triggered when deleting a character with calendar events. Avoid double std::set lookup when deleting events when deleting a character. NB: The whole CalendarMgr/CalendarHandler code should be checked line by line for bugs/crashes/exploits. --- src/server/worldserver/worldserver.conf.dist | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/server/worldserver') diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index c308bc9d03d..58694ade631 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -1045,6 +1045,14 @@ Quests.DailyResetTime = 3 Quests.WeeklyResetWDay = 3 +# +# Calendar.DeleteOldEventsHour +# Description: Hour of the day when the daily deletion of old calendar events occurs. +# Range: 0-23 +# Default: 6 - (06:00 AM) + +Calendar.DeleteOldEventsHour = 6 + # # Guild.EventLogRecordsCount # Description: Number of log entries for guild events that are stored per guild. Old entries -- cgit v1.2.3