rcon thing
Posted by schdr
Friday, March 26, 2004
Description:

most of code taken from bunkahumpa's script
how do i get the info thats going on in the server

on *:TEXT:.rcon *:#gamepending:{
  if %owner == $address($nick,2) {
    if ($2 == connect) connect
    if ($2 == pass) rcon
    if ($2 == log) rcon.logs
    if ($2 == disconnect) rcon.off
    if ($2 == cmd)  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " $3-
  }
}
alias connect {
  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿchallenge rcon
}

alias rcon {
  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " $1-
  msg #gamepending you now have access to the server
}

alias rcon.logs {
  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " mp_logmessages 1
  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " mp_logfile 1
  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " mp_logdetail 0
  sockudp -kn rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " log on
  set %rcon.myip $ip
  sockudp -k rcon 7130 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_add %rcon.myip 7130
  msg #gamepending logging enabled
}

alias rcon.off {
  set %rcon.myip $ip
  sockclose rcon.cmd
  sockudp -n rcon.cmd %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " log off
  sockudp -n rcon 7130 %rcon.ip %rcon.port ÿÿÿÿrcon %rcon.challengenumber " $+ %rcon.password $+ " logaddress_del %rcon.myip 7130
  sockclose rcon
  sockclose rcon.cmd
  msg #gamepending dissconnected from server
}


on *:udpread:rcon.cmd:{
  if ($sockerr > 0) return
  var %rcon.cmd | sockread -f %rcon.cmd
  while ($sockbr) {
    if (%rcon.cmd) {
      echo -a %rcon.cmd    
      if ($gettok(%rcon.cmd,1,32) == ÿÿÿÿchallenge) {
        set %rcon.challengenumber $gettok(%rcon.cmd,3,32)
        msg #gamepending connected to server
      }
      if ($left(%rcon.cmd,5) == ÿÿÿÿl) {
        %rcon.cmd = $remove(%rcon.cmd,$left(%rcon.cmd,5))
      }
    }
    sockread %rcon.cmd
  }
}  



on *:udpread:rcon:{
  if ($sockerr > 0) return
  var %rcon.data | sockread -f %rcon.data
  while ($sockbr) {
    if (%rcon.data) {
      echo -a %rcon.data
    }
    sockread %rcon.data
  }
}

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

ebaum's world