RPCs and cheating...


I'm curious if there's any difference between using RPCs and having a master client update variables when it comes to cheating...

It struck me that using a lot of RPCs to pass variables could open up my game to more cheating (the other players could access the RPCs to send variables that all clients are attuned to use?), is it safer to have the master client update a variable then have everyone retrieve it on update (i guess through an RPC broadcast without a variable pass...)? Or am I looking at this wrong, because the second way probably creates a slight delay in communication since a player must send an RPC first then the others must retrieve the variables...

Also I'm wondering does exit games have any kind of future plans for anti-cheating tools or methods?



  • The Master Client is just another client. It could be hacked, too, so you won't gain a lot by using it more.

    At the moment, the best bet would be to make all clients look out for bad values on their own. If something is odd the clients could report that (directly in-game or via an account service) and you need some reaction to it. If you have accounts, you could raise a cheat-meter or something and above a threshold, you should be able to reject connection of cheating users (via Photon's Custom Authentication and your account/user service).

    We will look into the cheating / hacking topic in the near future but I can't promise anything yet.