Question about multiplayer mechanics

When I play with a friend and I host the game, does my game instance decide on all the random numbers, like which items get dropped for both of us and how much damage we both inflict, or does his game client also have a say in this and that info is somehow synched/agreed on with my game, even though he’s not the one hosting?

err…bump?!

Yes, it’s based on the host.

Why would that even matter ? What are you trying to accomplish here ?

I was in a curious mood (I usually am) and was doing hypothetical thinking how to implement “closed servers” to allow playing together with random new people you haven’t met before (cool!) without the risk of them doing some cheating and tainting your character by doing so, possibly without you even noticing (argh)!

So since GD devs have stated often enough that they’d need to change the game engine fundamentally for that, and that it’d be too big an effort, I was thinking maybe the game could just be modified in a way that it offers a “pseudo-closed server” mode in which they (the Grim Dawn dev team) run an instance of the game on their own machine (the “closed server”) that hosts a game for others to join, which however does not join with an actual character (or it does, and the character is just invisible and doesn’t do anything). Then normal players who can join that game with their clients have their characters appear as usual. So it’s like a normal game, except that the hosting game is actually running on the official GD server and the character it logs in with isn’t really there. The only characters appearing in the game are the “client” players who join the host’s game.

Now since that “server” game instance of the GD team would do all the dice rolls, damage calculations etc and the actual player clients have no say in that, they couldn’t do any “live cheating”.
The only thing left would be that the hosting game (the “server”) needs to create (when a client creates a new character), load (when a client logs in) and store (when a client logs out) local copies of all the player characters and transmits them to the clients, which thereby are forced to use those or they’d turn out of sync and just get disconnected. When a player logs out, the server saves his/her character’s savegame locally in the server’s machine, client-side save games have no use in this specific game mode, so clients cannot manipulate their savegames. The client-side save games are no longer used by any game instance, neither server nor host, instead the server stores all saves locally and just transmits them to the clients as needed, as mentioned.

Voila, pseudo-closed servers via some cheap hacks!? =P
PS: I think this has potential to get even more players playing, maybe +30% or so (just a guess). Personally I’d really really like to play with strangers and see how it unfolds, but I’m mortally afraid of them using some kind of cheats and me getting tained even by accident. And I couldn’t even know if they cheated or not! Gah.