Successfully running a self-hosted Colyseus server for my educational real-time multiplayer platformer game. Really loving the framework.

I am getting issues with bugs in my client code when a user joins an existing room and have been refactoring it.

Is there any kind of diagram or list of what is sent in what order when a new user joins a room? Like is there a consisent order of what is sent to a client when they connect first? This would be when other users exist in a room. Some of the items im curious of the order are...

• room.state.players.onRemove
• room.state.players.onAdd
• player.onChange = function(changes)
• room.onStateChange.once
• custom methods from server (this.broadcast on server)

It would be nice if an existing game is going on and a new client joins to know what callbacks in what order would be triggered. Is it consistent. Im trying to look through the code but it is a good size code base