python Battleye scanner
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.




A simple python application with goal of scanning arma2 + battlelog files.
This this not protect against people using a battleye bypass


	* Multiple Servers ( No multi-threading support, it scans 1 server at a time )
	* Scans battlelogs
	* Whitelist + Blanlist + Kicklist rules with regrex features
	* 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 /
	* 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
			If u could ban a player than appears in setpos.log
			10 times in 5 seconds if u wanted to...
			U can also add in different triggers i.e different triggers for
			pipebombs / grenades etc...

Directory Layout
	<pyBEscanner install directory>
		[Main Python Script....   This is what u run]

	<pyBEscanner install directory>/conf/servers.ini
		[Settings File, reloaded everytime before a log scan]

	<pyBEscanner install directory>/rules>
		[Filter file directorys, were rules are located.
		If u arent using Custom Filter Setting]

	<pyBEscanner install directory>/tools/rcon/
		[Source code available for exe's in src directorys, read the readme.txts]

	<server battleye directory>/pyBEscanner/rules
		[Location of whitelist / kicklist / blacklist / spamlist rules]

	<server battleye directory>/Logs/Battle Logs - %Year-%Month-%Day
		[Location of archived battleye logs,
		also contains any bans/kicks/unknown logs]

	Copy conf/conf-example.ini -> conf/conf.ini
	Edit conf/conf.ini

	python --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 --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 --resume-scan
		This re-enables server log scanning

	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

	* 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....