mIRC Homepage
Posted By: asib Help on join FLOOD - 22/02/05 06:24 AM
I need Flood Protection , 1st i have a Small Chat Server, and im Geting Attacks alot, Please help me.. ok here what i want..
-
*Flood Loads More Then 100's BOTs On the Server ! and i want to Ban that BOTs, 5 BOTS join in 4 sec and i want to Ban them ALL Tougher and Plus Set the Room Modes ! Can you Please help me Making this Code ? Please
thank you !
Ex:
* ]XXX[124393 (~XXX@7119E937.EA5293F5.D8CDE87.IP) has joined #Mirc
* ]XXX[867236 (~XXX@C04778D3.C30729C4.559E8F0B.IP) has joined #Mirc
* [1XXX[331965 (~XXX@F65C355C.4595C5E2.A7244040.IP) has joined #Mirc
* ]XXX[284320 (XXX@6E8A57BA.702E3580.F4A96B29.IP) has joined #Mirc
* ]XXX[021308 (~XXX@BEA08345.CC72575C.F4A96B29.IP) has joined #Mirc
* ]XXX[444240 (~XXX@727DA85D.6046D588.3C848823.IP) has joined #Mirc

*See All this With Diff IP joined Toghter !! Please help me makeing this Code

*Notice i did Post this be4 no one Replayed me ! so Please this time let me know ! please
Posted By: landonsandor Re: Help on join FLOOD - 22/02/05 02:20 PM
you could try something like banning (when you get opped in the channel - after filtering out before the [ you'll notice that there's the same number of characters in the nickname)):

//mode # +b *[??????!*@*

or (which might be more effective):

//mode # +b *!*XXX@*

or (if you can afford to do this):

//mode # +b *!*@*.ip

That should help for starters. Maybe you'd need to talk to somebody on your network about being join-flooded *shrug*
Posted By: gemeau50 Re: Help on join FLOOD - 22/02/05 04:51 PM
If joining is all what they do, it's a piece of cake.

Simply identify a pattern in their fulladdress and set a ban according to it.

In your example, you have 2 choices.

/ban *xxx*!*@*
/ban *!*xxx@*

This will freeze all bots in your channel and no other will be able to join.

And then, kick them at will.

But they do more, aren't they?
Posted By: SladeKraven Re: Help on join FLOOD - 22/02/05 05:10 PM
You could try:
Code:
on @*:Join:#: {
  if ($ial == $false) { 
    .ial on 
  } 
  if ($chan($chan).ial == $false) { 
    who $chan 
  } 
  var %x = $ialchan($wildsite,$chan,0)
  if ($ialchan($wildsite,$chan,0) >= 1) {
    while (%x) {
      ban -k $chan $ialchan($wildsite,$chan,%x).nick You appear to be a clone.
      dec %x
    }
  }
}


That should kick ban anyone who comes in providing they have a clone in there.
Hope that helps.
Posted By: asib Re: Help on join FLOOD - 23/02/05 09:03 AM
Its Not a Clone ! you Can Call its a Proxy ! spybot , rxbot thats what they flood with... sometime they come with RanDom nick ! so by just baning there nick its wont work.. i want it like this in 30 Sec 5 user can join on Channel ! if its join more then that then bot will auto ban there ip !
Posted By: SladeKraven Re: Help on join FLOOD - 23/02/05 09:59 AM
Ok, well proxy then, that would ban the nickname of the second person on that address. This should ban the host:

Code:
on @*:Join:#: {
  if ($ial == $false) { 
    .ial on 
  } 
  if ($chan($chan).ial == $false) { 
    who $chan 
  } 
  var %x = $ialchan($wildsite,$chan,0)
  if ($ialchan($wildsite,$chan,0) >= 1) {
    while (%x) {
      ban $chan $address($ialchan($wildsite,$chan,%x).nick,2)
      kick $chan $ialchan($wildsite,$chan,%x).nick You appear to be a clone.
      dec %x
    }
  }
}
Posted By: captain_comic Re: Help on join FLOOD - 23/02/05 11:04 AM
Quote:
I need Flood Protection

I use a very nice routine I got once from Dalnet. You can use this to detect all kinds of floods, including the kind of joinflood you describe.

alias isflood {
;Call this identifier each time you want to check if there is a flood, for example
;on *:JOIN:*: if ($isflood(joinflood,5,3)) { mode # +i }

; $1 - name eg "joinflood"
; $2 - times (in how many seconds)
; $3 - seconds

;If not enough parameters, return
if (!$3) return

var %v = $chr(37) $+ isflood. $+ $1

;If the var doesnt exist
if !$(%v,2) {

;Set it to 1
set $(-u $+ $3,2) $(%v,1) 1
}

else {
;Else increment the var
inc $(%v,1)
}
;If the var is more than or equal to what you specified (times)
if $(%v,2) >= $2 {

;Unset the variable so it doesnt continually return true
unset $(%v,1)

return $true
}

; If it is not triggered return false
return $false
}
Posted By: asib Re: Help on join FLOOD - 24/02/05 02:30 AM
This isnt working ? frown
Posted By: asib Re: Help on join FLOOD - 24/02/05 02:32 AM
Hm.. i have the Clones one.. but this isnt Clone ! alot of BOTs join at Once with many diff ISP(S)
Posted By: captain_comic Re: Help on join FLOOD - 24/02/05 10:27 PM
Quote:
Hm.. i have the Clones one.. but this isnt Clone ! alot of BOTs join at Once with many diff ISP(S)

The flood routine I suggested has nothing to do with ISP's, but can count the number of joins per period (or the number of lines per period in your querywindow, etc). Call it in an on JOIN event with: if ($isflood(joinflood, 5, 4)) { .. actions if 5 or more joins in 4 seconds happen .. }
Maybe you have to play with the parameters, try 5,3 5,6 4,4
Good luck
Posted By: Iori Re: Help on join FLOOD - 25/02/05 07:26 AM
set a limit of <users>+5 or so, then you'll only need to worry about 5 bots.
Code:
on @*join:#:.timerlimit $+ # 1 5 mode # +l $!calc($nick( # ,0)+5)
on @*part:#:.timerlimit $+ # 1 5 mode # +l $!calc($nick( # ,0)+5)
Posted By: Iori Re: Help on join FLOOD - 25/02/05 07:29 AM
Quote:
*Notice i did Post this be4 no one Replayed me !

Uh, I did. Asking for just this info
Posted By: asib Re: Help on join FLOOD - 01/03/05 01:35 AM
Thanks ! that will Help tho
Posted By: asib Re: Help on join FLOOD - 01/03/05 01:37 AM
Thank you very much ! that will doo good "captain_comic" "Iori " smile
© mIRC Discussion Forums