Server authoritative
This is the default and required architecture of Elympics.
Server authoritative is an approach to creating multiplayer games requiring a central server on which the game takes place. Clients (players) act only as receivers of the game state from the server and as creators of minimal inputs according to the game rules.
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.
Advantages
This method has a number of advantages such as:
- cheat prevention - clients' input is verified, ensuring security and fairness
- reliable match results - only the server can finish a match and send its verified results to the databae
- clear conflict resolution - the server is always right
- universal architecture - same code is executed on the server and the clients
- upload bandwidth usage reduction - clients do not send their state but only minimal inputs
Difficulties
The main difficulties in developing games this way are:
- synchronizing the state of the game correctly without creating a feeling of lag
- maintaining a production environment adequate to the needs of the current number of players
- requires infrastructure that is both expensive and difficult to set up
We have solved those difficulties in an universal way - while using Elympics, the developers do not have to create the infrastructure themselves, we got it covered.
This allows any studio to benefit from the advantages of server authoritative approach without having to write the network infrastructure code or incur immense costs.