Anti-lag Curiosity


(Mr_Tickles) #1

Just wondering… but is this how anti-lag works?

There are two players in a firefight, one of them has a ping of around 500+. They both experience lag/jerky movement. They both aim as normal at the other’s head. Now, the outcome of the fight isn’t determined yet, they may both see the other die, but in fact, it may be them who’s dead. What I mean is, basically, the information of the fight is sent to the server and it calculates the outcome depending on the information that the clients gave it, and that info is processed and passed back to the clients.

Is this how it works?
And if not, how does it work?

It just made me think the other day. I dropped a player who was in the process of firing a panzer at me, and he saw the rocket leave the tube just before he died. Yet on my computer, no panzer was fired.


(SCDS_reyalP) #2

The server is the only one that decides who lives or dies. It processes clients commands in the order it receives them. The only thing antilag does is adjust the other players postions so they match where they were when you fired. Well, that is what it is supposed to do, but in fact it is almost completely broken in etmain. See this: http://www.splashdamage.com/index.php?name=pnPHPbb2&file=viewtopic&t=7391&highlight=antilag for some discussion.

Some things are predicted on your client (such as the sound of firing and the animation) but actual damage and the other person dying are not predicted. The server is the only one who has any say about that. You can see this clearly if you lag out, that your weapon seems to fire, but no ammo is used. The same thing happens with the panzer. You start to fire, the animation is predicted on your end, but when that command gets to the server, you are already dead, so the panzer never really fires. The same thing happens with other things, like throwing airstikes etc.

Most of this has nothing to do with antilag, which is only concerned with player postions and the time a shot was fired.


(Mr_Tickles) #3

Ahh, ok, thanks for clearing that up :slight_smile:


(Chruker) #4

but when that command gets to the server, you are already dead, so the panzer never really fires.

Shouldn’t the server check if you were still alive at the point where you pulled the trigger. I have seen it numerous times: 1) Two panzers see each other; 2) Both pulls the trigger; 3) In my end I see my panzer rocket flying towards the other player, but I’m the only one who gets killed.


(SCDS_reyalP) #5

Either way would be inconsistant from someones point of view. Pick you poison :banana: