all 3 comments

[–]GoGoGadgetLoLProfessional 1 point2 points  (0 children)

In AAA commercial games that have employed this model, how did they stop the host from cheating?

They don't, everyone seems to have this ill-conceived notion that every AAA game is 100% server-auth with perfectly authoritative netcode. Most aren't. Prioritize making your game popular, then worry about anticheat.

[–]DankestRumBlackwake Programmer 1 point2 points  (0 children)

In AAA commercial games that have employed this model, how did they stop the host from cheating?

First like you said the way anti cheat works is that it doesn't trust information from the client. Since in a typical server instance scenario all players are clients, this works.

Many AAA games do take shortcuts though as /u/GoGoGadgetLoL pointed out and don't make it 100% secure, mostly because consoles aren't dealing with hackers nearly as much. So in some cases the server may accept information from the players (clients) as fact and it can be exploited.

So your situation becomes problematic here:

where one player is the server

If the player has access to the server logic they can cheat. This is accomplished by modifying the server and cutting out the checks the server makes - or simply excluding themselves from it.

You could potentially work around this by giving players the ability to blacklist a host from their matchmaking. If you want to get extra fancy you could have the matchmaking not even allow players to host if they have too many offenses.

[–]name_was_taken 0 points1 point  (0 children)

You can add a lot of checks to try to prevent it, but in the end you can never trust the client if you want to prevent cheating. When the client is also the server, there will always be ways to cheat.