Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. /*=================================================================================================================
  2. Timed Restart Script
  3. [15thMEU(SOC)]
  4. =================================================================================================================*/
  5.  
  6. ServerDuration = (3 * 60 * 60);
  7. DebugServerDuration = (20 * 60);
  8.  
  9.  
  10.  
  11. private ["_timeStart","_timeSinceStart","_shutdownSuccess","_isDebug","_msg30mins","_msg15mins","_msg5mins","_timeUntilRestart","_30minspassed","_15minspassed","_5minspassed","_60secondspassed"];
  12.  
  13. _isDebug = false;
  14.  
  15. if(_isDebug) then
  16. {
  17. ServerDuration = DebugServerDuration;
  18. };
  19.  
  20. _msg30mins = "<t color='#FFFF00' size='1.25'>Server Restart</t><br/> The server will shut down in less than 30 minutes.";
  21. _msg15mins = "<t color='#FF9D47' size='1.25'>Server Restart</t><br/> The server will shut down in less than 15 minutes.";
  22. _msg5mins = "<t color='#FF5500' size='1.25'>Server Restart</t><br/> The server will shut down in less than 5 minutes.";
  23. _msg1mins = "<t color='#FF0000' size='1.25'>Server Restart</t><br/> The server will shut down in less than 60 seconds! LOG OUT NOW!";
  24.  
  25. _30minspassed = false;
  26. _15minspassed = false;
  27. _5minspassed = false;
  28. _60secondspassed = false;
  29.  
  30. _timeStart = diag_tickTime;
  31.  
  32. while{true} do
  33. {
  34. _timeSinceStart = diag_tickTime - _timeStart;
  35. _timeUntilRestart = ServerDuration - _timeSinceStart;
  36.  
  37. if(_isDebug) then
  38. {
  39. diag_log format ["Time Since Start: %1, Time Until Restart: %2", _timeSinceStart, _timeUntilRestart];
  40. };
  41.  
  42. switch true do
  43. {
  44. case ((_timeUntilRestart < (1 * 60)) && !_60secondspassed) :
  45. {
  46. _msg1mins call DMS_fnc_BroadcastMissionStatus; // using Defent's mission broadcast format for our messages
  47. diag_log "60 seconds until server restart.";
  48. _60secondspassed = true;
  49. _5minspassed = true;
  50. _15minspassed = true;
  51. _30minspassed = true;
  52. };
  53. case ((_timeUntilRestart < (5 * 60)) && !_5minspassed) :
  54. {
  55. _msg5mins call DMS_fnc_BroadcastMissionStatus;
  56. diag_log "5 minutes until server restart.";
  57. _5minspassed = true;
  58. _15minspassed = true;
  59. _30minspassed = true;
  60. };
  61. case ((_timeUntilRestart < (15 * 60)) && !_15minspassed) :
  62. {
  63. _msg15mins call DMS_fnc_BroadcastMissionStatus;
  64. diag_log "15 minutes until server restart.";
  65. _15minspassed = true;
  66. _30minspassed = true;
  67. };
  68. case ((_timeUntilRestart < (30 * 60)) && !_30minspassed) :
  69. {
  70. _msg30mins call DMS_fnc_BroadcastMissionStatus;
  71. diag_log "30 minutes until server restart.";
  72. _30minspassed = true;
  73. };
  74. };
  75.  
  76. if(_timeSinceStart > ServerDuration) then
  77. {
  78. diag_log "Restart timeout elapsed, attempting server shutdown.";
  79. _shutdownSuccess = "[server rcon password]" serverCommand "#shutdown";
  80. if(_shutdownSuccess) then
  81. {
  82. diag_log "Shutting down server!";
  83. }
  84. else
  85. {
  86. diag_log "Shutdown failed!";
  87. };
  88.  
  89. };
  90.  
  91. sleep 15;
  92. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement