1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Do: 17 Juli 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Tutorials & Releases

    [Tutorial] Server Restart via Script

      • Altis Life
    • Risk
    • 8. März 2019 um 20:40
    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 8. März 2019 um 20:40
      • #1

      Hier ein kleines Restartscript welches ohne irgendwelche Programme läuft.

      Ich habe das ganze noch nicht testen können also bin ich auf eure Hilfe angewiesen.

      1. geht in eure description.exi und erstell bei CfgNotifications eine neue class.

      Code
      class restart
          {
              title = "RESTART";
              iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
              color[] = {0,0.8,0,1};
              description = "%1";
              duration = 10;
              priority = 6;
          };

      2. geht in eure CfgRemoteExec.hpp und tragt folgendes ein

      Code
      F(bis_fnc_showNotification,ANYONE)

      3. erstellt eine neue config im Config Ordner und tragt diese mit #include "Config_Restart.hpp" in der Config Master ein

      Code
      class RestartTime 
      {
          class times
          {
              RestartTimeHours[] = {
                  6,
                  12,
                  18,
                  0    
              };
              /* Warn examples 5:00, 5:15, 5:30, 5:45, 5:55 */        
              WarnTimeHours[] = {
                  5,
                  11,
                  17,
                  23       
              };
              WarnTimeMinutes[] = {
                  0,
                  15,
                  30,
                  45,
                  55
              };                
          };
          text[] = {
              "Neustart in 60 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 45 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 30 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 15 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 5 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr"
          };
      };
      Alles anzeigen

      4. in eurem life_server tragt folgendes in eurer config.cpp in die class Systems ein

      Code
      class getRealTime {};
      class restart {};

      erstellt diese beiden Dateien unter life_server/Functions/Systems mit folgendem Inhalt

      fn_getRealTime.sqf

      Code
      /*
          Autor: ԄӏՖҚ 
          Written for Die-Sippe
      
          Gets the realtime if call it
      */
      for "_i" from 0 to 1 step 0 do {
          realTimeSippe = "extDB3" callExtension "9:LOCAL_TIME";
          realTimeSippe = call compile realTimeSippe;
          publicVariable "realTimeSippe";
          sleep 0.1;
      };
      Alles anzeigen

      fn_restart.sqf denkt hier bitte daran das ServerCommandPassword zu ändern da es sonst nicht geht.

      Code
      /*
          author: ԄӏՖҚ
          description: Regelt die Restarts.
          returns: nothing
      */
      waitUntil{!(realTimeSippe isEqualTo [])};
      //Set Vars once so they don't get called every time just once.
      private _configRestartHours = getArray(missionConfigFile >> "RestartTime" >> "times" >> "RestartTimeHours");
      private _configWarnTimeHours = getArray(missionConfigFile >> "RestartTime" >> "times" >> "WarnTimeHours");
      private _configWarnTimeMinutes = getArray(missionConfigFile >> "RestartTime" >> "times" >> "WarnTimeMinutes");
      private _configText = getArray(missionConfigFile >> "RestartTime" >> "text");
      _configRestartHours params [
          "_configRestartHoursOne",
          "_configRestartHoursTwo",
          "_configRestartHoursThree",
          "_configRestartHoursFour"
      ];
      _configWarnTimeHours params [
          "_warnTimeHourOne",
          "_warnTimeHourTwo",
          "_warnTimeHourThree",
          "_warnTimeHourFour"
      ];
      _configWarnTimeMinutes params [
          "_warnTimeMinuteOne",
          "_warnTimeMinuteTwo",
          "_warnTimeMinuteThree",
          "_warnTimeMinuteFour",
          "_warnTimeMinuteFive"
      ];
      _configText params[
          "_configTextOne",
          "_configTextTwo",
          "_configTextThree",
          "_configTextFour",
          "_configTextFive"
      ];
      life_warnOne = true;
      life_warnTwo = true;
      life_warnThree = true;
      life_warnFour = true;
      life_warnFive = true;
      for "_i" from 0 to 1 step 0 do {
          private _times = realTimeSippe select 1;
          private _Stunde = _times select 3;
          private _Minute = _times select 4;
          diag_log "---------------------------";
          diag_log format["_Stunde %1 - _Minute %2", _Stunde, _Minute];
          if(_Stunde in [_warnTimeHourOne, _warnTimeHourTwo, _warnTimeHourThree, _warnTimeHourFour])then{
              //Restart Warn 1
              if(_Minute isEqualTo _warnTimeMinuteOne && life_warnOne)then
              {
                  diag_log format["Warn 1: %1 Minute %2", _configTextOne, _warnTimeMinuteOne];
                  ["restart",[_configTextOne]] remoteExecCall ['bis_fnc_showNotification',0];
                  life_warnOne = false;
              };
              //Restart Warn 2
              if(_Minute isEqualTo _warnTimeMinuteTwo && life_warnTwo)then
              {
                  diag_log format["Warn 2: %1 Minute %2", _configTextTwo, _warnTimeMinuteTwo];
                  ["restart",[_configTextTwo]] remoteExecCall ['bis_fnc_showNotification',0];
                  life_warnTwo = false;
              };
              //Restart Warn 3
              if(_Minute isEqualTo _warnTimeMinuteThree && life_warnThree)then
              {
                  diag_log format["Warn 3: %1 Minute %2", _configTextThree, _warnTimeMinuteThree];
                  ["restart",[_configTextThree]] remoteExecCall ['bis_fnc_showNotification',0];
                  life_warnThree = false;
              };
              //Restart Warn 4
              if(_Minute isEqualTo _warnTimeMinuteFour && life_warnFour)then
              {
                  diag_log format["Warn 4: %1 Minute %2", _configTextFour, _warnTimeMinuteFour];
                  ["restart",[_configTextFour]] remoteExecCall ['bis_fnc_showNotification',0];
                  life_warnFour = false;
              };
              //Restart Warn 5
              if(_Minute isEqualTo _warnTimeMinuteFive && life_warnFive)then
              {
                  diag_log format["Warn 5: %1 Minute %2", _configTextFive, _warnTimeMinuteFive];
                  ["restart",[_configTextFive]] remoteExecCall ['bis_fnc_showNotification',0];
                  life_warnFive = false;
              };
          };    
          //Actual Restart
          if(_Stunde in[_configRestartHoursOne,_configRestartHoursTwo,_configRestartHoursThree,_configRestartHoursFour] && _Minute isEqualTo 0)then
          {
              "CE8C283FB8EDDA1F89B3BD5C7EBE8" serverCommand "#restartserver";
          };
          diag_log "---------------------------";    
          sleep 5;
      };
      Alles anzeigen

      5. geht in eurem life_server in die init.sqf und tragt vor EXTDB "9:LOCK"; folgendes ein

      Code
      [] spawn TON_fnc_getRealTime;
      [] spawn TON_fnc_restart;

      fertig. Bei Problemen einfach melden.

      mfg Risk

      https://www.twitch.tv/theriskarma

      7 Mal editiert, zuletzt von Risk (18. März 2019 um 18:56)

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 8. März 2019 um 21:15
      • #2

      Warum lässt man es nicht über eine Realtime.fsm laufen?'

      _time = format["%1:%2",(life_real_time select 3),(life_real_time select 4)];

      Und dann einfach ein restartscript?

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • max.mm80
      Frischling
      Reaktionen
      3
      Trophäen
      9
      Beiträge
      15
      • 8. März 2019 um 23:01
      • #3

      wenn ich die ganzen ODER abfragen da seh wird mir schon schlecht...

      sowas löst man mit IN

      Code
      if(_Stunde in [_configWarnTimeHours select 0, _configWarnTimeHours select 1, _configWarnTimeHours select 2, _configWarnTimeHours select 3, _configWarnTimeHours select 4] && _Minute isEqualTo {_configWarnTimeMinutes select 0})then

      und um diese litanei nicht für jede in frage kommende minute nochmal zu wiederholen packt man die minuten in eine if then dahinter

      Code
      if(_Stunde in [_configWarnTimeHours select 0, _configWarnTimeHours select 1, _configWarnTimeHours select 2, _configWarnTimeHours select 3, _configWarnTimeHours select 4]) then {
      if (_Minute isEqualTo {_configWarnTimeMinutes select 0})then x
      if (_Minute isEqualTo {_configWarnTimeMinutes select 1})then y

      etc

      evtl auch mit n paar case sätzen lösbar

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 9. März 2019 um 06:05
      • #4

      Moin danke fürs Kommenta. War mir schon bewusst, wollte aber erstmal ein funktionierendes Ergebnis haben bevor ich es optimiere :)

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 9. März 2019 um 07:44
      • #5

      Hab es jetzt mal geänder max.mm80

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Fl0rixn
      Nerd
      Reaktionen
      190
      Trophäen
      9
      Beiträge
      619
      Bilder
      27
      • 9. März 2019 um 12:07
      • #6
      Zitat von Risk

      Hab es jetzt mal geänder max.mm80

      Code
      Error in expression <imeHours select 1, _configWarnTimeHours select 2, _configWarnTimeHours select 3,>
        Error position: <select 2, _configWarnTimeHours select 3,>
        Error Zero divisor
      File \life_server\Functions\Systems\fn_restart.sqf [TON_fnc_restart], line 17

      Das kriege ich derzeit als Fehler

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 9. März 2019 um 12:09
      • #7

      Schon was in der Config geändert und es falsch gemacht? Hab ihn nämlich nicht.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Fl0rixn
      Nerd
      Reaktionen
      190
      Trophäen
      9
      Beiträge
      619
      Bilder
      27
      • 9. März 2019 um 12:12
      • #8
      Zitat von Risk

      Schon was in der Config geändert und es falsch gemacht? Hab ihn nämlich nicht.

      Copy Paste :P

      Nichts geändert

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 9. März 2019 um 12:18
      • #9

      Ich gucke gleich mal ob ich beim reinkopieren einen Fehler gemacht habe :p

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 9. März 2019 um 13:03
      • #10

      Aufjedenfall richtig drine jetzt. Habs nochmal rein kopiert.

      Hab es jetzt auch mehrmals getestet. Geht aufjedenfall.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Fl0rixn
      Nerd
      Reaktionen
      190
      Trophäen
      9
      Beiträge
      619
      Bilder
      27
      • 9. März 2019 um 13:09
      • #11
      Zitat von Risk

      Aufjedenfall richtig drine jetzt. Habs nochmal rein kopiert.

      Hab es jetzt auch mehrmals getestet. Geht aufjedenfall.

      Mal testen :D

    • Fl0rixn
      Nerd
      Reaktionen
      190
      Trophäen
      9
      Beiträge
      619
      Bilder
      27
      • 9. März 2019 um 13:12
      • #12
      Zitat von Risk

      Aufjedenfall richtig drine jetzt. Habs nochmal rein kopiert.

      Hab es jetzt auch mehrmals getestet. Geht aufjedenfall.

      Code
      "---------------------------"
      "_Stunde 13 - _Minute 11"
      "---------------------------"
      Error in expression <nute];
      if(_Stunde in [_warnTimeHourOne, _warnTimeHourTwo, _warnTimeHourThree, _w>
        Error position: <_warnTimeHourTwo, _warnTimeHourThree, _w>
        Error Undefined variable in expression: _warntimehourtwo
      File \life_server\Functions\Systems\fn_restart.sqf [TON_fnc_restart], line 43
    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 9. März 2019 um 13:19
      • #13

      keine Ahnung was du machst, es ist jedenfalls falsch :D Bei mir ist der Fehler nicht. Hab es jetzt mehrmals kontrolliert. Hast du die Config richtg?

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Fl0rixn
      Nerd
      Reaktionen
      190
      Trophäen
      9
      Beiträge
      619
      Bilder
      27
      • 9. März 2019 um 13:29
      • #14
      Zitat von Risk

      keine Ahnung was du machst, es ist jedenfalls falsch :D Bei mir ist der Fehler nicht. Hab es jetzt mehrmals kontrolliert. Hast du die Config richtg?

      Wie gesagt, Copy Paste :P

      Config ist included etc...

      Habe dir auf Steam geschrieben, Lösung können wir dann hier Posten

    • irontom
      Schüler
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      145
      Bilder
      1
      • 10. März 2019 um 13:23
      • #15

      hallo erstein mal danke für das TUT

      was muß ich alles ändern wenn der der Server um 06:00Uhr und um 20:00Uhr

      einen restart machen soll

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 10. März 2019 um 14:08
      • #16

      Nur um 6 und 20?

      Wenn ja dann hier

      Code
      class RestartTime 
      {
          class times
          {
              RestartTimeHours[] = {
                  6,
                  20    
              };
              /* Warn examples 5:00, 5:15, 5:30, 5:45, 5:55 */        
              WarnTimeHours[] = {
                  5,
                  19     
              };
              WarnTimeMinutes[] = {
                  0,
                  15,
                  30,
                  45,
                  55
              };                
          };
          text[] = {
              "Neustart in 60 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 45 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 30 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 15 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr",
              "Neustart in 5 Minuten! Zeiten 6 Uhr, 12 Uhr, 18 Uhr, 24Uhr"
          };
      };
      Alles anzeigen

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Blacky
      Frischling
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      23
      • 18. März 2019 um 18:11
      • #17
      Code
      18:07:09 "---------------------------"
      18:07:09 "_Stunde 18 - _Minute 7"
      18:07:09 "---------------------------"
      18:07:09 Error in expression < %2", _Stunde, _Minute];
      if(_Stunde in [_warnTimeHourOne, _warnTimeHourTwo, _war>
      18:07:09   Error position: <_warnTimeHourOne, _warnTimeHourTwo, _war>
      18:07:09   Error Undefined variable in expression: _warntimehourone
      18:07:09 File \life_server\Functions\Systems\fn_restart.sqf [TON_fnc_restart], line 48

      gleicher fehler bei mir auch Copy&Paste nix an der Config verändert

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 18. März 2019 um 18:42
      • #18

      updatet.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Blacky
      Frischling
      Reaktionen
      1
      Trophäen
      8
      Beiträge
      23
      • 18. März 2019 um 18:53
      • #19
      Zitat von Risk

      updatet.

      Code
      18:50:53 "---------------------------"
      18:50:53 "_Stunde any - _Minute any"
      18:50:53 "---------------------------"
      18:50:53 Error in expression <rom 0 to 1 step 0 do {
      private _times = realTimeSippe select 1;
      private _Stunde >
      18:50:53   Error position: <realTimeSippe select 1;
      private _Stunde >
      18:50:53   Error Undefined variable in expression: realtimesippe
      18:50:53 File \life_server\Functions\Systems\fn_restart.sqf [TON_fnc_restart], line 43

      nun folgt dieser error...

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 18. März 2019 um 18:56
      • #20

      updatet.

      mfg Risk

      https://www.twitch.tv/theriskarma

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Ähnliche Themen

    • Arma 3 AutoRestart

      • dululu
      • 2. Mai 2018 um 16:32
      • Linux-Server
    • [TUT]Sozialhelfer Script | Einfaches Konfigurieren | Rettet eure User vor der Kompletten Pleite

      • Rene Lerchberg
      • 14. Dezember 2018 um 16:43
      • Tutorials & Releases
    • [GER] Server Restart Errinerungs Nachricht Script |V .5.0 (EASY)

      • Rene Lerchberg
      • 10. Dezember 2018 um 22:04
      • Tutorials & Releases

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™