Jump to content
Dwarden

Arma 3 STABLE Server 2.16 "profiling / performance binary" feedback

Recommended Posts

I know this is slightly off topic, but since this is where you check more often I wanted to give you and those who check this thread the following demo mission for HC desync and naked AI.

 

Reference this thread for what the conversation had been.

 

There are 2 missions attached here.

 

Version 1 includes a EH that automatically will move HC each time you place a group.

 

Version 2 is manually controlled through the infostand to the left.

 

Both can test ownership changes via the infostand on the right.

 

dwarden, I PM'd you the RPT's from a test earlier today, and in summary for those that are curious:

 

While it happens less frequently Vanilla, the AI still do loose their uniforms, and desync does still occur. Mostly (almost strictly) when transferring FROM a player to the Server or HC. It is a much more serious problem when you start running mods. Which makes sense, as the whole game is about 10 times slower with mods sadly. However, it does lead me to suspect this is an issue with netcode / the command setGroupOwner itself. In addition, this was tested NOT with the performance binaries, as I've yet to see anything in your logs indicating that any fixes for this had been pushed through, and it is a recurring issue since 1.40.

 

Thanks for anyone's time who read this.

Share this post


Link to post
Share on other sites

Seems like you have same issue as us

https://forums.bistudio.com/topic/140621-arma-3-headless-client/?p=3018401

 

I we even made mission for BI to help them replicate the issue

https://github.com/BennyBoy-/REPRO-HC-AI-Delegation-Issue.Stratis

 

 

We are waiting for fix  :D

 

As work around you can fix this by delaying spawn of AI on HC, make it sleep 1 

 

 

I know this is slightly off topic, but since this is where you check more often I wanted to give you and those who check this thread the following demo mission for HC desync and naked AI.

 

Reference this thread for what the conversation had been.

 

There are 2 missions attached here.

 

Version 1 includes a EH that automatically will move HC each time you place a group.

 

Version 2 is manually controlled through the infostand to the left.

 

Both can test ownership changes via the infostand on the right.

 

dwarden, I PM'd you the RPT's from a test earlier today, and in summary for those that are curious:

 

While it happens less frequently Vanilla, the AI still do loose their uniforms, and desync does still occur. Mostly (almost strictly) when transferring FROM a player to the Server or HC. It is a much more serious problem when you start running mods. Which makes sense, as the whole game is about 10 times slower with mods sadly. However, it does lead me to suspect this is an issue with netcode / the command setGroupOwner itself. In addition, this was tested NOT with the performance binaries, as I've yet to see anything in your logs indicating that any fixes for this had been pushed through, and it is a recurring issue since 1.40.

 

Thanks for anyone's time who read this.

Share this post


Link to post
Share on other sites

"It's the same.... but different!" +Makes circular hand motions+

In all seriousness, yes. They are certainly related, unfortunately with Zeus there is no way that I've found to directly spawn the ai onto hc, they are always owned by the player that spawns them. A workaround could be a module that detects hc presence and spawns zeus placed ai directly to hc ownership. But then it would run directly to your issue.

It would be best, imho, if the command was looked at, along with associated net code.

Incidentally, I've also noticed with patch 1.58 that all groups in the mission load screen are created as empty groups, and any spawn group that is killed or deleted also retains it's empty group id. To combat this I put a simple script on my hc to delete empty groups they own, along with the server.

I too eagerly await a fix, as hc does seem to provide around a 5 fps boost when working.

Share this post


Link to post
Share on other sites

Thank you BIS, A3 has been running fine since application of the hotfix/new patch.

Share this post


Link to post
Share on other sites

I too eagerly await a fix, as hc does seem to provide around a 5 fps boost when working.

 

Remember that each HC should run no more than 150 AI, I found that to be sweet spot if you add more the HC FPS will drop hard.

At 150 AI FPS on HC stays in 47FPS, if you add 50 more AI it will drop to 30s

Share this post


Link to post
Share on other sites

Thanks for the hard numbers. Actually just went and built load sharing for 2hc into my EH. Will be testing soon. Just wish they would stop losing clothes.

Have you noticed if the group amount or just total ai makes a difference. Aka 150 groups with 1ai vs 10 groups of 15 ai?

Share this post


Link to post
Share on other sites

1.58.136046 new PROFILING branch with PERFORMANCE binaries, v6, server and client, windows/linux

* disconnectTimeout minimum threshold decreased from 5 seconds to 1

* some AI performance optimizations

* fixed AI slowing down around corpses

https://www.dropbox.com/sh/582opsto4mmr8d8/3BSy9PdRGm

https://drive.google.com/folderview?id=0B03-H4YIbhkFMUt5RzNqZjFlNGs

+ please note: dT minimum is experimental and optimal value for your server might be in range of 1-5 seconds

  • Like 1

Share this post


Link to post
Share on other sites

1.58.136046 new PROFILING branch with PERFORMANCE binaries, v6, server and client, windows/linux

* disconnectTimeout minimum threshold decreased from 5 seconds to 1

* some AI performance optimizations

* fixed AI slowing down around corpses

https://www.dropbox.com/sh/582opsto4mmr8d8/3BSy9PdRGm

https://drive.google.com/folderview?id=0B03-H4YIbhkFMUt5RzNqZjFlNGs

+ please note: dT minimum is experimental and optimal value for your server might be in range of 1-5 seconds

 

 

  How will I know if the server likes the DT value?

Share this post


Link to post
Share on other sites

How will I know if the server likes the DT value?

if the normal players can't play (e.g. too often sudden drops)

atm. there is no special console message to identify this

Share this post


Link to post
Share on other sites

if the normal players can't play (e.g. too often sudden drops)

atm. there is no special console message to identify this

 

 

  AllRight.

Share this post


Link to post
Share on other sites

 Was never fixed.

 

1:13:01 Observer O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48) in cargo of O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48); message was repeated in last 60 sec: 0

 1:14:01 Observer O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48) in cargo of O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48); message was repeated in last 60 sec: 3009

 1:15:01 Observer O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48) in cargo of O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48); message was repeated in last 60 sec: 26002

 1:16:01 Observer O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48) in cargo of O Alpha 3-1:9 ([RG|DRA] BloodSport) REMOTE (east_48); message was repeated in last 60 sec: 27592

 

https://dev.withsix.com/issues/27549

Share this post


Link to post
Share on other sites

https://www.dropbox.com/sh/oqm69ikg8jl6379/AADta_1mTyh-wLRu-HGw0Dtea?dl=0

Perf V5 server/client. Ex-threads 7 server side. 5-6 players .

!st server crash in a few days. I am thinking Uncheck ex-threads. I did this to desktop, and no crash in awhile. This way program handles threads. ??

please also add the .bidmp file ... from moment of crash

Share this post


Link to post
Share on other sites

please also add the .bidmp file ... from moment of crash

 

Sorry to say I had logs off,  Its nowhere.

Share this post


Link to post
Share on other sites

Will this work with RC branch, or there will be special performance binary for them?

Share this post


Link to post
Share on other sites

it will not work with RC as it's different major branch

also usually most of changes in PERF is already in RC (because RC comes after)

what's not in there isn't yet ready for stable and will be in new PERF after next stable

  • Like 1

Share this post


Link to post
Share on other sites

I finally had an opportunity to give this a go, I'm noticing a considerable improvement in Perf v6 over the steam release 1.58 binaries, especially with regard to script execution which is crisp and responsive, it doesn't feel as if my system is choking whenever scripts are being processed.

Framerates seem fairly robust even with a good number of AI in play amid large amounts of sound and visual effects.

Good stuff.


 

Share this post


Link to post
Share on other sites

two words, global bans ;)

Share this post


Link to post
Share on other sites

two words, global bans ;)

 

But i mean a real way to deal with them for server admins to prevent 150 players kill every 10 minutes until the guy get a global ban the next week (if the hack used is sig detected by BE)

It seems that there is more more hacks that dont cause any logs in battleye log files.

 

So there is no way to prevent or at least see the person that kill people because for now it is out of control? There is no way to know who is hacking.

Share this post


Link to post
Share on other sites

one would need to know what they do to achieve that result...

there're many ways you can inflict damage in the engine which then propagate in multiplayer ...

some can be detected via server BE filters (but most of admins/communities do not bother write those (because complexity))

Share this post


Link to post
Share on other sites

We have a shitload of be filters

But c'mon you should be aware that there is a way to kill people without being logged and make it looks it was someone else.

 

For now I just go full Donald Trump and ban all foreigners...

 

The way they do (I think) it is by spawning a bullet set the owner of the bullet to a random guy and teleport the bullet in the head of victims. All of this in memory or with network manager...

 

                Ammo->setAcceleration(targetAccel);
                Ammo->setPos(targetPos - TA + D3DXVECTOR3(0, 1.0f, 0));
                Ammo->setOwner(FramePtr);

 

But I have nothing in setPos.log

 

Just trying to help here :(

Share this post


Link to post
Share on other sites

Anyone else experiencing AI being totally gimped with v6? They are just passive bullet magnets but when I drop in v5 again, they're back to being killing machines.

  • 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

×