Ignoring the case sensitivity bug, 1.13d's ignore list is not sufficient for blocking spam from websites. I'm going to go into a simple example where I ignore the region-specific extended ascii table, as well as the fact that Battle.net itself uses unicode not ascii (Diablo II uses ascii).
Let's take the string "lewt" and figure out how many reasonable look-alike strings can be made with the ascii character set. I'll make some assumptions.
1. we're not using extended ascii.
2. no more than 3 spaces or visual breaks between characters.
3. we're pretending case sensitivity has been fixed.
L can be written as:
Or 18 different options. apologies if i missed some.
E can be written as:
W can be written as
uu (making 9 combinations not 5)
t can either be written as
t or +.
so without spaces 18*2*2*9, now add in up to 3 space like chars:
oh and space, so 5 different ones. we use 6 though because it's up to not exactly. so
2^7 * 3^11 ways of writing lewt, like for example:
|_ E \/\/ T
22.6 million ways. (sorry this is wrong, this was before I thought of 2 more ways of expressing "L"
Even if only 1/100th of these were considered legible enough to be used in an advertisement that would still be nearly a quarter of a million ways of communicating the message "lewt"
Now, typing out every combination in a text file is not even close to viable. Each of these ways takes at minimum 6 characters (4+ a line break + a ! to indicate it's a string to block)
1/100th of the total number is well over a gig of memory. but there is more than one website, with longer names, many messages are over 6 characters, and diablo II is a 32 bit program. We'll run out of memory before we come close to getting rid of the spam with string matching, ignoring that, I don't have that much physical memory or disk space to deal with the 22 sites I've seen this week.
Unfortunately account ignoring is no-better. Since blizzard does not have the tools to look inside games they can't ban for it effectively, just on battle.net chat, the number of different accounts that can me made on battle.net is absurdly large. Since ignoring by CD-Key is not available, ignoring by account is virtually impossible. The same issue applies to characters.
Ways to solve this:
implement a unique tied to cd-key identifier sent with the chat message that lets us ignore players by key, this is probably more difficult than option 2.
implement regular expressions for message ignores. This while complex for the average user, would allow players to ignore a spam website with a single, though complex, line. Community ignore lists would be viable with this feature. Most versions of C support regular expressions. If your version does not, GNU version of C does, and is available under the LGPL for use with whatever you may like. The LGPL does not require those projects to be licensed under the same license so you are free to keep your code closed-source.
Ideally we could have both of these, but we certainly need one of them. Right now, this battle although we have tools to fight back, will not end unless we can be as efficient at blocking messages as spammers are at sending them.
Oh, and make the chat message body a required field. The null messages sent by spambots cannot be blocked with a string filter because they actually contain a null terminated string of length zero. This should not be allowed.
[ Post edited by Kaylin ]
1. Re: 1.13d's ignore list feature is not suffic 03/12/2012 10:43:44 PM PDT
- Ignoring players is now saved between sessions of the game. All ignores are now
written out to disk (file: 'ignorelist'). This feature can be toggled by issuing
the command '/ignorepersist'.
- Users can now filter messages based on content by issuing the command
'/filtermsg <content>'. To unfilter content issue the command
'/unfiltermsg <content>'. (The maximum length of a filter pattern is 128
- Users can now set their home channel by issuing a new Battle.net chat command
'/home <channel name>' while in the Battle.net chat interface.
- Users can return to their home channel at any time by issuing the command '/home'
while in the Battle.net chat interface.
things u well need after activating your ignorelist
default location "C:\Program Files\Diablo II\ignorelist"
the ignore list is a regular txt file without the .txt at the end so without any extinsions at the end it would be called ignorelist
you dont always have to sit there and type in /ignore *spamacctalldaylong24_7_365
you can edit that file when ever you feel like it so u can keep up with the spam bots once you have used the command /ignorepersist it well remane active untill u have to reinstall diablo 2 or erase you reg from your computer
most of these spam accounts have a pattern and if your smart enough u can ignore all 1.5 million spam bots if i over exaggerated correctly
any ways here are some examples these are some of d2anya spam bots by the way but do you see the pattern