3 ms·
They could verify those things on other clients, instead of on the server. I think that's typical for pure P2P multiplayer games. They could use something like
by Geee 14y ago
They could verify those things on other clients, instead of on the server. I think that's typical for pure P2P multiplayer games. They could use something like - every player sending their version of 'what happened' to the server which then decides the proper outcome.
Btw, is it required to simulate everything on the server side? I know it is the conventional way to prevent cheating, but how about just randomly sampling some of the actions to detect cheating, and ban that user?
- delinka 14y ago"They could verify those things on other clients..." But clients are not trustworthy. How do you decide which clients to trust? How long before your 'adversary' discovers your trust methods an replicates them in his client? "...server which then decides the proper outcome." This requires processing power. Random sampling is perhaps a possible solution, but if you're overwhelmed with nefarious client activity (50% perhaps) and you're only sampling, say, 10%, still 40% of your gameplay is cheating clients. If you increase your sampling based on finding increases in cheating, you start to overwhelm your server farm. tl;dr - this is not an easy problem to solve
- zmanji 14y agoIf 50% of your clients are cheating, are you really playing a game?
- derefr 14y agoIf you can write a little C program that speaks enough of the game's wire protocol to simulate a bot, send nasty packets, and also provide a vote of confidence when other bots ask if those packets are correct--and then run 100000 of them over a few machines--then 99.999% of your clients could be "cheating" while there are still people trying to play a real game.
- YokoZar 14y agoOne major problem with this is there are plenty of legitimate communications that will originate from a single client -- namely, those client's in-game actions! Any cheating that takes the form of something "possible" for a client to do would be undetectable under such a scheme. (eg aimbotting)