mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Aug 2010
Posts: 19
M
Manit Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Aug 2010
Posts: 19
Hi again i'm wondering if someone help me with mass join kicked detected with diff IP.. with set +R for 125 sec.


~Manit~
Joined: Nov 2006
Posts: 1,559
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Nov 2006
Posts: 1,559
I don't get what is meant by "kicked detected". I also don't know whether you want to count (and react on) joins into a specific channel only.
However, here's a sketch to detect massjoins "in general" (not channel specific). It may give you a general idea - modify the code as you like... or explain what you're looking for smile
Code:
; someone (but not you) joins
on !*:join:#: {

  ; the user has no other comchan (to prevent you from counting users more than once that are "reconnecting-and-auto-rejoining")
  if ($comchan($nick,0) == 1) {

    ; add to hash table called "joinflood.<network connection id>" an item called "joining.<random number>" and unset the item after 10 seconds
    hadd -mu10 $+(joinflood.,$cid) $+(joining.,$rand(0,99999))

    ; if more than 9 items are set in the network's joinflood hash table
    ; (that is: more than 9 different users joined any chan of yours in the last 10 seconds)
    if ($hfind($+(joinflood.,$cid),joining.*,0,w) >= 9) {

      ; ##### do stuff #####
      ; e.g. set some mode in some chans and start a timer to unset the modes after a fixed time
      ; or have the timer call an alias that will periodically check the number of recent joins and unsets the modes if all eased up)

    }
  }
}

Last edited by Horstl; 17/05/11 03:02 AM.
Joined: Aug 2010
Posts: 19
M
Manit Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Aug 2010
Posts: 19
I' asking for mass join kick flooder with diff IP example:

[21:15] * agqc (unuiqr@212.16.95.5z51=) has joined #PR
[21:15] * avlx (wcjyxw@83.216.184.8Z204=) has joined #PR
[21:15] * aksw (mqyhsi@178.218.225.5N117=) has joined #PR
[21:15] * abju (hzabjq@219.139.158.YY39=) has joined #PR


~Manit~
Joined: Jul 2007
Posts: 1,129
T
Hoopy frood
Offline
Hoopy frood
T
Joined: Jul 2007
Posts: 1,129
I've seen you ask for flood detecting scripts at Hawkee a few times and here at mIRC help forum. It seems none of them satisfy your taste for a join flood detector. It doesn't matter if they join with different hosts, so long the code can count the allowed the limit, a flood kicker should catch them. Horstl's code shall work as instructed to suit your needs. If you don't know how to do it, ask Horstl kindly to do it for you...

Last edited by Tomao; 17/05/11 05:07 AM.
Joined: Aug 2010
Posts: 19
M
Manit Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Aug 2010
Posts: 19
yes I ask there but i want to find the real mass join detected that can kick the flooder with differents IP's.. and this days flooders don't use same IP.. They come with alot of differents.


~Manit~
Joined: Aug 2010
Posts: 19
M
Manit Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Aug 2010
Posts: 19
Thats why i came here to see if someone make a good mass join kicked flooders script. Yse ty and yes i like Horstl to help me with one please.. I like this one but i don't know how to do it.



; someone (but not you) joins
on !*:join:#: {

; the user has no other comchan (to prevent you from counting users more than once that are "reconnecting-and-auto-rejoining")
if ($comchan($nick,0) == 1) {

; add to hash table called "joinflood.<network connection id>" an item called "joining.<random number>" and unset the item after 10 seconds
hadd -mu10 $+(joinflood.,$cid) $+(joining.,$rand(0,99999))

; if more than 9 items are set in the network's joinflood hash table
; (that is: more than 9 different users joined any chan of yours in the last 10 seconds)
if ($hfind($+(joinflood.,$cid),joining.*,0,w) >= 9) {

; ##### do stuff #####
; e.g. set some mode in some chans and start a timer to unset the modes after a fixed time
; or have the timer call an alias that will periodically check the number of recent joins and unsets the modes if all eased up)

}
}
}


Last edited by Manit; 17/05/11 05:11 AM.

~Manit~
Joined: Jul 2007
Posts: 1,129
T
Hoopy frood
Offline
Hoopy frood
T
Joined: Jul 2007
Posts: 1,129
Even though you ban their IPs, they will always come back with different ones incessantly. You're gonna find yourself banning them nonstop and ban list inundated with lots of bans. You can ban their IPs in a wildcard manner, but that'll affect the innocent users who share the same IP ranges.

It's unproductive to ban them again and again. When you need is a flood detector that will immediate set the channel mode to moderation and have it unset with a few seconds.

Just food for thought.

Joined: Aug 2010
Posts: 19
M
Manit Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Aug 2010
Posts: 19
Originally Posted By: Tomao
Even though you ban their IPs, they will always come back with different ones incessantly. You're gonna find yourself banning them nonstop and ban list inundated with lots of bans. You can ban their IPs in a wildcard manner, but that'll affect the innocent users who share the same IP ranges.

It's unproductive to ban them again and again. When you need is a flood detector that will immediate set the channel mode to moderation and have it unset with a few seconds.

Just food for thought.



I like that.. Any way you can help me with that Tamao.


~Manit~
Joined: Jan 2007
Posts: 1,156
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Jan 2007
Posts: 1,156
Yeah, what Tomao said. They are probably using proxies to "change" their IP which means ban a wide ip range, which is not suggested unless you don't care about people not being able to join your room, or you deal with it psychologically. There is more than one way to stop a flooder, and trying to stop their flood with a script unsuccessfully usually gets them all high and happy and wanting to do it more. If you can talk to the person, you may be able to figure out what they are trying to accomplish by flooding and maybe figure out a way to satisfy them differently.

Joined: Oct 2004
Posts: 8,330
Hoopy frood
Offline
Hoopy frood
Joined: Oct 2004
Posts: 8,330
Most flooders of that sort are bots, so talking with the person is probably not possible.

Setting a temporary +m or even setting the limit (+l) of the channel to total users + 3 after a few seconds whenever someone joins would be helpful.

The moderated option (+m) works if you have a way to determine whether a person joining is a spammer/bot and if the bots are posting messages in your channel. You may be able to do this based on nick or ident as those are often very random and normal users normally don't have that kind of nick or ident. Or you can base it on the number of joins within a short time. There may be other ways as well depending on how they are flooding/spamming you. The usefulness of +m is that no matter how many join the channel, as long as the channel is +m, only voiced users (and higher) can talk. As long as you don't mind voicing your normal users or you don't mind silencing your normal users for a period of time, then it's a good way to prevent spammers from posting spam messages to the channel. +m is not helpful if the bots aren't posting messages to the channel, but are sending private messages to users or just joining/parting.

The limit option (+l) works if you are hit by a large number of joins in a short time from flooders and not from normal joins. If you normally don't have that many people join within a 5 second or 10 second period of time, you can set the limit 5-10 seconds after a person joins the channel. Here's an example of what that would do...

Let's say someone floods you with 20 bots joining all at once. If you set the limit to +3 over the total current users after 5-10 seconds of a person joining, then at most, only 3 bot nicks could join. The rest would be blocked. This does not prevent those users from posting spam to your channel, but if they are just joining and parting, then this works well. Of course, if they learn what you're doing (that doesn't usually happen because there is usually not a real person monitoring what the bots are doing), then they can make only a couple bots join and part over and over and +l won't help with that kind of flood.

Another option is to use +i (invite only) if there are a large number of joins/parts in a short time. That prevents anyone from joining without being invited as long as it's active. This is useful in that if a bot is joining and parting over and over, making +l useless, then this would stop the bot from rejoining even if it's the only nick doing the join/part flooding.

And, of course, temp bans are useful. Set them for a few minutes and you'll avoid filling up your ban list and most bots aren't going to come back very soon after being banned for even a few minutes. They might later in the day or the next day, but this would help to hold them in check. The unfortunate effect of using bans though, is that if you have a large number of bots joining the channel, your bans are going to flood the channel just as much as the joins.

What is comes down to is that you need to first determine exactly what they are doing to flood/spam you. That lets you decide what kind of measures you can take that will be useful and which ones won't help. Then, if possible, determine if it's just a lot of bots or if it's a person doing it. Bots are typically easier to deal with as they don't change based on your actions. A person can adapt based on what you do to them and that's harder to handle if they can change their host. After that, you can set up a script or script that will help to prevent the spamming or flooding. Finally, you need to tweak it to cut down on those that manage to get through.


Invision Support
#Invision on irc.irchighway.net
Joined: Aug 2010
Posts: 19
M
Manit Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Aug 2010
Posts: 19
ok guys thanks..


~Manit~

Link Copied to Clipboard