Example #1
0
 private void OnBattlEyeMessageReceived(BattlEyeMessageEventArgs message)
 {
     _lastReceived = DateTime.UtcNow;
     BattlEyeMessageReceived?.Invoke(message);
 }
Example #2
0
        private void HandleMessage(BattlEyeMessageEventArgs args)
        {
            string message = args.Message;

            if (_initialized)
            {
                //if (message.Contains("Connected RCon admins:")) this.parseAdmins(message);
                //if (message.Contains("Players on server:")) this.parsePlayers(message);
                //if (message.StartsWith("GUID Bans:")) this.parseBans(message);
                if (Settings.Default.autoKicks && message.StartsWith("("))
                {
                    this.checkMessage(message, false);
                }
                if (Settings.Default.autoBans && message.StartsWith("("))
                {
                    this.checkMessage(message, true);
                }
                // Message filtering
                if (args.Id != 256)
                {
                    this.Received(args.Id, message);
                }
                else
                {
                    if (_form != null)
                    {
                        // Global chat
                        if (message.StartsWith("(Global)"))
                        {
                            if (Settings.Default.showGlobalChat)
                            {
                                _form.Log(message, LogType.GlobalChat, this.IsCall(message));
                            }
                        }
                        // Side chat
                        else if (message.StartsWith("(Side)"))
                        {
                            if (Settings.Default.showSideChat)
                            {
                                _form.Log(message, LogType.SideChat, this.IsCall(message));
                            }
                        }
                        // Direct chat
                        else if (message.StartsWith("(Direct)"))
                        {
                            if (Settings.Default.showDirectChat)
                            {
                                _form.Log(message, LogType.DirectChat, this.IsCall(message));
                            }
                        }
                        // Vehicle chat
                        else if (message.StartsWith("(Vehicle)"))
                        {
                            if (Settings.Default.showVehicleChat)
                            {
                                _form.Log(message, LogType.VehicleChat, this.IsCall(message));
                            }
                        }
                        // Command chat
                        else if (message.StartsWith("(Command)"))
                        {
                            if (Settings.Default.showCommandChat)
                            {
                                _form.Log(message, LogType.CommandChat, this.IsCall(message));
                            }
                        }
                        // Group chat
                        else if (message.StartsWith("(Group)"))
                        {
                            if (Settings.Default.showGroupChat)
                            {
                                _form.Log(message, LogType.GroupChat, this.IsCall(message));
                            }
                        }
                        // Unknown chat
                        else if (message.StartsWith("(Unknown)"))
                        {
                            if (Settings.Default.showUnknownChat)
                            {
                                _form.Log(message, LogType.UnknownChat, this.IsCall(message));
                            }
                        }
                        else if (message.StartsWith("Player #"))
                        {
                            if (_pending != "" && message.EndsWith(" " + _pending + " disconnected"))
                            {
                                _pendingLeft = true;
                            }

                            if (Settings.Default.refreshOnJoin && message.EndsWith("disconnected") && !_form.pendingPlayers)
                            {
                                String[] items = message.Remove(7, 1).Split(new char[] { ' ' }, 3, StringSplitOptions.RemoveEmptyEntries);
                                _form.PlayerDisconnect(items[1]);
                            }

                            // Connect/disconnect/kick/ban messages
                            if (Settings.Default.showPlayerConnectMessages)
                            {
                                _form.Log(message, LogType.Console, false);
                            }
                        }
                        else if (message.StartsWith("Verified GUID ("))
                        {
                            // GUID verification messages
                            if (Settings.Default.showVerificationMessages)
                            {
                                _form.Log(message, LogType.Console, false);
                            }

                            if (Settings.Default.refreshOnJoin && !_form.pendingPlayers)
                            {
                                Thread thread = new Thread(new ThreadStart(_form.thread_Player));
                                thread.IsBackground = true;
                                thread.Start();
                            }
                        }
                        else if (message.StartsWith("RCon admin #"))
                        {
                            // Admin login
                            if (Settings.Default.showAdminMessages && message.EndsWith("logged in"))
                            {
                                _form.Log(message, LogType.Console, true);
                                if (Settings.Default.refreshOnJoin && !_form.pendingAdmins)
                                {
                                    Thread thread = new Thread(new ThreadStart(_form.thread_Admins));
                                    thread.IsBackground = true;
                                    thread.Start();
                                }
                            }
                            else if (Settings.Default.showAdminChat)
                            {
                                _form.Log(message, LogType.AdminChat, false);
                            }
                        }
                        else if (message.StartsWith("Failed to open") || message.StartsWith("Incompatible filter file"))
                        {
                            // Log errors
                            if (Settings.Default.showLogErrors)
                            {
                                _form.Log(message, LogType.Console, false);
                            }
                        }
                        // Scripts log
                        else if (message.StartsWith("Scripts Log:"))
                        {
                            if (Settings.Default.showScriptsLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.ScriptsLog, false);
                            }
                        }
                        // CreateVehicle log
                        else if (message.StartsWith("CreateVehicle Log:"))
                        {
                            if (Settings.Default.showCreateVehicleLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.CreateVehicleLog, false);
                            }
                        }
                        // DeleteVehicle log
                        else if (message.StartsWith("DeleteVehicle Log:"))
                        {
                            if (Settings.Default.showDeleteVehicleLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.DeleteVehicleLog, false);
                            }
                        }
                        // PublicVariable log
                        else if (message.StartsWith("PublicVariable Log:"))
                        {
                            if (Settings.Default.showPublicVariableLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.PublicVariableLog, false);
                            }
                        }
                        // PublicVariableVal log
                        else if (message.StartsWith("PublicVariable Value Log:"))
                        {
                            if (Settings.Default.showPublicVariableValLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.PublicVariableValLog, false);
                            }
                        }
                        // RemoteExec log
                        else if (message.StartsWith("RemoteExec Log:"))
                        {
                            if (Settings.Default.showRemoteExecLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.RemoteExecLog, false);
                            }
                        }
                        // RemoteControl log
                        else if (message.StartsWith("RemoteControl Log:"))
                        {
                            if (Settings.Default.showRemoteControlLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.RemoteControlLog, false);
                            }
                        }
                        // SetDamage log
                        else if (message.StartsWith("SetDamage Log:"))
                        {
                            if (Settings.Default.showSetDamageLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetDamageLog, false);
                            }
                        }
                        // SetVariable log
                        else if (message.StartsWith("SetVariable Log:"))
                        {
                            if (Settings.Default.showSetVariableLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetVariableLog, false);
                            }
                        }
                        // SetVariableVal log
                        else if (message.StartsWith("SetVariable Value Log:"))
                        {
                            if (Settings.Default.showSetVariableValLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetVariableValLog, false);
                            }
                        }
                        // SetPos log
                        else if (message.StartsWith("SetPos Log:"))
                        {
                            if (Settings.Default.showSetPosLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetPosLog, false);
                            }
                        }
                        // AddMagazineCargo log
                        else if (message.StartsWith("AddMagazineCargo Log:"))
                        {
                            if (Settings.Default.showAddMagazineCargoLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AddMagazineCargoLog, false);
                            }
                        }
                        // AddWeaponCargo log
                        else if (message.StartsWith("AddWeaponCargo Log:"))
                        {
                            if (Settings.Default.showAddWeaponCargoLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AddWeaponCargoLog, false);
                            }
                        }
                        // AddBackpackCargo log
                        else if (message.StartsWith("AddBackpackCargo Log:"))
                        {
                            if (Settings.Default.showAddBackpackCargoLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AddBackpackCargoLog, false);
                            }
                        }
                        // AttachTo log
                        else if (message.StartsWith("AttachTo Log:"))
                        {
                            if (Settings.Default.showAttachToLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AttachToLog, false);
                            }
                        }
                        // MPEventHandler log
                        else if (message.StartsWith("MPEventHandler Log:"))
                        {
                            if (Settings.Default.showMPEventHandlerLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.MPEventHandlerLog, false);
                            }
                        }
                        // TeamSwitch log
                        else if (message.StartsWith("TeamSwitch Log:"))
                        {
                            if (Settings.Default.showTeamSwitchLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.TeamSwitchLog, false);
                            }
                        }
                        // SelectPlayer log
                        else if (message.StartsWith("SelectPlayer Log:"))
                        {
                            if (Settings.Default.showSelectPlayerLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SelectPlayerLog, false);
                            }
                        }
                        // WaypointCondition log
                        else if (message.StartsWith("WaypointCondition Log:"))
                        {
                            if (Settings.Default.showWaypointConditionLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.WaypointConditionLog, false);
                            }
                        }
                        // WaypointStatement log
                        else if (message.StartsWith("WaypointStatement Log:"))
                        {
                            if (Settings.Default.showWaypointStatementLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.WaypointStatementLog, false);
                            }
                        }
                        else
                        {
                            if (_form != null)
                            {
                                _form.Log("UNKNOWN: " + message, LogType.Debug, false);
                            }
                        }
                    }
                }
            }
        }
Example #3
0
 private static void DumpMessage(BattlEyeMessageEventArgs args)
 {
     Console.WriteLine(args.Message);
 }
Example #4
0
 public void OnBattlEyeMessageReceived(BattlEyeMessageEventArgs args)
 {
     BattlEyeMessageReceived?.Invoke(args);
 }
Example #5
0
 protected virtual void OnBattlEyeMessageReceived(BattlEyeMessageEventArgs args)
 {
     _log.Info(args.Message);
     BattlEyeMessageReceived?.Invoke(args);
 }
Example #6
0
        private static void WaitingForPlayerList(BattlEyeMessageEventArgs args)
        {
            Regex playerregex = new Regex("Players on server:");
            Match playermatch = playerregex.Match(args.Message);

            if (playermatch.Success)
            {
                beclient.BattlEyeMessageReceived -= WaitingForPlayerList;

                string   name     = querycommand.Groups[1].Value;
                string   cmd      = querycommand.Groups[2].Value;
                char     splitter = ' ';
                string[] argus    = querycommand.Groups[3].Value.Split(splitter);

                string players = args.Message.Substring(114);

                Regex playerregexsub = new Regex("(\\d+)\\s+\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}:\\d+\\b\\s+-?\\d+\\s+([0-9a-fA-F]+)\\(\\w+\\)\\s([\\S ]+)");
                Match playermatchsub = playerregexsub.Match(players);

                while (playermatchsub.Success)
                {
                    string p_beid = playermatchsub.Groups[1].Value;
                    string p_guid = playermatchsub.Groups[2].Value;
                    string p_name = playermatchsub.Groups[3].Value;

                    if (name == p_name)
                    {
                        if (config[3].Contains(p_guid))
                        {
                            if (cmd == "whitelist")
                            {
                                if (argus.Length < 1)
                                {
                                    beclient.SendCommand("say " + p_beid + "Kekcon: Falscher Syntax (whitelist <on/off/status/reload>).");
                                }
                                else
                                {
                                    string       command;
                                    string[]     arr;
                                    StreamWriter writer;


                                    switch (argus[0])
                                    {
                                    case "on":
                                        beclient.SendCommand("say " + p_beid + "Kekcon: Whitelist aktiviert.");
                                        config[0] = "true";
                                        Console.ForegroundColor = ConsoleColor.Green;
                                        Console.WriteLine("=> Plugin aktiviert:\tWhitelist");
                                        Console.ForegroundColor = ConsoleColor.Gray;
                                        arr = File.ReadAllLines("plugins/config/whitelist.cfg");

                                        writer = new StreamWriter("plugins/config/whitelist.cfg");
                                        for (int i = 0; i < arr.Length; i++)
                                        {
                                            string line = arr[i];
                                            if (line.Trim().Substring(0, 9) == "activated")
                                            {
                                                line = "activated = true";
                                            }
                                            writer.WriteLine(line);
                                        }
                                        writer.Close();
                                        break;

                                    case "off":
                                        beclient.SendCommand("say " + p_beid + "Kekcon: Whitelist deaktiviert.");
                                        config[0] = "false";
                                        Console.ForegroundColor = ConsoleColor.Red;
                                        Console.WriteLine("=> Plugin deaktiviert:\tWhitelist");
                                        Console.ForegroundColor = ConsoleColor.Gray;

                                        arr = File.ReadAllLines("plugins/config/whitelist.cfg");

                                        writer = new StreamWriter("plugins/config/whitelist.cfg");
                                        for (int i = 0; i < arr.Length; i++)
                                        {
                                            string line = arr[i];
                                            if (line.Trim().Substring(0, 9) == "activated")
                                            {
                                                line = "activated = false";
                                            }
                                            writer.WriteLine(line);
                                        }
                                        writer.Close();
                                        break;

                                    case "status":
                                        if (config[0] == "true")
                                        {
                                            splitter = ',';
                                            command  = string.Format("say " + p_beid + "Kekcon: Whitelist ist aktiviert ({0} GUID's gewhitelistet).", config[2].Split(splitter).Count());
                                            beclient.SendCommand(command);
                                        }
                                        else
                                        {
                                            beclient.SendCommand("say " + p_beid + "Kekcon: Whitelist ist deaktiviert.");
                                        }
                                        break;

                                    default:
                                        beclient.SendCommand("say " + p_beid + "Kekcon: Falscher Syntax (whitelist <on/off/status/reload>).");
                                        break;

                                    case "reload":
                                        config = readConfig();
                                        beclient.SendCommand("say " + p_beid + "Kekcon: Konfiguration neu geladen.");
                                        Console.ForegroundColor = ConsoleColor.Green;
                                        Console.WriteLine("=> Plugin Konfig-Reload:\tWhitelist");
                                        Console.ForegroundColor = ConsoleColor.Gray;
                                        break;
                                    }
                                }
                            }
                            else
                            {
                                beclient.SendCommand("say " + p_beid + "Kekcon: Unbekannter Befehl.");
                            }
                        }
                        else
                        {
                            beclient.SendCommand("say " + p_beid + "Kekcon: Keine Berechtigung.");
                        }
                    }

                    playermatchsub = playermatchsub.NextMatch();
                }
            }
        }
Example #7
0
 private void MessageReceived(BattlEyeMessageEventArgs pArgs)
 {
     Console.WriteLine(pArgs.Message);
     SendMessage(BE_Parser.Parse(pArgs.Message));
 }
Example #8
0
        private void HandleMessage(BattlEyeMessageEventArgs args)
        {
            string message = args.Message;

            if (_initialized)
            {
                // Message filtering
                if (args.Id != 256)
                {
                    this.Received(args.Id, message);
                }
                else
                {
                    if (_form != null)
                    {
                        // Global chat
                        if (message.StartsWith("(Global)"))
                        {
                            if (Settings.Default.showGlobalChat)
                            {
                                _form.Log(message, LogType.GlobalChat, this.IsCall(message));
                            }
                        }
                        // Side chat
                        else if (message.StartsWith("(Side)"))
                        {
                            if (Settings.Default.showSideChat)
                            {
                                _form.Log(message, LogType.SideChat, this.IsCall(message));
                            }
                        }
                        // Direct chat
                        else if (message.StartsWith("(Direct)"))
                        {
                            if (Settings.Default.showDirectChat)
                            {
                                _form.Log(message, LogType.DirectChat, this.IsCall(message));
                            }
                        }
                        // Vehicle chat
                        else if (message.StartsWith("(Vehicle)"))
                        {
                            if (Settings.Default.showVehicleChat)
                            {
                                _form.Log(message, LogType.VehicleChat, this.IsCall(message));
                            }
                        }
                        // Command chat
                        else if (message.StartsWith("(Command)"))
                        {
                            if (Settings.Default.showCommandChat)
                            {
                                _form.Log(message, LogType.CommandChat, this.IsCall(message));
                            }
                        }
                        // Group chat
                        else if (message.StartsWith("(Group)"))
                        {
                            if (Settings.Default.showGroupChat)
                            {
                                _form.Log(message, LogType.GroupChat, this.IsCall(message));
                            }
                        }
                        // Unknown chat
                        else if (message.StartsWith("(Unknown)"))
                        {
                            if (Settings.Default.showUnknownChat)
                            {
                                _form.Log(message, LogType.UnknownChat, this.IsCall(message));
                            }
                        }
                        else if (message.StartsWith("Player #"))
                        {
                            if (_pending != "" && message.EndsWith(" " + _pending + " disconnected"))
                            {
                                _pendingLeft = true;
                            }

                            if (Settings.Default.refreshOnJoin && message.EndsWith("disconnected") && !_form.pendingPlayers)
                            {
                                Thread thread = new Thread(new ThreadStart(_form.thread_Player));
                                thread.IsBackground = true;
                                thread.Start();
                            }

                            if (Settings.Default.announcePlayers)
                            {
                                string PlayerConnectOrDisconnectMessage = String.Join(" ", message.Split(' ').Skip(2));
                                if (PlayerConnectOrDisconnectMessage.EndsWith(" disconnected"))
                                {
                                    _client.SendCommand(BattlEyeCommand.Say, "-1 " + PlayerConnectOrDisconnectMessage);
                                }
                                else if (PlayerConnectOrDisconnectMessage.EndsWith(" connected"))
                                {
                                    string PlayerConnectedString;
                                    PlayerConnectedString = System.Text.RegularExpressions.Regex.Replace(PlayerConnectOrDisconnectMessage, @"\(.*\)", "");

                                    // Remove extra spaces.
                                    PlayerConnectedString = System.Text.RegularExpressions.Regex.Replace(PlayerConnectedString, @"\s+", " ");

                                    _client.SendCommand(BattlEyeCommand.Say, "-1 " + PlayerConnectedString);
                                    //_form.Log(PlayerConnectedString, LogType.Debug, true);
                                }
                            }

                            // Connect/disconnect/kick/ban messages
                            if (Settings.Default.showPlayerConnectMessages)
                            {
                                _form.Log(message, LogType.Console, false);
                            }
                        }
                        else if (message.StartsWith("Verified GUID ("))
                        {
                            // GUID verification messages
                            if (Settings.Default.showVerificationMessages)
                            {
                                _form.Log(message, LogType.Console, false);
                            }

                            if (Settings.Default.refreshOnJoin && !_form.pendingPlayers)
                            {
                                Thread thread = new Thread(new ThreadStart(_form.thread_Player));
                                thread.IsBackground = true;
                                thread.Start();
                            }
                        }
                        else if (message.StartsWith("RCon admin #"))
                        {
                            // Admin login
                            if (Settings.Default.showAdminMessages && message.EndsWith("logged in"))
                            {
                                _form.Log(message, LogType.Console, false);
                            }
                            else if (Settings.Default.showAdminChat)
                            {
                                _form.Log(message, LogType.AdminChat, false);
                            }
                        }
                        else if (message.StartsWith("Failed to open") || message.StartsWith("Incompatible filter file"))
                        {
                            // Log errors
                            if (Settings.Default.showLogErrors)
                            {
                                _form.Log(message, LogType.Console, false);
                            }
                        }
                        // Scripts log
                        else if (message.StartsWith("Scripts Log:"))
                        {
                            if (Settings.Default.showScriptsLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.ScriptsLog, false);
                            }
                        }
                        // CreateVehicle log
                        else if (message.StartsWith("CreateVehicle Log:"))
                        {
                            if (Settings.Default.showCreateVehicleLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.CreateVehicleLog, false);
                            }
                        }
                        // DeleteVehicle log
                        else if (message.StartsWith("DeleteVehicle Log:"))
                        {
                            if (Settings.Default.showDeleteVehicleLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.DeleteVehicleLog, false);
                            }
                        }
                        // PublicVariable log
                        else if (message.StartsWith("PublicVariable Log:"))
                        {
                            if (Settings.Default.showPublicVariableLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.PublicVariableLog, false);
                            }
                        }
                        // PublicVariableVal log
                        else if (message.StartsWith("PublicVariable Value Log:"))
                        {
                            if (Settings.Default.showPublicVariableValLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.PublicVariableValLog, false);
                            }
                        }
                        // RemoteExec log
                        else if (message.StartsWith("RemoteExec Log:"))
                        {
                            if (Settings.Default.showRemoteExecLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.RemoteExecLog, false);
                            }
                        }
                        // RemoteControl log
                        else if (message.StartsWith("RemoteControl Log:"))
                        {
                            if (Settings.Default.showRemoteControlLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.RemoteControlLog, false);
                            }
                        }
                        // SetDamage log
                        else if (message.StartsWith("SetDamage Log:"))
                        {
                            if (Settings.Default.showSetDamageLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetDamageLog, false);
                            }
                        }
                        // SetVariable log
                        else if (message.StartsWith("SetVariable Log:"))
                        {
                            if (Settings.Default.showSetVariableLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetVariableLog, false);
                            }
                        }
                        // SetVariableVal log
                        else if (message.StartsWith("SetVariable Value Log:"))
                        {
                            if (Settings.Default.showSetVariableValLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetVariableValLog, false);
                            }
                        }
                        // SetPos log
                        else if (message.StartsWith("SetPos Log:"))
                        {
                            if (Settings.Default.showSetPosLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SetPosLog, false);
                            }
                        }
                        // AddMagazineCargo log
                        else if (message.StartsWith("AddMagazineCargo Log:"))
                        {
                            if (Settings.Default.showAddMagazineCargoLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AddMagazineCargoLog, false);
                            }
                        }
                        // AddWeaponCargo log
                        else if (message.StartsWith("AddWeaponCargo Log:"))
                        {
                            if (Settings.Default.showAddWeaponCargoLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AddWeaponCargoLog, false);
                            }
                        }
                        // AddBackpackCargo log
                        else if (message.StartsWith("AddBackpackCargo Log:"))
                        {
                            if (Settings.Default.showAddBackpackCargoLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AddBackpackCargoLog, false);
                            }
                        }
                        // AttachTo log
                        else if (message.StartsWith("AttachTo Log:"))
                        {
                            if (Settings.Default.showAttachToLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.AttachToLog, false);
                            }
                        }
                        // MPEventHandler log
                        else if (message.StartsWith("MPEventHandler Log:"))
                        {
                            if (Settings.Default.showMPEventHandlerLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.MPEventHandlerLog, false);
                            }
                        }
                        // TeamSwitch log
                        else if (message.StartsWith("TeamSwitch Log:"))
                        {
                            if (Settings.Default.showTeamSwitchLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.TeamSwitchLog, false);
                            }
                        }
                        // SelectPlayer log
                        else if (message.StartsWith("SelectPlayer Log:"))
                        {
                            if (Settings.Default.showSelectPlayerLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.SelectPlayerLog, false);
                            }
                        }
                        // WaypointCondition log
                        else if (message.StartsWith("WaypointCondition Log:"))
                        {
                            if (Settings.Default.showWaypointConditionLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.WaypointConditionLog, false);
                            }
                        }
                        // WaypointStatement log
                        else if (message.StartsWith("WaypointStatement Log:"))
                        {
                            if (Settings.Default.showWaypointStatementLog && !this.ShallFilter(message))
                            {
                                _form.Log(message, LogType.WaypointStatementLog, false);
                            }
                        }
                        else
                        {
                            if (_form != null)
                            {
                                _form.Log("UNKNOWN: " + message, LogType.Debug, false);
                            }
                        }
                    }
                }
            }
        }