Les deux, c'est un netcode client (BF etc...) et non pas serveur comme c'était le cas sur les anciens jeux (quake, UT, premiers COD etc...) et qui étaient beaucoup plus performant.
Le problème c'est qu'avec les jeux d'aujourd'hui il y a tellement d'information en même temps qu'on ne peut plus utiliser que le netcode client, maintenant l'information est entièrement "sous traitée" à chaque joueurs, et dépend de son ping, ascendant (quand il est tireur) et descendant (quand il est cible), alors qu'avec les anciens netcode, serveur, seul l'ascendant (quand il est tireur) avait un impact, petit ping = touche bien, gros ping = touche pas. Le serveur s'occupait de faire la vérification tireur/cible pour confirmer la touche, et son ping à lui n'avait aucune incidence quand il était cible.
Avec les netcode client d'aujourd'hui ce sont les joueurs cibles qui font cette confirmation, qui dépend donc de leur ping... si ta cible a un gros ping, l'information de ta touche lui parviendra avec son temps de latence, et comme lui est en local à 0ms, le temps que lui arrive ton information de touche il aura certainement bougé, et donc pour lui ton tir n'aura pas touché, ou pas à l'endroit exact où tu lui a tirer sur ton écran.
Bref je sais pas si c'est très clair... grossièrement avant on additionnait un seul ping, celui du tireur. Aujourd'hui on a celui du tireur + celui de la cible x2.