Unidad3D. Intentando enviar un comando para un objeto sin autorización

Tengo un juego de estrategia multijugador por turnos que necesita un administrador del juego, que controle el estado actual del juego (quién es el turno, etc.). Este administrador debe ser común para todos los clientes, su estado debe estar sincronizado en el servidor.

Así es como estoy haciendo esto: el objeto del administrador del juego es NetworkBehaviour y tiene NetworkIdentity, que no es la autoridad del jugador local ni la autoridad del servidor. Hice un NetworkManager personalizado y genera el Game Manager en la conexión del cliente, también probando si es un servidor. Aquí hay un código:

public override void OnClientConnect(NetworkConnection conn)
    {
        ClientScene.Ready(conn);
        if (NetworkServer.active)
        {
            var manager = Instantiate(MultiplayerManagerPrefab, Vector3.zero, Quaternion.identity) as GameObject;
            var tacticsManager = manager.GetComponent<MultiplayerManagerModel>();
            NetworkServer.RegisterHandler(MsgType.AddPlayer, tacticsManager.CreatePlayerOnServer);
            NetworkServer.Spawn(manager);
        }
        ClientScene.AddPlayer(0);
    }

Cuando lo ejecuto en un servidor funciona bien, crea una instancia en un cliente y sincroniza variables de un servidor a otro. Pero cuando intento ejecutar comandos desde el cliente, los ignora, lanzando esta advertencia:

Intentando enviar un comando para un objeto sin autorización. UnityEngine.Networking.NetworkBehaviour: SendCommandInternal (NetworkWriter, Int32, String)

Tenga en cuenta que este Game Manager se genera antes que cualquier jugador porque es responsable de generar jugadores. ¿Qué estoy haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta