Torndeco / pyBEscanner

python Battleye scanner
12 stars 14 forks source link

Feature Request #57

Open k4n30 opened 11 years ago

k4n30 commented 11 years ago

Obviously not high priority, but would be nice to have a badnames.txt file that player names can be added to and whenever those names are detected they are kicked from the server. Think of it as a names blacklist and use's regex like the current filters. Don't think there's anything out there currently that offers a regex name kicker. Could even use the data that pyBEscanner loads in from the log files to check this data.

Let me know what you think

Torndeco commented 11 years ago

While possible to-do with data avaiable in battleye logs, would end up having to check every single line entries in logs. Would end up checking same nick multiple times

Plus the server console logs as mentioned before lag abit behind. So point scanning them (except as a failback option). Would end up kicking the person 30 mins after they join.

I really think the best solution is to code an rcon bot really. That way it would be able to track player guids / names in realtime

Would prob end up using python + http://twistedmatrix.com

k4n30 commented 11 years ago

We are checking every line currently for whitelist, kicks, banlist anyway so would it be that much extra to add a name check too? As for checking the same nick multiple times, when it finds a match it adds it to a kickslist (unless it's already in there) and executes them after the log scanning is complete (ie the same time as .kicklist's).

matthewlenz commented 11 years ago

"I really think the best solution is to code an rcon bot really." Wanna know the sad part? BEC is written in python. It's just py2exe'd and closed source. It's a shame he doesn't just open the thing up. That software has a rock solid rcon implementation.

Actually though the BEST solution would be if the server_console.log caching wasn't messed up (I got dwarden to shoot one of the programmers at BIS a question about that). Reason? the server_console.log includes the players unique id. The same unique id that is used in the hive. You could do some really cool hive integration stuff if unique ids could be tied to guids and ips.