mIRC IRCd Server
mIRC
Download (.zip)
alias admin { return BURIAL } alias slogan { return Server In Hell } alias dc { return 09/09/2004 } alias servername { return 127.0.0.1 } alias welcome { sockwrite -n $1 : $+ 127.0.0.1 001 $1 :Welcome to Sux IRC Server! sockwrite -n $1 : $+ 127.0.0.1 002 $1 :Your host is $sock($sockname).ip sockwrite -n $1 : $+ 127.0.0.1 003 $1 :This server was created on $dc sockwrite -n $1 : $+ 127.0.0.1 251 $1 :There are $calc($sock(*,0)-5) user(s) sockwrite -n $1 : $+ 127.0.0.1 254 $1 :0 channel(s) formed sockwrite -n $1 : $+ 127.0.0.1 250 $1 :Total connections: $sock(*,0) sockwrite -n $1 : $+ 127.0.0.1 391 $1 : $+ [ $servername ] Thu Sep $date sockwrite -n $1 : $+ 127.0.0.1 375 $1 :- $servername Message of the day - motd $1 } alias motd { if ($1) { var %ob6to = $lines(motd.txt) while (%ha != %ob6to) { inc %ha sockwrite -n $1 : $+ 127.0.0.1 372 $1 : - [ $read(motd.txt, g, %ha) ] } unset %ha sockwrite -n $1 : $+ 127.0.0.1 376 $1 :End of /MOTD command } } alias snotice { if ($1) { sockwrite -n $1 notice :-= [ SERVER MESSAGE ] =- var %ob6to = $lines(motd.txt) while (%ha != %ob6to) { inc %ha sockwrite -n $1 notice : $+ $read(motd.txt, g, %ha) } unset %ha sockwrite -n $1 notice :-= [ END OF MOTD ] =- } } alias ser { .hmake ircd 1000 .hmake join 10000 .hmake chan 10000 socklisten server1 4000 socklisten server2 6667 socklisten server3 6668 socklisten server4 6669 socklisten server5 7000 echo -a Server stared socklist } on *:SOCKLISTEN:*:{ sockaccept user sockwrite -n user notice :Welcome to Sux IRC Network! sockwrite -n user notice :Listening on port 4000,6667,6668,6669,7000 sockwrite -n user notice :Total users online: $calc($sock(*,0)-5) sockwrite -n user notice :Type /info for help } on *:SOCKCLOSE:*:{ sockwrite -n * $sockname has quit } on *:SOCKREAD:*:{ sockread %temp if ($sock(*,0) >= $hget(ircd).size) { sockwrite -n $sockname notice :The server is full ( $+ $hget(ircd).size users).Try again later. sockclose $sockname return } if ($gettok(%temp,1,32) == NICK) { if ($sock($sockname) == user) { if ($sock($remove($gettok(%temp,2,32),:)) == $remove($gettok(%temp,2,32),:)) { sockwrite -n $sockname notice :This nickname is being used by someone else.Please change it and connect again. sockclose $sockname return } sockrename $sockname $remove($gettok(%temp,2,32),:) welcome $sockname snotice $sockname sockwrite -n * notice : $+ $+ $sockname $+ ( $+ $sock($sockname).ip $+ ) has joined the party line return } else { if ($sock($remove($gettok(%temp,2,32),:)) != $remove($gettok(%temp,2,32),:)) { var %nick = $remove($sockname,:) sockwrite -n $sockname : $+ $sockname NICK : $+ $remove($gettok(%temp,2,32),:) hadd ircd $remove($gettok(%temp,2,32),:) $gettok($hget(ircd,$sockname),1,32) $gettok($hget(ircd,$sockname),2-,32) hdel ircd $sockname sockrename $sockname $remove($gettok(%temp,2,32),:) sockwrite -n * notice : $+ $+ %nick $+ has changed his nickname to $+ $sockname $+ return } else { sockwrite -n $sockname :This nickname $+ $remove($gettok(%temp,2,32),:) $+ is busy.Try other. | return } } } if ($gettok(%temp,1,32) == QUIT) { hdel ircd $sockname sockwrite -n * notice : $+ $+ $sockname $+ ( $+ $sock($sockname).ip $+ ) has quit ( $+ $remove($gettok(%temp,2-,32),:) $+ ) sockclose $sockname return } if ($gettok(%temp,1,32) == PING) { sockwrite -n $sockname PONG :What? | return } if ($gettok(%temp,1,32) == WHOIS) { if ($sock($gettok(%temp,2,32),n) == 1) {
sockwrite -n $sockname : $+ 127.0.0.1 311 $sockname $+ : $+ $gettok(%temp,2,32) $gettok(%temp,2,32) $gettok($hget(ircd,$gettok(%temp,2,32)),1,64) $gettok($gettok($hget(ircd,$gettok(%temp,2,32)),2,64),1,32) $gettok($hget(ircd,$gettok(%temp,2,32)),2-,32)
if ($hget(join,$gettok(%temp,2,32))) { sockwrite -n $sockname : $+ 127.0.0.1 319 $sockname $+ : $+ $gettok(%temp,2,32) $gettok(%temp,2,32) : $+ [ $hget(join,$gettok(%temp,2,32)) ] } sockwrite -n $sockname : $+ 127.0.0.1 312 $sockname $+ : $+ $gettok(%temp,2,32) $gettok(%temp,2,32) :using 127.0.0.1 ( $+ $slogan $+ ) sockwrite -n $sockname : $+ 127.0.0.1 317 $sockname $+ : $+ $gettok(%temp,2,32) $gettok(%temp,2,32) $sock($gettok(%temp,2,32)).ls sockwrite -n $sockname : $+ 127.0.0.1 318 $sockname $+ : $+ $gettok(%temp,2,32) $gettok(%temp,2,32) :End of /WHOIS list.
if ($gettok(%temp,2,32) == $admin) { sockwrite -n $admin notice : $+ $sockname $+ just kiss your ass. return } return } else { sockwrite -n $sockname :No Such Nick $+ $gettok(%temp,2,32) $+ | return } } if ($gettok(%temp,1,32) == PRIVMSG) { if ($sock($gettok(%temp,2,32),n) == 1) { sockwrite -n $gettok(%temp,2,32) : $+ $sockname $+ ! $+ $gettok($hget(ircd,$sockname),1,32) privmsg $gettok(%temp,2,32) : $+ $gettok($gettok(%temp,3-,32),1-,58) return } else { sockwrite -n $sockname :No Such Nick $+ $gettok(%temp,2,32) $+ | return } } if ($gettok(%temp,1,32) == INFO) { sockwrite -n $sockname :Available commands: "/lusers" "/nick" "/quit" "/whois" "/x <nick> <message>" sockwrite -n $sockname :mIRC Server written by BURIAL.You have dumb questions just like the whole server?Mail me at slipknot@starazagora.net } if ($gettok(%temp,1,32) == LUSERS) { sockwrite -n $sockname : $+ 127.0.0.1 372 $sockname : $+ There are $calc($sock(*,0)-5) user(s) online and 5 invisible on 1 server sockwrite -n $sockname : $+ 127.0.0.1 250 $sockname :- return } if ($gettok(%temp,1,32) == ISON) { var %skiv = 0 var %text = $gettok(%temp,2-,32) var %total = $gettok($gettok(%temp,2-,32),0,32) while (%skiv != %total) { inc %skiv if ($sock($gettok($gettok(%temp,2-,32),%skiv,32)) == $gettok($gettok(%temp,2-,32),%skiv,32)) { sockwrite -n $sockname :* $gettok($gettok(%temp,2-,32),%skiv,32) is on IRC } } return } if ($gettok(%temp,1,32) == JOIN) { sockwrite -n $sockname : $+ 127.0.0.1 366 $sockname $gettok(%temp,2,32) :End of /NAMES list. hadd join $sockname $hget(join,$sockname) $gettok(%temp,2,32) sockwrite -n $sockname : $+ $sockname JOIN $gettok(%temp,2,32) hadd chan $gettok(%temp,2,32) $hget(chan,$gettok(%temp,2,32)) $sockname
var %tot = $gettok($hget(chan,$gettok(%temp,2,32)),*,32) var %fak = 0 while (%tot != %fak) { inc %fak sockwrite -n $gettok($hget(chan,$gettok(%temp,2,32)),%fak,32) : $+ 127.0.0.1 353 $gettok($hget(chan,$gettok(%temp,2,32)),%fak,32) = $gettok(%temp,2,32) : $+ $hget(chan,$gettok(%temp,2-,32)) }
} if ($gettok(%temp,1,32) == PART) { var %chans = $hget(join, $sockname) var %users = $hget(chan,$gettok(%temp,2,32))
hdel chan $gettok(%temp,2,32) hadd chan $gettok(%temp,2,32) $remove(%users,$sockname)
hdel join $sockname hadd join $sockname $remove(%chans,$gettok(%temp,2,32))
echo -a VSI4KO: $gettok($hget(chan, $gettok(%temp,2,32)),*,32)
var %tot = $gettok($hget(chan, $gettok(%temp,2,32)),*,32) var %fak = 0 while (%tot != %fak) { inc %fak echo -a FAK: %fak echo -a USER: $gettok($hget(chan,$gettok(%temp,2,32)),%fak,32) sockwrite -n $gettok($hget(chan,$gettok(%temp,2,32)),%fak,32) : $+ 127.0.0.1 353 $gettok($hget(chan,$gettok(%temp,2,32)),%fak,32) = $gettok(%temp,2,32) : $+ $hget(chan,$gettok(%temp,2-,32)) } return } if ($gettok(%temp,1,32) == USER) { hadd ircd $sockname $gettok(%temp,2,32) $+ @ $+ $sock($sockname).ip $gettok($gettok(%temp,5-,32),1,58) return } if ($gettok(%temp,1,32) == NOTIFY) { echo -a NOTIFY | return } else { sockwrite -n $sockname :No Such Command | return } }
|