Multithread questions..

I have been reading about multiplayer stuff but I am still not very clear… Anyone, please correct or elaborate each line below. The list can grow so it may become a good guidance to confused souls like me (lets grow them together :D)
And this is only for listening server (non-dedicated).

  1. GameMode only exist in server [CLEAR]

  2. GameState - exist in all… clients and server. [CLEAR]. Anything to add??

  3. PlayerController
    -In server, there will be as many as clients + server. To differentiate server’s controller with the remote one, use LocalPlayerController (blueprint/c++).
    -In client, there will be ONE instance of controller (correct?)

  4. GameInstance
    -As many as connecting players + server. If running within PIE, there will only be one (correct?)

TQVM.

  1. Yes, the GameMode only exists on the Server.
  2. The GameState is like the PlayerState Class, it is replicated to all remote machines (clients).
  3. a) Yes but there are many ways to know who’s who.
    b) Right again, the client only has his own PlayerController on his machine.
  4. wrong, the GameInstance only exists on the server. The Clients can not access it so far as I know.