• Welcome to Valhalla Legends Archive.
 

Flood Bots & Trying to ban them

Started by Networks, May 26, 2004, 02:41 PM

Previous topic - Next topic

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:


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


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.

Spht

Oh no, not this again.  Read this post very carefully, please.

Gangz

LOL we went threw that one for a long time. Reading it wont help much with filtering though.

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.

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?

effect

Quote from: Mangix on March 22, 2005, 03:03 AM
i am an expert Stealthbot VBScript. Recognize Bitch.

Mephisto

Quote from: effect on May 26, 2004, 10:45 PM
its called channel protection

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.

effect

#7
Thats just stupid , why ban users who are safelisted.

if it came down to that u mosewell just filter the floodbots.
Quote from: Mangix on March 22, 2005, 03:03 AM
i am an expert Stealthbot VBScript. Recognize Bitch.

Mephisto

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

effect

#9
"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 from: Mangix on March 22, 2005, 03:03 AM
i am an expert Stealthbot VBScript. Recognize Bitch.

Mephisto

Quote from: effect on May 26, 2004, 11:02 PM
"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"

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.

effect

Quote from: Mephisto on May 26, 2004, 11:04 PM
Quote from: effect on May 26, 2004, 11:02 PM
"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"

Filtering the flood bot has nothing to do with banning it.  

Im well aware of that , maybe if you read your last post you will realize that your the one who isnt.
Quote from: Mangix on March 22, 2005, 03:03 AM
i am an expert Stealthbot VBScript. Recognize Bitch.

hismajesty

Quote from: Mephisto on May 26, 2004, 10:19 PM
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?

I've done that, still didn't ban most of the time. Could have been a queue problem or something though.

Mephisto

#13
Quote from: effect on May 26, 2004, 11:07 PM
Quote from: Mephisto on May 26, 2004, 11:04 PM
Quote from: effect on May 26, 2004, 11:02 PM
"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"

Filtering the flood bot has nothing to do with banning it.  

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

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.

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.