4 ms·
It is a bug when the server trusts the client, for exactly this reason.
by Vendan 8y ago
It is a bug when the server trusts the client, for exactly this reason.
- Shank 8y agoIt’s an arms race. You can still write cheats with computer vision and automated control input and have an unfair advantage, and that has nothing to do with client and server responsibility delegation. There are a lot of games that get this wrong but even games that get it right can be cheated.
- Vendan 8y agoYeah, though I'd honestly be more impressed if it was computer vision based....
- Kiro 8y agoIt's impossible to make a game like Fortnite or GTA 5 without putting trust in the client.
- Vendan 8y agoIt's quite possible. I'll agree that sometimes, making the client authoritative for some stuff can reduce load on the server, but generally, it's both simpler and less "cheat prone" to make the server authoritative for everything, and have the client just send "here's the player's input" and then apply client side prediction (this is a common cause of "rubber-banding" in multiplayer games: poor client side-prediction)
- Thaxll 8y agoYour comment makes no sense, also the "don't trust the client" works to some extent, in video games it's pretty much impossible to apply.
- Vendan 8y agoIn video games, it's usually the simplest model to apply, and most common (when combined with client side prediction). The main alternatives are p2p, which is for when you don't have a central server, and hybrid, mainly for when you have large open world type MMORPGs (and also well known to be vulnerable to client side hacks...)
- Thaxll 8y agoIt's mostly impossible because basically game client can't be dumb terminal that only send commands and display graphics. Good luck replicating everything server side, if it was easy to do it would have been a while that every dedicated game servers would have eliminated cheat in games which is not the case.
- Vendan 8y agoIt's actually quite common to do that... Yes, the game usually does more then just "send commands and display graphics", it's doing a lot of the stuff the server is in parallel, which is called client side prediction, but the server is still authoritative, and doesn't care what the client thought actually happened, what it says goes.
- Thaxll 8y agoGame servers don't verify everything that the client is sending, not everything is replicated / synchronized because when you add AI / physics ect ... it's very heavy on the CPU / bandwidth so off course you can't check everything, every games have exploits because of this reason. Since you mention MMOs, most or all them don't check for movement even popular ones like WoW. https://motherboard.vice.com/en_us/article/59p7qd/this-man-has-survived-by-hacking-mmo-online-games https://motherboard.vice.com/en_us/article/59p7qd/this-man-h...
- Vendan 8y agoEverything needs to be replicated for that stuff, or different clients see different things. Plenty of games DO this, so yes, a game trusting clients is a bug IMO. Yes, WoW doesn't do all the movement serverside, cause it can be expensive. But even WoW does checks for "are you moving faster then you should be".
- nickthemagicman 8y agoMmo games actually trust the client?
- Vendan 8y agoIs that a question? Cause no, if they care about preventing cheating, they generally don't trust the client. WoW is a good example of this. Every action requires a client->server before it actually starts, though they are generous enough to allow for lag in that, and to do client side prediction so you don't notice. (I think movement may be partially/mostly client side, but they do do checks for people "speedhacking" for that on the server side as well)
- Thaxll 8y agoOf course they do, since it's impossible to verify everything service side.
- Vendan 8y agoIt's generally simpler to do everything server side then it is to try to keep x clients synchronized in their simulations of everything (physics, random number generation, multiple players all contributing movement and such)