private void OnBattlEyeMessageReceived(BattlEyeMessageEventArgs message) { _lastReceived = DateTime.UtcNow; BattlEyeMessageReceived?.Invoke(message); }
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); } } } } } }
private static void DumpMessage(BattlEyeMessageEventArgs args) { Console.WriteLine(args.Message); }
public void OnBattlEyeMessageReceived(BattlEyeMessageEventArgs args) { BattlEyeMessageReceived?.Invoke(args); }
protected virtual void OnBattlEyeMessageReceived(BattlEyeMessageEventArgs args) { _log.Info(args.Message); BattlEyeMessageReceived?.Invoke(args); }
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(); } } }
private void MessageReceived(BattlEyeMessageEventArgs pArgs) { Console.WriteLine(pArgs.Message); SendMessage(BE_Parser.Parse(pArgs.Message)); }
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); } } } } } }