You can modify the "alias -l (...)" for change the settings.
You NEED to put in the unrealircd.conf :
link THE_VALUE_IN_THEALIAS"linkname"
{
username ;
hostname YOUR_IP; // If the server running on your pc, remplace YOUR_IP by 127.0.0.1
bind-ip ;
port 6667;
hub *;
password-connect "mypass";
password-receive "mypass";
class servers;
};
Then use /rehash on your server.
The user system use the userlist of mIRC, you can add users with /auser
/*
* Start the service with /RSTART
*/
alias rstart {
if (%debug) window -ek @debug
.sockclose svs. $+ $linkname $+ .receptor
.socklisten svs. $+ $linkname $+ .receptor 6660
.connect $linkname
}
0alias dbg {
if ($1 == ON) { set %debug $true | if (!$window(@debug)) window -enk @debug }
elseif ($1 == OFF) { set %debug $false | if ($window(@debug)) window -c @debug }
else echo 4 -a * /dbg: parameters are ON and OFF
}
alias -l logserv { return LogServ }
alias -l services { return AdminServ }
alias -l linkname { return services.gircd.net }
alias -l svslogchan { return #services }
alias -l rco {
.timer 1 1 /rwrite $1 PASS :mypass
.timer 1 1 /rwrite $1 PROTOCTL EAUTH= $+ $linkname SERVERS=2
.timer 1 1 /rwrite $1 SERVER $linkname 2 :127.0.0.1
.timer 1 2 /rwrite $1 NICK $services 2 1352640888 $linkname 127.0.0.1 $linkname :Server Root System
.timer 1 2 /rwrite $1 NICK $logserv 2 1352640888 $linkname 127.0.0.1 $linkname :Server Log System
.timer 1 2 /rwrite $1 : $+ $services SETHOST $linkname
.timer 1 2 /rwrite $1 : $+ $logserv SETHOST $linkname
.timer 1 2 /rwrite $1 : $+ $services MODE $services +oSq
.timer 1 3 /rwrite $1 : $+ $services JOIN $svslogchan
.timer 1 3 /rwrite $1 : $+ $services MODE $svslogchan +ao $services $services
.timer 1 2 /rwrite $1 : $+ $logserv MODE $logserv +oSqtx
.timer 1 3 /rwrite $1 : $+ $logserv JOIN $svslogchan
.timer 1 3 /rwrite $1 : $+ $logserv MODE $svslogchan +ao $logserv $logserv
.timer 1 3 /rwrite $1 NETINFO 10 1357062527 2311 MD5:66524a37ea1907bb4eed3807b10b0b89 0 0 0 :G-IRCD
.timer 1 3 /rwrite $1 :services.gircd.net EOS
.timer 1 4 /db $crlf $+ [Status] Link etablished $+ $crlf
}
on *:SOCKREAD:ircservices*:{
var %1
sockread -f %1
tokenize 32 %1
set %nick $remtok($1,:,0,58)
set %n /rwrite $sockname : $+ $services NOTICE $remtok($1,:,0,58)
set %l /rwrite $sockname : $+ $logserv NOTICE $remtok($1,:,0,58)
if ($1 != PING) {
db received: $1-
if ($2 != PRIVMSG) && ($2 != KILL) { if (%logsareon) { .timer 1 2 /rwrite $sockname : $+ $logserv PRIVMSG # $+ $svslogchan :received: $1- } }
}
if ($1 == PING) { rwrite $sockname PONG $2- }
elseif ($2 == PRIVMSG) {
if ($3 == $services) {
if ($4 == :HELP) || ($4 === :h) {
%n ***********************************************************************************************************************
%n Your level is: $level(%nick)
%n <level> <command> [params] (comment) {token}
%n 125 RAW :[source] <message>
%n 100 QUIT (Warning!)
%n 100 SVSNOOP <server> <+/-> [why]
%n 090 AUSER <nick> <level> (You can't give a higher level than your)
%n 090 RUSER <nick> (You can't remove a higher level than your)
%n 090 TKL <+/-> <Q|F|G|Z> <parameters> (TKL: Master Ban Control)
%n 075 SVSMODE <chan|nick> <+/-><modes> (<nick> don't see the UMode change)
%n 075 SVSNICK <nick> <newnick>
%n 075 SVSKILL <nick> <why>
%n 075 SVSO <nick> <+/-><oflags> (Ajoute un IRC op)
%n 050 SVSJOIN <nick> <chan>
%n 050 SVSPART <nick> <chan> [message]
%n 050 SQLINE <mask> <why> (<mask> is a nickname !)
%n 050 UNSQLINE <mask> {TUQ}
%n 050 SNLINE <why> :<realname> (Realname ban. In <why>, all " " need to be remplaced by "_")
%n 050 UNSLINE :<realname>
%n 050 DCCDENY <file> <why>
%n 050 UNDCCDENY <file>
%n 025 SENDMSG <destination> <message>
%n 025 SENDNOTICE <destination> <message>
%n 010 REHASH [-flags]
%n 005 KICK <nick> <chan> [why]
%n 002 UWHO <nick> (Return <nick>'s access level)
%n 001 SIGNAL [/?] <name||n> [message] (see "SIGNAL /?")
%n 001 HELP
%n ***********************************************************************************************************************
%n Parameters for SIGNAL :
%n SIGNAL [/?] <name||n> [text]
%n <level> <signal> [params]
%n 090 SIGNAL SENDUMODE <mode> <message>
%n 090 SIGNAL SENDSNO <snomask> <message> (Send snotice to the user with the "+s <snomask>" umode option (/helpop snomasks))
%n 090 SIGNAL NACHAT <message>
%n 075 SIGNAL ADCHAT <message>
%n 050 SIGNAL CHATOPS <message>
%n 050 SIGNAL GLOBOPS <message>
%n 050 SIGNAL LOCOPS <message>
%n 050 SIGNAL ERROR <message>
%n 001 SIGNAL /?
%n ***********************************************************************************************************************
%n LogServ commands :
%n 100 LOGS [on|off]
%n ***********************************************************************************************************************
}
;if ($5 == $null) { %n Not enought parameters ! } |
elseif ($4 == :RAW) || ($4 === :RW) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 125) { /rwrite $sockname $5- } | else %n Access denied ! }
elseif ($4 == :SQLINE) || ($4 === :TQ) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname SQLINE $5- } | else %n Access denied ! }
elseif ($4 == :SNLINE) || ($4 === :TN) { elseif ($level(%nick) >= 50) { /rwrite $sockname SNLINE + $5- } | else %n Access denied ! }
elseif ($4 == :UNSQLINE) || ($4 === :TUQ) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname UNSQLINE $5- } | else %n Access denied ! }
elseif ($4 == :UNSNLINE) || ($4 === :TUN) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname SNLINE - $5- } | else %n Access denied ! }
elseif ($4 == :QUIT) || ($4 === :Q) { if ($level(%nick) >= 100) { /rwrite $sockname SQUIT $linkname :QUIT by %nick $iif($5-,: $5-) } | else %n Access denied ! }
elseif ($4 == :SVSMODE) || ($4 === :UM) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 75) { /rwrite $sockname SVSMODE $5 $6- } | else %n Access denied ! }
elseif ($4 == :DCCDENY) || ($4 === :DD) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname SVSFLINE + $5 : $+ $6- } | else %n Access denied ! }
elseif ($4 == :UNDCCDENY) || ($4 === :UD) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname SVSFLINE - $5 } | else %n Access denied ! }
elseif ($4 == :SVSJOIN) || ($4 === :SJ) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname SVSJOIN $5- } | else %n Access denied ! }
elseif ($4 == :SVSPART) || ($4 === :SP) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname SVSPART $5- } | else %n Access denied ! }
elseif ($4 == :SVSNICK) || ($4 === :SN) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 75) { /rwrite $sockname SVSNICK $5- } | else %n Access denied ! }
elseif ($4 == :SENDMSG) || ($4 === :M) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 25) { /rwrite $sockname : $+ $services PRIVMSG $5- } | else %n Access denied ! }
elseif ($4 == :SENDNOTICE) || ($4 === :N) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 25) { /rwrite $sockname : $+ $services NOTICE $5- } | else %n Access denied ! }
elseif ($4 == :REHASH) || ($4 === :H) { if ($level(%nick) >= 10) { /rwrite $sockname REHASH $5- } | else %n Access denied ! }
elseif ($4 == :SVSNOOP) || ($4 === :f) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 100) { /rwrite $sockname SVSNOOP $5- } | else %n Access denied ! }
elseif ($4 == :SVSKILL) || ($4 === :SK) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 75) { /rwrite $sockname SVSKILL $5- } | else %n Access denied ! }
elseif ($4 == :AUSER) || ($4 === :+) {
if ($5 == $null) { %n Not enought parameters ! }
elseif ($level(%nick) >= $6) {
if ($5 == *) || ($5 == *!*@*) || ($5 == *@*) || ($5 == *!*) || ($level(%nick) <= 89) {
%n Access denied !
}
else {
%n Added $5 to the user list with level $6
.auser $6 $5
}
}
else %n Access denied !
}
elseif ($4 == :RUSER) || ($4 === :-) {
if ($5 == $null) { %n Not enought parameters ! }
elseif ($level(%nick) !>= $level($5)) || ($level(%nick) <= 89) {
%n Access denied !
}
else {
%n Removed $5 from the user list
.ruser $5
}
}
elseif ($4 == :UWHO) || ($4 === :W) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 2) { %n $5 $+ 's level is: $level($5) } | else %n Access denied ! }
elseif ($4 == :KICK) || ($4 === :k) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 5) { /rwrite $sockname KICK $6 $5 $7- ( $+ %nick $+ ) } | else %n Access denied ! }
elseif ($4 == :TKL) || ($4 === :b) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 90) { /rwrite $sockname TKL $5- } | else %n Access denied ! }
elseif ($4 == :SVSO) || ($4 === :o) {
if (!$5) { %n Not enought parameters ! }
elseif ($level(%nick) >= 75) {
if (- !isincs $6) {
if (o isin $6) || (a isin $6) || (C isincs $6) || (N isincs $6) || (q isincs $6) || (W isincs $6) {
/rwrite $sockname SVS2MODE $5 + $+ $iif(o isincs $6,O) $+ $iif(O isincs $6,o) $+ $iif(a isincs $6,a) $+ $iif(A isincs $6,A) $+ $iif(C isincs $6,C) $+ $iif(N isincs $6,N) $+ $iif(q isincs $6,q) $+ $iif(W isincs $6,W)
}
}
else {
/rwrite $sockname SVSMODE $5 +O
}
/rwrite $sockname SVSO $5 $6-
}
else %n Access denied !
}
elseif ($4 == :SIGNAL) || ($4 === :!) {
if ($5 == /?) {
%n ***********************************************************************************************************************
%n SIGNAL [/?] <name||n> [text]
%n <level> <signal> [params]
%n 090 SENDUMODE <mode> <message> {SMO}
%n 090 SENDSNO <snomask> <message> {Ss} (Send snotice to the user with the "+s <snomask>" umode option (/helpop snomasks))
%n 090 NACHAT <message>
%n 075 ADCHAT <message>
%n 050 CHATOPS <message>
%n 050 GLOBOPS <message>
%n 050 LOCOPS <message>
%n 050 ERROR <message>
%n ***********************************************************************************************************************
}
elseif ($5 == ERROR) {
if ($level(%nick) >= 50) {
/rwrite ERROR : $+ $nick SIGNAL ERROR : $6-
}
else %n Access denied !
}
elseif ($5 == SENDUMODE) || ($5 === SMO) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 90) { /rwrite $sockname SENDUMODE $6 : $+ %nick SENDUMODE ( $+ $services $+ ): $7- } | else %n Access denied ! }
elseif ($5 == SENDSNO) || ($5 === Ss) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 90) { /rwrite $sockname SENDSNO $6 : $+ %nick SENDSNO ( $+ $services $+ ): $7- } | else %n Access denied ! }
elseif ($5 == LOCOPS) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname LOCOPS : $+ %nick SIGNAL LOCOPS( $+ $services $+ ): $6- } | else %n Access denied ! }
elseif ($5 == GLOBOPS) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname GLOBOPS : $+ %nick SIGNAL GLOBOPS ( $+ $services $+ ): $6- } | else %n Access denied ! }
elseif ($5 == CHATOPS) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 50) { /rwrite $sockname CHATOPS : $+ %nick SIGNAL CHATOPS ( $+ $services $+ ): $6- } | else %n Access denied ! }
elseif ($5 == ADCHAT) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 75) { /rwrite $sockname ADCHAT : $+ %nick SIGNAL ADCHAT ( $+ $services $+ ): $6- } | else %n Access denied ! }
elseif ($5 == NACHAT) { if ($6 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 90) { /rwrite $sockname NACHAT : $+ %nick SIGNAL NACHAT ( $+ $services $+ ): $6- } | else %n Access denied ! }
}
;elseif ($4 == :) { if ($5 == $null) { %n Not enought parameters ! } | elseif ($level(%nick) >= 2) { /rwrite $sockname } | else %n Access denied ! }
elseif ($4 == :LOGS) {
if (!$5) {
if (%logsareon) %l Logs are on
else %l Logs are off
}
elseif ($5 == on) { if ($level(%nick) >= 100) { set %logsareon $true } | else %l Access denied ! }
elseif ($5 == off) { if ($level(%nick) >= 100) { set %logsareon $false } | else %l Access denied ! }
}
else %n $upper($4) Unknow command !
}
elseif ($3 == $logserv) {
if ($4 == :HELP) {
%l ***********************************************************************************************************************
%l Your level is: $level(%nick)
%l <level> <command> [params] (comment)
%l 100 LOGS [on|off]
%l ***********************************************************************************************************************
}
elseif ($4 == :LOGS) {
if (!$5) {
if (%logsareon) %l Logs are on
else %l Logs are off
}
elseif ($5 == on) { if ($level(%nick) >= 100) { set %logsareon $true } | else %l Access denied ! }
elseif ($5 == off) { if ($level(%nick) >= 100) { set %logsareon $false } | else %l Access denied ! }
}
else %l $upper($4) Unknow command !
}
}
}
on *:INPUT:@debug:{
/rwrite ircservices* FROM-CONSOLE $1-
}
on *:SOCKLISTEN:svs.*:{
set %svs ircservices $+ $r(1,99)
sockaccept %svs
rco %svs
}
alias db {
if ($window(@debug)) {
if (%debug) {
aline @debug $1-
write $mircdir $+ debug.txt $1- $+ $crlf
}
}
}
alias rwrite {
if (FROM-CONSOLE == $2) {
set %mmh $true
/sockwrite -n $1 $3-
}
else { set %mmh $false | /sockwrite -n $1 $2- }
if ($2 != PONG) && ($3 != PRIVMSG) && ($3 != NOTICE) {
if (%logsareon) { .timer 1 2 /rwrite $1 : $+ $logserv PRIVMSG # $+ $svslogchan : $+ $iif(%mmh,sended from debug window: $3-,sended: $2-) }
db $iif(%mmh,sended from debug window: $3-,sended: $2-)
}
}