private void RemoveControlledEntityProxy(MyEntity entity, bool immediateOnServer)
        {
            var msg = new ControlReleasedMsg();
            msg.EntityId = entity.EntityId;

            if (Sync.IsServer)
            {
                RemoveControlledEntityInternal(entity, immediateOnServer);

                Sync.Layer.SendMessageToAll(ref msg);
            }
            else
            {
                Sync.Layer.SendMessageToServer(ref msg);
            }
        }
        static void OnControlReleased(MySyncEntity entity, ref ControlReleasedMsg msg, MyNetworkClient sender)
        {
            Sync.Players.RemoveControlledEntityInternal(entity.Entity);

            if (Sync.IsServer)
            {
                Sync.Layer.SendMessageToAll(ref msg);
            }
        }
        static void OnControlReleased(ref ControlReleasedMsg msg, MyNetworkClient sender)
        {
            MyEntity entity = null;
            if (!MyEntities.TryGetEntityById(msg.EntityId, out entity))
                return;

            Sync.Players.RemoveControlledEntityInternal(entity);

            if (Sync.IsServer)
            {
                Sync.Layer.SendMessageToAll(ref msg);
            }
        }