X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=sv_user.c;h=3f68714b15eab2cecf6277a7b437b8af3c79d4ff;hb=e3e9fa2d84758086c389fe943f54f230e777a7a3;hp=dfa9bb29b20e9a170fb026ac8633917c10831ec5;hpb=e75c24b1e8be6f18dfb33ac2d3b6f860457d64d4;p=xonotic%2Fdarkplaces.git diff --git a/sv_user.c b/sv_user.c index dfa9bb29..3f68714b 100644 --- a/sv_user.c +++ b/sv_user.c @@ -620,8 +620,19 @@ void SV_ExecuteClientMoves(void) // discard (treat like lost) moves with too low distance from // the previous one to prevent hacks using float inaccuracy // clients will see this as packet loss in the netgraph + // this should also apply if a move cannot get + // executed because it came too late and + // already was performed serverside if(moveframetime < 0.0005) + { + // count the move as LOST if we don't + // execute it but it has higher + // sequence count + if(host_client->movesequence) + if(move->sequence > host_client->movesequence) + host_client->movement_count[(move->sequence) % NETGRAPH_PACKETS] = -1; continue; + } //Con_Printf("movesequence = %i (%i lost), moveframetime = %f\n", move->sequence, move->sequence ? move->sequence - host_client->movesequence - 1 : 0, moveframetime); host_client->cmd = *move;