void Handle(ref TMsg msg, ulong sender, TimeSpan timestamp) { if (Sync.ServerId == sender) { Layer.LastMessageFromServer = DateTime.UtcNow; } MyNetworkClient player; bool playerFound = Layer.Clients.TryGetClient(sender, out player); bool permissionsOk = Layer.CheckPermissions(sender, Permission); //TODO: This should be ok if client loads the scene, buffers another player messages //and during that time is that player kicked //Debug.Assert(playerFound, "Player not found"); if (playerFound && permissionsOk) { OnHandle(ref msg, player, timestamp); } }