View Single Post
  #10  
Old 08-30-2012, 02:10 PM
jermin jermin is offline
Approved Member
 
Join Date: Oct 2007
Posts: 238
Default

High ping doesn't necessarily cause warping. A player with a relatively low ping might be more likely to warp than one with a high ping. It is players' packet loss rate that server admins should keep an eye on. Fortunately, IL2 has a built-in function to monitor players' packet loss, of which the threshold is configurable in server config file under section [MaxLag]. It can be configured to an extent that one tiny ping spike would throw you out of the server.

Unlike most First Person Shooters, IL2 was designed with high-ping gaming in mind. In IL2, hit registration is done on the client side, not server side. As long as your see your weapons impact an enemy aircraft on your screen, the server will gladly recognize it. But you have to transfer this result (we can think it as a snapshot of everything happened in your game, including your air speed/direction/altitude/aircraft status/weapon status and many other things) to the server so that it can reach the enemy player in order to implement the impact you just did on his aircraft. If the snapshot which contains hit registration data is corrupted, the enemy player will not receive any damage, as if you have missed the shot. That's why packet loss should be efectively avoided.

Of course, the communication between client side and server side is much more complex than this. Between two consecutive snapshots, your position is extrapolated through analyzing previously received data. This is done on the client side. Without this kind of extrapolation, every other player's aircraft in the server will be jumping along its path in the air instead of flying smoothly on your screen.

The extrapolation is quite accurate as long as all snapshots are continuously received. However, if you fail to transfer several consecutive snapshots to the server due to packet loss, your aircraft position in the last snapshot received will shift drastically in the incoming snapshot, causing inaccurate extrapolation on other client sides. This is visualized as aircraft warping/jittering in the air. If your connection is totally lost, other players in the server will see your aircraft flying like a stone towards the direction the interpreted from the last snapshot received and at the speed, you guessed it, obtained from the very same snapshot.

If packet loss exceeding the threshold of the anti-lag settings is detected by the server, server will send out warning messages to all players in the server and then kicked the problematic player out, which all of you should be quite familiar with:

XXX has been idle for too long and is kicked.
Cheating has been detected.

The second one is actually generated by the game's anti-cheat mechanism, which was added in AEP (or PF?) to prevent an exploit by misrepresenting (accelerating) in-game time on the client side (so that planes would fly faster than it should). The mechanism works by comparing the change of in-game time between two consecutive snapshots the server received from a client. Its settings can be adjust through following lines in the config file under [NET] sections:

checkServerTimeSpeed=0
checkClientTimeSpeed=0
checkTimeSpeedDifferense=0.04
checkTimeSpeedInterval=4

Thus, if your packet loss is severe to an extent that it triggers the anti-cheat mechanism, you will be labeled as a cheater and kicked out of the server.

In conclusion, as long as there is no packet loss, high-ping players can play harmoniously together with low-ping players. Several years ago when my squadron was still operating, I once witnessed a teammate with a ping over 900 playing quite naturally with another teammate with average ping in a duel in a crowded training server.

The only downside when playing with a high-ping player is that due to the delay in transferring snapshots (which equals sum of your ping and his ping in millisecond), his aircraft position displayed on your screen is that exact amount of time behind its position on his own screen. So if you have a high-ping player on your six in a lag pursuit, don't be tempted to believe that he doesn't hold a shot. But then again, if you have a bandit that close on your tail, it won't make much of a difference whether his position is delayed or not when you are struggling to shake it off.

After typing out this post, I really miss those days when online play was not yet ruined by mods and the astonishing amount of veteran virtual pilots competing in high-quality full real servers on hyperlobby. Sadly HL is filled with noob quake fliers nowadays.
__________________
Why do some people tend to take it for granted that others have poorer knowledge background than themselves
regarding the argument while they actually don't have a clue who they are arguing with in the first place?


Reply With Quote