Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- on *:INPUT:@Server:{ /sockwrite -n dl* $1- | /echo -a -> $1- | haltdef }
- on *:SOCKREAD:dl*:{
- var %cserver
- sockread -f %cserver
- tokenize 32 %cserver
- set %nick $socknick($sockname)
- if ($window(@Server)) {
- aline -p @Server %nick $+ : $1-
- }
- if ($1 == SHOWCOMMANDS) {
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :*****/CMDLIST*****
- ;/servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/JOIN <chan>
- ;/servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/PART <chan>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/NICK <new_nick>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/RESTART
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/DISCONNECT
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/WHO <nick>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/CSAY <text>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/MODE <modes>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/OPER <password>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/ADMIN
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/INFO
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/DIE
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/REHASH
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/STATUS
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/SHOWCOMMANDS
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/ADDCLONE <nick>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/DELCONE <nick>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/LISTCMODES
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/LISTUMODES
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/SERVWRITE :<source> <raw|event> [parameters] :<message>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/SET [-euNls] <%var> [value]
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/UNSET [-s] <%var>
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/REOP
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/APING
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :/APONG
- /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :*****End of /CMDLIST*****
- }
- elseif ($1 == PING) { /servwrite $sockname PONG :TIMEOUTCHECK }
- elseif ($1 == PONG) { unset %pong }
- elseif ($1 == SET) { set $2 $3- | /servwrite $sockname : $+ %cservname NOTICE :Setting variable " $+ $2- $+ " You can use it in a command with "%<variable>" }
- elseif ($1 == UNSET) { unset $2 $3- | /servwrite $sockname : $+ %cservname NOTICE :Unsetting variable " $+ $2- $+ " }
- elseif ($1 == RESTART) {
- if ($isoper($sockname)) {
- /servwrite $sockname : $+ %cservname NOTICE :Server restarted by [ $+ $me $+ ! $+ $host $+ @local_account $+ ]
- .sockclose du
- .sockclose $sockname
- /.timer 1 2 { sockclose du | /socklisten du 7000 | .server localhost 7000 }
- }
- else { /servwrite : $+ %cservname NOTICE :Permission denied - you are not an IRC_Operator }
- }
- elseif ($1 == DIE) {
- if ($isoper($sockname)) {
- /servwrite $sockname : $+ %cservname NOTICE :Server terminated by [ $+ $me $+ ! $+ $host $+ @local_account $+ ]
- /.timer 1 1 .sockclose dl*
- }
- else { /servwrite $sockname : $+ %cservname NOTICE :Permission denied - you are not an IRC_Operator }
- }
- elseif ($1 == OPER) { aoper $sockname %nick $2- }
- elseif ($1 == USER) { halt }
- elseif ($1 == NICK) {
- set %ns $remove($2,:)
- if (!$sock(dl. $+ $2).status) {
- /sockrename $sockname dl. $+ %ns
- /servwrite dl* : $+ %nick NICK :dl. $+ %ns
- set %nick_ [ $+ [ $sockname ] ] dl. $+ %ns
- set %op_ [ $+ [ %servhelpchan ] ] %op_ [ $+ [ %servhelpchan ] ] dl. $+ %ns
- /startping dl. $+ %ns
- }
- else /servwrite $sockname 701 %nick :Error 754: Nickname is already in use
- }
- elseif ($1 == APING) {
- /cserv $sockname APONG from [status!ServerInfo@CServer_Bot]
- /cserv $sockname APONG from [ $+ %cservbotname $+ !ServerRoot@CServer_Root]
- /cserv $sockname APONG from [hostrelay!ServerLink@CServer_Link]
- /cserv $sockname APONG from [hostchecker!ServerChecker@CServer_Cheker]
- /cserv $sockname APONG from [ $+ %nick $+ !localip@local_account]
- }
- elseif ($1 == REOP) { if ($isoper($sockname)) { /servwrite $sockname : $+ %cservname MODE %servhelpchan +o %nick } | else /cserv $sockname Permission denied - you are not an IRC_Operator }
- elseif ($1 == INFO) { /servwrite $sockname : $+ %cservname NOTICE :*****CINFO report***** | /servwrite $sockname : $+ %cservname NOTICE :Server 1.0 Local_Host | /servwrite $sockname : $+ %cservname NOTICE :Local Root: %cservbotname!ServerRoot@CServer_Root | /servwrite $sockname : $+ %cservname NOTICE :Status report : status@ServerInfo@CServer_Bot | /servwrite $sockname : $+ %cservname NOTICE :Time - $fulldate | /servwrite $sockname : $+ %cservname NOTICE :OS: $os | /servwrite $sockname : $+ %cservname NOTICE :Server by NaZaRa | /servwrite $sockname : $+ %cservname NOTICE :*****End of /INFO***** }
- elseif ($1 == LISTCMODES) { /lr $sockname *****/LISTCMODES report***** | /lr $sockname +x <nick> : "X:Server" Don't do anything if you are not a Server or a Web_Sock | /lr $sockname +o <nick> : "ChanOp" Access to /CMODE | /lr $sockname +v <nick> : "ChanVoice" Access to /CSAY | /lr $sockname +c : /ADDCLONE is not allowed | /lr $sockname +d : /DELCLONE is not allowed | /lr $sockname *****End if /LISTCMODES***** }
- elseif ($1 == LISTUMODES) { /lr $sockname *****/LISTUMODES report***** | /lr $sockname +o : Is an IRC_Operator | /lr $sockname +x : Is not Authed with /OPER | /lr $sockname +r : Is Authed with /OPER | /lr $sockname *****End if /LISTUMODES***** }
- elseif ($1 == STATUS) { /servwrite $sockname :status NOTICE :*****/STATUS report***** | /servwrite $sockname :status NOTICE :Status report - $time - OS= $+ $os STATUS= $+ $status MODE= $+ $usermode CHANTYPES= $+ $chantypes LOCAL= $+ $host IP= $+ $ip NICK= $+ %nick | /servwrite $sockname :status NOTICE :For an list of CServ's commands, type /SHOWCOMMANDS | /servwrite $sockname :status NOTICE :*****End of /STATUS***** }
- elseif ($1 == CSAY) { if (%nick isvoice %servhelpchan) { /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan : $+ $1- } | else { /servwrite $sockname : $+ %cservbotname PRIVMSG %servhelpchan :Access denied ! } }
- elseif ($1 == MODE) {
- if (%cservbotname isin $1-) { /servwrite $sockname : $+ %cservname 702 %nick :Error 701: Bad request for MODE }
- elseif (x isincs $1) { /servwrite $sockname : $+ %cservname 796 %nick :Error 796: 'x' This chan-mode is reserved to the Services }
- elseif ($isanoperator($2,$sockname)) {
- set %tmodes+ $posmods($3)
- set %tmodes- $negmods($3)
- if ($3) {
- if (%tmodes+) {
- /servwrite dl* : $+ %nick MODE $2 + $+ %tmodes+
- if (c isincs %tmodes+) {
- set %ac.on $false
- }
- if (d isincs %tmodes+) {
- set %dc.on $false
- }
- }
- elseif (%tmodes-) {
- /servwrite $sockname : $+ %nick MODE $2 - $+ %tmodes-
- if (c isincs %tmodes-) {
- set %ac.on $true
- }
- if (d isincs %tmodes-) {
- set %dc.on $true
- }
- }
- else sockwrite -n $sockname : $+ %cservname 700 %nick :Error 700: You can't mix '+' operator and '-' operator in a single MODE request !
- }
- else { /servwrite $sockname : $+ %cservname 701 %nick :Error 701: Bas request for MODE }
- }
- else { /servwrite $sockname : $+ %cservname 750 %nick :Error 750: You are not a channel operator on $2 }
- }
- elseif ($1 == ADDCLONE) {
- if (%ac.on != $false) { if (%ac.on != $null) { /servwrite $sockname : $+ $1 JOIN :%servhelpchan } }
- else { /servwrite $sockname : $+ %cservname NOTICE :Permission denied - +c is set }
- }
- elseif ($1 == DELCLONE) {
- if (%dc.on != $false) { if (%dc.on != $null) { /servwrite : $+ $1 PART :%servhelpchan } }
- else { /servwrite $sockname : $+ %cservname NOTICE :Permission denied - +d is set }
- }
- elseif ($1 == USERHOST) { halt }
- ;elseif ($1 == JOIN) { /servwrite $sockname : $+ %nick $+ !localip@local_account JOIN : $+ $2 | /servwrite $sockname : $+ %cservbotname $+ !ServerRoot@CServer_Root JOIN : $+ $2 | /servwrite : $+ %cservbotname MODE $2 :+xov %cservbotname %nick %nick }
- ;elseif ($1 == PART) { /servwrite $sockname : $+ %nick $+ !localip@local_account PART : $+ $2 }
- elseif ($1 == PRIVMSG) {
- /set %dp dp $+ $r(1,5000)
- /sockrename $sockname %dp
- if ($sock(dl*)) { /sockwrite -n dl* : $+ %nick PRIVMSG $2 $3- }
- /sockrename %dp %nick
- }
- elseif ($1 == WHO) { if ($2 == %nick) { whoami $sockname } | elseif ($2 == %cservbotname) { /servwrite $sockname : $+ %cservname 351 %nick :* %cservbotname ServerRoot@CServer_Root : $+ %cservname $+ :6667 } | elseif ($2 == status) { whostatus $sockname } | elseif ($2 == hostrelay) { whorelay $sockname } | elseif ($2 == hostchecker) { whochecker $sockname } | else { /servwrite $sockname : $+ %cservname 401 %nick $2 no such nickname } }
- elseif ($1 == REHASH) {
- if ($isoper($sockname)) {
- /cserv %nick %nick is rehashing the server config file
- var %helpfile http://pastebin.com/2mwBxReg
- if (!%cservbotname) { goto error }
- if (!%cservname) { goto error }
- if (!%servhelpchan) { goto error }
- goto end
- :error
- echo 4 -a Error detected in IRCd configuration : variable error
- echo 4 -a Please read %helpfile or type /forcestart
- sockclose d*
- goto quit
- :end
- echo 4 -a No problem detected in Server config file
- :quit
- return
- }
- else { doop } }
- elseif ($1 == ADMIN) { getadmin %nick $sockname }
- else /servwrite $sockname : $+ %nick 421 %nick $1 :Unknow command !
- }
- alias servwrite { /sockwrite -n $1 $2- }
- alias -l cserv { /servwrite $1 : $+ %cservname NOTICE : $+ [ [ [ [ $2- ] ] ] ] }
- alias -l getadmin {
- var %n /servwrite $2 : $+ %cservbotname PRIVMSG %servhelpchan
- %n :CServer 1.0 by NaZaRa
- %n :If you need help for the IRCd conf, go to irc.tinycrab.net port 6667 channel #Rhoo
- %n :See http://pastebin.com/2mwBxReg
- %n :Good luck ;)
- }
- alias -l aoper {
- ;aoper $sockname %nick $2-
- if (!%oline_ [ $+ [ $3 ] ] $+ ) {
- /servwrite $1 : $+ %cservname NOTICE :No O:Lines for you'r host !
- }
- elseif (%oline_ [ $+ [ $3 ] ] == $4) {
- /servwrite dl* : $+ %cservname NOTICE :IRC_Operator mode enabled on $2
- /servwrite $1 : $+ $2 MODE $1 :+ro-x | set %ircop_ $+ $1 $true
- }
- else /servwrite $1 : $+ %cservname NOTICE :Invalid password !
- }
- alias -l doop { /servwrite $1 : $+ %cservname NOTICE :Permission denied - you are not an IRC_Operator }
- alias -l whoami { /servwrite $1 : $+ %cservname 351 %nick :* %nick localip@local_account : $+ %cservname $+ :6667 }
- alias -l whostatus { /servwrite $1 : $+ %cservname 351 %nick :* status ServerInfo@CServer_Bot : $+ %cservname $+ :6667 }
- alias -l whorelay { /servwrite $1 : $+ %cservname 351 %nick :* hostrelay ServerLink@CServer_Link : $+ %cservname $+ :6667 }
- alias -l whochecker { /servwrite $1 : $+ %cservname 351 %nick :* %nick ServerChecker@CServer_Cheker : $+ %cservname $+ :6667 }
- alias -l cmstart { }
- on *:socklisten:d*:{ set %dl dl $+ $r(1,5000) | sockaccept %dl | allow %dl }
- alias allow {
- /window -enk @Server
- /servwrite $1 : $+ %cservname NOTICE AUTH :Connection allowed, please wait
- /servwrite $1 : $+ %cservname NOTICE AUTH :Resolving your hostname
- /servwrite $1 : $+ $1 001 $1 :Connection allowed
- /servwrite $1 : $+ $1 005 $1 CHANTYPES=@#& PREFIX=(xaohv)#&@%+ NETWORK=Local_Host CASEMAPPING=ascii STATUSMSG=#&@%+
- /servwrite $1 : $+ $1 MODE $1 +x
- /servwrite $1 : $+ $1 $+ !localip@local_account JOIN : $+ %servhelpchan
- /servwrite $1 :status!ServerInfo@CServer_Bot JOIN : $+ %servhelpchan
- /servwrite $1 : $+ %cservbotname $+ !ServerRoot@CServer_Root JOIN : $+ %servhelpchan
- /servwrite $1 : $+ %cservname NOTICE :status connected - IRC_Operator mode enabled on status
- /servwrite $1 : $+ %cservname NOTICE : $+ %cservbotname connected - IRC_Operator mode enabled on
- /servwrite $1 : $+ %cservbotname MODE %servhelpchan +xo %cservbotname %cservbotname
- /servwrite $1 : $+ %cservbotname MODE %servhelpchan +xo status status
- /servwrite $1 : $+ %cservbotname MODE %servhelpchan +ov $1 $1
- /sockwrite -n dl* : $+ $1 $+ !localip@local_account JOIN %servhelpchan
- /sockwrite -n dl* : $+ %cservbotname MODE %servhelpchan +ov $1 $1
- /set %op_ [ $+ [ %servhelpchan ] ] %op_ [ $+ [ %servhelpchan ] ] $1
- /set %nick_ [ $+ [ $1 ] ] $1
- /sendstatus $1
- /startping $1
- }
- on *:LOAD:{
- lstart
- }
- alias startping {
- if ($sock($1)) {
- /set %pong $true
- /servwrite $1 PING %cservname
- /.timer 1 15 pongcheck $1
- }
- }
- alias pongcheck {
- if (%pong) {
- if ($sock($1)) {
- sockwrite -n $1 ERROR :Ping timeout
- sockclose $1
- }
- }
- else startping $1
- }
- alias -l lstart { var %helpfile http://pastebin.com/2mwBxReg | if (!%cservbotname) { goto error } | if (!%cservname) { goto error } | if (!%servhelpchan) { goto error } | .timer 1 1 noop $$?!="Type /START in a new window to connect." | .timer 1 1 noop $$?!="Please read %helpfile $+ " | goto end | :error | echo 4 -a Error detected in IRCd configuration : variable error | echo 4 -a Please read %helpfile or type /forcestart | goto stop | :end | echo 4 -a Starting system... | cstart | :stop }
- alias start {
- var %helpfile http://pastebin.com/2mwBxReg | if (!%cservbotname) { goto error } | if (!%cservname) { goto error } if (!%servhelpchan) { goto error } | goto end | :error | echo 4 -a Error detected in IRCd configuration : variable error | echo 4 -a Please read %helpfile or type /forcestart | goto quit | :end | echo 4 -a Starting system... | $iif($sock(du),sockclose du) | $iif($sock(du),haltdef,socklisten du 7000) | .server 127.0.0.1 7000 | :quit | return
- }
- alias mstart {
- var %helpfile http://pastebin.com/2mwBxReg | if (!%cservbotname) { goto error } | if (!%cservname) { goto error } if (!%servhelpchan) { goto error } | goto end | :error | echo 4 -a Error detected in IRCd configuration : variable error | echo 4 -a Please read %helpfile or type /forcestart | goto quit | :end | echo 4 -a Starting system... | $iif($sock(du),sockclose du) | $iif($sock(du),haltdef,socklisten du 7000) | .server -m 127.0.0.1 7000 | :quit | return
- }
- alias -l lr { /servwrite $1 : $+ %cservbotname PRIVMSG %servhelpchan : $+ [ [ $2- ] ] }
- alias -l isoper {
- if (%ircop_ [ $+ [ $1 ] ]) { return $true }
- else return $false
- }
- alias forcestart {
- window -ewk @DebugIRCd
- set %n /aline @DebugIRCd
- set %cservname cserver.localhost.net
- set %cservbotname Localhost
- set %servhelpchan #Services
- set %oline_root RootPassWord
- %n 4[Debug] Enforcing variables...
- %n 4[Debug] Starting server.
- start
- }
- alias socknick {
- return %nick_ [ $+ [ $1 ] ]
- }
- alias -l isanoperator {
- if ($2 isincs %op_ [ $+ [ $1 ] ]) return $true
- else return $false
- }
- alias -l posmods {
- if (+ isincs $1) {
- if (- !isincs $1) {
- return $remove($1,+)
- }
- return $false
- }
- }
- alias -l negmods {
- if (- isincs $1) {
- if (+ !isincs $1) {
- return $remove($1,-)
- }
- return $false
- }
- }
- on *:sockclose:dl*:{
- sockwrite -n dl* : $+ $socknick($sockname) QUIT :Connexion terminated
- unset %nick_ $+ $sockname
- }
- alias sendstatus {
- /servwrite $1 :status NOTICE :*****/STATUS report***** | /servwrite $1 :status NOTICE :Status report - $time - OS= $+ $os STATUS= $+ $status MODE= $+ $usermode CHANTYPES= $+ $chantypes LOCAL= $+ $host IP= $+ $ip NICK= $+ %nick | /servwrite $1 :status NOTICE :For an list of CServ's commands, type /SHOWCOMMANDS | /servwrite $1 :status NOTICE :*****End of /STATUS*****
- }
- -
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement