protected override void OnClientKick(ref MyControlKickClientMsg data, ulong kicked)
        {
            RaiseClientKicked(data.KickedClient);

            if (data.KickedClient == Sync.MyId)
            {
                MyGuiScreenMainMenu.ReturnToMainMenu();
                MyGuiSandbox.AddScreen(MyGuiSandbox.CreateMessageBox(
                    messageCaption: MyTexts.Get(MyCommonTexts.MessageBoxCaptionKicked),
                    messageText: MyTexts.Get(MyCommonTexts.MessageBoxTextYouHaveBeenKicked)));
            }
            else
            {
                AddKickedClient(data.KickedClient);
                RaiseClientLeft(data.KickedClient, ChatMemberStateChangeEnum.Kicked);
            }
        }
        public override void KickClient(ulong userId)
        {
            // In standard MP games, only the game server can kick players
            var myId = SteamAPI.Instance.GetSteamUserId();
            if (userId == myId || Lobby.GetOwner() != myId)
                return;

            MyControlKickClientMsg msg = new MyControlKickClientMsg();
            msg.KickedClient = userId;
            MyLog.Default.WriteLineAndConsole("Player " + GetMemberName(userId) + " kicked");
            SendControlMessageToAll(ref msg);

            RaiseClientLeft(userId, ChatMemberStateChangeEnum.Kicked);
        }
 protected override void OnClientKick(ref MyControlKickClientMsg data, ulong sender)
 {
     if (IsAdmin(sender))
         KickClient(data.KickedClient);
 }
        public override void KickClient(ulong userId)
        {
            MyControlKickClientMsg msg = new MyControlKickClientMsg();
            msg.KickedClient = userId;

            MyLog.Default.WriteLineAndConsole("Player " + GetMemberName(userId) + " kicked");
            SendControlMessageToAll(ref msg);

            AddKickedClient(userId);
            RaiseClientLeft(userId, ChatMemberStateChangeEnum.Kicked);
        }
        protected override void OnClientKick(ref MyControlKickClientMsg data, ulong sender)
        {
            if (data.KickedClient == MySteam.UserId)
            {
                // We don't want to send disconnect message because the clients will disconnect the client automatically upon receiving on the MyControlKickClientMsg
                m_clientJoined = false;

                Dispose();
                MyGuiScreenMainMenu.ReturnToMainMenu();
                MyGuiSandbox.AddScreen(MyGuiSandbox.CreateMessageBox(
                    messageCaption: MyTexts.Get(MySpaceTexts.MessageBoxCaptionKicked),
                    messageText: MyTexts.Get(MySpaceTexts.MessageBoxTextYouHaveBeenKicked)));
            }
            else
            {
                AddKickedClient(data.KickedClient);
                RaiseClientLeft(data.KickedClient, ChatMemberStateChangeEnum.Kicked);
            }
        }
 public override void KickClient(ulong client)
 {
     MyControlKickClientMsg msg = new MyControlKickClientMsg();
     msg.KickedClient = client;
     SendControlMessage(ServerId, ref msg);
 }