Search Unity

client/server model

Discussion in 'FPS.Sample Game' started by slava_pankratov, Oct 25, 2018.

  1. slava_pankratov

    slava_pankratov

    Joined:
    Jan 17, 2015
    Posts:
    42
    hi!
    so how exactly does the server logic works?

    is it supposed to be uncheatable?
     
  2. petera_unity

    petera_unity

    Unity Technologies

    Joined:
    May 23, 2016
    Posts:
    39
    No there is not complete security against cheating. When we talk about cheating in the context here it is mainly that the architecture of not trusting the clients is *better* suited to prevent cheating.

    What I mean by not trusting the client is that the client sends commands in the form of mouse and keyboard input to the server. It has no way of actually influincing the world except through these commands.

    This is as opposed to methods where clients through RPC or other means can directly influence the shared world. (Nothing wrong with that approach, but we chose the authoratative server model because we wanted the tradeoffs it give -- one of them is some protection against cheating).

    - peter
     
  3. slava_pankratov

    slava_pankratov

    Joined:
    Jan 17, 2015
    Posts:
    42
    thanks for the reply. if only input is sent - how can anybody cheat except for "see through walls hacks" and aimbots?
     
  4. petera_unity

    petera_unity

    Unity Technologies

    Joined:
    May 23, 2016
    Posts:
    39
    Those types of cheat you describe are indeed the most common ones I had in mind when I wrote "no complete security"..

    We could do some things to help about that: for example, currently the entire world state is sent with no regards to if a client 'should be able to' see things; a notion of occlusion on the server would allow to only send information that a client is supposed to be able to have.

    This would be an interesting improvement to make, but also non trivial and could potentially be quite game specific.

    -peter
     
    Clyde_Coulter likes this.