From aa6f232b8712410b91050ee842dfa6bf6b2989b5 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 30 Nov 2018 21:30:00 -0800 Subject: [PATCH] Adds logging to special world reboots, admins with debug access can now reboot while world is OOM'd (#5737) * Update world.dm --- code/world.dm | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/code/world.dm b/code/world.dm index abae2c9e4c..884ec241ec 100644 --- a/code/world.dm +++ b/code/world.dm @@ -419,19 +419,27 @@ var/world_topic_spam_protect_time = world.timeofday return "Database connection failed or not set up" -/world/Reboot(var/reason) +/world/Reboot(reason = 0, fast_track = FALSE) /*spawn(0) world << sound(pick('sound/AI/newroundsexy.ogg','sound/misc/apcdestroyed.ogg','sound/misc/bangindonk.ogg')) // random end sounds!! - LastyBatsy */ + if (reason || fast_track) //special reboot, do none of the normal stuff + if (usr) + log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools") + message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools") + world << "[key_name_admin(usr)] has requested an immediate world restart via client side debugging tools" + + else + world << "Rebooting world immediately due to host request" + else + processScheduler.stop() + Master.Shutdown() //run SS shutdowns + for(var/client/C in clients) + if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite + C << link("byond://[config.server]") - processScheduler.stop() - Master.Shutdown() //run SS shutdowns - - for(var/client/C in clients) - if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite - C << link("byond://[config.server]") - - ..(reason) + log_world("World rebooted at [time_stamp()]") + ..() /hook/startup/proc/loadMode() world.load_mode()