fur parasite :)
Posted by cs2r`nonamee
Tuesday, March 30, 2004
Description: mquery - kinda sloppy

alias mquery {
  bset -t &blah 1 1
  bset &blah 2 0 0 0 0
  bset &blah 14 0
  sockudp -k mquery 65.73.232.252 27010 &blah
  hfree mquery
  set %z 0
  set %qq 0
}
on *:udpread:mquery: {
  sockread &blah
  var %sequenceID = $bvar(&blah,5,2)
  var %i = 11
  while (%i <= $bvar(&blah,0)) {
    set %ip $replace($bvar(&blah,%i,4),$chr(32),.)
    var %port1 = $bvar(&blah,$calc(%i + 4),1)
    var %port2 = $bvar(&blah,$calc(%i + 5),1)
    set %port $calc(%port1 * 256 + %port2)
    hadd -m $sockname $calc((%i - 11) / 6) $+(%ip,:,%port) : $ticks
    sockudp -k server. $+ %z $gettok($hget(mquery,%z),1,58) $gettok($hget(mquery,%z),2,58) $str($chr(255),4) $+ infostring
    inc %z
    inc %i 6
  }
}

on *:udpread:server.*: {
  set %pingedip $calc($ticks - %ticks)
  if ($sockerr > 0) return
  sockread &temp
  if ($sockbr == 0) return
  breplace &temp 255 160 0 160
  var %response = $bvar(&temp,1,$bvar(&temp,0)).text
  inc %qq
  if ($sock($sockname).saddr $+ : $+ $sock($sockname).sport == 219.242.80.5:27020) || ($sock($sockname).saddr $+ : $+ $sock($sockname).sport == 200.82.196.21:1025) { did -az hlip 111 $gettok(%response,27,92) $chr(9) $sock($sockname).saddr $+ : $+ $sock($sockname).sport $chr(9) $calc($ticks - $gettok($hget(mquery,%qq),3,58)) | halt }
  if (bots !isin %response) {
    did -az hlip 111 $gettok(%response,19,92) $chr(9) $sock($sockname).saddr $+ : $+ $sock($sockname).sport $chr(9) $calc($ticks - $gettok($hget(mquery,%qq),3,58))
  }
  if (bots isin %response) {
    did -az hlip 111 $gettok(%response,21,92) $chr(9) $sock($sockname).saddr $+ : $+ $sock($sockname).sport $chr(9) $calc($ticks - $gettok($hget(mquery,%qq),3,58))
  }
}
ahem
Posted by KilledInAction
Tuesday, March 30, 2004 08:23pm PST
<mirc> tags provided courteously by KIA
Subject line
Posted by cs2r`nonamee
Tuesday, March 30, 2004 08:52pm PST

alias mquery {
  bset -t &blah 1 1
  bset &blah 2 0 0 0 0
  bset &blah 14 0
  sockudp -k mquery 65.73.232.252 27010 &blah
  hfree mquery
  set %z 0
  set %qq 0
}
on *:udpread:mquery: {
  sockread &blah
  var %sequenceID = $bvar(&blah,5,2)
  var %i = 11
  while (%i <= $bvar(&blah,0)) {
    set %ip $replace($bvar(&blah,%i,4),$chr(32),.)
    var %port1 = $bvar(&blah,$calc(%i + 4),1)
    var %port2 = $bvar(&blah,$calc(%i + 5),1)
    set %port $calc(%port1 * 256 + %port2)
    hadd -m $sockname $calc((%i - 11) / 6) $+(%ip,:,%port) : $ticks
    sockudp -k server.0 $gettok($hget(mquery,0),1,58) $gettok($hget(mquery,0),2,58) $str($chr(255),4) $+ infostring
    inc %i 6
  }
}
on *:udpread:server.*: {
  set %pingedip $calc($ticks - %ticks)
  if ($sockerr > 0) return
  sockread &temp
  if ($sockbr == 0) return
  breplace &temp 255 160 0 160
  var %response = $bvar(&temp,1,$bvar(&temp,0)).text
  inc %qq
  if ($sock($sockname).saddr $+ : $+ $sock($sockname).sport == 219.242.80.5:27020) || ($sock($sockname).saddr $+ : $+ $sock($sockname).sport == 200.82.196.21:1025) { did -az hlip 111 $gettok(%response,27,92) $chr(9) $sock($sockname).saddr $+ : $+ $sock($sockname).sport $chr(9) $calc($ticks - $gettok($hget(mquery,%qq),3,58)) | halt }
  if (bots !isin %response) {
    did -az hlip 111 $gettok(%response,19,92) $chr(9) $sock($sockname).saddr $+ : $+ $sock($sockname).sport $chr(9) $calc($ticks - $gettok($hget(mquery,%qq),3,58))
    if ($hget(mquery,%qq)) { sockudp -k server. $+ %qq $gettok($hget(mquery,%qq),1,58) $gettok($hget(mquery,%qq),2,58) $str($chr(255),4) $+ infostring }
  }
  if (bots isin %response) {
    did -az hlip 111 $gettok(%response,21,92) $chr(9) $sock($sockname).saddr $+ : $+ $sock($sockname).sport $chr(9) $calc($ticks - $gettok($hget(mquery,%qq),3,58))
    if ($hget(mquery,%qq)) { sockudp -k server. $+ %qq $gettok($hget(mquery,%qq),1,58) $gettok($hget(mquery,%qq),2,58) $str($chr(255),4) $+ infostring }
  }
}
Revision
Posted by Parasite-FT-
Tuesday, March 30, 2004 09:39pm PST
nonamee,  have fun,
- Para


alias mquery {
  bset -t &blah 1 1
  bset &blah 2 0 0 0 0
  bset &blah 14 0
  sockudp -k mquery 65.73.232.252 27010 &blah
  if ($hget(mquery)) hfree mquery
}
on *:udpread:mquery: {
  sockread &blah
  var %sequenceID = $bvar(&blah,5,2)
  var %i = 11
  while (%i <= $bvar(&blah,0)) {
    set %ip $replace($bvar(&blah,%i,4),$chr(32),.)
    var %port1 = $bvar(&blah,$calc(%i + 4),1)
    var %port2 = $bvar(&blah,$calc(%i + 5),1)
    set %port $calc(%port1 * 256 + %port2)
    hadd -m mquery $+(%ip,:,%port) 0
    inc %i 6
  }
  mquery.info server.0
}

;; Function: queries the next server in the serverlist
;; Usage: /mquery.info <sockname>
alias mquery.info {
  var %N = $calc($gettok($1,2,46) + 1)
  var %next = $hget(mquery,%N).item
  var %ip = $gettok(%next,1,58)
  var %port = $gettok(%next,2,58)
  hadd mquery $+(%ip,:,%port) $ticks
  sockudp -k server. $+ %N %ip %port $str($chr(255),4) $+ infostring
  .timer_mquery_ $+ %N 1 2 if ($!sock($1)) mquery.info server. $+ $calc(%N + 1)
}

on *:udpread:server.*: {
  if ($sockerr > 0) return
  sockread &temp
  if ($sockbr == 0) return
  breplace &temp 255 160 0 160
  var %ping = $calc($ticks - $hget(mquery,$hget(mquery,$gettok($sockname,2,46)).item))
  var %response = $bvar(&temp,1,$bvar(&temp,0)).text
  echo 5 -s $sockname ----> %ping ---> $+($sock($sockname).saddr,:,$sock($sockname).sport)
  mquery.info $sockname
  sockclose $sockname
}

Latest revision
Posted by Parasite-FT-
Tuesday, March 30, 2004 11:32pm PST

alias mquery {
  bset -t &blah 1 1
  bset &blah 2 0 0 0 0
  bset &blah 14 0
  sockudp -k mquery 65.73.232.252 27010 &blah
  if ($hget(mquery)) hfree mquery
}
on *:udpread:mquery: {
  sockread &blah
  var %sequenceID = $bvar(&blah,5,2)
  var %i = 11
  while (%i <= $bvar(&blah,0)) {
    set %ip $replace($bvar(&blah,%i,4),$chr(32),.)
    var %port1 = $bvar(&blah,$calc(%i + 4),1)
    var %port2 = $bvar(&blah,$calc(%i + 5),1)
    set %port $calc(%port1 * 256 + %port2)
    hadd -m mquery $+(%ip,:,%port) 0
    inc %i 6
  }
  mquery.info
}

alias mquery.stop {
  timer_mquery_* off
  sockclose server.*
}

;; Function: queries the next server in the serverlist
;; Usage: /mquery.info
alias mquery.info {
  hinc mquery N
  var %N = $hget(mquery,N)
  var %next = $hget(mquery,%N).item
  var %ip = $gettok(%next,1,58)
  var %port = $gettok(%next,2,58)
  if (!%port) return
  hadd mquery $+(%ip,:,%port) $ticks
  sockudp -k server. $+ %N %ip %port $str($chr(255),4) $+ infostring
  .timer_mquery_ $+ %N 1 3 if ($!sock($1)) { sockclose server. $+ %N $chr(124) mquery.info }
}

on *:udpread:server.*: {
  if ($sockerr > 0) return
  sockread &temp
  if ($sockbr == 0) return
  breplace &temp 255 160 0 160
  var %ping = $calc($ticks - $hget(mquery,$hget(mquery,$gettok($sockname,2,46)).item))
  var %response = $bvar(&temp,1,$bvar(&temp,0)).text
  echo 5 -s $sockname ----> %ping ---> $+($sock($sockname).saddr,:,$sock($sockname).sport)
  mquery.info
  sockclose $sockname
}

Submit a comment
Oops! You need to login or register before you can post a comment!

ebaum's world