diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm index 5d11eccd14a..1fce5abd014 100644 --- a/code/controllers/subsystem/voting.dm +++ b/code/controllers/subsystem/voting.dm @@ -116,7 +116,16 @@ var/datum/subsystem/vote/SSvote else master_mode = . if(restart) - world.Reboot("Restart vote successful.", "end_error", "restart vote") + var/active_admins = 0 + for(var/client/C in admins) + if(!C.is_afk() && check_rights_for(C, R_SERVER)) + active_admins = 1 + break + if(!active_admins) + world.Reboot("Restart vote successful.", "end_error", "restart vote") + else + world << "Notice:Restart vote will not restart the server automatically because there are active admins on." + message_admins("A restart vote has passed, but there are active admins on with +server, so it has been canceled. If you wish, you may restart the server.") return .