Jump to content

Recommended Posts

Hello friends!

 

On Antistasi Tanoa I am receiving several reports on which happens the following:

 

- AI freezes totally.

- AI becomes inmune.

- Players can't login again.

- Irreproducible: Happens sometimes after hours playing.

 

And .rpt was clean clean as Bohemian glass....

 

My first thought is some script error is flooding the server and collapsing it, but first, something should be shown in .rpt, and second, CPU load stats etc. should show something, and those reports include an almost idle CPU.

 

I checked all scripts (I have a TON) related to allowDamage, handleDamage, disableAI etc.. nothing wrong and of course nothing which by accident can be applied to allUnits whatever.

 

So I beg you gurus your opinion on where to debug-check, or if there is something known engine Bug related to this which I don't know.

 

In SP all goes well.

 

Thanks in advance!!!!

 

 

Share this post


Link to post
Share on other sites

- AI freezes totally.

- AI becomes inmune.

 

This behavior is similar to "non owner" ai

The same happens when AI controlled by HC and HC is disconnected and the AIs are not assigned back to the server.

This is know as "brainless ai"

Share this post


Link to post
Share on other sites

Uh, good one. But, it's happening in non HC platforms, I made some tests and with no HC params are returning ok, I think it's hard to change ownership from the server to anything else, specially if all the HC settings are only done on server init, so HCs cannot JIP and thus having assigned AI ownership...

Share this post


Link to post
Share on other sites

- AI becomes immune.

I've had this issue when a player joins and takes ai slot, then leaves ... ai doesn't  go back to the server. but then every so often I do get the problem without a player being involved.

damn bug misteries

Share this post


Link to post
Share on other sites

Thanks guys.

 

I have server .rpts but not from clients, lets hope some client error is flooding clients... will report you!

Share this post


Link to post
Share on other sites

Hi!

 

Investigations I made so far:

 

There is no HC issue, as people without it is experiencing it.

 

The only reason I may think is there is some pesky while {true} loop which has no sleep delay and it's flooding the server or HC because the condition to exitWith is not met.

 

I am checking the ton of scripts but no success.

 

Is there any debugging technique which you may advice or another possibility?

Share this post


Link to post
Share on other sites

Well i have an idea.

Try run debug for each scripts and fsm (if any), using this code

{diag_log str _x} forEach diag_activeMissionFSMs;
{diag_log str _x} forEach diag_activeSQFScripts;
{diag_log str _x} forEach diag_activeSQSScripts;

Wait for bad behavior happen, check RPT for which script was running at that time.

  • Like 1

Share this post


Link to post
Share on other sites

Well i have an idea.

Try run debug for each scripts and fsm (if any), using this code

{diag_log str _x} forEach diag_activeMissionFSMs;
{diag_log str _x} forEach diag_activeSQFScripts;
{diag_log str _x} forEach diag_activeSQSScripts;

Wait for bad behavior happen, check RPT for which script was running at that time.

I've never seen it done like this. very good thanks david

Share this post


Link to post
Share on other sites

I could do, but I work with several tons of scripts, so this will leave it in a "big short list".

 

I reviewed all the while loops and found some possible unlimited loops with no sleep, it can be there.

 

And also found findEmptyPosition, which I use it a lot, with heavy radius, no matter what minimum, freezes the game for several seconds, that command should be improved as it waits to do the whole search until it returns. This + "I am not finding the space you need to, so try again" may freeze the server easily.

 

Tanoa is very tricky to find dynamic landing positions for helis. BIS_fnc_findSafePos is not bulletproofed, and sometimes, for a big heli, there is no room in several hundreds of meters for it to land.

Share this post


Link to post
Share on other sites

I could do, but I work with several tons of scripts, so this will leave it in a "big short list".

 

I reviewed all the while loops and found some possible unlimited loops with no sleep, it can be there.

 

And also found findEmptyPosition, which I use it a lot, with heavy radius, no matter what minimum, freezes the game for several seconds, that command should be improved as it waits to do the whole search until it returns. This + "I am not finding the space you need to, so try again" may freeze the server easily.

 

Tanoa is very tricky to find dynamic landing positions for helis. BIS_fnc_findSafePos is not bulletproofed, and sometimes, for a big heli, there is no room in several hundreds of meters for it to land.

 

yep, if using while loop always have some kind of sleep :)

 

theres no easy solution to finding positions, especially for LZ

 

put this in loop for the landing script

 

https://community.bistudio.com/wiki/landResult

 

give heli some time to find LZ, if it fails, have heli do something else or go somewhere else

Share this post


Link to post
Share on other sites

Good idea!

 

My workaround is: no land positions? Then fastrope :)

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×