Valhalla Legends Forums Archive | Battle.net Bot Development | Flood Bots & Trying to ban them

AuthorMessageTime
Networks
At this point I open to anyone who wishes to flame me I don't care and I might look like a newb and thats fine but I actually really trying to ban a flood bot. I based my method how the timings to fast they join/leave a channel. Basically any user who joins and leaves within a 1500 ms interval gets banned. I think I got close possibly not but this is what I am getting at:

[12:00:00:12] lelbzjrhxc www.zeroforce.tk - www.zeroforce.tk - www.zeroforce.tk - 199 DOWNLOADS CURRENTLY!
[12:00:00:12] /ban lelbzjrhxc [ Rejoin ] - Vanquished!

Obviously I am not able to ban them quite yet but I think It's kinda of close. How can I be 1 millisecond faster?

These are some of the functions I use. Please tell me if this is not enough:

[code]
Case ID_JOIN

If GetBanIndex(Username) <> -1 Then
Send "/ban " & Username & " [ Auto-Ban ] Vanquished!"
End If

If GetCUIndex(Username) <> -1 Then
If GetTickCount() - CheckUser(GetCUIndex(Username)).LastTick <= 1500 Then
Send "/ban " & Username & " [ Rejoin ] - Vanquished!"
If GetBanIndex(Username) = -1 Then
temp.Username = Username
AddtoBL temp
AddC vbGreen, Username & " was added to the banlist."
End If
End If
End If

If GetCUIndex(Username) = -1 Then
temps.Username = Username
temps.LastTick = GetTickCount()
AddtoCU temps
Else
CheckUser(GetCUIndex(Username)).LastTick = GetTickCount()
End If
[/code]

Anyhow any suggestions are appreciated. And yes I know filtering can be better than actually banning but I am trying this anyway. More an trial and error to see if it is physically possibly.
May 26, 2004, 7:41 PM
Spht
Oh no, not this again. Read this post very carefully, please.
May 26, 2004, 7:55 PM
Gangz
LOL we went threw that one for a long time. Reading it wont help much with filtering though.
May 27, 2004, 12:12 AM
Grok
Yes, but it may be new for Networks.

Please read the post regarding banning floodbots. There is a wealth of knowledge there for you to consider.

However, just looking at your code, (and ignoring all other facts and logic from other discussion), the first thing you should do is ban without a reason. Adding a reason "[ Rejoin ] - Vanquished!" increases your own flood penalty and reduces the amount your bot can "talk" before getting banned for flooding. OH THE IRONY.
May 27, 2004, 2:50 AM
Mephisto
Why are you checking for a certain number of milliseconds before sending the ban? Seems like it'd be a waste of time as the calculations may cost you a couple milliseconds to check which is something you wanted to avoid. I would just ban them unconditionally if you really wanted to get rid of flood bots. Perhaps a floodbot mode that acted as an unconditional join ban?
May 27, 2004, 3:19 AM
Null
its called channel protection
May 27, 2004, 3:45 AM
Mephisto
[quote author=effect link=board=17;threadid=6972;start=0#msg62082 date=1085629520]
its called channel protection
[/quote]

Channel protection is conditional. In other words, it requires a database check before it can determine if the user should be banned. I was referring to an unconditional join ban which will ban any user who enters regardless of their flag mask and not ban people who are currently in the channel. I believe Stealth did something similar to this with his bot.
May 27, 2004, 3:48 AM
Null
Thats just stupid , why ban users who are safelisted.

if it came down to that u mosewell just filter the floodbots.
May 27, 2004, 3:50 AM
Mephisto
*shrug*

If he really wanted to ban the flood bots he would probably have to resort to that. Given the nature of how they now work (sending both a join, chat event, and disconnect event in one TCP packet) you would probably have to resort to that.

Wasting precious milliseconds (as he implied that he didn't want to laste) will often cause the failure to ban the flood bot. Though connection and to an extent computer performance play an important role in the probability of banning the flood bot.

And anyways, he's making two pointless function calls to check for 1500ms. It's a pointless and wasteful calculation that has no point really...Even if it passed as true the amount of time it takes you to process those two functions and execute the ban will probably take too long to successfully ban the flood bot.
May 27, 2004, 3:52 AM
Null
"If he really wanted to ban the floodbots , he would have to resort to filtering them?"

I dont see how filtering them in any such way will lead to a ban. but hey your "slick"
May 27, 2004, 4:02 AM
Mephisto
[quote author=effect link=board=17;threadid=6972;start=0#msg62091 date=1085630531]
"If he really wanted to ban the floodbots , he would have to resort to filtering them?"

I dont see how filtering them in any such way will lead to a ban. but hey your "slick"
[/quote]

Filtering the flood bot has nothing to do with banning it. And there's various other reasons for banning the flood bot as oppose to filtering it. Several Battle.net channels have guests in their channels who do not have anti-flood-bot-filtering mechanisms built into their clients or are on actual game clients and therefore are stuck seeing the spam and rejoins, when they could possibly be banned avoiding that. Making pointless calculations which waste time are probably guaranteed for you that you won't successfully ban the flood bot.
May 27, 2004, 4:04 AM
Null
[quote author=Mephisto link=board=17;threadid=6972;start=0#msg62092 date=1085630682]
[quote author=effect link=board=17;threadid=6972;start=0#msg62091 date=1085630531]
"If he really wanted to ban the floodbots , he would have to resort to filtering them?"

I dont see how filtering them in any such way will lead to a ban. but hey your "slick"
[/quote]

Filtering the flood bot has nothing to do with banning it. [/quote]

Im well aware of that , maybe if you read your last post you will realize that your the one who isnt.
May 27, 2004, 4:07 AM
hismajesty
[quote author=Mephisto link=board=17;threadid=6972;start=0#msg62081 date=1085627978]
Why are you checking for a certain number of milliseconds before sending the ban? Seems like it'd be a waste of time as the calculations may cost you a couple milliseconds to check which is something you wanted to avoid. I would just ban them unconditionally if you really wanted to get rid of flood bots. Perhaps a floodbot mode that acted as an unconditional join ban?
[/quote]

I've done that, still didn't ban most of the time. Could have been a queue problem or something though.
May 27, 2004, 4:21 AM
Mephisto
[quote author=effect link=board=17;threadid=6972;start=0#msg62093 date=1085630858]
[quote author=Mephisto link=board=17;threadid=6972;start=0#msg62092 date=1085630682]
[quote author=effect link=board=17;threadid=6972;start=0#msg62091 date=1085630531]
"If he really wanted to ban the floodbots , he would have to resort to filtering them?"

I dont see how filtering them in any such way will lead to a ban. but hey your "slick"
[/quote]

Filtering the flood bot has nothing to do with banning it. [/quote]

Im well aware of that , maybe if you read your last post you will realize that your the one who isnt.
[/quote]

Okay, so then why did you bring it up...I don't ever remember initially stating "filtering" until you did which I mis-read.

And Trust, even without this implementation, the operator bot that is used in the Op Zodiac-Legends channel bans on average 30 - 60% of the flood bots that use to spam the channel on occasion.

Btw, I don't mind arguing about this. But can we all agree that worrying about anti-flood-bot implementation is pointless in that flood bots haven't been a threat for a long while now, and I haven't seen one in a channel for several weeks.
May 27, 2004, 4:25 AM
Gangz
The flood bots that are out are almost impossible to ban anymore. The best thing is to filter it from adding to chat and save some lagtime. Try and ban a flood on a good connection with no queue or safecheck and see if your bot has the ability to handle it in the first place. Work from a point that works then perfect it.
May 27, 2004, 5:33 AM
Null
[quote author=Gangz link=board=17;threadid=6972;start=0#msg62105 date=1085635983]
Work from a point that works then perfect it.
[/quote]

i quite like that advice.
May 27, 2004, 5:36 AM
Networks
[quote author=Mephisto link=board=17;threadid=6972;start=0#msg62081 date=1085627978]
Why are you checking for a certain number of milliseconds before sending the ban? Seems like it'd be a waste of time as the calculations may cost you a couple milliseconds to check which is something you wanted to avoid. I would just ban them unconditionally if you really wanted to get rid of flood bots. Perhaps a floodbot mode that acted as an unconditional join ban?
[/quote]

Originally it was HH:MM:SS but I wanted to see how far off I might have been thus the I added milliseconds. I competely understand filtering but not all bots as well as the actual client have filtering. I was just wondering if anyone still had any ideas besides filtering. ( I can try right? )

The way mine works is that if the bot joins and the leaves it will be added to the banlist but even when it is added to the ban list and shows up again I still can't seem to ban on join.
May 27, 2004, 2:46 PM
LordNevar
Try just adding a protection code like stealths [EFP]. Don't have it look from a banlist, just have it ban everyone upon joining and go from there. Have it add users to a banlist after it bans [WILDCARDS], than just go back and unban everyone that you didn't want banned. Atleast that's how I worked my flood protection. My banning's not perfect but it does handle the job decently enough not to be to annoyed by them. Just lock the chat and join/leaves to create less lag for the bot, and you should be fine.
May 27, 2004, 3:59 PM
LoRd
[quote]Originally it was HH:MM:SS but I wanted to see how far off I might have been thus the I added milliseconds.[/quote]
The time you add the ban to your chat window is most likely not the time Battle.net receives your ban, nor is it the time in which Battle.net responds to the ban.
May 27, 2004, 4:01 PM
Gangz
[quote author=LoRd[nK] link=board=17;threadid=6972;start=15#msg62139 date=1085673667]
[quote]Originally it was HH:MM:SS but I wanted to see how far off I might have been thus the I added milliseconds.[/quote]
The time you add the ban to your chat window is most likely not the time Battle.net receives your ban, nor is it the time in which Battle.net responds to the ban.
[/quote]

This is true but you will never truely know when bnet gets it, or how long its taking bnet to respond. You might have a fast enough connection to ban it but bnet is not responding fast enough.
May 27, 2004, 8:30 PM
LoRd
[quote author=Gangz link=board=17;threadid=6972;start=15#msg62183 date=1085689807]
[quote author=LoRd[nK] link=board=17;threadid=6972;start=15#msg62139 date=1085673667]
[quote]Originally it was HH:MM:SS but I wanted to see how far off I might have been thus the I added milliseconds.[/quote]
The time you add the ban to your chat window is most likely not the time Battle.net receives your ban, nor is it the time in which Battle.net responds to the ban.
[/quote]
This is true but you will never truely know when bnet gets it, or how long its taking bnet to respond. You might have a fast enough connection to ban it but bnet is not responding fast enough.
[/quote]
Which was pretty much my point...
May 27, 2004, 8:34 PM
Dyndrilliac
I stated in a previous thread somewhere my method, which build profiles based on a flooder's activities and waits for an oppertune time to send an unconditional ban. It bans about 60-80% of the time, however it can be time consuming if there are only a couple operators and several floodbots, and there are ways around it including erratic rejoin delays. However, if you want to try that method, it will work best with a Warcraft III Clan Channel and the maximum amount of operators. Pointless if the channel only ever has a handful of different people in it at all times.
May 27, 2004, 10:20 PM

Search