#Administrative Advisory v1.5 features the option framework to make automated changes to your battleye/scripts.txt (Battleye exception filter). The mechanics to support these features are not live at this time due to ongoing testing.
#bparse.pl Perl script for parsing battleye scripts.log entries and auto-generating exception entries. Designed for and only tested against the Exile@ARMAIII platform in a CentOS-7 environment.
#Before Proceeding Be smart about making changes to your battleye filters. Backup your scripts.txt file before you add entries generated by this script. Should you fail to do this, go ahead and change the intel on your Exile mission to reflect a high chance of QQ. To this regard if you so choose to modify your battleye/scripts.txt (battleye exceptions filter) through the automated features of this script, you will be propted with an option to backup your existing filter before modifications are made.
#Installation
- Move bparse.pl to directory of choice.
- Modify permissions for bparse.pl appropriate with your environment, currently bparse only needs to read your scripts.log file.
#Execution Syntax ./bparse.pl $file_location{this is the location for scripts.txt, usually within your battleye folder.}
Execution Example:
./bparse.pl /home/steam/steamcmd/arma3/battleye/scripts.log
#Example Output
[steam@localhost arma3]$ ./bparse.pl /home/steam/steamcmd/arma3/battleye/scripts.log
[1] #38,!="(_this\nselect\n0)\nexecVM\n"\A3\Structures_F\Wrecks\Scripts\Wreck_Heli_Attack_01.sqf""
[2] #38,!="(_this\nselect\n0)\nexecVM\n"\A3\Structures_F\Wrecks\Scripts\Wreck_Heli_Attack_01.sqf""
Total Entries parsed from /home/steam/steamcmd/arma3/battleye/scripts.log: 2
#Optional Parameters
Parameters are case sensitive!
You may elect to include additional information in the output such as the date, IP, user, GUID, or all aforementioned fields in addition to the exception number and the recommended exception text. It is worth noting that the 'U' argument will provide a unique list of exceptions void of duplicates. On request, a special option has been added to allow the user to blindly add all suggested exceptions, 1337.
To display additional information use the following syntax for the secondary arguement: -d[diugaU,'1337']
Example: ./bparse /home/steam/steamcmd/arma3/battleye/scripts.log -du
Example: ./bparse /home/steam/steamcmd/arma3/battleye/scripts.log -dgi
Default Output Explained: The script will display entries as they pertain to your battleye/scripts.log file, exception number first (#XXX) followed by the suggested exception text (!="xxx"). Exception suggestions have nested double-quotes escaped.
#Version v1.5 (2016-05-02): Addition of 1337 option and scripts.txt backup feature, and added a reference ID to the suggested exception text.
v1.4 (2016-05-02): Code modification to remedy extraneous newline (\n) character injection into the recommended exception text.
v1.3 (2016-04-14): Added -d[U] secondary argument option.
v1.2 (2016-04-14): Minor code tweaks, variable cleanup.
v1.1 (2016-04-14): Adds switches that can be used (not required) as a secondary arguement. They are (-d) as a display precursor, to be immediately followed by [diuga] to display the date, IP, user, GUID, or all fields parsed in addition to the exception number and suggested exception text.
v1.0 (2016-04-10): Initial release with basic output of exception number and recommended exception text.