mIRC Keep Alive Script

If you are having dropouts but your client is not aware that it is no longer connected this script will check if your client is still connected.

;on *:CONNECT: {
;  ping $me
;}

on *:LOGON:*: {
  startConnectKeepalive
}

RAW 001:*: {
  stopConnectKeepalive
  startKeepalive
}

alias startConnectKeepAlive {
  if ($serverip != 255.255.255.255) {
    if ($timer(ConnectKeepAlive. $+ $serverip $+ : $+ $port) != $null) {
      echo -es keepAlive sanity check (multiple connections to same server)
      disconnect
      halt
    }
    timerConnectKeepAlive. $+ $serverip $+ : $+ $port 0 60 doKeepAlive
  }
}
alias stopConnectKeepAlive {
  timerConnectKeepAlive. $+ $serverip $+ : $+ $port off
}
alias startKeepAlive {
  if ($server != $null) {
    if ($timer(KeepAlive. $+ $server $+ : $+ $port) != $null) {
      echo -es keepAlive sanity check (multiple connections to same server)
      disconnect
      halt
    }
    timerKeepAlive. $+ $server $+ : $+ $port 0 60 doKeepAlive
  }
}
alias stopKeepAlive {
  timerKeepAlive. $+ $server $+ : $+ $port off
}
alias doKeepAlive {
  .raw $chr(13)
}

;alias doKeepAlive {
;  .notice $me .
;}
;on ^*:NOTICE:.:?: {
;  haltdef
;}