README
pyBEscanner
A simple python application with goal of scanning arma2 + battlelog files.
This this not protect against people using a battleye bypass
Features:
* Multiple Servers ( No multi-threading support, it scans 1 server at a time )
* Scans battlelogs
* Whitelist + Blanlist + Kicklist rules with regrex features
http://docs.python.org/2/library/re.html
* Auto-purges logs as it scans, reduces need to re-scan
* Makes backup logs files & splits them up into folders based on date
* Makes actions logs i.e
scripts-bans.txt /
scripts-kicks.txt /
scripts-unknown.txt.
* Ability to pick per file different scan settings
Standard - Ban only for blanlisted code...
Standard+Kick - Ban only for blacklisted code
+ kick for unknown code entries...
Strict - Ban for everything not in
whitelist filter
* Ability to detect multiple attempts i.e user spamming an logfile
i.e
If u could ban a player than appears in setpos.log
10 times in 5 seconds if u wanted to...
Or
U can also add in different triggers i.e different triggers for
pipebombs / grenades etc...
Directory Layout
pyBEscanner.py
[Main Python Script.... This is what u run]
/conf/servers.ini
[Settings File, reloaded everytime before a log scan]
/rules>
[Filter file directorys, were rules are located.
If u arent using Custom Filter Setting]
/tools/rcon/
[Source code available for exe's in src directorys, read the readme.txts]
/pyBEscanner/rules
[Location of whitelist / kicklist / blacklist / spamlist rules]
/Logs/Battle Logs - %Year-%Month-%Day
[Location of archived battleye logs,
also contains any bans/kicks/unknown logs]
Installation
Copy conf/conf-example.ini -> conf/conf.ini
Edit conf/conf.ini
python pyBEscanner.py
Extras
python pyBEutility.py --download-bans
After u have pyBEscanner configured... U can set to run this command once a day/week if u want.
It will download cblbans / dwbans & banzunion bans + add any missing bans to your servers bans.txt for u.
U can run this command while pyBEscanner is running.
python pyBEutility.py --pause-scan
If u are paranoid of open file locks, while rotating server console / rpt logs.
Add this to your script / bat file.. to pause server scanning...
python pyBEutility.py --resume-scan
This re-enables server log scanning
Requirements
Python 2.7
Mono + Wine (Only for Linux / Unix / BSD etc)
Known Issues
* No python rcon networking code
* There is no to very little exception handling code...
So if u make a typo in filter files will cause app to crash
Notes:-
* U can alter the settings & pyBEscanner rules & settings, while the
program is running. Just avoid making any typo mistakes
* When using multiple rules, if u load up multiple spam filter with same
regrex rule, the last one loaded is used.
* Don't forget u can add exceptions when making a spam rule
---------------------------
---------------------------
Thx for the following people for helping out with this project
Nanomo for creating the c# app for kicking players
k4n30 for updating the rules & finding my mistakes
ziellos2k for creating the BattleNET C# library
and everyone else that i forgot....