eraser1

BattlEye Automatic (Script) Exception Generator

50 posts in this topic

Posted (edited)

The new Exile update is on the horizon, and despite all of the amazing features it's gonna bring, it's also gonna bring headaches for server owners who have to update their server(s) and the dozens of customizations that they made.

One of the daunting tasks is updating BattlEye filters. Granted, Exile does come with filters by default that would work fine, if it weren't for the fact that most servers run custom scripts/addons that trigger the BE filters, so almost every time you add something you end up with a BattlEye kick (only one if you're lucky).

I've gone through the experience many times, and let's face it: it's tedious. When you get a script restriction, you have to copy the code, replace all of the newlines with "\n"s, find the right line, and update your "scripts.txt". There are certain online tools that will automatically replace newlines for you, but wouldn't it be nice if the script exception was generated and added completely automatically as soon as it happens?

 

Well, I think so, so I mish-mashed some code together and created the "BattlEye Automatic Exception Generator". It will automatically scan your scripts.log for script restrictions, replace newlines in the code (if they exist), and add the exception to your "scripts.txt" on the correct line. It will also prevent duplicate exceptions from being added (to the same line).

 

***!!!READ THE README BEFORE ASKING ANY QUESTIONS!!!*** Seriously guys (and gals). If I see any question in here that is answered by the readme, I will simply ignore it, and it may even be deleted.

 

If you have any questions/comments/concerns/suggestions, please leave them below. I made this for "fun" in my free time, and it is not perfect by any means, so any help/suggestions are appreciated.

 

DOWNLOAD: https://github.com/eraser1/BE_AEG

PS: I know people have made stuff like this before, but none of the tools were publicly available, and least of all, open source.

Edited by eraser1
16 people like this

Share this post


Link to post
Share on other sites

Hey

 

I've been looking for something like this (or at least i think i have XD).

 

Will give it a try!

 

Share this post


Link to post
Share on other sites
Advertisement

Nice work but it only works on the scripts.txt? Any way to get it to work on the other filters that might need to be added like in the attachto and createvehicle files?

Share this post


Link to post
Share on other sites

I have never really used battleye (normally just delete the txt files) so apologies if this is a stupid question...

 

Whats stopping this from detecting a hackers actions and then making them ok?

Share this post


Link to post
Share on other sites
55 minutes ago, Mr Health And Safety said:

I have never really used battleye (normally just delete the txt files) so apologies if this is a stupid question...

 

Whats stopping this from detecting a hackers actions and then making them ok?

You don't use this on your live server, you use it on test, and if you're hacking your own test server then something's wrong with you lol

Share this post


Link to post
Share on other sites
1 hour ago, Kobayashi said:

You don't use this on your live server, you use it on test, and if you're hacking your own test server then something's wrong with you lol

Honestly never thought about live vs test lol. but that is a good point ;)

Share this post


Link to post
Share on other sites

@BetterDeadThanZed

13 hours ago, eraser1 said:
  • This tool will ONLY write exceptions for SCRIPT FILTERS. I decided AGAINST adding support for other restrictions because those should, in my opinion, be handled manually because you need to know what's happening. Perhaps, if there's enough demand, I will add the ability to generate exceptions for other restrictions (and it will have to be enabled manually).

You can easily modify it to write exceptions for other restrictions. The most important part is the RegEx matching/searching (and handling the results). I didn't try, but the RegEx for script restrictions should work on other restriction types, but I would personally use a different RegEx statement since you can make it more specific for other restriction types.

Share this post


Link to post
Share on other sites

I put everything on a github so the tool can be updated more easily, and so that the ReadMe can be presented a bit better.

Share this post


Link to post
Share on other sites

I'm getting a crash from time to time:

Spoiler

Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.InvalidCastException: Ungültige Konvertierung von der Zeichenfolge ; in Typ Integer. ---> System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
   bei Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
   bei Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
   bei BEM.Form6.Form6_Load(Object sender, EventArgs e)
   bei System.Windows.Forms.Form.OnLoad(EventArgs e)
   bei System.Windows.Forms.Form.OnCreateControl()
   bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   bei System.Windows.Forms.Control.CreateControl()
   bei System.Windows.Forms.Control.WmShowWindow(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
   bei System.Windows.Forms.Form.WmShowWindow(Message& m)
   bei System.Windows.Forms.Form.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
----------------------------------------
BEM
    Assembly-Version: 1.2.0.1.
    Win32-Version: 1.2.0.1.
    CodeBase: file:///C:/Users/Stollenwerk/Downloads/ARMA%203/Work%20-%20Namalsk%20with%200.9.8/BEM.exe.
----------------------------------------
Microsoft.VisualBasic
    Assembly-Version: 10.0.0.0.
    Win32-Version: 12.0.51209.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34294 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Core
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
----------------------------------------
System.Windows.Forms
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34251 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34285 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34245 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
System.Configuration
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
System.Xml
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34283 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
mscorlib.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.0.30319.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
----------------------------------------
Microsoft.VisualBasic.resources
    Assembly-Version: 10.0.0.0.
    Win32-Version: 12.0.51209.34209 built by: FX452RTMGDR.
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic.resources/v4.0_10.0.0.0_de_b03f5f7f11d50a3a/Microsoft.VisualBasic.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle Ausnahmefehler an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.

 

Nice tool btw, spares me much time instead of adding a bunch of filters on my own.

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.