<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forum.eggheads.org/app.php/feed/topic/20543" />

	<title>egghelp/eggheads community</title>
	<subtitle>Discussion of eggdrop bots, shell accounts and tcl scripts.</subtitle>
	<link href="https://forum.eggheads.org/index.php" />
	<updated>2023-06-17T14:48:58-04:00</updated>

	<author><name><![CDATA[egghelp/eggheads community]]></name></author>
	<id>https://forum.eggheads.org/app.php/feed/topic/20543</id>

		<entry>
		<author><name><![CDATA[SpiKe^^]]></name></author>
		<updated>2023-06-17T14:48:58-04:00</updated>

		<published>2023-06-17T14:48:58-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=112004#p112004</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=112004#p112004"/>
		<title type="html"><![CDATA[mass-join-protection.tcl v1.6.3 (15Jun2023)]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=112004#p112004"><![CDATA[
New Script Version!!<br><br>mass-join-protection.tcl v1.6.3 (15Jun2023) by SpiKe^^<br><br>!!!! This version is a DALnet specific script !!!!<br><br>## Version 1.6.3  tries to add script specific netsplit tracking! (by user):<br># 1) New setting controls how long to save netsplit users user@host info.<br># 2) New setting to exempt users by full  nick!user@host  mask.<br># 3) Script can now be enabled by channel with:  .chanset #chan +mjp<br># 4) Put the entire script in a new namespace:   namespace eval mjp<br><br>!!!! This version is a DALnet specific script !!!!<br><div class="codebox"><p>Code: </p><pre><code>## mass-join-protection.tcl v1.6.3 (15Jun2023) by SpiKe^^ ### !!!! This version is a DALnet specific script !!!! ### Version 1.6.3  tries to add script specific netsplit tracking! (by user):# 1) New setting controls how long to save netsplit users user@host info.# 2) New setting to exempt users by full  nick!user@host  mask.# 3) Script can now be enabled by channel with:  .chanset #chan +mjp# 4) Put the entire script in a new namespace:   namespace eval mjp######################################################namespace eval mjp {   variable mjp ;  variable mjpc ;  variable mjpqsetudef flag mjp   ;# &lt;= Use  .chanset #chan +mjp  to enable this script by channel.################### begin settings #################### Mass joins, kick-ban on joins:seconds #set mjp(flood) 4:1# Exempt all matching users from this script entirely #       &lt;- NEW SETTING &lt;-# - list zero or more exempt masks in the format:  nick!user@host ## - list one exempt mask per file line below. #set mjp(xmpt-masks) {} ;# end of: set mjp(xmpt-masks) ############# kick-ban settings ############# Mass joins kick-ban reason #set mjp(reasn) "�-Mass-Joins-�"# Max number of bans to stack in one mode command #set mjp(maxb) 6# Max number of kicks to stack in one kick command ## NOTE: many networks allow more than one nick to be kicked per command. ##       set this at or below the max for your network.set mjp(maxk) 4# Length of time in minutes to ban mass join flooders ## - set 0 to disable this script removing bans (ex. set mjp(btime) 0) #set mjp(btime) 0# After a valid mass join flood, script will continue ## to kick-ban offenders for an additional 'x' seconds #set mjp(xpire) 5# Set the type of ban masks to use ##  1 = use host/ip specific bans (ex. *!*@some.host.com) ##  2 = use wide masked host/ip bans (ex. *!*@*.host.com) ##      note: setting 2 requires eggdrop 1.6.20 or newer. #set mjp(btype) 2# Don't wide-ban any of these hosts #                  &lt;- RENAMED SETTING &lt;-# - Example:  set mjp(no-wide-bans) "*.undernet.org"#  Note: this setting only applies to ban type 2 above! ##  Note: set empty to not protect any hosts (ex. set mjp(no-wide-bans) "") ##  Note: space separated if listing more than one host. #set mjp(no-wide-bans) "*.irccloud.com *.mibbit.com *.clients.kiwiirc.com"############ channel modes ############# Set channel mode(s) on flood detected. ## - set empty to disable setting channel modes (ex. set mjp(mode) "") #set mjp(mode) "im"# Remove these channel modes after how many seconds? #set mjp(mrem) 10############ netsplit settings ############# Set the time (in seconds) to store each split users info #   &lt;- NEW SETTING &lt;-set mjp(wait-split) 300######################################################################### END OF SETTINGS # Don't edit below unless you know what you're doing #########################################################################if {![info exists mjp(issplit-dict)]} { set mjp(issplit-dict) [dict create] }## thanks to awyeah and nml375 ##bind raw - QUIT [namespace current]::mjp_bindrawquitproc mjp_bindrawquit {from key arg} {   variable mjp  #putlog "proc [namespace current]::mjp_bindrawquit|| from=($from)|| key=($key)|| arg=($arg)"  set arg [string trimleft [stripcodes bcruag $arg] :]  if {[string equal "Quit:" [string range $arg 0 4]]} { return 0 }  set re {^([[:alnum:][:punct:]]+)[[:space:]]([[:alnum:][:punct:]]+)$}  if {![regexp -- $re $arg _arg s1 s2]} { return 0 }  if {![matchstr "*.dal.net" $s1] || ![matchstr "*.dal.net" $s2]} { return 0 }  #putlog "     [namespace current]::mjp_bindrawquit|| s1=($s1)|| s2=($s2)"  set usr [string trim [string tolower [lindex [split $from "!"] 1]] "~"]  if {[dict exists $mjp(issplit-dict) $usr]} {    set mjp(issplit-dict) [dict remove $mjp(issplit-dict) $usr]  }  dict set mjp(issplit-dict) $usr [expr {[unixtime] + $mjp(wait-split)}]}########################################################################bind join - * [namespace current]::mjp_bindjoinproc mjp_bindjoin {nick uhost hand chan} {  variable mjp  ;  variable mjpc  ;  variable mjpq  if {[isbotnick $nick]} { return 0 }  if {![channel get $chan mjp]} { return 0 }  ###  if {[matchattr $hand f|f $chan]} { return 0 }  foreach mask $mjp(xmpt-masks) {    if {[matchaddr $mask ${nick}!$uhost]} { return 0 }  }  ###  set usr [string trimleft [string tolower $uhost] "~"]  if {[dict exists $mjp(issplit-dict) $usr]} {    set utold [dict get $mjp(issplit-dict) $usr]    if {$utold &gt; [unixtime]} { return 0 }       ;# equals usr is netsplit #    # else: equals netsplit info is old #    set mjp(issplit-dict) [dict remove $mjp(issplit-dict) $usr]  }  ###  set uhost [string tolower $nick!$uhost]  set chan [string tolower $chan]  set utnow [unixtime]  set target [lindex $mjp(flood) 0]  if {[info exists mjpc($chan)]} {    set uhlist [lassign $mjpc($chan) cnt ut]    set utend [expr {$ut + [lindex $mjp(flood) 1]}]    set expire [expr {$utend + $mjp(xpire)}]    if {$cnt &lt; $target} {      if {$utnow &gt; $utend} { unset mjpc($chan) }    } elseif {$utnow &gt; $expire} { unset mjpc($chan) }  }  if {![info exists mjpc($chan)]} {    set mjpc($chan) [list 1 $utnow $uhost]    return 0  }  incr cnt  if {$cnt &lt;= $target} {    if {[lsearch $uhlist $uhost] == -1} { lappend uhlist $uhost }    if {$cnt &lt; $target} {      set mjpc($chan) [linsert $uhlist 0 $cnt $ut]    } else {      set mjpc($chan) [list $cnt $ut]      if {$mjp(mode) ne "" &amp;&amp; [string is digit -strict $mjp(mrem)]} {        putquick "MODE $chan +$mjp(mode)"        utimer $mjp(mrem) [list putquick "MODE $chan -$mjp(mode)"]      }      mjp_dobans $chan $uhlist    }    return 0  }  if {![info exists mjpq($chan)]} {    utimer 2 [list [namespace current]::mjp_bque $chan]    set mjpq($chan) [list $uhost]  } elseif {[lsearch $mjpq($chan) $uhost] == -1} {    lappend mjpq($chan) $uhost  }  if {[llength $mjpq($chan)] &gt;= $mjp(maxb)} {    mjp_dobans $chan $mjpq($chan)    set mjpq($chan) ""  }  return 0}########################################################################proc mjp_dobans {chan uhlist} {   variable mjp  if {![botisop $chan]} return  set banList ""  set nickList ""  foreach ele $uhlist {    scan $ele {%[^!]!%[^@]@%s} nick user host    if {$mjp(btype) == 2} {   set type 4      foreach ph $mjp(no-wide-bans) {        if {[string match -nocase $ph $host]} {          set type 2  ;  break        }      }      set bmask [maskhost $ele $type]    } else {  set bmask "*!*@$host"  }    if {[lsearch $banList $bmask] == -1} { lappend banList $bmask }    if {[lsearch $nickList $nick] == -1} { lappend nickList $nick }  }   stack_bans $chan $mjp(maxb) $banList  # begin new kick code #  foreach nk $nickList {    if {[onchan $nk $chan]} {  lappend nkls $nk  } else { continue }    if {[llength $nkls] == $mjp(maxk)} {      putquick "KICK $chan [join $nkls ,] :$mjp(reasn)"      unset nkls    }  }  if {[info exists nkls]} {    putquick "KICK $chan [join $nkls ,] :$mjp(reasn)"  }  # end new kick code #  if {$mjp(btime) &gt; 0} {    set expire [expr {[unixtime] + $mjp(btime)}]    lappend mjp(rmls) [list $expire $chan $banList]  }}proc stack_bans {chan max banlist {opt +} } {  set len [llength $banlist]  while {$len &gt; 0} {    if {$len &gt; $max} {      set mode [string repeat "b" $max]      set masks [join [lrange $banlist 0 [expr {$max - 1}]]]      set banlist [lrange $banlist $max end]      incr len -$max    } else {      set mode [string repeat "b" $len]      set masks [join $banlist]      set len 0    }    putquick "MODE $chan ${opt}$mode $masks"  }}proc mjp_bque {chan} {   variable mjpq  if {![info exists mjpq($chan)]} { return }  if {$mjpq($chan) eq ""} { unset mjpq($chan) ; return }  mjp_dobans $chan $mjpq($chan)  unset mjpq($chan)}proc mjp_breset {} {   variable mjp ;  variable mjpc  set utnow [unixtime]  set target [lindex $mjp(flood) 0]  foreach {key val} [array get mjpc] {    lassign $val cnt ut    set utend [expr {$ut + [lindex $mjp(flood) 1]}]    set expire [expr {$utend + $mjp(xpire)}]    if {$cnt &lt; $target} {      if {$utnow &gt; $utend} { unset mjpc($key) }    } elseif {$utnow &gt; $expire} { unset mjpc($key) }  }  if {[info exists mjp(rmls)]} {    while {[llength $mjp(rmls)]} {      set next [lindex $mjp(rmls) 0]      lassign $next expire chan banList      if {$expire &gt; $utnow} {  break  }      set mjp(rmls) [lreplace $mjp(rmls) 0 0]      if {![info exists rmAra($chan)]} {  set rmAra($chan) $banList      } else {  set rmAra($chan) [concat $rmAra($chan) $banList]  }    }    foreach {key val} [array get rmAra] {      set banList ""      foreach mask $val {        if {![ischanban $mask $key]} {  continue  }        lappend banList $mask      }      if {$banList eq ""} {  continue  }      if {![botisop $key]} {        set mjp(rmls) [linsert $mjp(rmls) 0 [list $utnow $key $banList]]      } else {  stack_bans $key $mjp(maxb) $banList -  }    }    if {![llength $mjp(rmls)]} {  unset mjp(rmls)  }  }##  if {[dict size $mjp(issplit-dict)] &gt; 0} {   set newdict [dict create]    dict for {usr utold} $mjp(issplit-dict) {      if {$utold &gt; $utnow} {  dict set newdict $usr $utold  }    }    set mjp(issplit-dict) $newdict  }##  utimer 30 [list [namespace current]::mjp_breset]}if {![info exists mjp(running)]} {  utimer 20 [list [namespace current]::mjp_breset]  set mjp(running) 1}##set mjp(xmpt-masks) [string trim $mjp(xmpt-masks)]if {$mjp(xmpt-masks) ne ""} {  set mjp(xmpt-masks) [string map {\n " "} $mjp(xmpt-masks)]  set mjp(xmpt-masks) [split [regsub -all -- {\s{2,}} $mjp(xmpt-masks) { }]]}##set mjp(flood) [split $mjp(flood) :]set mjp(btime) [expr {$mjp(btime) * 60}]set mjp(no-wide-bans) [split [string trim $mjp(no-wide-bans)]]if {$mjp(btime)==0 &amp;&amp; [info exists mjp(rmls)]} {  unset mjp(rmls)  }putlog "Loaded mass-join-protection.tcl v1.6.3 by SpiKe^^"}  ;## end of:  namespace eval mjp ##</code></pre></div><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=7749">SpiKe^^</a> — Sat Jun 17, 2023 2:48 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Stefano1990]]></name></author>
		<updated>2019-03-17T05:39:57-04:00</updated>

		<published>2019-03-17T05:39:57-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107560#p107560</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107560#p107560"/>
		<title type="html"><![CDATA[Hello]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107560#p107560"><![CDATA[
ceasar is possible to change and be in this way the list of exemp host with ban mask this way:<br><br>set mjp(phost) {<br>*!*@test.com<br>*!*@DAL.net<br>*!*@*.irccloud.com<br>*!*@*.mibbit.com<br>}<br><br>---------<br><br># Set protected host(s) that should not be wide masked # <br># - Example:  set mjp(phost) "*.undernet.org" <br>#  Note: this setting only applies to ban type 2 above! # <br>#  Note: set empty to not protect any hosts (ex. set mjp(phost) "") # <br>#  Note: space separated if listing more than one protected host # <br>set mjp(phost) ""<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12745">Stefano1990</a> — Sun Mar 17, 2019 5:39 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[caesar]]></name></author>
		<updated>2019-03-08T02:26:17-04:00</updated>

		<published>2019-03-08T02:26:17-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107526#p107526</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107526#p107526"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107526#p107526"><![CDATA[
Ah, yeah, was playing with that regexp and i use $text as variables and not $arg, and somehow it ended in there as $text as well.<br><br>Glad this finally sorted out things.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=187">caesar</a> — Fri Mar 08, 2019 2:26 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2019-03-07T16:26:23-04:00</updated>

		<published>2019-03-07T16:26:23-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107525#p107525</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107525#p107525"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107525#p107525"><![CDATA[
i changed the $text to $arg and that seemed  to made it  work<br><br>also since it kept setting channel lock modes i added the check for netsplit in join proces as well wich stopped that<br><br>nice work caesar tnx again<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Thu Mar 07, 2019 4:26 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2019-03-07T15:59:55-04:00</updated>

		<published>2019-03-07T15:59:55-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107521#p107521</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107521#p107521"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107521#p107521"><![CDATA[
after taking out <br><br><br>if {[info exists netsplit_detected]} return <br><br><br>i initiated a netsplit on my testnet again and the results are still the same meaning even after a netsplit it detects rejoined users from netsplit as join flood and boots them out<br><br>also gettin error:<br><br>Tcl error [netsplit:detect]: can't read "text": no such variable<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Thu Mar 07, 2019 3:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[caesar]]></name></author>
		<updated>2019-03-07T02:40:09-04:00</updated>

		<published>2019-03-07T02:40:09-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107520#p107520</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107520#p107520"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107520#p107520"><![CDATA[
Find that line in your code and remove it. It's THAT simple. <img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=187">caesar</a> — Thu Mar 07, 2019 2:40 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[F|irT]]></name></author>
		<updated>2019-03-06T16:40:29-04:00</updated>

		<published>2019-03-06T16:40:29-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107519#p107519</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107519#p107519"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107519#p107519"><![CDATA[
Can any one give me fresh file after if it's slove the netsplit issue . i don't understand what to copy and where to paste thanks.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12521">F|irT</a> — Wed Mar 06, 2019 4:40 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[caesar]]></name></author>
		<updated>2019-02-28T11:06:29-04:00</updated>

		<published>2019-02-28T11:06:29-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107484#p107484</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107484#p107484"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107484#p107484"><![CDATA[
You don't see anything because of this line:<div class="codebox"><p>Code: </p><pre><code>if {[info exists netsplit_detected]} return</code></pre></div>because <em class="text-italics">set netsplit_detected 0 </em> is declared above.<br><br>Just noticed this as was trying to figure out why this is failing. /facepalm<br><br>I need a break from work lol<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=187">caesar</a> — Thu Feb 28, 2019 11:06 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2019-02-20T16:31:57-04:00</updated>

		<published>2019-02-20T16:31:57-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107454#p107454</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107454#p107454"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107454#p107454"><![CDATA[
i tested few times on testnet reproduced netsplit but after rejoins users still got kickbanned<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Wed Feb 20, 2019 4:31 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2019-02-12T08:13:14-04:00</updated>

		<published>2019-02-12T08:13:14-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107445#p107445</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107445#p107445"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107445#p107445"><![CDATA[
<blockquote class="uncited"><div>Then do: .tcl putlog "this is a test" <br>to be sure that you can see it. </div></blockquote>oh forgot to mention i did that as well and worked i saw it in PL<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Tue Feb 12, 2019 8:13 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[willyw]]></name></author>
		<updated>2019-02-11T17:03:05-04:00</updated>

		<published>2019-02-11T17:03:05-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107443#p107443</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107443#p107443"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107443#p107443"><![CDATA[
<blockquote class="uncited"><div>...<br><br>also willyw for logs i have this in place<br><blockquote class="uncited"><div>mjkcobxs (msgs, joins, kicks/modes, cmds, misc, bots, files, server).</div></blockquote></div></blockquote><blockquote class="uncited"><div>Then do: .tcl putlog "this is a test"<br>to be sure that you can see it.</div></blockquote><br><img class="smilies" src="https://forum.eggheads.org/images/smilies/icon_smile.gif" width="15" height="15" alt=":)" title="Smile"><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10420">willyw</a> — Mon Feb 11, 2019 5:03 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2019-02-11T16:59:30-04:00</updated>

		<published>2019-02-11T16:59:30-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107442#p107442</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107442#p107442"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107442#p107442"><![CDATA[
tried that and it gave me same result even after netsplit it kept detecting mass joins<br><br>also willyw for logs i have this in place<br><blockquote class="uncited"><div>mjkcobxs (msgs, joins, kicks/modes, cmds, misc, bots, files, server).</div></blockquote><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Mon Feb 11, 2019 4:59 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[caesar]]></name></author>
		<updated>2019-03-08T02:25:18-04:00</updated>

		<published>2019-02-11T11:17:00-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107441#p107441</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107441#p107441"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107441#p107441"><![CDATA[
I'm an idiot. Try with this code:<div class="codebox"><p>Code: </p><pre><code>set netsplit_detected 0bind raw - QUIT netsplit:detectproc netsplit:detect {from key arg} {   global netsplit_detected   if {[info exists netsplit_detected]} return   set arg [string trimleft [stripcodes bcruag $arg] :]   if {[string equal "Quit:" [string range $arg 0 4]]} return   if {![regexp -- {^([[:alnum:][:punct:]]+)[[:space:]]([[:alnum:][:punct:]]+)$} $arg _arg s1 s2]} return   if {[string match "*.dal.net" $s1] &amp;&amp; [string match "*.dal.net" $s2]} {      set netsplit_detected 1  putlog "netsplit_detected was set to: $netsplit_detected"      utimer 180 [list netsplit:unlock]   }}proc netsplit:unlock args {   global netsplit_detected   set netsplit_detected 0   putlog "netsplit_detected was set to: $netsplit_detected"}</code></pre></div>and "trigger" an net-split then wait and see if after 3 minutes is set back to 0.<br><br>Make sure you do a <em class="text-italics">.restart</em> as <em class="text-italics">.rehash</em> isn't very reliable apparently.<br><br>Edit: Fixed variable.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=187">caesar</a> — Mon Feb 11, 2019 11:17 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[willyw]]></name></author>
		<updated>2019-02-11T11:11:50-04:00</updated>

		<published>2019-02-11T11:11:50-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107439#p107439</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107439#p107439"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107439#p107439"><![CDATA[
<blockquote class="uncited"><div>i also checked PL and it didnt display the:<br><blockquote class="uncited"><div><br>netsplit_detected was set to: 0 <br>netsplit_detected is now set to: 1<br></div></blockquote></div></blockquote>While you wait for caesar :<br><br>Do:  .console    and check your console flags to be sure you have plenty, so you can really see what is going on.<br><br>Then do: .tcl putlog "this is a test"<br>to be sure that you can see it.<p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=10420">willyw</a> — Mon Feb 11, 2019 11:11 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[simo]]></name></author>
		<updated>2019-02-11T10:49:51-04:00</updated>

		<published>2019-02-11T10:49:51-04:00</published>
		<id>https://forum.eggheads.org/viewtopic.php?p=107438#p107438</id>
		<link href="https://forum.eggheads.org/viewtopic.php?p=107438#p107438"/>
		<title type="html"><![CDATA[mass-join-protection by SpiKe^^- Netsplits Problems.]]></title>

		
		<content type="html" xml:base="https://forum.eggheads.org/viewtopic.php?p=107438#p107438"><![CDATA[
tried the debug on my own testnet reproducing a netsplit with a bunch of local bots to join after and in all cases it still triggered the anti mass join and booted them even tho i reproduced a netsplit <br><blockquote class="uncited"><div>Quits :    Amigo    ~<a href="mailto:uid1234@Amigo.Premium.net">uid1234@Amigo.Premium.net</a>  (paradigm.hub.dal.net diamond.hub.dal.net)<br></div></blockquote>i also checked PL and it didnt display the:<br><blockquote class="uncited"><div><br>netsplit_detected was set to: 0 <br>netsplit_detected is now set to: 1<br></div></blockquote><p>Statistics: Posted by <a href="https://forum.eggheads.org/memberlist.php?mode=viewprofile&amp;u=12505">simo</a> — Mon Feb 11, 2019 10:49 am</p><hr />
]]></content>
	</entry>
	</feed>
