Client Authoritative limitations

What is client authoritative and why is it limited?

A client-server architecture where players have the overriding role in arbitrating the game, implies the possibility for players to cheat. The client, having control over the arbitration, can freely modify the state of the game without any validation from the server.

Client authoritative

In this example, it is the client that sends the new coordinates without an external referee. This allows them to send arbitrary values even though, according to the game rules, they should actually be able to move only one point.

The solution would be to delegate their role in refereeing the game to the server, so that the state they send is validated by the server and does not allow players to modify it against the game logic.

Server authoritative

In the client-server architecture the game logic is also played on the server, and the game state sent by clients is validated and synchronized with the server. The server takes over the arbitration of the game and its state is superior to the players. This way the role of clients is reduced which prevents the players from cheating.


Last modified September 29, 2022: Add production build script (b8cc0ff)