Like, this is what leads to invasive client-side anti-cheat. Which also happens to be one of the main blockers for OS portability.
But if you make it so that the server has to constantly validate the game state, you get terrible lag.
You really have to design your game well to deter cheaters. And you have to empower server moderators to ban cheaters. This sorta implies releasing the servers so that communities can run their own instances, because these studios don’t have the resources to handle moderation themselves.
the validation shouldn’t cause too much lag since game needs to sync up the game states anyways, which is an operation that is inherently way more expensive than any validation anyways (since each frame of the following game states need to adhere to the game rules anyways, there’s already inherently some form of validation). It’s more about not trusting everything the client says the game state should be.
Cheating is such a hard problem.
Like, this is what leads to invasive client-side anti-cheat. Which also happens to be one of the main blockers for OS portability.
But if you make it so that the server has to constantly validate the game state, you get terrible lag.
You really have to design your game well to deter cheaters. And you have to empower server moderators to ban cheaters. This sorta implies releasing the servers so that communities can run their own instances, because these studios don’t have the resources to handle moderation themselves.
the validation shouldn’t cause too much lag since game needs to sync up the game states anyways, which is an operation that is inherently way more expensive than any validation anyways (since each frame of the following game states need to adhere to the game rules anyways, there’s already inherently some form of validation). It’s more about not trusting everything the client says the game state should be.