Hi @Topper. Some of these questions are best asked on the Colyseus forum or Gitter chat (the core developer Endel Dreyer is very responsive).
There’s a number of ways to use the framework depending on the application but it’s recommended that all state management be done by using Colyseus as an authoritative server. Clients send requests and Colyseus server mutates the state and broadcasts change patches (changed state variables) to all clients which then render the updated state. State changes are not recommended directly on the client.
I’ve probably botched some of the terminology but that’s the general gist as I understand it.