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()