Mabinogi World Wiki is brought to you by Coty C., 808idiotz, our other patrons, and contributors like you!!
Want to make the wiki better? Contribute towards getting larger projects done on our Patreon!

Tool for auto-identifying bots

Jump to: navigation, search

Hi Angevon (and any other admin reading this page),

I noticed your comment on Kevin's Talk Page, and I thought, "Wow, that's a shame. Because of some idiot(s), admins like Angevon have to spend time tracking down these bots, when they're just going to make a new one." I saw the opportunity to apply my programming skills (and some of my spare time), to help ease the load, especially if the botters decide to go into full war mode.

To that extent, I created a handy little tool to automate most of the bot-ban process. My tool, when run, downloads a copy of the New Users page (by default, only 50 names, but you can copy/paste in your own URL with other options if you want them). Once it has the page, it'll parse the usernames out. Once it has this list of new usernames, it filters them with a Regular Expression. I'm not sure how much you know about Regular Expressions (Regex), but basically, a Regex is a way of representing a pattern to a computer.

In this case, the regex matches the current bot fad of [2 uppercase + several lowercase + some numbers]. I allow the regex to be changed, so, say, in a month, when bots start using a different name scheme (say [number letter number letters]), you can just update the regex to match those.

Once it has this filtered userlist, it proceeds to determine if the user is banned or not. Finally, it color-codes this information, and presents it to you in a nice table layout. At a glance, you can easily see any potential bots that aren't banned. Selecting and double clicking a username will open that User's page automatically, for further investigation/actions.

For a screenshot, please see here [1] (note that I used a "match everyone" regex in the picture, for demo purposes.)

The program uses the .NET runtime 4.0, an easy download from Microsoft if you don't have it.

I put my program here if you want to give it a try. [2] It comes with the current bot regex already entered in for you :)

For those of you who are a tad paranoid, VirusTotal info can be found here: [3]

It isn't much, but it's the least I can do to help out, besides reporting them. Any questions/comments/requests, just let me know, and I'll see what I can do :).

Xcelled19418:47, 4 October 2011

This is very cool, thank you very much.

Angevon (Talk)09:55, 8 October 2011
 

Just FYI, Kevin seems to have discovered the bots are changing fads. Now, they're doing ([one Uppercase][many lowercase][one Uppercase][many lowercase])

With that in mind, I updated the regex for you. This will match both the old and new bots. (([A-Z]{2}\w+[0-9]+)|([A-Z][a-z]+?[A-Z][a-z]+))

Also, how much do you know about Regex? I'd like to know if I should explain the above regex.

Xcelled19409:45, 9 October 2011
 

There are different styles of regex too. Also, why did you use .Net >:|
You could have used XUL which is simpler, though it only runs on Firefox/XULRunner but I remember Angevon mentioning that she used firefox ~小太郎 TALKCONTRIBS 2011:10:11:05:06 (Tuesday)

~小太郎 TALK<sub style="margin-left:-26px22:06, 10 October 2011
 

I used NET cause it can run as a standalone, no browser required. I chose it over C++ bevause NET provides several readymade classes for web-stuff that I've used before.

Xcelled19404:11, 11 October 2011
 

I don't know anything about Regex, but I don't think it's worth the time to explain it to me since it looks like something that's way over my head, haha. I am most definitely not a CompSci major!

Angevon (Talk)10:34, 11 October 2011
 

Regex is actually pretty ease, especially if you have the cheatsheet open xD. Pretty much, a regex is simply letters the program tries to match. You can group ( ), match one of several [ ], or repeat + letters. Most regex are just lengthy cobinations of those haha. Who knows, you'd probably be pretty good at regex

Xcelled19411:17, 11 October 2011
 

I had a hard drive crash, and am in the process of recovering all of my data files (including the sourcecode for my program) but once I do, I was thinking of adding two new features....

  1. Date of User Creation
  2. Searching Recent Changes for reports of vandalism.
Xcelled19414:04, 11 October 2011
 

OK, I updated it. New features:

  • Shows Date of Account Creation
  • Looks at Recent Changes for any Undo revision by xxx (Vandalism) entries, and displays them as well
  • Displays reason for match (Matched pattern/Vandal Report)
  • Program checks user contributions for edits (potential vandalisms to be corrected) and highlights those.
  • Added sorting
  • Default sort by account date (newest first).
  • Cleaned up UI a bit
  • Cleaned up item selection (Let me know if you like it)

I put the program in the same place as last time (here) and here is an updated screenshot:

here

Xcelled19419:18, 11 October 2011
 

Updated regex for newest bot-fad: [A-Z]\w+?[A-Z]\w+?\d+

This matches names like: GalvinConnor268 DanonKelso52 AodhganPreston1004

Xcelled19413:43, 24 October 2011