mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-15 12:43:13 +00:00
Merge pull request #2862 from CHOMPStationBot/upstream-merge-11431
[MIRROR] Add rollover safety check
This commit is contained in:
@@ -124,9 +124,19 @@ GLOBAL_VAR_INIT(round_start_time, 0)
|
|||||||
|
|
||||||
/var/midnight_rollovers = 0
|
/var/midnight_rollovers = 0
|
||||||
/var/rollovercheck_last_timeofday = 0
|
/var/rollovercheck_last_timeofday = 0
|
||||||
|
/var/rollover_safety_date = 0 // set in world/New to the server startup day-of-month
|
||||||
/proc/update_midnight_rollover()
|
/proc/update_midnight_rollover()
|
||||||
if (world.timeofday < rollovercheck_last_timeofday) //TIME IS GOING BACKWARDS!
|
// Day has wrapped (world.timeofday drops to 0 at the start of each real day)
|
||||||
midnight_rollovers += 1
|
if (world.timeofday < rollovercheck_last_timeofday)
|
||||||
|
// Compare the last wrap date (or server startup date) to our current date
|
||||||
|
var/curday = text2num(time2text(world.timeofday, "DD"))
|
||||||
|
// If the date is the same as the startup or last wrap, we should avoid wrapping, may be clock adjustment
|
||||||
|
// note that this won't protect against going from 00:01 to 23:59 and crossing the boundary again
|
||||||
|
if(rollover_safety_date != curday)
|
||||||
|
midnight_rollovers++
|
||||||
|
rollover_safety_date = curday
|
||||||
|
else
|
||||||
|
warning("Time rollover error: world.timeofday decreased from previous check, but date remained the same. System clock?")
|
||||||
rollovercheck_last_timeofday = world.timeofday
|
rollovercheck_last_timeofday = world.timeofday
|
||||||
return midnight_rollovers
|
return midnight_rollovers
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#define RECOMMENDED_VERSION 501
|
#define RECOMMENDED_VERSION 501
|
||||||
/world/New()
|
/world/New()
|
||||||
world_startup_time = world.timeofday
|
world_startup_time = world.timeofday
|
||||||
|
rollover_safety_date = text2num(time2text(world_startup_time, "DD"))
|
||||||
to_world_log("Map Loading Complete")
|
to_world_log("Map Loading Complete")
|
||||||
//logs
|
//logs
|
||||||
//VOREStation Edit Start
|
//VOREStation Edit Start
|
||||||
|
|||||||
Reference in New Issue
Block a user