Название: Anti Flood Join
Версия: 1.0
Автор: Epic
Программа: mIRC
Скрипт: AntiFloodJoin.mrc
Описание: Скрипт активирует защиту, когда один и тот же пользователь слишком быстро и многократно перезаходит на канал. При достижении определённого лимита перезаходов за короткое время на ник пользователя будет установлен "Kick+Ban". Каждый пользователь записывается во временную хеш-таблицу по хосту для дальнейшей проверки превышения установленного лимита.
Настройка: Вы можете изменить настройки параметров скрипта внутри алиаса "jflood" на необходимые вам значения:
join-max - настраивает максимальное количество входа на канал, при достижении которого на ник пользователя будет установлен "Kick+Ban". По умолчанию: [c]2[/c]
time-max - настраивает максимальное число секунд, в течении которого пользователь может быть забанен, при достижении предела входа на канал. По умолчанию: [c]4[/c]
kick-text - настраивает текст сообщения причины Кика и установки Бана для извещения нарушителя. По умолчанию: [c]Stop Join Flood![/c]
type-ban - настраивает 1 из 7 представленных типов Бана, который будет установлен в случае достижения лимита подключений за указанное время в секундах. По умолчанию: [c]6[/c]
Установка:
Откройте редактор скриптов вашего клиента с помощью комбинации клавиш "ALT+R" (на вкладке "Remote").
Выберите в верхнем меню пункт "File/New", чтобы открыть новый файл и разместите в нём этот код.
Выберите в верхнем меню пункт "File/Save As..." и сохраните код по пути "scripts\AntiFloodJoin\AntiFloodJoin.mrc".
Если ранее была установлена предыдущая версия кода, то замените его на этот новый код скрипта.
Скачать 💾
;##################################################################### ;# Название: Anti Flood Join v1.0 ;# Автор: Epic (https://forum.epicnet.ru, irc.epicnet.ru 6667 #Code) ;# Описание: Защита от Join/Part флуда. Все настройки производятся с помощью параметров внутри алиаса "jflood". ;##################################################################### alias -l jflood { hadd -m jf join-max 2 hadd -m jf time-max 4 hadd -m jf kick-text Stop Join Flood! ;--------------------- ;# Type 1 = nick!ident@host ;# Type 2 = nick!*@host ;# Type 3 = *!ident@host ;# Type 4 = nick!*@* ;# Type 5 = *!ident@* ;# Type 6 = *!*@host ;# Type 7 = *!*@subnet* ;--------------------- hadd -m jf type-ban 6 } on *:JOIN:#:{ jflood | var %jf_chan $+(jfchan-,$chan) | var %jf_nick $+(jfnick-,$chan) | var %jf_ip $gettok($address($nick,5),2,64) if ($hget(%jf_chan,%jf_ip)) { hinc -m %jf_chan %jf_ip 1 } if (!$hget(%jf_chan,%jf_ip)) { hadd -mu $+ $hget(jf,time-max) %jf_chan %jf_ip 1 | hadd -m %jf_nick %jf_ip $nick } echo $chan 04JFLOOD: >>> $hget(%jf_nick,%jf_ip) $+($chr(40),%jf_ip,$chr(41)) = $+(04,$hget(%jf_chan,%jf_ip)) if ($hget(%jf_chan,%jf_ip) >= $hget(jf,join-max)) { ;--------------------- if ($hget(jf,type-ban) == 1) mode $chan +b $address($hget(%jf_nick,%jf_ip),5) if ($hget(jf,type-ban) == 2) mode $chan +b $address($hget(%jf_nick,%jf_ip),7) if ($hget(jf,type-ban) == 3) mode $chan +b $address($hget(%jf_nick,%jf_ip),0) if ($hget(jf,type-ban) == 4) mode $chan +b $+($hget(%jf_nick,%jf_ip),!*@*) if ($hget(jf,type-ban) == 5) mode $chan +b $+($gettok($address($hget(%jf_nick,%jf_ip),1),1,64),@*) if ($hget(jf,type-ban) == 6) mode $chan +b $address($hget(%jf_nick,%jf_ip),2) if ($hget(jf,type-ban) == 7) mode $chan +b $+(*!*@,$gettok(%jf_ip,1-2,46),.*) ;--------------------- kick $chan $hget(%jf_nick,%jf_ip) $hget(jf,kick-text) hdel %jf_chan %jf_ip } }
P.S. Если вы столкнулись с трудностями установки скрипта или вы обнаружили ошибки, а может быть у вас возникли новые идеи по модификации, то обязательно оставьте здесь свой комментарий со списком всех ваших запросов, с подробным описанием и примерами для каждого пункта.
- Подпись автора
[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4897E7;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]