Пример #1
0
 public WSBEMessage(Message message)
     : this()
 {
     this.message = message.Content;
     msgtype = message.Type.ToString();
     received = message.Received;
 }
Пример #2
0
        public static List<Player> ParsePlayers(Message message)
        {
            var _list = new List<Player>();

            var lines = message.Content.Split(Environment.NewLine.ToCharArray());

            foreach (var line in lines)
            {
                if (line == "Players on server:")
                    continue;

                if (line == "[#] [IP Address]:[Port] [Ping] [GUID] [Name]")
                    continue;

                if (line == "--------------------------------------------------")
                    continue;

                if (line.Contains("players in total)"))
                    continue;

                Player player;
                try
                {
                    player = new Player(line);
                }
                catch (Exception)
                {
                    continue;
                }

                _list.Add(player);
            }
            return _list;
        }
Пример #3
0
        void _be_MessageEventHandler(Message message)
        {
            var color = ConsoleColor.DarkGray;
            switch (message.Type)
            {
                case Message.MessageType.ConnectGUID:
                case Message.MessageType.ConnectIP:
                case Message.MessageType.ConnectLegacyGUID:
                    color = ConsoleColor.Blue;
                    break;
                case Message.MessageType.Disconnect:
                    color = ConsoleColor.DarkBlue;
                    break;
                case Message.MessageType.Kick:
                    color = ConsoleColor.Red;
                    break;
                case Message.MessageType.Chat:
                    color = ConsoleColor.White;
                    if (message.Content.StartsWith("(Side)"))
                        color = ConsoleColor.Cyan;
                    if (message.Content.StartsWith("(Vehicle)"))
                        color = ConsoleColor.Yellow;
                    if (message.Content.StartsWith("(Direct)"))
                        color = ConsoleColor.White;
                    if (message.Content.StartsWith("(Group)"))
                        color = ConsoleColor.Green;
                    if (message.Content.StartsWith("(Global)"))
                        color = ConsoleColor.Gray;
                    
                    break;
            }

            AppConsole.Log(message.Content, color);
        }
Пример #4
0
 public Player(Message message)
 {
     try
     {
         var groups = message.Match.Groups;
         _name = groups["Name"].Value;
         _id = Convert.ToInt16(groups["Id"].Value);
         _data = message.Type == Message.MessageType.ConnectIP ? groups["Ip"].Value : groups["Guid"].Value;
     }
     catch (Exception ex)
     {
         throw new PlayerCheckException(ex.Message);
     }
 }
Пример #5
0
        public static List<Client> ParseClients(Message message)
        {
            var _list = new List<Client>();

            var lines = message.Content.Split(Environment.NewLine.ToCharArray());

            foreach (var line in lines)
            {
                Client client;
                try
                {
                    client = new Client(line);
                }
                catch
                {
                    continue;
                }

                _list.Add(client);
            }
            return _list;
        }
Пример #6
0
        void onBEMessageReceivedEvent(Message message)
        {
            if (State == WebSocketState.Closed || State == WebSocketState.Closing)
            {
                CloseConnection();
                return;
            }

            var res = new WSBEMessage(message);
            Send(res.ToString());
        }
Пример #7
0
        void onBEMessageReceivedEvent(Message message)
        {
            if (!(
                message.Type == Message.MessageType.ConnectLegacyGUID ||
                message.Type == Message.MessageType.ConnectGUID ||
                (_checkip && message.Type == Message.MessageType.ConnectIP)
                ))
                return;
            Player player;

            try
            {
                player = new Player(message);
            }
            catch (Exception ex)
            {
                AppConsole.Log(String.Format("Error paring be message: {0}", ex.Message), ConsoleColor.Red);
                return;
            }

            bool check;
            try
            {
                check = _driver.CheckPlayer(player);
            }
            catch (Exception ex)
            {
                AppConsole.Log(String.Format("Error checking player: {0}", ex.Message), ConsoleColor.Red);
                Console.WriteLine(ex.StackTrace);
                return;
            }

            var kick = (check && _mode == Mode.Blacklist) || (!check && _mode == Mode.Whitelist);

            if (kick)
            {
                var cmd = new Command()
                {
                    Type = Command.CmdType.Kick,
                    Parameters = String.Format("{0} {1}", player.Id, _kickMessage)
                };
                AppConsole.Log(String.Format("Kicking {0}", player.Name));
                _api.SendCommand(cmd);
            }

        }
Пример #8
0
 void MessageEventHandler(Message message)
 {
     Job job = message;
     lock (_processingQueue)
     {
         _processingQueue.Enqueue(job);
     }
     _waitHandle.Set();
 }
Пример #9
0
 void BattlEyeMessageReceived(BattlEyeMessageEventArgs args)
 {
     if (OnBeMessageReceivedEvent != null)
     {
         var message = new Message(args.Message, args.Id);
         if (args.Id != 256)
         {
             _commandResponses[args.Id] = message;
         }
         else
         {
             OnBeMessageReceivedEvent(message);
         }
     }
 }