4 ms·
The server doesn't always decide. It's common for shooters to want to guarantee that if it looks like you shot the other player on your screen, the game will re
by mort96 3y ago
The server doesn't always decide. It's common for shooters to want to guarantee that if it looks like you shot the other player on your screen, the game will react as if you shot the other player, even if the server would have considered it a miss due to timing differences. Those things can really only be done by trusting the client not to lie, which means verifying that the client hasn't been tampered with.
Plus, there's a lot of cases where the server sends some pieces of information to the client but the user isn't supposed to see it. The locations of the other players is a common example, where people modify their client to render outlines of players through walls. That's a huge advantage but doesn't even affect anything hit registration related.
- Wowfunhappy 3y agoThis makes me wonder—how much performance would you loose by taking a "distrusted client" approach, and only sending data that you want the player to know about? Could you make cheating basically impossible?
- davikr 3y agoValorant and Counter-Strike attempt to do this as much as they can, not sending information about enemies the player shouldn't be able to see. This is not flawless, though, probably due to performance or latency requirements. Iirc, Warzone also sends information about non-existing players to suspected cheaters to attempt detecting aimbots.
- snailmailman 3y agoI think the client also receives information about non-visible-but-nearby players for things like footstep noises. In counter strike you can hear a person around the corner running around, reloading, etc. and I think in some cases you can shoot through thin walls at these players. Even if they are completely obscured from view.
- filoleg 3y ago> in some cases you can shoot through thin walls at these players Not just that, you can even chuck a flashbang/grenade far outside your visibility range and get someone this way too.
- hypercube33 3y agoYep exactly. I had a nice 5.1 surround setup for cs 1.0+ and got accused of cheating but I could tell easily people were running behind me and prepare
- Mawr 3y agoCheck out these in-depth articles from the Valorant devs: - https://technology.riotgames.com/news/demolishing-wallhacks-valorants-fog-war https://technology.riotgames.com/news/demolishing-wallhacks-... - https://technology.riotgames.com/news/peeking-valorants-netcode https://technology.riotgames.com/news/peeking-valorants-netc...
- mcpackieh 3y ago> It's common for shooters to want to guarantee that if it looks like you shot the other player on your screen, the game will react as if you shot the other player, even if the server would have considered it a miss due to timing differences. Those things can really only be done by trusting the client not to lie, which means verifying that the client hasn't been tampered with. Why does server-authoritative backwards reconciliation require trusting the client not to lie? The server keeps a history of the past N states and client claims to hits are verified by the server using that history. A client could lie and say it made a hit in one of those prior states (but not an state the client invented whole cloth.) But if the client is doing that then from the server's perspective that player is lagging and backwards reconciliation makes lagging players easier for other players to hit. Obviously if you're doing client-authoritative unlagging then you need anticheat, but AFAIK competitive shooters have used server authoritative backwards reconciliation ever since the early 00s.
- mort96 3y agoIf the target is moving and the shooter is moving their crosshair, there doesn't have to be a single server-side state where where shooter's crosshair is on the target's hitbox. Yet the shooter, being usually tens or hundreds of milliseconds out of sync with the server yet responding instantly to player input, might have had their crosshair right on the target's hitbox when they click the shoot button. Modern games usually still want to register that as a hit; it's a principle is called "favor the shooter". I don't see how that doesn't mean reacting to a state which the client invented whole cloth? Not that this really matters. If you think that you could do favor the shooter style hit registration in a completely server authoritative way, we can just use wall hacks or aim bots as an example instead.
- hypercube33 3y agoIf you read deep into the community and play something like modern warfare 2 2022 (mw2) you'll see quite often the game seems to purposely lag players and decide outcomes on a per engagement basis. kill cams show a totally different set of events than what you saw on say a decent PC such as running around a corner and you shot first but kill cam shows the opposite. they aren't just doing de lag or whatever they are balancing kill death ratios too.