diff --git a/Sources/epoch_server/system/server_monitor.fsm b/Sources/epoch_server/system/server_monitor.fsm index 22dcd78b..6aef5288 100644 --- a/Sources/epoch_server/system/server_monitor.fsm +++ b/Sources/epoch_server/system/server_monitor.fsm @@ -1,14 +1,14 @@ /*%FSM<COMPILE "F:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, Server Monitor">*/ /*%FSM<HEAD>*/ /* -item0[] = {"Init",0,4346,600.000000,-575.000000,700.000000,-525.000000,0.000000,"Init"}; +item0[] = {"Init",0,250,600.000000,-575.000000,700.000000,-525.000000,0.000000,"Init"}; item1[] = {"_",8,218,600.000000,-500.000000,700.000000,-450.000000,0.000000,""}; item2[] = {"Process",2,250,600.000000,-350.000000,700.000000,-300.000000,0.000000,"Process"}; item3[] = {"Vehicle_and_Player",4,218,740.131958,-228.950928,840.131958,-178.950928,1.000000,"" \n "Vehicle and Player" \n "Checks"}; item4[] = {"CMD_queue",4,218,450.000000,-450.000000,550.000000,-400.000000,10.000000,"CMD queue"}; item5[] = {"Save_Players",4,218,450.000000,-375.000000,550.000000,-325.000000,3.000000,"Save" \n "Players"}; item6[] = {"Cleanup",4,218,750.000000,-375.000000,850.000000,-325.000000,8.000000,"Cleanup"}; -item7[] = {"Events_and_Resta",4,218,450.000000,-225.000000,550.000000,-175.000000,0.000000,"Events" \n "and" \n "Restart"}; +item7[] = {"Events_and_Resta",4,4314,450.000000,-225.000000,550.000000,-175.000000,0.000000,"Events" \n "and" \n "Restart"}; item8[] = {"Save_Vehicles",4,218,450.000000,-300.000000,550.000000,-250.000000,4.000000,"Save" \n "Vehicles"}; item9[] = {"Cleanup_Handler",4,218,750.000000,-450.000000,850.000000,-400.000000,8.000000,"Cleanup" \n "Handler"}; item10[] = {"Server_FPS",4,218,600.000000,-148.030182,700.000000,-98.030182,0.000000,"Server FPS"}; @@ -31,7 +31,7 @@ link15[] = {8,2}; link16[] = {9,2}; link17[] = {10,2}; globals[] = {0.000000,0,0,0,0,640,480,1,3,6316128,1,275.180084,1161.319580,208.497711,-659.879456,898,884,1}; -window[] = {2,-1,-1,-1,-1,916,156,1448,156,3,916}; +window[] = {2,-1,-1,-1,-1,786,26,1318,26,3,916}; *//*%FSM</HEAD>*/ class FSM { @@ -353,7 +353,7 @@ class FSM condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _pvehTime) > 20)"/*%FSM</CONDITION""">*/; action=/*%FSM<ACTION""">*/"// Epoch Events" \n "_pvehTime = diag_tickTime;" \n - "_eventsMarkedForRemoval = [];" \n + "_newEvents = [];" \n "{" \n " _x params [""_time"", ""_scriptName"", [""_runAtStart"",0], [""_usePrePostfix"",1], [""_runNumTimes"",-1], [""_input"",[]]];" \n " _eventKey = format[""EPOCH_EVENT_%1"", _forEachIndex];" \n @@ -369,8 +369,9 @@ class FSM " _lastTime = _startTime;" \n " };" \n " if (_counter >= _runNumTimes && _runNumTimes != -1) then {" \n - " _eventsMarkedForRemoval pushBack _forEachIndex;" \n + " diag_log format[""DEBUG: server event expired %1"", _scriptName];" \n " } else {" \n + " _newEvents pushBack _x;" \n " if ((diag_tickTime - _lastTime) >= _time) then {" \n " missionNamespace setVariable[_eventKey, diag_tickTime];" \n " _preFix = """";" \n @@ -379,25 +380,19 @@ class FSM " _preFix = ""\epoch_server_settings\EpochEvents\"";" \n " _postFix = "".sqf"";" \n " };" \n - " if (_usePrePostfix == 2) then {" \n + " if (_usePrePostfix == 2) then {" \n " _preFix = ""\epoch_server_events\EpochEvents\"";" \n " _postFix = "".sqf"";" \n " };" \n " _handle = _input execVM format[""%1%2%3"",_preFix,_scriptName,_postFix];" \n " _counter = _counter + 1;" \n " missionNamespace setVariable[_eventCounter, _counter];" \n - " diag_log format[""DEBUG: _event %1"", _scriptName];" \n + " diag_log format[""DEBUG: server event %1"", _scriptName];" \n " };" \n " };" \n "} forEach _events;" \n "// remove expired events" \n - "" \n - "if !(_eventsMarkedForRemoval isEqualTo []) then {" \n - " {" \n - " _removed = _events deleteAt (_eventsMarkedForRemoval deleteAt _forEachIndex);" \n - " diag_log format[""DEBUG: removing event: %1"",_removed];" \n - " } forEach (+_eventsMarkedForRemoval);" \n - "};" \n + "_events = _newEvents;" \n "" \n "// restart script" \n "if (_scriptBasedRestart) then {" \n