[FIX] Seagul / CreateVehicle Restriction / Bird

b4r0n

Member
this is more a workaround than a fix. this issue still happens but is gone after some minutes (depends on the sleep interval).
there are other ways to fix it, but this seems to be the easiest way for me.


create dayz_server/init/cleaner.sqf:
Code:
while {true} do {
    {
        if (count units _x==0) then {
            deleteGroup _x;
            //diag_log ("CUSTOM: GROUP CLEANUP");
        };
    } forEach allGroups;
    sleep 300; // run every 5min
}

add this line to the bottom of dayz_server/init/server_functions.sqf:
Code:
[] execVM "\z\addons\dayz_server\init\cleaner.sqf";

with this code the seagul issue shouldnt last longer than 5min.
 
bro, this is pointless: your server cleanup fsm already does this:

class general_cleanup
{
name = "general_cleanup";
init = /*%FSM<STATEINIT""">*/"//Clean groups" \n
"{" \n
" //diag_log (""CLEANUP: CHECKING GROUP WITH "" + str(count units _x) + "" UNITS"");" \n
" if (count units _x==0) then {" \n
" deleteGroup _x;" \n
" //diag_log (""CLEANUP: DELETING A GROUP"");" \n
" };" \n
"} forEach allGroups;" \n
 
Not realy, because you cant realy say WHEN the Groups are cleaned by general_cleanup, so if you want to make sure the groups should be cleaned realy often (like once a minute)... this way works :)
 
the group cleanup happens too rarely.
when the seagul issue happens the general cleanup could take hours to fix it.
you can either mess around with the complex fsm syntax or do it handy with this.
 
.......

first of all, the group clean up in server_cleanup.fsm is like around every 1 to 10 seconds, which is much less than your 300 seconds:

while {true} do {
{
if (count units _x==0) then {
deleteGroup _x;
//diag_log ("CUSTOM: GROUP CLEANUP");
};
} forEach allGroups;
sleep 300; // run every 5min
}


and second...complex fsm syntax?....lol....fsm have same syntax
 
I don't see you offering any sort of fix here Hangender. Once again providing no real value.

He says he has a fix. I don't believe it, but he won't share unless you pay him.

So much for community support.

Also, I haven't had any birds since adding this :D

Thanks b4r0n!
 
iam talking about this syntax:

Code:
item0[] = {"init",0,250,-75.000000,-400.000000,25.000000,-350.000000,0.000000,"init"};
item1[] = {"true",8,218,-75.000000,-175.000000,25.000000,-125.000000,0.000000,"true"};
item2[] = {"waiting",2,250,-75.000000,-100.000000,25.000000,-50.000000,0.000000,"waiting"};
item3[] = {"too_many_dead",4,218,-150.000000,-25.000000,-50.000000,25.000000,3.000000,"too many" \n "dead"};
item4[] = {"cleanup_dead",2,250,-175.000000,50.000000,-75.000000,100.000000,0.000000,"cleanup" \n "dead"};
item5[] = {"too_many_objects",4,218,-25.000000,-25.000000,75.000000,25.000000,2.000000,"too many" \n "objects"};
item6[] = {"cleanup_objects",2,250,25.000000,50.000000,125.000000,100.000000,0.000000,"cleanup" \n "objects"};
item7[] = {"time_sync",4,218,-200.000000,-50.000000,-100.000000,0.000000,0.000000,"time" \n "sync"};
item8[] = {"sync_the_time",2,250,-275.000000,50.000000,-175.000000,100.000000,0.000000,"sync" \n "the time"};
item9[] = {"true",8,218,-75.000000,100.000000,25.000000,150.000000,0.000000,"true"};
item10[] = {"general_cleanup",2,250,-75.000000,200.000000,25.000000,250.000000,0.000000,"general" \n "cleanup"};

add a diag_log to the group cleanup under heavy load and see how many timed its actually get called...
i had 1-4 times per day masskicks because of this issue. after adding this its gone and no problem anymore.
 
iam talking about this syntax:

Code:
item0[] = {"init",0,250,-75.000000,-400.000000,25.000000,-350.000000,0.000000,"init"};
item1[] = {"true",8,218,-75.000000,-175.000000,25.000000,-125.000000,0.000000,"true"};
item2[] = {"waiting",2,250,-75.000000,-100.000000,25.000000,-50.000000,0.000000,"waiting"};
item3[] = {"too_many_dead",4,218,-150.000000,-25.000000,-50.000000,25.000000,3.000000,"too many" \n "dead"};
item4[] = {"cleanup_dead",2,250,-175.000000,50.000000,-75.000000,100.000000,0.000000,"cleanup" \n "dead"};
item5[] = {"too_many_objects",4,218,-25.000000,-25.000000,75.000000,25.000000,2.000000,"too many" \n "objects"};
item6[] = {"cleanup_objects",2,250,25.000000,50.000000,125.000000,100.000000,0.000000,"cleanup" \n "objects"};
item7[] = {"time_sync",4,218,-200.000000,-50.000000,-100.000000,0.000000,0.000000,"time" \n "sync"};
item8[] = {"sync_the_time",2,250,-275.000000,50.000000,-175.000000,100.000000,0.000000,"sync" \n "the time"};
item9[] = {"true",8,218,-75.000000,100.000000,25.000000,150.000000,0.000000,"true"};
item10[] = {"general_cleanup",2,250,-75.000000,200.000000,25.000000,250.000000,0.000000,"general" \n "cleanup"};

add a diag_log to the group cleanup under heavy load and see how many timed its actually get called...
i had 1-4 times per day masskicks because of this issue. after adding this its gone and no problem anymore.

If your server is under heavy load, then adding more code to it won't really help. And also, as for your point of the code running at longer and longer intervals, the same applies for YOUR code also (since you are running it on the server. So under heavy load your server will prolly run the cleanup code in OP at much longer intervals than 5 mins.

As for the FSM, no one said you have to edit it with notepad :) Click here

I don't see you offering any sort of fix here Hangender. Once again providing no real value.

He says he has a fix. I don't believe it, but he won't share unless you pay him.

So much for community support.

Also, I haven't had any birds since adding this :D

Thanks b4r0n!


I already solved the bird issues long ago :D How else do you think the top dayz servers handle 60 to 70 people :)
 
i never said that i edit it with notepad.
this way is just easier. i understand your point, but just search for seagul / createvehicle... u find thousands of threads about this issue. the builtin cleanup doesnt work properly.
i have seen many servers changing the seagul line from 5 to 1 to avoid the masskicks.
this code definitly fixes the problem. if you have another workaround, feel free to share.
 
i never said that i edit it with notepad.
this way is just easier. i understand your point, but just search for seagul / createvehicle... u find thousands of threads about this issue. the builtin cleanup doesnt work properly.
this code definitly fixes the problem. if you have another workaround, feel free to share.


Bro..Think about it.

You are using the SAME code from server_cleanup.fsm.

But you are arguing for some reason the code in server_cleanup.fsm doesn't work and yours does? Like...really?

And no, the "fix" doesn't work because I tried it on many servers long ago and it doesn't help. :cool:
 
i never told that this code in the server_cleanup.fsm doesnt work... it just getting too rarely called.
ur just telling that this is redundant and doesnt work... but it does work.
i can send you my createvehicle log before and after adding this.
deal with the miracle :cool:
 
i never told that this code in the server_cleanup.fsm doesnt work... it just getting too rarely called.
ur just telling that this is redundant and doesnt work... but it does work.
i can send you my createvehicle log before and after adding this.
deal with the miracle :cool:

...

We already went over this: Your code, with 300 sleep, get called even more rare than the (same) code in server_cleanup.fsm.

As for what you are experiencing right now, there is a medical term for this <-. In other words, I doubt your server got seagulls EVERYTIME even before you put in the "fix". Seagulls come and go and there is no predicting when they will strike again.
 
More of a placbo than a workaround.

But if you really want a workaround then here is a hint: look at what Origins did to their Login :)
 
lol, these logs (ok not the greatest samplesize) proof that this code affects the seagull issue and your still calling it placebo?
so either you have to say the logs are faked or you have to deal with this.
i hope other share a grep of their createvehicle.log after adding this.
 
Back
Top