rendered paste bodyalias startserv {
if ($sock(ircd)) {
echo -a Server already in here
halt
}
else {
socklisten ircd 6667
}
}
on *:SOCKLISTEN:ircd:{
var %sockname ircd-active
sockaccept %sockname
sockmark %sockname Connected
sockrename %sockname %sockname $+ - $+ $sock(%sockname).ip
var %sockname ircd-ative- $+ $sock(%sockname).ip
.timerDisconnect- $+ %sockname 1 20 sockclose %sockname
}
on *:SOCKREAD:ircd-active-*:{
sockread %data
tokenize 32 %data
echo -a $1-
if ($1 == PONG) {
if ($2) {
if ($sock($sockname).mark == Connected) {
echo -a Welcome to the D-IRCD v1
echo -a You are connected
sockmark $sockname *
}
}
}
elseif ($1 == NICK) {
if ($sock($sockname).mark == Connected) {
if (!$2) {
sockclose $sockname
}
else {
hadd -m $sockname nick $2
}
}
}
elseif ($1 == USER) {
if ($sock($sockname).mark == Connected) {
if (!$5) {
sockclose $sockname
}
else {
.hadd -m $sockname user $2
.hadd -m $sockname mode $iif($3 == "",0,$3)
.hadd -m $sockname servaddr $4
.hadd -m $sockname real $5
}
}
}
elseif ($1 == JOIN) {
if ($2) {
sockwrite -n $sockname Joining $2
sockwrite -n $sockname JOIN $2
}
}
if ($hget($sockname,user)) && ($hget($sockname, nick)) && (!$hget($sockname,handshake)) {
.timerDisconnect- $+ $sockname off
.hadd -m $sockname handshake 1
sockwrite -n $sockname NOTICE AUTH :*** Looking up your host (*@*!*)
hadd -m $sockname resolve 1
.dns $sock($sockname).ip
while ($hget($sockname,resolve)) { pause ms 100 }
sockwrite -n $sockname NOTICE AUTH :*** Checking Ident
sockwrite -n $sockname NOTICE AUTH :*** No Ident response
sockwrite -n $sockname ping: connected
}
}
alias pause {
var %e = !echo $color(info) -a * /pause:
if ($version < 5.91) {
%e this snippet requires atleast mIRC version 5.91
}
elseif (!$regex(pause,$1-,/^m?s \d+$/Si)) {
%e incorrect/insufficient parameters. Syntax: /pause <s|ms> <N>
}
elseif ($1 == ms) && ($istok(95 98 ME,$os,32)) {
%e cannot use milliseconds parameter on OS'es beneath Win2k
}
elseif ($2 !isnum 1-) {
%e must specify a number within range 1-
}
else {
var %wsh = wsh $+ $ticks, %cmd
if ($1 == s) %cmd = ping.exe -n $int($calc($2 + 1)) 127.0.0.1
else %cmd = pathping.exe -n -w 1 -q 1 -h 1 -p $iif($2 > 40,$calc($2 - 40),$2) 127.0.0.1
.comopen %wsh wscript.shell
.comclose %wsh $com(%wsh,run,1,bstr*,% $+ comspec% /c %cmd >nul,uint,0,bool,true)
}
}
on *:sockclose:*:{ .hfree -sw $sockname }
on *:DNS:{
var %x 1
while (%x <= $dns(0)) {
var %hostname = $dns(%x).addr, %ip = $dns(%x).ip
var %sockname = ircd-active- $+ %ip
if ($hget(%sockname,resolve)) {
sockwrite -n %sockname NOTICE AUTH :*** Found your hostname, cache
var %resolved = 1
hadd -m $sockname hostname %hostname
.hdel -sw %sockname resolve
break
}
elseif (%ip) {
sockwrite -n %sockname NOTICE AUTH :*** Couldnt find your hostname
.hdel -sw %sockname resolve
}
inc %x
}
}