//Simple script setup #pragma semicolon 1 #include #include //Give plugin info public Plugin:myinfo = { name = "Timed Restarts", author = "Dovahkiin-Warrior", description = "Restarts a server every 12 hours or by manual control", version = "1.0.0", url = "https://forums.firehostredux.com" }; //Initiate the core, register required commands & Precache and Allocate files public OnPluginStart() { PrintToServer("***Auto Restart Module: INITIATED***"), RegAdminCmd("sm_restart", Command_RestartServer, ADMFLAG_ROOT, "Restart the server safely"), RegAdminCmd("sm_restart_1h", Command_RestartServer1H, ADMFLAG_ROOT, "Restart the server in one hour"); RegAdminCmd("sm_restart_30m", Command_RestartServer30M, ADMFLAG_ROOT, "Restart the server in thirty minutes"); RegAdminCmd("sm_restart_15m", Command_RestartServer15M, ADMFLAG_ROOT, "Restart the server in fifteen minutes"); RegAdminCmd("sm_restart_10m", Command_RestartServer10M, ADMFLAG_ROOT, "Restart the server in ten minutes"); RegAdminCmd("sm_restart_5m", Command_RestartServer5M, ADMFLAG_ROOT, "Restart the server in five minutes"); RegAdminCmd("sm_restart_now", Command_RestartServerSudo, ADMFLAG_ROOT, "Restart the server now [as sudo - unsafe method]"); } public OnMapStart() { CreateTimer(43180.0, PerformTimedRestart); PrintToServer("*** Auto Restart Module: Created timer with value of 43180.0 ***"); } public Action:Command_RestartServer(client, args) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 60 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA The server will restart in 60 seconds."), CreateTimer(60.0, RestartServer); } public Action:Command_RestartServer1H(client, args) { PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA The server will restart in one hour."), CreateTimer(3580.0, RestartServer1H); } public Action:Command_RestartServer30M(client, args) { PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA The server will restart in thirty minutes."), CreateTimer(1780.0, RestartServer30M); } public Action:Command_RestartServer15M(client, args) { PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA The server will restart in fifteen minutes."), CreateTimer(880.0, RestartServer15M); } public Action:Command_RestartServer10M(client, args) { PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA The server will restart in ten minutes."), CreateTimer(580.0, RestartServer10M); } public Action:Command_RestartServer5M(client, args) { PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA The server will restart in five minutes."), CreateTimer(280.0, RestartServer5M); } public Action:Command_RestartServerSudo(client, args) { ServerCommand("exit"); } public Action:PerformTimedRestart(Handle timer) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 20 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA Server uptime is: \x07AA000012 hours"), PrintToChatAll("\x07AAAAAARestarting the server gracefully - Please wait and then reconnect!"), CreateTimer(20.0, RestartServer); } public Action:RestartServer1H(Handle timer) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 20 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA Restarting the server gracefully - Please wait and then reconnect!"), CreateTimer(20.0, RestartServer); } public Action:RestartServer30M(Handle timer) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 20 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA Restarting the server gracefully - Please wait and then reconnect!"), CreateTimer(20.0, RestartServer); } public Action:RestartServer15M(Handle timer) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 20 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA Restarting the server gracefully - Please wait and then reconnect!"), CreateTimer(20.0, RestartServer); } public Action:RestartServer10M(Handle timer) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 20 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA Restarting the server gracefully - Please wait and then reconnect!"), CreateTimer(20.0, RestartServer); } public Action:RestartServer5M(Handle timer) { EmitSoundToAll("ui/system_message_alert.wav"), ServerCommand("sm_hsay [AutoRestart] Server will restart in 20 seconds!"), PrintToChatAll("\x0700FF00[\x07AA0000Auto Restart\x0700FF00]\x07AAAAAA Restarting the server gracefully - Please wait and then reconnect!"), CreateTimer(20.0, RestartServer); } public Action:RestartServer(Handle timer) { ServerCommand("_restart"); }