Minecraft (Free server) to IRC Server Link

By [Plornt] on Oct 04, 2010

Not 100% Tested, but this basically stalks the log files of the Minecraft INDEV server. Just pop it into your remotes and then type /checkf #Channel Once and it will start up automatically when you connect from there onwards. If it doesnt pop up with a dialog asking your minecraft folder on load then type /set %mi.fol PATH/TO/FOLDER

What the /checkf will do is tell you when a user connects or disconnects and when they message on the server it will also message the channel.

Some other commands:

!players - Current online players
!admins - Lists the admins
!url - Url of server

I will add more and more over the next few days for my server then add on to here. Thanks :D

(Partially tested meaning I added a few things while adding it to hawkee for usability)

alias mf return %mi.fol

on *:LOAD:{
set %mi.fol $$?="What is your minecraft server folder path?"
}
alias f { 
  return $mf $+ \ $+ $1-
}
alias prop {
  return $remove($read($f(server.properties),w,$+($1,=*)),$+($1,=)) 
}
alias checkf {
if (!%mi.chan) { set %mi.chan $1 } 
  if (!%mi.l) { set %mi.l $lines($f(server.log)) | echo -a Loading variable }

  if (%mi.l > $calc($lines($f(server.log)) + 1)) { set %mi.l $lines($f(server.log)) | echo -a Re-loading variable } 
  ;;Mirc 7.1 made the above line basically: >= when it was only supposed to be > so I added one to the line

  if ($lines($f(server.log)) && %mi.l <= $lines($f(server.log))) { 
    ;;Check if there is that many lines so mirc 7.1 doesnt create an error
    if (*:*:* * says: * iswm $read($f(server.log),%mi.l)) {
      msg %mi.chan $+(10<,$gettok($v2,2,32),10>) $gettok($v2,4-,32)
    }
    elseif (*:*:*  /* logged in as * iswm $read($f(server.log),%mi.l)) {
      msg %mi.chan 10 $+ $gettok($v2,6,32) has just joined the server.
    }
    elseif (*:*:* * */* lost connection suddenly.* iswm $read($f(server.log),%mi.l)) {
      msg %mi.chan 10 $+ $gettok($v2,2,32) disconnected from the server.

    }

    ;;I would use regex however mirc 7.1 is epically slow with text files already so meh
    inc %mi.l 
    .timer.check 1 1 checkf
  }
  else {
    .timer.check 1 2 checkf
  } 

}
on *:CONNECT:{
  .timer.check 1 10 checkf
}
on *:TEXT:*:#:{
  if ($1 == !admins) {
    if ($lines($f(admins.txt))) {
      var %i 1 
      while (%i <= $lines($f(admins.txt))) {
        var %string = $iif(%string,%string $+ $chr(44)) $read($f(admins.txt),%i) 
        inc %i
      }
      msg $chan 10Current admins on $prop(server-name) $+ :4  $+ %string 
    }
    else {
      msg $chan 10There are no current admins on $prop(server-name) $+ .
    }
  }
  elseif ($1 == !players) {
    if ($lines($f(players.txt))) {
      var %i 1 
      while (%i <= $lines($f(players.txt))) {
        var %string = $iif(%string,%string $+ $chr(44)) $read($f(players.txt),%i) 
        inc %i
      }
      msg $chan 10Current user's on $prop(server-name) $+ :4  $+ %string 
    }
    else {
      msg $chan 10There are no current users on $prop(server-name) $+ .
    }
  }
  elseif ($1 == !url) {
    msg $chan 10Play $prop(server-name) 4@10  $+ $read($f(externalurl.txt),1) $+ 10.
  }
}

Comments

Sign in to comment.
[Plornt]   -  Oct 04, 2010

Thanks =D

 Respond  
Sorasyn   -  Oct 04, 2010

Looks good :P

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.