Jump to content
Alonzo_

dserver transmits extremely long range flak data to pilots

Recommended Posts

Hello. I've been working on reports of poor performance when pilots fly on the Combat Box server. For some pilots, when they enable track recording, they see a large drop in FPS and their wingmates say they start to 'warp' around the sky. If they switch off the in-game recording feature, everything goes back to normal.

 

The Combat Box maps do have a lot of stuff going on, but I have been optimizing the maps, and server-side performance looks good. I asked the players to send me a TacView file, so I could look at some of the events being transmitted to their game clients. I wanted to see if I had too many active units on the map.

 

Here are some example screenshots from the TacView analysis of the mission. In this first picture, a squad has just taken off from Eindhoven. The squad only sees aircraft in the immediate vicinity of the aerodrome, but the TacView shows flak firing 80km to the west, near Antwerp (there is heavy flak on this mission and several mission objectives in that area of the map). So while they are 80km away, well beyond the render range of the flak, the server is sending "shots fired" data to these pilots' game clients:

 

dserver-long-range-flak-data.thumb.png.5ad85c093c1b0f7c9edf19b5346e3414.png

 

Here's a second example. In this shot, the red P51 has just become visible in TacView. There are lots of planes on screen, and it looks like dserver has decided to transmit the position of the enemy plane at a range of about 10km. This is consistent with optimizing data being sent to clients. But look in the distance -- flak puffs (yellow) are exploding 80km away on the other side of the map. So the server has chosen to only tell the game client about the P51 at a range of 10km, but is communicating about flak puffs at a distance of 80km.

 

dserver-long-range-flak-data2.thumb.jpg.0efb09011ba320a0e2ac1401071c293b.jpg

 

My suspicion is that this is what is causing the poor performance for some pilots -- their game client is processing lots of long range invisible flak bursts that are not relevant to the pilot's experience but do cause CPU usage on the client. When they enable track recording, the extra CPU load causes them to see bad performance, stuttering, etc. My theory is that since the new longer range visibility patch (which is great! thank you for this!) the server is sometimes sending more data than it should to the clients.

  • Upvote 3

Share this post


Link to post
Share on other sites

Also, mad props to =gRiJ= for fielding a giant squadron and putting the fear of god into the opposition! Nice!

Share this post


Link to post
Share on other sites

Сontact the server holders. they can theoretically set up complex triggers or check zones for the appearance of an enemy, which will first reduce the load on the server

Share this post


Link to post
Share on other sites

Rapidus, with all respect - I believe this deserves to be read again with a little more time and concentration.

  • Upvote 2

Share this post


Link to post
Share on other sites
3 hours ago, -DED-Rapidus said:

Сontact the server holders. they can theoretically set up complex triggers or check zones for the appearance of an enemy, which will first reduce the load on the server

 

You just responded to one of the administrators. I'm also an administrator 😉

Share this post


Link to post
Share on other sites

This distance flak is activated by distant players which are not recorded in the track. If I understand correctly why it is waste of net  resources. BTW for replay recordings you can choose not to record ground activity if I remember correctly , I wonder if this can help with stuttering. But imho why even have this data at 80 km away flak in net packed anyway ? 

Share this post


Link to post
Share on other sites
2 hours ago, 216th_Nocke said:

Rapidus, with all respect - I believe this deserves to be read again with a little more time and concentration.

I carefully read this topic looking for a bug, but it all came down to thinking why anti-aircraft guns were in the output of information (tacview)

  • Confused 2

Share this post


Link to post
Share on other sites
14 minutes ago, -DED-Rapidus said:

I carefully read this topic looking for a bug, but it all came down to thinking why anti-aircraft guns were in the output of information (tacview)


Summing it up:

Most stuff isnt renderinig for a client beyond. 10km

Flak however is. Regardless of his distance to the flak.

An admin can programm that a flak isnt spawned in when when nobody is near the flak unit.
But  player's #1 client is still processing flak bursts even when they are targeting player #2 80km away. That flak is not visible for player #1.
But is still taking processing power away.
That is beyond the admins control, since the flak is spawned in to shoot at player #2.

thats your bug 

Edited by DerSheriff
  • Upvote 3

Share this post


Link to post
Share on other sites
3 hours ago, -DED-Rapidus said:

I carefully read this topic looking for a bug, but it all came down to thinking why anti-aircraft guns were in the output of information (tacview)

 

This is a complex mission with 80 players flying on the server. We have check zones that deactivate guns when players are far away. In this case, though, there are players near the flak guns. Maybe a diagram will help.

 

dserver-long-range-flak-data3.thumb.jpg.2af0b065344b85284d1fc94ddc83ceee.jpg

 

Point 1: Location of player who is recording the track.

Point 2: Flak guns, with check zone, and other players on the multiplayer server. We cannot see the other players in the track, but they are there.

 

The players and guns at "point 2" are far away from the player who is recording the track. There is no reason for the server to tell the recording player, at point 1, about the players far away from them. There is never a reason for the server to tell game clients about flak that is more than ~15km away, because it doesn't render for the client. The server is transmitting data about flak puffs 80km from the player, which wastes server CPU, server network, client network and client CPU.

 

If you are able to show this picture to a network programmer, they will realize there is a bug. The technique is called network traffic culling and dserver is definitely doing it, just there is a small bug in the implementation for heavy flak guns.

Edited by Alonzo
Image size
  • Upvote 1

Share this post


Link to post
Share on other sites
8 hours ago, -DED-Rapidus said:

set up complex triggers or check zones for the appearance of an enemy, which will first reduce the load on the server

"I believe this dserves to be read again with a little more time and concentration."

  • Haha 1

Share this post


Link to post
Share on other sites
1 minute ago, -DED-Rapidus said:

"I believe this dserves to be read again with a little more time and concentration."

 

Here's the mission. If I have made a mistake with the check zones, maybe you could let me know the mistake.

 

 

 

Battle_of_the_Scheldt_Sep_1944.zip

  • Upvote 1

Share this post


Link to post
Share on other sites

I'm sorry, but my first question is, where is this trigger? need a simple example to understand the problem, thank you.

image.thumb.png.15e9f05d536730bddfdfc741f9ab8936.png

Share this post


Link to post
Share on other sites

Forget about the check zone - why is the server sending data from events 80km away at all?? It should cull anything outside 20km...

Share this post


Link to post
Share on other sites

@-DED-Rapidus Here's an explanation:

  • In the recorded track, the player had just taken off from Eindhoven airfield (grid 1514).
  • The flak is firing somewhere north of Antwerp, I believe it is at the objective "Kampfgruppe Chill" (grid 1606).
  • The flak is controlled by a group called "Axis AAA Destructible Medium". You can find this in the object browser by expanding Battle of the Scheldt > Axis Kampfgruppe Chill > Axis AAA Destructible Medium.
  • Flak switches on using the CLOSER check zone, editor ID 12428, within the flak group.
  • This is spawn/delete style flak which was introduced as a workaround when "activated" flak was invisible (bug both introduced and fixed some time in 2019).

Please understand, I am not some random player who has no idea what he is doing. I've been building maps for a year and I run the Combat Box multiplayer server, which is one of the "top 3" servers. I really do believe that this is a bug in the network culling code. I think it's a small bug that seems to have quite an outsize performance impact for some players. I know it's your job to shield the developers from things that would waste their time, and I respect that, but I believe this is definitely a bug.

 

Thank you for your time and attention.

  • Upvote 2

Share this post


Link to post
Share on other sites
36 minutes ago, Talon_ said:

Forget about the check zone - why is the server sending data from events 80km away at all?? It should cull anything outside 20km...

because the anti-aircraft gun is activated and works, another question is, every time this happens with so view or randomness

35 minutes ago, Alonzo said:

@-DED-Rapidus Here's an explanation:

  • In the recorded track, the player had just taken off from Eindhoven airfield (grid 1514).
  • The flak is firing somewhere north of Antwerp, I believe it is at the objective "Kampfgruppe Chill" (grid 1606).
  • The flak is controlled by a group called "Axis AAA Destructible Medium". You can find this in the object browser by expanding Battle of the Scheldt > Axis Kampfgruppe Chill > Axis AAA Destructible Medium.
  • Flak switches on using the CLOSER check zone, editor ID 12428, within the flak group.
  • This is spawn/delete style flak which was introduced as a workaround when "activated" flak was invisible (bug both introduced and fixed some time in 2019).

Please understand, I am not some random player who has no idea what he is doing. I've been building maps for a year and I run the Combat Box multiplayer server, which is one of the "top 3" servers. I really do believe that this is a bug in the network culling code. I think it's a small bug that seems to have quite an outsize performance impact for some players. I know it's your job to shield the developers from things that would waste their time, and I respect that, but I believe this is definitely a bug.

 

Thank you for your time and attention.

thank you for the detailed answer, I will ask you to track with tacview files

Share this post


Link to post
Share on other sites

Here are steps to reproduce, with a mission to reproduce the problem, and a track showing the problem.

  1. Enable track recording including TacView recording on server and client.
  2. Load mission into dserver (real dserver, not game client hosted deathmatch).
  3. Connect to dserver and spawn a plane from the airfield near Eindhoven.
  4. Record track for several seconds.
  5. Observe that aircraft near Antwerp are not visible in the recording, but flak puffs are visible in TacView.

Expected behavior is that server 'culls' the flak and does not send it to the client, because player plane and flak are very far apart.

 

The AA guns are not attached to a check zone. It would make no difference. The guns should be active because there are P51 enemy planes nearby.

 

 

dserver-long-range-flak-dogfight.2020-02-12_10-21-34_00.zip dserver-flak-long-range-bug-alonzo.zip

Edited by Alonzo
  • Thanks 3
  • Upvote 1

Share this post


Link to post
Share on other sites

Update: It looks like the issue affects not just "puffy" heavy flak, but all flak. Here's a video showing tracer fire at a player airfield ~100km away. No planes are visible, but my game client is being sent the data and is processing it.

 

https://www.youtube.com/watch?v=D9X6ZUE7JOk

Share this post


Link to post
Share on other sites

And also parachutes from long distance:

 

parachutist.png.13f25b09a0387da84356480652b2556e.png

Share this post


Link to post
Share on other sites

Here you go Alonzo.

 

This is a bug and a half you've found!:salute: 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...