Probably dumb question: How is a multiplayer game that trusts clients secure?
Options
I'm coming back to my first multiplayer game development after 7 years, so pardon the history here, but I coming back to the world of multiplayer I'm lost and feel like I'm missing something.
The last multiplayer games I did were a Flash frontend with Smart Fox Server. Smart Fox was an authoritative server, I coded the game code in Java on the server side, and the clients were trusted only to send input and update displays. 7 years ago, if you released a multiplayer flash game without an authoritative server, one that trusted it's clients, the very second you became popular the cheatengine guys would have you game hacked and you're game was shot.
Now I'm making a Unity multiplayer game and all of the primary recommendations (UNET, or Photon PUN here, others) are based on trusted/master clients. I must be missing something, how does this ever work? Do hackers not care anymore, or is there some security layer I'm not understanding?
My inclination is to go right to Photon Server, since it's the authoritative server model I'm familiar with, but I also feel like I'm missing information since so many people are using client based solutions.
Thanks for any help!
The last multiplayer games I did were a Flash frontend with Smart Fox Server. Smart Fox was an authoritative server, I coded the game code in Java on the server side, and the clients were trusted only to send input and update displays. 7 years ago, if you released a multiplayer flash game without an authoritative server, one that trusted it's clients, the very second you became popular the cheatengine guys would have you game hacked and you're game was shot.
Now I'm making a Unity multiplayer game and all of the primary recommendations (UNET, or Photon PUN here, others) are based on trusted/master clients. I must be missing something, how does this ever work? Do hackers not care anymore, or is there some security layer I'm not understanding?
My inclination is to go right to Photon Server, since it's the authoritative server model I'm familiar with, but I also feel like I'm missing information since so many people are using client based solutions.
Thanks for any help!
1
Comments
-
Great question. I want to know more on this topic. I'm a beginner with multiplayer, therefore I read and saw a lot of resources every now and then.
In this product overview post the products are described: http://blog.photonengine.com/2016/09/choose-the-right-photon-product-1/Unless you are experienced in developing networking code we usually recommend to try our Photon Cloud products first and in case you cannot realise your project with them you can switch to Photon Server easily. Even if you are experienced you should really try using Photon Cloud as it will save you a tremendous amount of work after launch.
So, PUN (Cloud) is easier to use, but your question is relevant.
I'm also thinking about using Playfab in combination. What I understand is that it's possible to use their Cloudscript which can run (basic) gameplay logic on the server. But I've to test if the performance (network side) is good enough. I'm planning more or less a short turn-based game, so that could work.0 -
Hi @39thstreet , hi @rlonau.
Please see my answer at http://forum.photonengine.com/discussion/comment/32851/#Comment_32851 and the answer by @JohnTube at http://forum.photonengine.com/discussion/comment/32854/#Comment_32854.1