diff --git a/Changes b/Changes index 9a3e7c105..f7dcd316f 100644 --- a/Changes +++ b/Changes @@ -1502,3 +1502,4 @@ seen. gmtime warning still there - Added NEW doc/unreal32docs.html Docs - Fixed an oper::swhois bug where the swhois was not propagated reported by FrostByghte (#0000247) +- Converted cr/lf to just lf in doc/unrea32docs.html diff --git a/doc/unreal32docs.html b/doc/unreal32docs.html index 2bef8ac4c..549876c4c 100644 --- a/doc/unreal32docs.html +++ b/doc/unreal32docs.html @@ -1,7470 +1,7470 @@ - - -
- - - - - -UnrealIRCd
-http://www.unrealircd.com
Version: 3.2-Selene
Complete Documentation –
-Rev: 1.0
Current Version: 3.2 -Beta12
- -Released: 8/19/02
Head
-Coders:
-Stskeeps / Codemastr
Coding
-Team: Grievre
-/ Luke / nighthawk
Documentation: CKnight^
Due to the increasing complexity of UnrealIRCd3.2 We have -switched to a easier to navigate, more inclusive documentation set. To view this documentation you must have a -compatible browser, which are listed below. -Up to date docs are available @ http://www.unrealircd.com/unreal32docs.html
- -
Compatible Browsers:
-Modified
Opera 6.02
- -Microsoft Internet Explorer 6.X / 5.5
- -Netscape Navigator 6.X
- -
1.1.
- Notes on new
-documentation
1.2.
- Notes on current
-release
1.3.
- Compatibility
-issues
2.
-Installation
3.
-Configuring your
-unrealircd.conf file
3.1.
-Configuration file
-explained
3.2.
-Me Block -=- (M:Line)
3.3.
-Admin Block -=- (A:Line)
3.4.
-Class Block -=- (Y:Line)
3.5.
-Allow Block -=- (I:Line)
3.6.
-Listen Block -=- (P:Line)
3.7.
-Oper Block -=- (O:Line)
3.8.
-DRpass Block -=-(X:Line)
3.9.
-Include Directive
3.10.
-Loadmodule Directive
3.11.
-Log Block
3.12.
-TLD Block -=- (T:Line)
3.13.
-Ban Nick Block -=- (Q:Line)
3.14.
-Ban User Block -=- (K:Line)
3.15.
-Ban IP Block -=- (Z:Line)
3.16.
-Ban Server Block -=-(q:Line)
3.17.
-Ban Realname Block -=-
-(n:Line)
3.18.
-Ban Exception Block -=- (E:Line)
3.19.
-Scan Exception Block -=-
-(e:Line)
3.20.
-Deny DCC Block -=- (dccdeny.conf)
3.21.
-Deny Version Block -=- (V:Line)
3.22.
-Deny Link Block -=- (D:Line /
-d:Line)
3.23.
-Deny Channel Block -=-
-(chrestrict.conf)
3.24.
-Allow Channel Block
3.25.
-Vhost Block Block -=-
-(vhost.conf)
3.26.
-Badwords Block -=-
-(badwords.conf)
3.27.
-Uline Block -=- (U:Line)
3.28.
-Link Block -=- (C/N/H:Lines)
3.29.
-Alias Block
3.30.
-Help Block
3.31.
-Set Block -=-
-(networks/unrealircd.conf)
This document was written for exclusively for use with -UnrealIRCd. Use of this docment with -another software package, or distribution of this document with another software -package is strictly prohibited with out the written permission of the -UnrealIRCd Development Team. This -document may be copied/printed/reproduced/published as many times as you like, -providing it is for use with UnrealIRCd and is not modified in anyway. – -Copyright UnrealIRCd Development Team 2002
- -
This document is the first try at an official COMPLETE -Unreal3.2 Document. It is still a work -in progress. I rushed a bit to get it -ready for the beta12 release. I will be -adding a lot more detail & examples as time goes on.
- -
If you have any feedback, comments, suggestions, please feel -free to contact me with them, and I will do my best to work them in. My goal is to make Unreal3.2 and its -powerful features, easier to setup, and easier to use.
- -Email: docs@unrealircd.com
- -
I M P O R T A N T R E A D I N G
(YES,
-YOU WILL NEED TO READ ALL OF THIS)
*
-Unreal3.2-Selene is a lot different than Unreal3.1.1. Forget all you have
learned about setting up Unreal3.1.1 - this
-is a lot different. We have got
a new configuration format that integrates
-all the former config files,
ircd.conf, vhost.conf, chrestrict.conf,
-unrealircd.conf, into to one new
unrealircd.conf (what the ircd.conf is
-called now). See doc/ for more
information on the configuration format
*
-THIS IS A BETA VERSION, REPORT BUGS ON http://bugs.unrealircd.org
*
-We have introduced a new cloaking algoritm (+x), which makes it
incompatible with Unreal3.1.1 - these can
-however still link, but the
hostname will look different. This is made
-of three big numbers,
configured in the config file - and these
-MUST be the same on all servers
on the network. Keep these numbers secret,
-and the cloaking algorithm is
uncrackable (within 55 years, that is). The
-+x algorithm was changed slightly
to fix a method of cracking that was found.
-#define COMPAT_BETA4_KEYS to use the beta4
system for compatibility with older betas.
*
-If you use Linux and have problems where the IRCd complains that
MAXCONNECTIONS is larger than FD_SETSIZE,
-you need to get your root to
edit /usr/include/bits/types.h - #define
-__FD_SETSIZE 1024 to be some
number that is equal or higher than
-MAXCONNECTIONS. This is a problem with
Linux that it is hardcoded and non
-overrideable in some distributions. We
recommend you use FreeBSD or the variants of
-this if you need to run high
load IRC servers.
*
-We use autoconf to help with compiliation, and this should make us able
to a lot more platform (we have even ported
-to BeOS).
*
-We require a pthreads library for the SOCKS scan now - and this is now
done in the background (no more waiting!).
*
-The IRCd is now modularized, and you load modules with the loadmodule
command. You will most likely want to add
-these lines:
loadmodule
-"src/modules/commands.so";
loadmodule "src/modules/scan.so";
loadmodule
-"src/modules/scan_socks.so";
loadmodule
-"src/modules/scan_http.so";
If you would like to code a module, doc/ will
-contain a module guide,
and we got an example module in
-src/modules/m_dummy.c.
*
-We have some IPv6 support, and there are some minor bugs in it.
*
-The documentation is NOT yet 100% complete
*
-We have added snomask (similar to ircu), basically this allowed us to remove
-several modes. Modes +cfFkje
are gone, but don't worry, you can still use
-them. They are now added like this:
/mode yournick +s +cF
You set the flags in the second parameter of
-the mode command for a mode change +s, setting -s with no
parameters removes all your snomask. You can
-remove a specific snomask by doing:
/mode yournick -s -c
The
-current snomasks are:
c - local connects
F - far connects
f - flood notices
k - kill notices
e - 'eyes' notices
j - 'junk' notices
v - vhost notices
G - gline/shun notices
n - nick change notices
q - deny nick (Q:line) rejection notices
It shouldn't be too hard to figure out, just
-play around with it a bit :)
*
-/who needs testing it was recoded and may contain bugs
*
-We have added alias {} which allows you to dynamically create commands such as
-/nickserv
Read example.conf for more information on
-how to create your own. To use standard ones include
one of the following files
aliases/ircservices.conf (IRCServices,
-Daylight)
aliases/epona.conf (Epona)
aliases/auspice.conf (Auspice)
aliases/generic.conf (Magick, Sirius,
-Wrecked)
aliases/operstats.conf (OperStats)
aliases/genericstats.conf (GeoStats,
-NeoStats)
*
-You can now use an IP in the oper::from and vhost::from fields even if the host
-resolves
*
-Added an http proxy scanner (scan_http.so)
*
-Added oper::snomask to specify default oper snomask modes
*
-/helpop text has been moved to a config directive, help {}. To keep the
-standard help
text you need to include help.conf so
-add include "help.conf"; to your config file.
*
-To be able to use G:lines you must now have the can_gkline flag (or t if old
-style flags)
*
-Usermode +T (Tech Admin) has been removed, since it is 100% useless
*
-Added a make install to copy files to the installation location
*
-Removed ./ircd, ./killircd, crypt/mkpasswd, ./rehash and merged them into a new
./unreal [start|stop|rehash|mkpasswd]
for mkpasswd the format is
./unreal mkpasswd [method] [password]
*
-Added a new system for crypting passwords. You now do for example
password "my password" { crypt; };
This allows you to have some crypted
-passwords and others not. If you have SSL enabled
you may also use the md5 and sha1 methods.
*
-The old blackhole is now set::scan::endpoint and specifies an IP and port to
-tell
proxies to connect to.
*
-You can now specify a cipher list for SSL links (read doc/conf.doc for more
-info)
*
-+I is now in invisibility.so so it is easily disabled
*
-set::socks has been replaced by set::scan (read doc/conf.doc for more info)
*
-If you experince problems with the scanners, perhaps check out BOPM
(http://www.blitzed.org/bopm)
*
-log {} syslog support added (read doc/conf.doc for more info)
*
-Added ripemd-160 password encryption support
*
-Enabled sha1 and md5 password encryption on Win32 regardless of whether SSL is
-used.
*
-Added WinNT/2k/XP service support (experimental)
To use this you use the unreal.exe utility:
unreal install -installs the service
unreal uninstall -uninstalls the service
unreal start -starts the service
unreal stop -stops the service
unreal restart -restarts the service
unreal rehash -rehashes the config file
Config errors and crashes are now logged to
-service.log when in service mode.
*
-Implimented a new win32 debugger to make fixing bugs much easier.
*
-Added a win32 installer to simplify installing under Windows.
*
-AKILL/RAKILL is depricated. Server command still works but will be removed
-eventually
(aliases to TKL G). For normal opers it
-notices that the commands are depricated.
Made
-the config parser smarter when it comes to time values and size values. Entries
-are
no longer limited to 1d2h1m. You can now
-enter "1day 2 hours 1 minute" for example. See
doc/conf.doc for more information.
*
-The operoverride code has been rewritten to be less intrusive. You can now no
-longer
automatically join a channel for which you
-must override a mode. You must /invite
yourself to the channel. The idea behind
-this is it prevents the accidental "rejoin on
kick" ban override and joining a +s
-channel without realizing it is +s and therefore you
shouldn't know it exists.
*
-If you use the SSL features of Unreal, you should use OpenSSL 0.9.6e or later.
-This is
important as the older versions may make the
-program exploitable. See
http://www.openssl.org for more information
*
-We have made a lot of changes to deal with SSL, and if you find any flaws or
-problems,
please contact the coder team. We however
-think that the changes will make SSL
more transparent and make it work more
-efficiently.
*
-Added technical documentation in doc/technical. This directory will contain
-information
about the protocol used by Unreal.
*
-Added EGD support for SSL. EGD allows entropy to be gathered on systems that do
-not
have a random device (/dev/random or
-/dev/urandom) or have an unreliable random device.
Unreal has been tested using EGADS
-(http://www.securesoftware.com/egads.php) [With EGD
support enabled], PRNGD
(http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html),
-and EGD
(http://egd.sourceforge.net). Other EGD
-compatible programs should work as well.
*
-MAKE SURE YOU RERUN ./Config AND RUN make clean BEFORE USING THIS VERSION!!!
Unreal 3.2 is ONLY compatible with Unreal3.1.4 and Unreal3.2 -servers. DO NOT ATTEMPT to link to servers that it is NOT compatible with.
- -
Tested & Supported Operating Systems:Linux version:Linux 2.2.x FreeBSD 4.6-STABLEFreeBSD 4.5-STABLESlackware 8.0 SunOS is NOT supported Windows version:WindowsXP HomeWindowsXP Pro If you have Unreal3.2 working correctly under other operating systems, please send the details to docs@unrealircd.com- -
1. gunzip --d Unreal3.2-beta12.tar.gz
- -
This section will help explain the way the new -unrealircd.conf works. It is A LOT -different than any ircd.conf you have seen in the past! This file as a C based -structure, and is a bit scary when you first look at it. But as you learn it, and start to understand -it, it is acutely much easier to use.
- -
The new system uses a block-based system.
- -Each entry,
-or block, in the new format has a specific format. The format works like:
<block-name>
-<block-value> {
<block-directive>
-<directive-value>;
};
<block-name>
-is the type of block, such as me, or admin. <block-value> sometimes
-specifies a value, such as /oper login, but other times it will be a sub-type
-such as in ban user.
<block-directive>
-is an individual variable specific to the block, and <directive-value> is
-the Associated value. Directives and their values do not have to be separated
-by an equal sign, but they maybe if you choose to do so. If
-<directive-value> contains spaces, or characters that represents a
-comment it must be contained in double quotes. If you want to use a quote
-character inside a quoted string use \" and it will be understood as a
-quote character.
A <block-directive> can have directives
-within it, if that’s the case it will have it's own set of curly braces
-surrounding it. Some blocks do not have directives and are specified just by
-<block-value>, such as include. Also note that there is no set format,
-meaning the whole block can appear on one line or over multiple lines. The
-format above is what is normally used (and what will be used in this file)
-because it is easy to read.
Note: the
-configuration file is currently case sensitive so BLOCK-NAME is not the same as
-block-name. There is a special notation used to talk about entries in the
-config file. For example, to talk about <directive-name> in the example
-above, you'd say <block-name>::<block-directive>, and if that
-directive has a sub block you want to reverence, you would add another :: and
-the name of the sub directive.
To talk
-about an unnamed directive you would do <block-name>:: which would in
-this case mean <block-value>, or it could be an entry in a sub block that
-has no name.
Comments are
-supported in three formats, both multi-line and single-line comments are
-supported. To comment a single line there are two options, a shell style
-comment, or a C++ style comment. A shell style comment begins with a # and a
-C++ style begins with a //. These comments can appear anywhere in a line and
-comment anything until the end of the line. For multi-line comments, a C style
-comment is supported. To start the comment you enter /* and anything from there
-until the */ is commented.
Examples of comments that are ignored:
- -#Comment type 1 (Shell type)
- -// Comment type 2(C++ style)
- -/* Comment type 3 (C Style) */
- -
Syntax:
me {
name <name-of-server>;
info <server-description>;
numeric <server-numeric>;
};
These -values are pretty obvious. The me::name specifies the name of the server, -me::info specifies the server's info line, me::numeric specifies a numeric to -identify the server. This must be a value between 1 and 255 that is unique to -the server meaning no other servers on the network may have the same numeric.
- -
Example:
- -
me
- -{
- -name -"irc.foonet.com";
- -info -"FooNet Server";
- -numeric 1;
- -};
- -
Syntax:
admin {
<text-line>;
<text-line>;
...
};
The admin
-block defines the text displayed in a /admin request. You can specify as many
-lines as you want and you they can contain whatever information you choose, but
-it is standard to include the admin's nickname and email address at a minimum.
-Other information may include any other contact information you wish to give.
Example:
admin {
"Bob Smith";
"bob";
"widely@used.name";
};
Syntax:
class
-<name> {
pingfreq <ping-frequency>;
connfreq <connect-frequency>;
maxclients <maximum-clients>;
sendq <send-queue>;
};
The class
-block is a vastly simplified version of the Y:line. You are no longer limited
-to naming them with a number, you can now use an alpha-numeric string which is
-specified in the class::. The values of this block define the connection
-classes, class::pingfreq specifies the number of seconds between PINGs, class::connfreq
-is only used in server classes to specify the time in seconds between
-connection attempts, class::maxclients specifies the maximum amount of clients
-that may use this class to connect, and class::sendq specifies the amount of
-information that can remain in the send queue buffer.
Examples:
- -class clients {
- -pingfreq -90;
- -maxclients -500;
- -sendq -100000;
- -};
- -
class servers{
- -pingfreq -90;
- -maxclients -10; /* Max servers we can -have linked at a time */
- -sendq -1000000;
- -connfreq -100; /* How many seconds between each connection attempt */
- -};
- -
Syntax:
allow {
ip <user@ip-connection-mask>;
hostname
-<user@host-connection-mask>;
class <connection-class>;
password <connection-password>
-{ <auth-type>; };
maxperip
-<max-connections-per-ip>;
redirect-server
-<server-to-forward-to>;
redirect-port
-<port-to-forward-to>;
};
The allow
-class is similar to an I:line but provides more features. The allow::ip
-specifies a user@ip hostmask for a user to match to connect and allow::hostname
-specifies a user@host to match to connect, allow::class is the name of a
-preexisting (must appear before this) class block that will be used for this
-class. The rest of the directives are optional, allow::password specifies a
-password that users must enter to connect. The allow::password:: allows you to
-specify an authentication method. Currently supported methods are crypt, md3,
-and sha1. If you are using plain-text you can just leave this sub-block out. This
-directive also allows you to configure clone killing, allow::maxperip lets you
-specify the maximum number of clients that may connect from a single IP.
-Lastly, the allow block supports redirection when the server is full,
-allow::redirect-server specifies the address of a server to forward to, and
-allow::redirect-port specifies the port, if no port is specified, 6667 is
-assumed.
Note: for
-auto-redirection to occur the client must have support for the redirection
-numeric, at this time not many clients do.
Examples:
allow {
ip *;
hostname *;
class clients;
maxperip
-5;
};
allow {
ip *@*;
hostname *@*.passworded.ugly.people;
class clients;
password
-"f00Ness";
maxperip
-1;
};
Syntax:
listen
-<ip:port> {
options {
<option>;
<option>;
...
};
};
This block
-allows you to specify the ports on which the IRCD will listen. If no options
-are required, you may specify this without any directives in the form listen
-<ip:port>;. Valid listen::options are clientsonly (only users may
-connect), serversonly (only servers nameconnect), java (CR javachat support),
-ssl (SSL encrypted port). A combination of any of those flags may be specified.
Since IPv6
-is now supported, and the IPv6 seperator is a : it makes the
ip:port
-format a bit difficult. To compensate, you should enclose the IP in brackets.
-For
example,
-[::1]:6667. Which will bind to the localhost on port 6667. If you are using
-IPv6 and want to listen on an IPv4 IP use the format
-[::ffff:<ip>]:<port>. For example,
[::ffff:203.123.67.1]:6667.
-Which will bind to the IPv4 203.123.67.1 on port 6667. You may also specify *
-as the IP to bind to all interfaces.
Examples:
- -
listen *:6601 -{
- -options {
- -ssl;
- -clientsonly;
- -};
- -};
- -
Or if there are no options:
- -
listen -*:8067;
- -listen -*:6667;
- -
oper
-<name> {
from {
userhost
-<hostmask>;
userhost
-<hostmask>;
};
password <password> {
-<auth-type>; };
class <class-name>;
flags <flags>;
flags {
<flag>;
<flag>;
};
swhois <whois
-info>;
snomask <snomask>;
};
The oper
-block allows you to assign IRC Operators for your server. The oper:: specifies
-the login name for the /oper. The oper::from::userhost is a user@host mask that
-the user must match, you can specify more than one hostmask by creating more
-than one oper::from::userhost. The oper::password is the password the user must
-specify, oper::password:: allows you to specify an authentication method for
-this password, valid auth-types are crypt, md5, and sha1. If you want to use a
-plain-text password leave this sub-block out.
The
-oper::class directive specifies the name of a preexisting (appears before this
-in the config file) class name that the oper block will use.
The
-oper::flags directive has two formats. If you wish to use the old style oper
-flags i.e., OAa, you use the flags <flags> method, if you want to use the
-new style,i.e., services-admin, then you use the flags { <flag>; }
-method. Below is a list of all the flags (in both formats) and what they do.
o local Makes
-you a local operator (contains rhgwlckbBn)
O global Makes
-you a global operator (contains oLKG)
C coadmin Makes
-you a coadmin
A admin Makes
-you an admin
a services-admin Makes you a services admin
N netadmin Makes you a netadmin
r can_rehash Oper may use /rehash
D can_die Oper
-may use /die
R can_restart Oper may use /restart
h helpop Oper
-receives +h (helpop)
w can_wallops Oper can send /wallops
g can_globops Oper can send /globops
c can_localroute Can connect servers locally
L can_globalroute Can connect servers globally
k can_localkill Can /kill local users
K can_globalkill Can /kill global users
b can_kline Can use /kline
B can_unkline Can use /unkline
t can_gkline Can use /gline
n can_localnotice Can send local server notices
G can_globalnotice Can send global server notices
z can_zline Can use /zline
W get_umodew Sets +W when you oper
H get_host Sets your host to an oper host
^ can_stealth Can use +I
Certain
-flags give you certain options by default:
local |
- Global |
- admin |
- saadmin |
- netadmin |
-
can_rehash |
- can_rehash |
- can_rehash |
- can_rehash |
- can_rehash |
-
helpop |
- helpop |
- helpop |
- helpop |
- helpop |
-
can_globops |
- can_globops |
- can_globops |
- can_globops |
- can_globops |
-
can_wallops |
- can_wallops |
- can_wallops |
- can_wallops |
- can_wallops |
-
can_localroute |
- can_localroute |
- can_localroute |
- can_localroute |
- can_localroute |
-
can_localkill |
- can_localkill |
- can_localkill |
- can_localkill |
- can_localkill |
-
can_kline |
- can_kline |
- can_kline |
- can_kline |
- can_kline |
-
can_unkline |
- can_unkline |
- can_unkline |
- can_unkline |
- can_unkline |
-
can_localnotice |
- can_localnotice |
- can_localnotice |
- can_localnotice |
- can_localnotice |
-
N/A |
- can_globalroute |
- can_globalroute |
- can_globalroute |
- can_globalroute |
-
N/A |
- can_globalkill |
- can_globalkill |
- can_globalkill |
- can_globalkill |
-
N/A |
- can_globalnotice |
- can_globalnotice |
- can_globalnotice |
- can_globalnotice |
-
-
-
The
-oper::swhois directive allows you to add an extra line to an opers whois
-information.
The
-oper::snomask directive allows you to preset an opers service notice mask on
-oper up.
Vaild
-Service Notice Masks (snomask) are:
k = See's all the /KILL's which were executedc = See's all Connects/Disconnects on local serverF = Lets you recieve Far and Local connect noticesf = Listen to Flood Alerts from serverj = See's misc. messages generated by the serverv = Lets you receive notice of /vhost usagesG = Lets you see TKL (G:line,Shun) notiese = Can listen to Server messages sent to +e users (Eyes)n = Lets you see notices when a user changes his/her nicknameq = Lets you see notices when a user is rejected because of a Q:line
-
-
Example:
- -oper bobsmith {
- -class clients;
- -from {
- -userhost -bob@smithco.com;
- -userhost -boblaptop@somedialupisp.com
- -};
- -password -"f00";
- -flags
- -{
- -netadmin;
- -global;
- -};
- -swhois -“Example of a whois mask”;
- -snomask frebWqFv;
- -};
- -
Syntax:
drpass {
restart <restart-password> {
-<auth-type>; };
die <die-password> {
-<auth-type>; };
};
This block
-sets the /restart and /die passwords with drpass::restart and drpass::die respectively.
-The drpass::restart:: and drpass::die:: allow you to specify the type of authentication
-used by this item. The currently supported authentication types are crypt, md5,
-and sha1.
Example:
- -
drpass {
- -restart -"I-love-to-restart";
- -die -"die-you-stupid";
- -};
- -
Syntax:
include <file-name>;
This directive specifies a filename to be
-loaded as a separate configuration file. This file may contain any type of
-config block and can even include other files. Wildcards are supported in the
-file name to allow you to load multiple files at once.
Example:
Include
-mynetwork.network;
That would
-be the statement to use if you wanted to use a separate network file. Separate network files are no longer
-required; all the network settings can be inserted directly into the
-unrealircd.conf. Or you can put an include statement them to load the file.
Syntax:
loadmodule
-<file-name>;
This
-directive specifies a filename to be loaded as a module. Some modules may have
-there own documentation which should be consulted when setting it up.
-Loadmodule also supports wildcards to easily load multiple modules at once.
Modules that
-come standard with Unreal3.2:
scan_http.so - HTTP proxy scanner modulescan_socks.so - SOCKS proxy scanner modulescan.so - Main scanner module (scan_socks and scan_http rely on it)commands.so - All the / commands (well not all yet, but will eventually be all)
-
-
Example:
Loadmodule
-socks.so;
Syntax:
log
-<file-name> {
maxsize <max-file-size>;
flags {
<flag>;
<flag>;
...
};
};
The log
-block allows you to assign different log files for different purposes. The
-log:: contains the name of the log file. log::maxsize is an optional directive
-that allows you to specify a size that the log file will be wiped and
-restarted. You can enter this string using MB for megabytes, KB, for kilobytes,
-GB, for gigabytes. The log::flags specifies which types of information will be
-in this log. You can specify one or more of the following, errors, kills, tkl
-(G:lines and Shuns), connects, server-connects, kline, and oper.
You may also
-have multiple log blocks, to log different things to different log files.
Available
-Flags:
errors self -explanatory
- -kills logs -/kill notices
- -tkl logs -info on glines, shuns, tklines, tzlines, gzlines
- -connects logs -user connects/quits
- -server-connects logs -server connects/squits
- -kline logs -kline and unkline
- -oper logs -oper attempts (both failed and -successful)
- -
Example:
log ircd.log
-{
maxsize 5MB;
flags {
errors;
kills;
oper;
kline;
tkl;
};
};
Syntax:
tld {
mask <hostmask>;
motd <motd-file>;
rules <rules-file>;
channel <channel-name>;
};
The tld
-block allows you to specify a motd, rules, and channel for a user based on
-their host. This is useful if you want different motds for different languages.
-The tld::mask is a user@host mask that the user's username and hostname must
-match. The tld::motd and tld::rules specify the motd and rules file,
-respectively, to be displayed to this hostmask. Lastly the tld::channel is
-optional, it allows you to specify a channel that this user will be forced to
-join on connect. If this exists it will override the default auto join channel.
Example:
- -tld {
- -mask -*@*.fr;
- -motd -"ircd.motd.fr";
- -rules -"ircd.rules.fr";
- -};
- -
Syntax:
ban nick {
mask <nickname>;
reason <reason-for-ban>;
};
The ban nick
-block allows you to disable use of a nickname on the server. The ban::mask
-allows wildcard masks to match multiple nicks, and ban::reason allows you to
-specify the reason for which this ban is placed. Most commonly these blocks are
-used to ban usage of the nicknames commonly used for network services.
Example
- -ban nick {
- -mask -"*C*h*a*n*S*e*r*v*";
- -reason -"Reserved for Services";
- -};
- -
Syntax:
ban user {
mask <hostmask>;
reason <reason-for-ban>;
};
This block
-allows you to ban a user@host mask from connecting to the server. The ban::mask
-is a wildcard string of a user@host to ban, and ban::reason is the reason for a
-ban being placed. Note, this is only a local ban and therefore the user may
-connect to other servers on the network.
Example
- -ban user {
- -mask -*tirc@*.saturn.bbn.com;
- -reason -"Idiot";
- -};
- -
Syntax:
ban ip {
mask <ipmask>;
reason <reason-for-ban>;
};
The ban ip
-block bans an IP from accessing the server. This includes both users and
-servers attempting to link. The ban::mask parameter is an IP which may contain
-wildcard characters, and ban::reason is the reason why this ban is being
-placed. Since this ban affects servers it should be used very carefully.
Example
- -ban ip {
- -mask -192.168.1.*;
- -reason “Get -a real ip u lamer!”;
- -};
- -
Syntax:
ban server {
mask <server-name>;
reason <reason-for-ban>;
};
This block
-disables a server's ability to connect to your server. The ban::mask field
-specifies a wildcard mask to match against the server attempting to connect's
-name, and ban::reason specifies the reason for which this ban has been placed.
Example
- -ban server {
- -mask -broken.server.my.network.com;
- -reason “Its -broken!”;
- -};
- -
Syntax:
ban realname
-{
mask <realname-mask>;
reason <reason-for-ban>;
};
The ban
-realname block allows you to ban a client based on the GECOS (realname) field.
-This is useful to stop clone floods because often clone bots use the same
-realname. The ban::mask specifies the realname which should be banned. The mask
-may contain wildcards. The ban::reason specifies the reason why this ban is
-being placed.
Example
- -ban realname {
- -mask -“Bob*”;
- -reason “Bob -sucks!”;
- -};
- -
Syntax:
except ban {
mask <hostmask>;
};
The except
-ban block allows you to specify a user@host that will override a ban placed on
-a broader host. This is useful when you want an ISP banned, but still want specific
-users to be able to connect. The except::mask directive specifies the user@host
-mask of the client who will be allowed to connect.
Example
- -except ban {
- -mask myident@my.isp.com;
- -};
- -
Syntax:
except scan
-{
mask <ipmask>;
};
The except
-scan block allows you to specify an IP mask that will override the scanners.
-This only works if you have chosen to load the scanner modules. The except::mask
-specifies an IP mask that will not be banned because of any type of scanner
-problem.
Example
- -except scan {
- -mask -192.168.1.*;
- -};
- -
Syntax:
deny dcc {
filename <file-to-block>;
reason <reason-for-ban>;
};
The deny dcc
-block allows you to specify a filename which will not be allowed to be sent via
-DCC over the server. This is very useful in helping stop distribution of
-trojans and viruses.
The
-deny::filename parameter specifies a wildcard mask of the filename to reject
-sends of, and deny::reason specifies the reason why this file is blocked.
Example
- -deny dcc {
- -filename -virus.exe;
- -reason -“This is a GD Virus”;
- -};
- -
Syntax:
deny version
-{
mask <server-name>;
version <version-number>;
flags <compile-flags>;
};
This block
-allows you to deny a server from linking based on the version of Unreal it is
-running and what compile time options it has. The format for this block is
-somewhat complex but isn't too hard to figure out. The deny::mask directive
-specifies a wildcard mask of the server name this applies to. The deny::version
-specifies the protocol number of the version this refers to.
For example,
-3.0 is 2301, 3.1.1/3.1.2 is 2302, 3.2 is 2303. The first character of this
-parameter can be one of the following >, <, =, !. This character tells
-the IRCd how to interpret the version. If the first character is a > then
-all version greater than the specified version are denied, if it is a < all
-versions lower are denied, if it is an = only that version is denied, and if it
-is a ! then all versions except the specified are denied. The deny::flags
-directive allows you to specify what compile time flags the server may or may
-not have. The flags are arranged one after the other with no separation
-between, if a character is prefixed by a ! then it means the server may not
-have this flag compiled into it, if it does not have a ! prefix, then it means
-the server must have this flag compiled.
Syntax:
deny link {
mask <server-name>;
rule <crule-expression>;
type <type-of-denial>;
};
This block
-allows you to use specific rules to deny a server from linking. The deny::mask
-specifies a wildcard mask of the server name to apply this rule to. The
-deny::rule directive is very complex. A crule expression allows you to control
-the link in great detail, and it is set up like a programming expression. Four
-operators are supported, connected(<servermask>), returns true if a
-server matching servermask is connected, directcon(<servermask>), returns
-true if the server matching servermask is directly connected to this server,
-via(<viamask>,<servermask>), returns true if a server matching
-servermask is connected by a server matching viamask, and directop(), which
-returns true if the operator issuing a /connect is directly connected to this
-server. These operators can be combined using && (and) and || (or),
-items may also be enclosed in parenthesis to allow grouping. In addition, an
-operator preceded with a ! checks if the operator returned false. If the entire
-expression evaluates to true, then the link is denied. The deny::type allows
-two different values, auto (only applies to autoconnects, /connect will still
-work), and all (applies to all connection attempts).
Syntax:
deny channel
-{
channel “<channel-mask>”;
reason <reason-for-ban>;
};
The deny channel
-block allows you to disallow users from joining specific channels. The
deny::channel
-directive specifies a wildcard mask of channels the users may not join, and the
-deny::reason specifies the reason why the channel may not be joined.
Example
deny channel
-{
channel “#unrealsucks”;
reason “No it don’t!”;
};
Syntax:
allow
-channel {
channel “<channel-mask>”;
};
The allow
-channel block allows you to specify specific channels that users may join. The
allow::channel
-directive specifies the wildcard mask of the channels which may be joined.
Example
- -allow channel {
- -channel -“#something”;
- -};
- -
Syntax:
vhost {
vhost <vhost>;
from {
userhost <hostmask>;
userhost
-<hostmask>;
...
};
login <login-name>;
password <password> {
-<auth-type>; };
};
The vhost
-block allows you to specify a login/password that can be used with the /vhost
-command to obtain a fake hostname. The vhost::vhost parameter can be either a
-user@host or just a host that the user will receive upon successful /vhost. The
-vhost::from::userhost contains a user@host that the user must match to be
-eligible for the vhost. You may specify more than one hostmask. The
-vhost::login in the login name the user must enter and vhost::password is the
-password that must be entered. Lastly vhost::password:: allows you to specify
-the type of authentication used by this item. The currently supported
-authentication types are crypt, md5, and sha1.
Example
- -vhost {
- -vhost -my.own.personal.vhost.com;
- -from {
- - - - - -};
- -login -mynick;
- -password -mypassword;
- -};
- -
Syntax:
badword
-<type> {
word <text-to-match>;
replace <replace-with>;
};
The badword
-block allows you to manipulate the list used for user and channel mode +G to
-strip "badwords". The badword:: specifies the type, valid types are
-channel and messages, channel is for the channel +G list, and message is for
-the user +G list. The badword::word is a regular expression of the word we
-should search for and remove. The badword::replace is what we should replace
-this match with. If badword::replace is left out, the word is replaced with
-<censored>.
Example
- -banword channel {
- -word shit;
- -replace -shoot;
- -};
- -
Syntax:
ulines {
<server-name>;
<server-name>;
...
};
The ulines
-block lets you define certain servers as having extra abilities. This should
-only be used for servers such as services and stats. This should not be set for
-a normal server. Each entry is the name of the server which will receive the
-extra abilities.
Example
- -
ulines {
- -services.mynetwork.com;
- -stats.mynetwork.com;
- -};
- -
Syntax:
link
-<server-name> {
username <usermask>;
hostname <ipmask>;
bind-ip <ip-to-bind-to>;
port <port-to-connect-on>;
password-connect
-<password-to-connect-with>;
password-receive
-<password-to-receive> { <auth-type>; };
hub <hub-mask>;
leaf <leaf-mask>;
leafdepth <depth>;
class <class-name>;
options {
<option>;
<option>;
...
};
};
The link
-block is a simplified way to link servers. The link:: should be the name of the
-server which is to be linked, link::username is a wildcard mask of the username
-the server must have, and link::hostname is an IP mask the server must match.
-If you are running with IPv6 enabled and you want to link to an IPv4 server,
-specify the hostname in the format ::ffff:<ip>, example
-::ffff:203.123.67.1.
The
-link::bind-ip specifies an IP that the server will bind to in order to make
-this connection and link::port specifies the port it will establish the
-connection on.
The
-link::password-connect must be a plain-text password since it will be sent to
-the other server, but link::password-receive may be encrypted using a method
-specified in link::password-receive:: valid methods are crypt, md5, and sha1.
-You can leave the auth-type parameter out to have it remain plain-text.
The
-link::hub and link::leaf directives may not be used together, either a server
-is a hub or a leaf. If link::hub is specified, the value is a mask of what servers
-this hub may connect. If link::leaf is specified the value specifies the mask
-that this server will act like a leaf towards. The link::leafdepth directive
-should only be specified if link::leaf exists and is also optional. This value
-specifies the depth (number of hops) this server may have beneath it.
The
-link::class is the name of a preexisting (appears before this in the config)
-class block that will be used for the server connecting with the link block.
The
-link::options is a list of one or more options you wish this server to use,
-valid options are ssl (the server will connect using SSL encryption),
-autoconnect (the server will be autoconnected based on the value in the
-specified link::class), quarantine (opers on this server will maintain locop
-status).
Example
- -link -hub.mynet.com
- -{
- -username *;
- -hostname 1.2.3.4;
- -bind-ip *;
- -port 7029;
- -hub *;
- -password-connect -"LiNk";
- -password-receive -"LiNk";
- -class servers;
- -options -{
- -autoconnect;
- -ssl;
- -zip;
- -};
- -};
- -
Syntax
-[standard alias]:
alias
-<name> {
nick <nick-to-forward-to>;
type <type-of-alias>;
};
The alias
-block [standard alias] allows you to forward a command to a user, for example
-/chanserv sends a message to the user chanserv. The alias:: specifies the name
-of the command that will be the alias, ex /chanserv, alias::nick is the
-nickname it will forward to, if the alias:: is the same as the nick it will
-forward to, alias::nick can be left out. The alias::type specifies the type of
-alias, valid types are services (the user is on the services server), stats
-(the user is on the stats server), and normal (the user is a normal user on any
-server). The alias block also has another purpose which is explained below.
Syntax [command
-alias]:
alias
-<name> {
format <regex-expression> {
alias
-<alias-to-forward-to>;
parameters
-<parameter-string>;
};
format <regex-expression> {
...
};
type command;
};
When the
-alias block is used in this format, it allows you a much broader range of
-usage. For example you can create aliases such as /identify. The alias:: is the
-same as above, the name of the alias command. The alias::format specifies a
-regular expression that compares against the text sent to the alias command,
-when matched the sub-entries of that alias::format will be used, you may have
-multiple alias::format's to make the command do different things depending on
-the text sent to it. The alias::format::alias is the name of a preexisting
-(appears before this in the config file) alias block in the standard format
-that when that format is matched will be used. The alias::format::parameters is
-what will be sent as the parameters to this alias. To specify one of the
-parameters given to the command alias specify % followed by a number, for
-example, %1 is the first parameter. To specify all parameters from a given
-parameter to the end do % followed by the number and a -, for example %2-
-returns all parameters from the second till the last. For examples of using the
-alias block in the command format, consult doc/example.conf.
Syntax:
help
-<name> {
<text-line>;
<text-line>;
...
};
The help
-block allows you to create entries for use in /helpop. The help:: is the value
-that must be passed to /helpop as a parameter, if the help:: is left out, then
-it will be used when no parameter is passed to /helpop. The entries for the
-help block are the text that will be displayed to the user when requesting the
-/helpop.
The set file
-is what use to be our networks/unrealircd.conf and our networks file. On single server networks, rather than have
-3 files, I recommend including all of the set commands in the unrealircd.conf .
Now, if your
-server is on a network, chances are you will all basicly use the same Set
-settings. Therefore it makes more sense to have a network file, which is loaded
-with a include:: directive. Below you
-will find all of the set directives available.
Also, please
-note, that this release was rushed a bit, in future releases; I will expand on
-all of the set settings and syntax listed below.
Syntax:
set {
<entry> <value>;
<entry> <value>;
...
};
The set
-block sets options for individual server features. Each entry does something
-different and therefore each will be described below. Some directives have sub
-blocks which will also be described.
set::kline-address
-<email-address>;
The email
-address that K:line questions should be sent to. This value must be specified.
set::modes-on-connect
-<+modes>;
The modes
-that will be set on a user at connection.
set::modes-on-oper
-<+modes>;
The modes
-that will be set on a user when they /oper.
set::auto-join
-<channels>;
The
-channel(s) a user will be forced to join at connection. To specify more than
-one channel use a comma seperated list.
set::oper-auto-join
-<channels>;
The
-channel(s) a user will be forced to join when they /oper. To specify more than
-one channel use a comma seperated list.
set::anti-spam-quit-message-time
-<timevalue>;
A time value
-specifying the length of time a user must be connected for before a /quit
-message will be displayed. Used to prevent spam. A time value is a numeric
-string with d meaning days, h meaning hours, m meaning minutes, and s meaning
-seconds, for example 1d2h3m means 1 day, 2 hours, 3 minutes.
set::oper-only-stats
-<stats-list>;
Specifies a
-list of stats flags with no seperators that defines stats flags only opers can
-use. Leave this value out to allow users to use all flags, or specify * for
-users to be able to use no flags.
set::maxchannelsperuser
-<amount-of-channels>;
Specifies
-the number of channels a single user may be in at any one time.
set::options::hide-ulines;
If this is
-present, Ulined server will be hidden in a /links requested by non-opers.
set::options::no-stealth;
If present
-usermode +I may not be used by anyone on this server.
set::options::show-opermotd;
If present
-the opermotd will be shown to users once they successfully /oper.
set::options::identd-check;
If present
-the presence of an identd server will be checked and the returned value will be
-used for the username. If no ident request is returned or the identd server
-doesn't exist, the user's specified username will be prefixed with a ~. If this
-value is omitted no such check is made.
set::options::show-connect-info;
If present
-notices showing "ident request", "hostname lookup", etc.
-will be displayed when a user connects.
set::dns::timeout
-<timevalue>;
A time value
-specifying the length of time a DNS server has to respond before a timeout. A
-time value is a numeric string with d meaning days, h meaning hours, m meaning
-minutes, and s meaning seconds, for example 1d2h3m means 1 day, 2 hours, 3
-minutes.
set::dns::retries
-<number-of-retries>;
A numeric
-value specifying the number of times the DNS lookup will be retried if failure
-occurs.
set::dns::nameserver
-<name-of-dns-server>;
Specifies
-the hostname of the server that will be used for DNS lookups.
set::network-name
-<name-of-network>;
Specifies
-the name of the network on which this server is run. This value should be
-exactly the same on all servers on a network.
set::default-server
-<server-name>;
Defines the
-name of the default server to tell users to connect to if this server is full.
set::services-server
-<server-name>;
Specifies
-the name of the server that the services bots are connected to. If services are
-not run this value may be left out.
set::stats-server
-<server-name>;
Sets the
-name of the server on which the stats bot is located. If stats are not run this
-value may be left out.
set::help-channel
-<network-help-channel>;
Sets the
-name of the help channel for this network.
set::prefix-quit
-<text-to-prefix-quit>;
Sets the
-text that will be used to prefix a quit message. If this value is set to 0 then
-the standard "Quit:" is used.
set::cloak-keys
-{ <value>; <value>; <value>; };
Sets the
-keys to be used to generate a +x host. This value must be the same on all
-servers or the servers will not link. Each of the set::cloak-keys:: must be a
-numeric value greater than 10000. You must have exactly three values specified.
set::hiddenhost-prefix
-<prefix-value>;
Defines the
-prefix that will be used on hiddenhosts (+x) this is usually three or four
-letters representing the network name.
set::hosts::local
-<locop-host-name>;
Defines the
-hostname that will be assigned to local opers when they set +x.
set::hosts::global
-<globop-host-name>;
Defines the
-hostname that will be assigned to global operators when they set +x.
set::hosts::coadmin
-<coadmin-host-name>;
Sets the
-hostname that will be assigned to co-admins when they set +x.
set::hosts::admin
-<admin-host-name>;
Defines the
-hostname that will be set for admins when they set +x.
set::hosts::servicesadmin
-<servicesadmin-host-name>;
Sets the
-hostname that will be given to services-admins when they set +x.
set::hosts::netadmin
-<netadmin-host-name>;
Sets the
-hostname that will be given to netadmins when they set +x.
set::hosts::host-on-oper-up
-<yes/no>;
If set to
-yes, the H/get_host flag will be honored and +x will be automatically set at
-/oper. If set to no, the user must set +x manually to receive the oper host.
set::scan::endpoint
-<ip:port>;
Specifies
-the IP and port that the server will tell an incoming open proxy to connect to.
set::bind-ip
-{ip};
What ip
-should the scanner bind to before connecting
set::message
-{message};
Put a
-message that users will see when scanner is scanning
set::ban-time
-{time}
Sets the
-time of the ban (1d,2h,1w)
set::ssl::egd
-<filename>;
Specifies
-that EGD (Entropy Gathering Daemon) support should be enabled. If you run
OpenSSL
-0.9.7 or higher, then /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool, and
/etc/entropy
-will be searched by default so no filename is necessary, you may simply
specify
-set::ssl::egd with no value. If you are using a version of OpenSSL prior to
-0.9.7
or you want
-to use a EGD socket located somewhere other than the above listed locations
you may
-specify the filename of the UNIX Domain Socket that an EGD is listening on.
|
- Mode |
-
- Description |
-
|
- Channel Modes |
- |
|
- A |
-
- Only
- Administrators may join |
-
|
- a
- {nick} |
-
- Gives protection to that user, may not be kicked |
-
|
- b
- {nick!user@host} |
-
- Bans the givin user from the channel |
-
|
- c |
-
- No
- ANSI color can be sent to the channel |
-
|
- C |
-
- No CTCPs allowed in the channel |
-
|
- e
- {nick!user@host} |
-
- Execption ban – If someone matches this, they can join a channel
- even if they match an existing ban |
-
|
- f * {linex:seconds} |
-
- Flood protection, if the * is given a user will kick banned when
- they send {lines:seconds} if no * they are just kicked |
-
|
- G |
-
- Makes channel G rated.
- Checks for words listed in the Bad Word Blocks, and replaces them with
- the words specified. |
-
|
- H |
-
- No +I users may join (only settable by admins) |
-
|
- h
- {nick} |
-
- Gives half op status to the user |
-
|
- i
- |
-
- Invite
- Required |
-
|
- K |
-
- /knock
- is not allowed |
-
|
- k
- {key} |
-
- Sets
- a key needed to join |
-
|
- l {##} |
-
- Sets
- the max number of users |
-
|
- L
- {chan} |
-
- If
- the amount set by +l has been reached, users will be sent to this channel |
-
|
- m |
-
- Moderated
- - +v/o/h required to speak |
-
|
- N |
-
- No nickname changes are permitted |
-
|
- n
- |
-
- No
- Messages from outside channels |
-
|
- O |
-
- Only
- IRCops may join |
-
|
- o
- {nick} |
-
- Gives a user channel operator status |
-
|
- p
- |
-
- Private
- |
-
|
- q |
-
- Channel Owner |
-
|
- Q |
-
- Only
- U:Lined Servers can kick users out of channel |
-
|
- R |
-
- Requires
- a registered nickname to join |
-
|
- S |
-
- Strips
- all incoming colors |
-
|
- s
- |
-
- Secret
- |
-
|
- u
- |
-
- Auditorium Makes /names and /who #channel only show channel ops |
-
|
- V |
-
- /invite
- is not allowed |
-
|
- v
- {nick} |
-
- Gives a voice to the user (may talk in +m channels) |
-
|
- z |
-
- Only clients on a Secure (SSL) Connection may join |
-
- -
|
- Mode |
-
- Description |
-
|
- User Modes |
- |
|
- r |
-
- Identifies
- the nick as being registered |
-
|
- s |
-
- Can
- listen to server notices |
-
|
- v |
-
- Receive
- infected DCC Send Rejection notices |
-
|
- o |
-
- Global
- IRC Operator |
-
|
- B |
-
- Marks
- you as being a bot |
-
|
- b |
-
- Can
- read & send to ChatOps |
-
|
- |
-
- |
-
|
- I |
-
- Invisible
- – Not shown in /who searches |
-
|
- O |
-
- Local
- IRC Operator |
-
|
- A |
-
- Server
- Administrator |
-
|
- x |
-
- Gives
- the user a hidden hostname |
-
|
- |
-
- |
-
|
- q |
-
- Only
- U:Lines can kick you (Services Admins Only) |
-
|
- a |
-
- Services
- Administrator |
-
|
- g |
-
- Can
- read & send globops and locops |
-
|
- H |
-
- Hide
- IRCop status in /who or /whois (IRCops Only) |
-
|
- S |
-
- For
- services, protects them |
-
|
- I |
-
- Invisible
- Join/Part. Makes you hidden in channels. (Network Admins Only IF enabled) |
-
|
- |
-
- |
-
|
- t |
-
- Says
- you are using a /vhost |
-
|
- C |
-
- Is
- a Co-Admin |
-
|
- |
-
- |
-
|
- d |
-
- Makes
- it so you can not receive Private Messages (deaf) |
-
|
- k
- |
-
- Can
- see all the /kill that are executed |
-
|
- N |
-
- Network
- Administrator |
-
|
- |
-
- |
-
|
- w |
-
- Can
- listen to wallop messages |
-
|
- |
-
- |
-
|
- h |
-
- Available
- for Help (HelpOp) |
-
|
- |
-
- |
-
|
- G |
-
- Filters
- out all bad words per bad world configuration. |
-
|
- W |
-
- Lets
- you see when people do a /whois on you (IRCops Only) |
-
|
- Command |
-
- Desciption- |
-
- Who |
-
|
- nick
- {newnickname} |
-
- Changes
- your online nick name. Alerts others
- to the change of your nick |
-
- All |
-
|
- whois {nick} |
-
- Displays
- information of user requested. Includes Full Name, Host, Channels User is in,
- and Oper Status |
-
- All |
-
|
- who {mask} |
-
- Who
- allows you to search for users (who do not have mode +I set). Masks include:
- nickname, #channel, hostmask
- (*.attbi.com) |
-
- All |
-
|
- whowas {nick}
- {max replys} |
-
- Displays
- information on a nick that has logged off. The {max replies} field is
- optional, and limits how many records will be returned. |
-
- All |
-
|
- ison {nick1
- nick2 nick3} |
-
- Allows
- you to check the online status of a user, or a list of users. Simple return, best used for scripts |
-
- All |
-
|
- join
- {channel} |
-
- Allows
- you to join channels. Using the /join
- #channel1, #channel2, channel3 will allow you to join more than one channel
- at a time. The /join 0 command makes
- you PART(leave) all channels you are currently in. |
-
- All |
-
|
- part
- {channel} |
-
- Allows
- you to part (leave) channels. Using
- the /part #channel1, #channel2, channel3 will allow you to part more than one
- channel at a time. |
-
- All |
-
|
- motd {server} |
-
- Displays
- the servers motd. Adding a server
- name allows you to view motd’s on other servers. |
-
- All |
-
|
- rules
- {server} |
-
- Displays
- the ircd.rules of a server. Adding a
- server name allows you to view rules on other servers. |
-
- All |
-
|
- lusers |
-
- Displays
- current & max user loads, both global and local. |
-
- All |
-
|
- map |
-
- Displays
- a network map |
-
- All |
-
|
- quit {reason} |
-
- Causes
- you to disconnect from the server. If
- you include a reason, it will be displayed on all channels as you quit. |
-
- All |
-
|
- ping {user} |
-
- Sends
- a PING request to a user. Used for
- checking connection and lag. Servers
- issue pings on a timed basis to determine if users are still connected. |
-
- All |
-
|
- version
- {nick} |
-
- Sends
- a CTCP Version request to the user.
- If configured to do so, their client will respond with the client
- version. |
-
- All |
-
|
- links |
-
- Displays
- a list of all servers linked to the network |
-
- All |
-
|
- Admin {server} |
-
- Displays
- the admin info of a server. If a
- server name is included it will display the info of that server. |
-
- All |
-
|
- userhost
- {nick} |
-
- Displays
- the userhost of the nick given. Generally used for scripts |
-
- All |
-
|
- topic
- {channel} {topic} |
-
- Topic
- {channel} will display the current topic of the given channel. Topic {channel} {topic} will change the
- topic of the given channel. |
-
- All |
-
|
- invite {nick}
- {channel} |
-
- Invites
- the given user to the given channel. (Must be a channel Op) |
-
- ChanOp |
-
|
- kick
- {channel, channel} {user, user} {reason} |
-
- Kicks
- a user or users out of a channel, or channels. A reason may also be supplied. |
-
- ChanOp |
-
|
- away {reason} |
-
- Sets
- you as being away, a reason may also be supplied. |
-
- All |
-
|
- Watch
- +-{nick} +-{nick} |
-
- Watch is a new notify-type system in UnrealIRCd which is both
- faster and uses less network resources than any old-style notify system. The
- server will send you a message when any nickname in your watch list logs on
- or off. The watch list DOES NOT REMAIN BETWEEN SESSIONS - you (or your script
- or client) must add the nicknames to your watch list every time you connect
- to an IRC server. |
-
- All |
-
|
- helpop
- ?{topic} or !{topic} |
-
- HelpOp is a new system of getting IRC Server help. You type
- either /HELPOP ? <help system topic>
- or /HELPOP ! <question> The "?" in /HELPOP means query
- the help system and if you get no response you can choose '!' to send it to
- the Help Operators online Using neither ? nor ! will mean the command will be
- first queried within the help system and if no match if found , it will be
- forwarded to the help operators. |
-
- All |
-
|
- list {search
- string} |
-
- Lists all channels on the network. If a search string is supplied, it will apply that to the
- search. Wildcards are supported. |
-
- All |
-
|
- quote |
-
- If you don't include any options, the default is to send you the
- entire unfiltered list of channels. Below are the options you can use, and what
- channels LIST will return when you use them. >number List channels with more than
- <number> people. <number List channels with less than
- <number> people. C>number List
- channels created between now and <number> minutes ago. C<number List
- channels created earlier than <number> minutes ago. T>number List
- channels whose topics are older than <number> minutes (Ie., they
- have not changed in the last <number> minutes. T<number List
- channels whose topics are newer than <number> minutes. *mask* List channels that match *mask* !*mask* List channels that do not match *mask* |
-
- All |
-
|
- Knock
- {channel} {message} |
-
- Allows you to ‘knock’ on an invite only channel and ask for
- access. Will not work if channel has
- one of the following modes set: +K +I.
- Will also not work if you are banned |
-
- All |
-
|
- setname |
-
- Allows users to change their ‘Real Name’ without reconnecting |
-
- All |
-
|
- vhost {login}
- {password} |
-
- Hides your host name by using a vhost provided by the
- server. |
-
- All |
-
|
- mode
- {chan/nick} {mode} |
-
- Lets you set channel and user modes. Refer to section 4 for lists of modes |
-
- All |
-
|
- Credits |
-
- Lists credits for everyone that has helped create UnrealIRCD |
-
- All |
-
|
- license |
-
- Displays the GNU License |
-
- All |
-
|
- time {server} |
-
- Displays the servers date and time. Including a server name allows you to check other servers. |
-
- All |
-
|
- botmotd
- {server} |
-
- Displays the servers bot message of the day. Including a server name allows you to
- check other servers. |
-
- All |
-
|
- identify
- {password} |
-
- Sends your password to the services system to identify to your
- nick. |
-
- All |
-
|
- identify
- {channel} {password} |
-
- Sends your password to the services system to identify as the
- founder of a channel. |
-
- All |
-
|
- oper {userid}
- {password} |
-
- Command to give a user operator status if they match an Oper
- Block |
-
- IRCop |
-
|
- wallop
- {message} |
-
- Sends a message to all users with umode +w |
-
- IRCop |
-
|
- globops
- {message} |
-
- Sends a message to all IRCops |
-
- IRCop |
-
|
- chatops
- {message} |
-
- Sends a message to all IRCops with mode +c |
-
- IRCop |
-
|
- Locops
- {message} |
-
- Sends a message to all Local IRCops |
-
- IRCop |
-
|
- adchat
- {message} |
-
- Sends a message to all Admins |
-
- IRCop |
-
|
- nachat
- {message} |
-
- Sends a message to all NetAdmins |
-
- IRCop |
-
|
- kill {nick}
- {reason} |
-
- Kills’s or disconnects a user from the network. |
-
- IRCop |
-
|
- kline {hostmask} {reason} |
-
- Bans the hostmask from the server it is issued on. It is not a global ban. |
-
- IRCop |
-
|
- unkline
- {hostmask} |
-
- Removes a kline |
-
- IRCop |
-
|
- zline {ip}
- :{reason} |
-
- Bans an IP Address from the local server it is issued on |
-
- IRCop |
-
|
- unzline {ip} |
-
- Removes a Zlined IP address |
-
- IRCop |
-
|
- gline {user@host} {time to ban} :{reason} |
-
- Adds a global ban to anyone that matches. Time to ban is in seconds, or u can use 1d
- for 1 days. To remove a gline, put a –user@host |
-
- IRCop |
-
|
- shun +-{user@host} {time to shun} :{reason} |
-
- Prevents a user from executing ANY commands on the server, and
- prevents them from speaking. Time to
- ban is in seconds, or u can use 1d for 1 days. To remove a shun, put a –user@host. Setting time to 0 makes it permanent. |
-
- IRCop |
-
|
- gzline {ip}
- {time to ban} :{reason} |
-
- Adds a global zline.
- Time to ban is in seconds, or u can use 1d for 1 days. To remove a gzline,
- put a –user@host.
- Setting time to 0 makes it permanent. |
-
- IRCop |
-
|
- tkline {user@host} {time to ban} :{reason} |
-
- Timed Kline. . Time to
- ban is in seconds, or u can use 1d for 1 days. To remove a tkline, put a –user@host. Setting time to 0 makes it permanent. |
-
- IRCop |
-
|
- tzline {ip}
- {time to ban} :{reason} |
-
- Timed Zline. . Time to
- ban is in seconds, or u can use 1d for 1 days. To remove a tzline, put a –user@host. Setting time to 0 makes it permanent. |
-
- IRCop |
-
|
- akill {user@host} :{reason} |
-
- Adds an akill (Services Admins & Network Admins ONLY) |
-
- IRCop |
-
|
- rakill {user@host} |
-
- Removes an akill |
-
- IRCop |
-
|
- rehash
- {server} –{flags} |
-
- Rehashes the servers config file. Incluidng a server name allows you to rehash a remote servers
- config file. Several flags are also
- available. They Include -dccdeny - Rehashes dccdeny.conf -dynconf - Rehashes UnrealIRCd Config and Network
- file
- -restrict - Rehashes
- chrestrict.conf -vhost - Rehashes vhost.conf -motd - Rehashes all MOTD files and RULES
- files (including T:lines)
- -opermotd - Rehashes the
- OPERMOTD -botmotd - Rehashes the BOTMOTD -garbage - Force garbage collection
- -badwords - Rehashes the
- badwords config. |
-
- IRCop |
-
|
- restart
- {server} {password} |
-
- Restarts the IRCD Process.
- Password is required. You may
- also include a server name to restart a remote server. |
-
- IRCop |
-
|
- die
- {password} |
-
- Terminates the IRCD Process.
- Password is required. |
-
- IRCop |
-
|
- lag {server} |
-
- This command is like a Sonar or Traceroute for IRC server. You
- type in /LAG irc.fyremoon.net and it will reply from every server it passes
- with time and so on Useful for looking where lag is and optional TS
- future/past travels |
-
- IRCop |
-
|
- sethost
- {newhost} |
-
- Lets you change your vhost to what ever you want it to be. |
-
- IRCop |
-
|
- setident
- {newident} |
-
- Lets you set your ident to what ever you want it to be |
-
- IRCop |
-
|
- chghost
- {nick} {newhost} |
-
- Lets you change the host name of a user currently on the system |
-
- IRCop |
-
|
- chgident
- {nick} {newident} |
-
- Lets you change the ident of a user currently on the system |
-
- IRCop |
-
|
- chgname
- {nick} {newname} |
-
- Lets you change the realname of a user currently on the system |
-
- IRCop |
-
|
- squit {sever} |
-
- Disconnects a server from the network |
-
- IRCop |
-
|
- connect
- {server} {port} {server} |
-
- If only one server is givin, it will attempt to connect the
- server you are ON to the given server.
- If 2 servers are given, it will attempt to connect the 2 servers
- together. Put the hub server as the first, and the leaf server as the second. |
-
- IRCop |
-
|
- dccdeny
- {filemask} {reason} |
-
- Adds a DCCDENY for that filemask. Preventing that file from
- being sent. |
-
- IRCop |
-
|
- undccdeny
- {filemask} |
-
- Removes a DCCDENY |
-
- IRCop |
-
|
- sajoin {nick}
- {channel}, {channel} |
-
- Forces a user to join a channel(s). Available to services & network admins only. |
-
- IRCop |
-
|
- sapart {nick}
- {channel}, {channel} |
-
- Forces a user to part a channel(s). Available to services & network admins only. |
-
- IRCop |
-
|
- samode
- {channel} {mode} |
-
- Allows Network & Services admins to change modes of a
- channel without having ChanOps. |
-
- IRCop |
-
|
- rping
- {servermask} |
-
- Will calculate in milliseconds the lag between servers |
-
- IRCop |
-
|
- trace
- {servermask} |
-
- Trace displays what is connected to what. |
-
- IRCop |
-
|
- opermotd |
-
- Displays the servers OperMotd File |
-
- IRCop |
-
|
- addmotd :{text} |
-
- Will add the given text to the end of the Motd |
-
- IRCop |
-
|
- addomotd
- :{text} |
-
- Will add the given text to the end of the OperMotd |
-
- IRCop |
-
|
- sdesc
- {newdescription} |
-
- Allows server admins to change the description line of their
- server without restarting. |
-
- IRCop |
-
|
- addline
- {text} |
-
- Allows you to add lines to the unrealircd.conf |
-
- IRCop |
-
|
- mkpasswd
- {password} |
-
- Will encrypt a clear text password to add it to the
- unrealircd.conf |
-
- IRCop |
-
|
- tsctl offset
- +/- {time} |
-
- Adjust the IRCD’s Internal clock (Do NOT use if you do not
- understand EXACTLY what it does) |
-
- IRCop |
-
|
- tsctl time |
-
- Will give a TS report |
-
- IRCop |
-
|
- tsctl alltime |
-
- Will give a TS report of ALL servers |
-
- IRCop |
-
|
- tsctl svstime
- {timestamp} |
-
- Sets the TS time of all servers (Do NOT use if you do not
- understand EXACTLY what it does) |
-
- IRCop |
-
|
- htm {option} |
-
- Controls settings related to high traffic mode. High Traffic Mode (HTM) basically disables
- certain user commands such as: list whois who etc in response to extremely
- high traffic on the server. Options
- include: ON Forces server
- into HTM OFF Forces server
- out of HTM NOSIY Sets the server to notify users/admins when in goes in and
- out of HTM QUITE Sets the server to NOT notify when going in and out of HTM TO {value} Sets Traffic rate HTM activates |
-
- IRCop |
-
|
- stats
- {option} |
-
- b - Send the badwords list C - Send the link block list d - Send the deny link (auto) block list D - Send the deny link (all) block list e - Send the except socks block list E - Send the except ban block list F - Send the deny dcc block list G - Report TKL information (G:lines/Shuns) H - Send the link block list I - Send the allow block list K - Send the ban user/ban ip/except ban block list (Includes
- AKILLs) L - Send Link information m - Send the events list M - Send list of how many times each command was used n - Send the ban realname block list N - Send network configuration list O - Send the oper block list q - Send the SQLINE list Q - Send the ban nick block list r - Send the channel deny/allow block list s - Send the SCache and NS list S - Send the dynamic configuration list t - Send the tld block list T - Send connection information u - Send server uptime and connection count U - Send the ulines block list v - Send the deny version block list V - Send the vhost block list Y - Send the class block list Z - Send memory usage information |
-
- IRCop |
-
UnrealIRCd
+http://www.unrealircd.com
Version: 3.2-Selene
Complete Documentation –
+Rev: 1.0
Current Version: 3.2 +Beta12
+ +Released: 8/19/02
Head
+Coders:
+Stskeeps / Codemastr
Coding
+Team: Grievre
+/ Luke / nighthawk
Documentation: CKnight^
Due to the increasing complexity of UnrealIRCd3.2 We have +switched to a easier to navigate, more inclusive documentation set. To view this documentation you must have a +compatible browser, which are listed below. +Up to date docs are available @ http://www.unrealircd.com/unreal32docs.html
+ +
Compatible Browsers:
+Modified
Opera 6.02
+ +Microsoft Internet Explorer 6.X / 5.5
+ +Netscape Navigator 6.X
+ +
1.1.
+ Notes on new
+documentation
1.2.
+ Notes on current
+release
1.3.
+ Compatibility
+issues
2.
+Installation
3.
+Configuring your
+unrealircd.conf file
3.1.
+Configuration file
+explained
3.2.
+Me Block -=- (M:Line)
3.3.
+Admin Block -=- (A:Line)
3.4.
+Class Block -=- (Y:Line)
3.5.
+Allow Block -=- (I:Line)
3.6.
+Listen Block -=- (P:Line)
3.7.
+Oper Block -=- (O:Line)
3.8.
+DRpass Block -=-(X:Line)
3.9.
+Include Directive
3.10.
+Loadmodule Directive
3.11.
+Log Block
3.12.
+TLD Block -=- (T:Line)
3.13.
+Ban Nick Block -=- (Q:Line)
3.14.
+Ban User Block -=- (K:Line)
3.15.
+Ban IP Block -=- (Z:Line)
3.16.
+Ban Server Block -=-(q:Line)
3.17.
+Ban Realname Block -=-
+(n:Line)
3.18.
+Ban Exception Block -=- (E:Line)
3.19.
+Scan Exception Block -=-
+(e:Line)
3.20.
+Deny DCC Block -=- (dccdeny.conf)
3.21.
+Deny Version Block -=- (V:Line)
3.22.
+Deny Link Block -=- (D:Line /
+d:Line)
3.23.
+Deny Channel Block -=-
+(chrestrict.conf)
3.24.
+Allow Channel Block
3.25.
+Vhost Block Block -=-
+(vhost.conf)
3.26.
+Badwords Block -=-
+(badwords.conf)
3.27.
+Uline Block -=- (U:Line)
3.28.
+Link Block -=- (C/N/H:Lines)
3.29.
+Alias Block
3.30.
+Help Block
3.31.
+Set Block -=-
+(networks/unrealircd.conf)
This document was written for exclusively for use with +UnrealIRCd. Use of this docment with +another software package, or distribution of this document with another software +package is strictly prohibited with out the written permission of the +UnrealIRCd Development Team. This +document may be copied/printed/reproduced/published as many times as you like, +providing it is for use with UnrealIRCd and is not modified in anyway. – +Copyright UnrealIRCd Development Team 2002
+ +
This document is the first try at an official COMPLETE +Unreal3.2 Document. It is still a work +in progress. I rushed a bit to get it +ready for the beta12 release. I will be +adding a lot more detail & examples as time goes on.
+ +
If you have any feedback, comments, suggestions, please feel +free to contact me with them, and I will do my best to work them in. My goal is to make Unreal3.2 and its +powerful features, easier to setup, and easier to use.
+ +Email: docs@unrealircd.com
+ +
I M P O R T A N T R E A D I N G
(YES,
+YOU WILL NEED TO READ ALL OF THIS)
*
+Unreal3.2-Selene is a lot different than Unreal3.1.1. Forget all you have
learned about setting up Unreal3.1.1 - this
+is a lot different. We have got
a new configuration format that integrates
+all the former config files,
ircd.conf, vhost.conf, chrestrict.conf,
+unrealircd.conf, into to one new
unrealircd.conf (what the ircd.conf is
+called now). See doc/ for more
information on the configuration format
*
+THIS IS A BETA VERSION, REPORT BUGS ON http://bugs.unrealircd.org
*
+We have introduced a new cloaking algoritm (+x), which makes it
incompatible with Unreal3.1.1 - these can
+however still link, but the
hostname will look different. This is made
+of three big numbers,
configured in the config file - and these
+MUST be the same on all servers
on the network. Keep these numbers secret,
+and the cloaking algorithm is
uncrackable (within 55 years, that is). The
++x algorithm was changed slightly
to fix a method of cracking that was found.
+#define COMPAT_BETA4_KEYS to use the beta4
system for compatibility with older betas.
*
+If you use Linux and have problems where the IRCd complains that
MAXCONNECTIONS is larger than FD_SETSIZE,
+you need to get your root to
edit /usr/include/bits/types.h - #define
+__FD_SETSIZE 1024 to be some
number that is equal or higher than
+MAXCONNECTIONS. This is a problem with
Linux that it is hardcoded and non
+overrideable in some distributions. We
recommend you use FreeBSD or the variants of
+this if you need to run high
load IRC servers.
*
+We use autoconf to help with compiliation, and this should make us able
to a lot more platform (we have even ported
+to BeOS).
*
+We require a pthreads library for the SOCKS scan now - and this is now
done in the background (no more waiting!).
*
+The IRCd is now modularized, and you load modules with the loadmodule
command. You will most likely want to add
+these lines:
loadmodule
+"src/modules/commands.so";
loadmodule "src/modules/scan.so";
loadmodule
+"src/modules/scan_socks.so";
loadmodule
+"src/modules/scan_http.so";
If you would like to code a module, doc/ will
+contain a module guide,
and we got an example module in
+src/modules/m_dummy.c.
*
+We have some IPv6 support, and there are some minor bugs in it.
*
+The documentation is NOT yet 100% complete
*
+We have added snomask (similar to ircu), basically this allowed us to remove
+several modes. Modes +cfFkje
are gone, but don't worry, you can still use
+them. They are now added like this:
/mode yournick +s +cF
You set the flags in the second parameter of
+the mode command for a mode change +s, setting -s with no
parameters removes all your snomask. You can
+remove a specific snomask by doing:
/mode yournick -s -c
The
+current snomasks are:
c - local connects
F - far connects
f - flood notices
k - kill notices
e - 'eyes' notices
j - 'junk' notices
v - vhost notices
G - gline/shun notices
n - nick change notices
q - deny nick (Q:line) rejection notices
It shouldn't be too hard to figure out, just
+play around with it a bit :)
*
+/who needs testing it was recoded and may contain bugs
*
+We have added alias {} which allows you to dynamically create commands such as
+/nickserv
Read example.conf for more information on
+how to create your own. To use standard ones include
one of the following files
aliases/ircservices.conf (IRCServices,
+Daylight)
aliases/epona.conf (Epona)
aliases/auspice.conf (Auspice)
aliases/generic.conf (Magick, Sirius,
+Wrecked)
aliases/operstats.conf (OperStats)
aliases/genericstats.conf (GeoStats,
+NeoStats)
*
+You can now use an IP in the oper::from and vhost::from fields even if the host
+resolves
*
+Added an http proxy scanner (scan_http.so)
*
+Added oper::snomask to specify default oper snomask modes
*
+/helpop text has been moved to a config directive, help {}. To keep the
+standard help
text you need to include help.conf so
+add include "help.conf"; to your config file.
*
+To be able to use G:lines you must now have the can_gkline flag (or t if old
+style flags)
*
+Usermode +T (Tech Admin) has been removed, since it is 100% useless
*
+Added a make install to copy files to the installation location
*
+Removed ./ircd, ./killircd, crypt/mkpasswd, ./rehash and merged them into a new
./unreal [start|stop|rehash|mkpasswd]
for mkpasswd the format is
./unreal mkpasswd [method] [password]
*
+Added a new system for crypting passwords. You now do for example
password "my password" { crypt; };
This allows you to have some crypted
+passwords and others not. If you have SSL enabled
you may also use the md5 and sha1 methods.
*
+The old blackhole is now set::scan::endpoint and specifies an IP and port to
+tell
proxies to connect to.
*
+You can now specify a cipher list for SSL links (read doc/conf.doc for more
+info)
*
++I is now in invisibility.so so it is easily disabled
*
+set::socks has been replaced by set::scan (read doc/conf.doc for more info)
*
+If you experince problems with the scanners, perhaps check out BOPM
(http://www.blitzed.org/bopm)
*
+log {} syslog support added (read doc/conf.doc for more info)
*
+Added ripemd-160 password encryption support
*
+Enabled sha1 and md5 password encryption on Win32 regardless of whether SSL is
+used.
*
+Added WinNT/2k/XP service support (experimental)
To use this you use the unreal.exe utility:
unreal install -installs the service
unreal uninstall -uninstalls the service
unreal start -starts the service
unreal stop -stops the service
unreal restart -restarts the service
unreal rehash -rehashes the config file
Config errors and crashes are now logged to
+service.log when in service mode.
*
+Implimented a new win32 debugger to make fixing bugs much easier.
*
+Added a win32 installer to simplify installing under Windows.
*
+AKILL/RAKILL is depricated. Server command still works but will be removed
+eventually
(aliases to TKL G). For normal opers it
+notices that the commands are depricated.
Made
+the config parser smarter when it comes to time values and size values. Entries
+are
no longer limited to 1d2h1m. You can now
+enter "1day 2 hours 1 minute" for example. See
doc/conf.doc for more information.
*
+The operoverride code has been rewritten to be less intrusive. You can now no
+longer
automatically join a channel for which you
+must override a mode. You must /invite
yourself to the channel. The idea behind
+this is it prevents the accidental "rejoin on
kick" ban override and joining a +s
+channel without realizing it is +s and therefore you
shouldn't know it exists.
*
+If you use the SSL features of Unreal, you should use OpenSSL 0.9.6e or later.
+This is
important as the older versions may make the
+program exploitable. See
http://www.openssl.org for more information
*
+We have made a lot of changes to deal with SSL, and if you find any flaws or
+problems,
please contact the coder team. We however
+think that the changes will make SSL
more transparent and make it work more
+efficiently.
*
+Added technical documentation in doc/technical. This directory will contain
+information
about the protocol used by Unreal.
*
+Added EGD support for SSL. EGD allows entropy to be gathered on systems that do
+not
have a random device (/dev/random or
+/dev/urandom) or have an unreliable random device.
Unreal has been tested using EGADS
+(http://www.securesoftware.com/egads.php) [With EGD
support enabled], PRNGD
(http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html),
+and EGD
(http://egd.sourceforge.net). Other EGD
+compatible programs should work as well.
*
+MAKE SURE YOU RERUN ./Config AND RUN make clean BEFORE USING THIS VERSION!!!
Unreal 3.2 is ONLY compatible with Unreal3.1.4 and Unreal3.2 +servers. DO NOT ATTEMPT to link to servers that it is NOT compatible with.
+ +
Tested & Supported Operating Systems:Linux version:Linux 2.2.x FreeBSD 4.6-STABLEFreeBSD 4.5-STABLESlackware 8.0 SunOS is NOT supported Windows version:WindowsXP HomeWindowsXP Pro If you have Unreal3.2 working correctly under other operating systems, please send the details to docs@unrealircd.com+ +
1. gunzip +-d Unreal3.2-beta12.tar.gz
+ +
This section will help explain the way the new +unrealircd.conf works. It is A LOT +different than any ircd.conf you have seen in the past! This file as a C based +structure, and is a bit scary when you first look at it. But as you learn it, and start to understand +it, it is acutely much easier to use.
+ +
The new system uses a block-based system.
+ +Each entry,
+or block, in the new format has a specific format. The format works like:
<block-name>
+<block-value> {
<block-directive>
+<directive-value>;
};
<block-name>
+is the type of block, such as me, or admin. <block-value> sometimes
+specifies a value, such as /oper login, but other times it will be a sub-type
+such as in ban user.
<block-directive>
+is an individual variable specific to the block, and <directive-value> is
+the Associated value. Directives and their values do not have to be separated
+by an equal sign, but they maybe if you choose to do so. If
+<directive-value> contains spaces, or characters that represents a
+comment it must be contained in double quotes. If you want to use a quote
+character inside a quoted string use \" and it will be understood as a
+quote character.
A <block-directive> can have directives
+within it, if that’s the case it will have it's own set of curly braces
+surrounding it. Some blocks do not have directives and are specified just by
+<block-value>, such as include. Also note that there is no set format,
+meaning the whole block can appear on one line or over multiple lines. The
+format above is what is normally used (and what will be used in this file)
+because it is easy to read.
Note: the
+configuration file is currently case sensitive so BLOCK-NAME is not the same as
+block-name. There is a special notation used to talk about entries in the
+config file. For example, to talk about <directive-name> in the example
+above, you'd say <block-name>::<block-directive>, and if that
+directive has a sub block you want to reverence, you would add another :: and
+the name of the sub directive.
To talk
+about an unnamed directive you would do <block-name>:: which would in
+this case mean <block-value>, or it could be an entry in a sub block that
+has no name.
Comments are
+supported in three formats, both multi-line and single-line comments are
+supported. To comment a single line there are two options, a shell style
+comment, or a C++ style comment. A shell style comment begins with a # and a
+C++ style begins with a //. These comments can appear anywhere in a line and
+comment anything until the end of the line. For multi-line comments, a C style
+comment is supported. To start the comment you enter /* and anything from there
+until the */ is commented.
Examples of comments that are ignored:
+ +#Comment type 1 (Shell type)
+ +// Comment type 2(C++ style)
+ +/* Comment type 3 (C Style) */
+ +
Syntax:
me {
name <name-of-server>;
info <server-description>;
numeric <server-numeric>;
};
These +values are pretty obvious. The me::name specifies the name of the server, +me::info specifies the server's info line, me::numeric specifies a numeric to +identify the server. This must be a value between 1 and 255 that is unique to +the server meaning no other servers on the network may have the same numeric.
+ +
Example:
+ +
me
+ +{
+ +name +"irc.foonet.com";
+ +info +"FooNet Server";
+ +numeric 1;
+ +};
+ +
Syntax:
admin {
<text-line>;
<text-line>;
...
};
The admin
+block defines the text displayed in a /admin request. You can specify as many
+lines as you want and you they can contain whatever information you choose, but
+it is standard to include the admin's nickname and email address at a minimum.
+Other information may include any other contact information you wish to give.
Example:
admin {
"Bob Smith";
"bob";
"widely@used.name";
};
Syntax:
class
+<name> {
pingfreq <ping-frequency>;
connfreq <connect-frequency>;
maxclients <maximum-clients>;
sendq <send-queue>;
};
The class
+block is a vastly simplified version of the Y:line. You are no longer limited
+to naming them with a number, you can now use an alpha-numeric string which is
+specified in the class::. The values of this block define the connection
+classes, class::pingfreq specifies the number of seconds between PINGs, class::connfreq
+is only used in server classes to specify the time in seconds between
+connection attempts, class::maxclients specifies the maximum amount of clients
+that may use this class to connect, and class::sendq specifies the amount of
+information that can remain in the send queue buffer.
Examples:
+ +class clients {
+ +pingfreq +90;
+ +maxclients +500;
+ +sendq +100000;
+ +};
+ +
class servers{
+ +pingfreq +90;
+ +maxclients +10; /* Max servers we can +have linked at a time */
+ +sendq +1000000;
+ +connfreq +100; /* How many seconds between each connection attempt */
+ +};
+ +
Syntax:
allow {
ip <user@ip-connection-mask>;
hostname
+<user@host-connection-mask>;
class <connection-class>;
password <connection-password>
+{ <auth-type>; };
maxperip
+<max-connections-per-ip>;
redirect-server
+<server-to-forward-to>;
redirect-port
+<port-to-forward-to>;
};
The allow
+class is similar to an I:line but provides more features. The allow::ip
+specifies a user@ip hostmask for a user to match to connect and allow::hostname
+specifies a user@host to match to connect, allow::class is the name of a
+preexisting (must appear before this) class block that will be used for this
+class. The rest of the directives are optional, allow::password specifies a
+password that users must enter to connect. The allow::password:: allows you to
+specify an authentication method. Currently supported methods are crypt, md3,
+and sha1. If you are using plain-text you can just leave this sub-block out. This
+directive also allows you to configure clone killing, allow::maxperip lets you
+specify the maximum number of clients that may connect from a single IP.
+Lastly, the allow block supports redirection when the server is full,
+allow::redirect-server specifies the address of a server to forward to, and
+allow::redirect-port specifies the port, if no port is specified, 6667 is
+assumed.
Note: for
+auto-redirection to occur the client must have support for the redirection
+numeric, at this time not many clients do.
Examples:
allow {
ip *;
hostname *;
class clients;
maxperip
+5;
};
allow {
ip *@*;
hostname *@*.passworded.ugly.people;
class clients;
password
+"f00Ness";
maxperip
+1;
};
Syntax:
listen
+<ip:port> {
options {
<option>;
<option>;
...
};
};
This block
+allows you to specify the ports on which the IRCD will listen. If no options
+are required, you may specify this without any directives in the form listen
+<ip:port>;. Valid listen::options are clientsonly (only users may
+connect), serversonly (only servers nameconnect), java (CR javachat support),
+ssl (SSL encrypted port). A combination of any of those flags may be specified.
Since IPv6
+is now supported, and the IPv6 seperator is a : it makes the
ip:port
+format a bit difficult. To compensate, you should enclose the IP in brackets.
+For
example,
+[::1]:6667. Which will bind to the localhost on port 6667. If you are using
+IPv6 and want to listen on an IPv4 IP use the format
+[::ffff:<ip>]:<port>. For example,
[::ffff:203.123.67.1]:6667.
+Which will bind to the IPv4 203.123.67.1 on port 6667. You may also specify *
+as the IP to bind to all interfaces.
Examples:
+ +
listen *:6601 +{
+ +options {
+ +ssl;
+ +clientsonly;
+ +};
+ +};
+ +
Or if there are no options:
+ +
listen +*:8067;
+ +listen +*:6667;
+ +
oper
+<name> {
from {
userhost
+<hostmask>;
userhost
+<hostmask>;
};
password <password> {
+<auth-type>; };
class <class-name>;
flags <flags>;
flags {
<flag>;
<flag>;
};
swhois <whois
+info>;
snomask <snomask>;
};
The oper
+block allows you to assign IRC Operators for your server. The oper:: specifies
+the login name for the /oper. The oper::from::userhost is a user@host mask that
+the user must match, you can specify more than one hostmask by creating more
+than one oper::from::userhost. The oper::password is the password the user must
+specify, oper::password:: allows you to specify an authentication method for
+this password, valid auth-types are crypt, md5, and sha1. If you want to use a
+plain-text password leave this sub-block out.
The
+oper::class directive specifies the name of a preexisting (appears before this
+in the config file) class name that the oper block will use.
The
+oper::flags directive has two formats. If you wish to use the old style oper
+flags i.e., OAa, you use the flags <flags> method, if you want to use the
+new style,i.e., services-admin, then you use the flags { <flag>; }
+method. Below is a list of all the flags (in both formats) and what they do.
o local Makes
+you a local operator (contains rhgwlckbBn)
O global Makes
+you a global operator (contains oLKG)
C coadmin Makes
+you a coadmin
A admin Makes
+you an admin
a services-admin Makes you a services admin
N netadmin Makes you a netadmin
r can_rehash Oper may use /rehash
D can_die Oper
+may use /die
R can_restart Oper may use /restart
h helpop Oper
+receives +h (helpop)
w can_wallops Oper can send /wallops
g can_globops Oper can send /globops
c can_localroute Can connect servers locally
L can_globalroute Can connect servers globally
k can_localkill Can /kill local users
K can_globalkill Can /kill global users
b can_kline Can use /kline
B can_unkline Can use /unkline
t can_gkline Can use /gline
n can_localnotice Can send local server notices
G can_globalnotice Can send global server notices
z can_zline Can use /zline
W get_umodew Sets +W when you oper
H get_host Sets your host to an oper host
^ can_stealth Can use +I
Certain
+flags give you certain options by default:
local |
+ Global |
+ admin |
+ saadmin |
+ netadmin |
+
can_rehash |
+ can_rehash |
+ can_rehash |
+ can_rehash |
+ can_rehash |
+
helpop |
+ helpop |
+ helpop |
+ helpop |
+ helpop |
+
can_globops |
+ can_globops |
+ can_globops |
+ can_globops |
+ can_globops |
+
can_wallops |
+ can_wallops |
+ can_wallops |
+ can_wallops |
+ can_wallops |
+
can_localroute |
+ can_localroute |
+ can_localroute |
+ can_localroute |
+ can_localroute |
+
can_localkill |
+ can_localkill |
+ can_localkill |
+ can_localkill |
+ can_localkill |
+
can_kline |
+ can_kline |
+ can_kline |
+ can_kline |
+ can_kline |
+
can_unkline |
+ can_unkline |
+ can_unkline |
+ can_unkline |
+ can_unkline |
+
can_localnotice |
+ can_localnotice |
+ can_localnotice |
+ can_localnotice |
+ can_localnotice |
+
N/A |
+ can_globalroute |
+ can_globalroute |
+ can_globalroute |
+ can_globalroute |
+
N/A |
+ can_globalkill |
+ can_globalkill |
+ can_globalkill |
+ can_globalkill |
+
N/A |
+ can_globalnotice |
+ can_globalnotice |
+ can_globalnotice |
+ can_globalnotice |
+
+
+
The
+oper::swhois directive allows you to add an extra line to an opers whois
+information.
The
+oper::snomask directive allows you to preset an opers service notice mask on
+oper up.
Vaild
+Service Notice Masks (snomask) are:
k = See's all the /KILL's which were executedc = See's all Connects/Disconnects on local serverF = Lets you recieve Far and Local connect noticesf = Listen to Flood Alerts from serverj = See's misc. messages generated by the serverv = Lets you receive notice of /vhost usagesG = Lets you see TKL (G:line,Shun) notiese = Can listen to Server messages sent to +e users (Eyes)n = Lets you see notices when a user changes his/her nicknameq = Lets you see notices when a user is rejected because of a Q:line
+
+
Example:
+ +oper bobsmith {
+ +class clients;
+ +from {
+ +userhost +bob@smithco.com;
+ +userhost +boblaptop@somedialupisp.com
+ +};
+ +password +"f00";
+ +flags
+ +{
+ +netadmin;
+ +global;
+ +};
+ +swhois +“Example of a whois mask”;
+ +snomask frebWqFv;
+ +};
+ +
Syntax:
drpass {
restart <restart-password> {
+<auth-type>; };
die <die-password> {
+<auth-type>; };
};
This block
+sets the /restart and /die passwords with drpass::restart and drpass::die respectively.
+The drpass::restart:: and drpass::die:: allow you to specify the type of authentication
+used by this item. The currently supported authentication types are crypt, md5,
+and sha1.
Example:
+ +
drpass {
+ +restart +"I-love-to-restart";
+ +die +"die-you-stupid";
+ +};
+ +
Syntax:
include <file-name>;
This directive specifies a filename to be
+loaded as a separate configuration file. This file may contain any type of
+config block and can even include other files. Wildcards are supported in the
+file name to allow you to load multiple files at once.
Example:
Include
+mynetwork.network;
That would
+be the statement to use if you wanted to use a separate network file. Separate network files are no longer
+required; all the network settings can be inserted directly into the
+unrealircd.conf. Or you can put an include statement them to load the file.
Syntax:
loadmodule
+<file-name>;
This
+directive specifies a filename to be loaded as a module. Some modules may have
+there own documentation which should be consulted when setting it up.
+Loadmodule also supports wildcards to easily load multiple modules at once.
Modules that
+come standard with Unreal3.2:
scan_http.so - HTTP proxy scanner modulescan_socks.so - SOCKS proxy scanner modulescan.so - Main scanner module (scan_socks and scan_http rely on it)commands.so - All the / commands (well not all yet, but will eventually be all)
+
+
Example:
Loadmodule
+socks.so;
Syntax:
log
+<file-name> {
maxsize <max-file-size>;
flags {
<flag>;
<flag>;
...
};
};
The log
+block allows you to assign different log files for different purposes. The
+log:: contains the name of the log file. log::maxsize is an optional directive
+that allows you to specify a size that the log file will be wiped and
+restarted. You can enter this string using MB for megabytes, KB, for kilobytes,
+GB, for gigabytes. The log::flags specifies which types of information will be
+in this log. You can specify one or more of the following, errors, kills, tkl
+(G:lines and Shuns), connects, server-connects, kline, and oper.
You may also
+have multiple log blocks, to log different things to different log files.
Available
+Flags:
errors self +explanatory
+ +kills logs +/kill notices
+ +tkl logs +info on glines, shuns, tklines, tzlines, gzlines
+ +connects logs +user connects/quits
+ +server-connects logs +server connects/squits
+ +kline logs +kline and unkline
+ +oper logs +oper attempts (both failed and +successful)
+ +
Example:
log ircd.log
+{
maxsize 5MB;
flags {
errors;
kills;
oper;
kline;
tkl;
};
};
Syntax:
tld {
mask <hostmask>;
motd <motd-file>;
rules <rules-file>;
channel <channel-name>;
};
The tld
+block allows you to specify a motd, rules, and channel for a user based on
+their host. This is useful if you want different motds for different languages.
+The tld::mask is a user@host mask that the user's username and hostname must
+match. The tld::motd and tld::rules specify the motd and rules file,
+respectively, to be displayed to this hostmask. Lastly the tld::channel is
+optional, it allows you to specify a channel that this user will be forced to
+join on connect. If this exists it will override the default auto join channel.
Example:
+ +tld {
+ +mask +*@*.fr;
+ +motd +"ircd.motd.fr";
+ +rules +"ircd.rules.fr";
+ +};
+ +
Syntax:
ban nick {
mask <nickname>;
reason <reason-for-ban>;
};
The ban nick
+block allows you to disable use of a nickname on the server. The ban::mask
+allows wildcard masks to match multiple nicks, and ban::reason allows you to
+specify the reason for which this ban is placed. Most commonly these blocks are
+used to ban usage of the nicknames commonly used for network services.
Example
+ +ban nick {
+ +mask +"*C*h*a*n*S*e*r*v*";
+ +reason +"Reserved for Services";
+ +};
+ +
Syntax:
ban user {
mask <hostmask>;
reason <reason-for-ban>;
};
This block
+allows you to ban a user@host mask from connecting to the server. The ban::mask
+is a wildcard string of a user@host to ban, and ban::reason is the reason for a
+ban being placed. Note, this is only a local ban and therefore the user may
+connect to other servers on the network.
Example
+ +ban user {
+ +mask +*tirc@*.saturn.bbn.com;
+ +reason +"Idiot";
+ +};
+ +
Syntax:
ban ip {
mask <ipmask>;
reason <reason-for-ban>;
};
The ban ip
+block bans an IP from accessing the server. This includes both users and
+servers attempting to link. The ban::mask parameter is an IP which may contain
+wildcard characters, and ban::reason is the reason why this ban is being
+placed. Since this ban affects servers it should be used very carefully.
Example
+ +ban ip {
+ +mask +192.168.1.*;
+ +reason “Get +a real ip u lamer!”;
+ +};
+ +
Syntax:
ban server {
mask <server-name>;
reason <reason-for-ban>;
};
This block
+disables a server's ability to connect to your server. The ban::mask field
+specifies a wildcard mask to match against the server attempting to connect's
+name, and ban::reason specifies the reason for which this ban has been placed.
Example
+ +ban server {
+ +mask +broken.server.my.network.com;
+ +reason “Its +broken!”;
+ +};
+ +
Syntax:
ban realname
+{
mask <realname-mask>;
reason <reason-for-ban>;
};
The ban
+realname block allows you to ban a client based on the GECOS (realname) field.
+This is useful to stop clone floods because often clone bots use the same
+realname. The ban::mask specifies the realname which should be banned. The mask
+may contain wildcards. The ban::reason specifies the reason why this ban is
+being placed.
Example
+ +ban realname {
+ +mask +“Bob*”;
+ +reason “Bob +sucks!”;
+ +};
+ +
Syntax:
except ban {
mask <hostmask>;
};
The except
+ban block allows you to specify a user@host that will override a ban placed on
+a broader host. This is useful when you want an ISP banned, but still want specific
+users to be able to connect. The except::mask directive specifies the user@host
+mask of the client who will be allowed to connect.
Example
+ +except ban {
+ +mask myident@my.isp.com;
+ +};
+ +
Syntax:
except scan
+{
mask <ipmask>;
};
The except
+scan block allows you to specify an IP mask that will override the scanners.
+This only works if you have chosen to load the scanner modules. The except::mask
+specifies an IP mask that will not be banned because of any type of scanner
+problem.
Example
+ +except scan {
+ +mask +192.168.1.*;
+ +};
+ +
Syntax:
deny dcc {
filename <file-to-block>;
reason <reason-for-ban>;
};
The deny dcc
+block allows you to specify a filename which will not be allowed to be sent via
+DCC over the server. This is very useful in helping stop distribution of
+trojans and viruses.
The
+deny::filename parameter specifies a wildcard mask of the filename to reject
+sends of, and deny::reason specifies the reason why this file is blocked.
Example
+ +deny dcc {
+ +filename +virus.exe;
+ +reason +“This is a GD Virus”;
+ +};
+ +
Syntax:
deny version
+{
mask <server-name>;
version <version-number>;
flags <compile-flags>;
};
This block
+allows you to deny a server from linking based on the version of Unreal it is
+running and what compile time options it has. The format for this block is
+somewhat complex but isn't too hard to figure out. The deny::mask directive
+specifies a wildcard mask of the server name this applies to. The deny::version
+specifies the protocol number of the version this refers to.
For example,
+3.0 is 2301, 3.1.1/3.1.2 is 2302, 3.2 is 2303. The first character of this
+parameter can be one of the following >, <, =, !. This character tells
+the IRCd how to interpret the version. If the first character is a > then
+all version greater than the specified version are denied, if it is a < all
+versions lower are denied, if it is an = only that version is denied, and if it
+is a ! then all versions except the specified are denied. The deny::flags
+directive allows you to specify what compile time flags the server may or may
+not have. The flags are arranged one after the other with no separation
+between, if a character is prefixed by a ! then it means the server may not
+have this flag compiled into it, if it does not have a ! prefix, then it means
+the server must have this flag compiled.
Syntax:
deny link {
mask <server-name>;
rule <crule-expression>;
type <type-of-denial>;
};
This block
+allows you to use specific rules to deny a server from linking. The deny::mask
+specifies a wildcard mask of the server name to apply this rule to. The
+deny::rule directive is very complex. A crule expression allows you to control
+the link in great detail, and it is set up like a programming expression. Four
+operators are supported, connected(<servermask>), returns true if a
+server matching servermask is connected, directcon(<servermask>), returns
+true if the server matching servermask is directly connected to this server,
+via(<viamask>,<servermask>), returns true if a server matching
+servermask is connected by a server matching viamask, and directop(), which
+returns true if the operator issuing a /connect is directly connected to this
+server. These operators can be combined using && (and) and || (or),
+items may also be enclosed in parenthesis to allow grouping. In addition, an
+operator preceded with a ! checks if the operator returned false. If the entire
+expression evaluates to true, then the link is denied. The deny::type allows
+two different values, auto (only applies to autoconnects, /connect will still
+work), and all (applies to all connection attempts).
Syntax:
deny channel
+{
channel “<channel-mask>”;
reason <reason-for-ban>;
};
The deny channel
+block allows you to disallow users from joining specific channels. The
deny::channel
+directive specifies a wildcard mask of channels the users may not join, and the
+deny::reason specifies the reason why the channel may not be joined.
Example
deny channel
+{
channel “#unrealsucks”;
reason “No it don’t!”;
};
Syntax:
allow
+channel {
channel “<channel-mask>”;
};
The allow
+channel block allows you to specify specific channels that users may join. The
allow::channel
+directive specifies the wildcard mask of the channels which may be joined.
Example
+ +allow channel {
+ +channel +“#something”;
+ +};
+ +
Syntax:
vhost {
vhost <vhost>;
from {
userhost <hostmask>;
userhost
+<hostmask>;
...
};
login <login-name>;
password <password> {
+<auth-type>; };
};
The vhost
+block allows you to specify a login/password that can be used with the /vhost
+command to obtain a fake hostname. The vhost::vhost parameter can be either a
+user@host or just a host that the user will receive upon successful /vhost. The
+vhost::from::userhost contains a user@host that the user must match to be
+eligible for the vhost. You may specify more than one hostmask. The
+vhost::login in the login name the user must enter and vhost::password is the
+password that must be entered. Lastly vhost::password:: allows you to specify
+the type of authentication used by this item. The currently supported
+authentication types are crypt, md5, and sha1.
Example
+ +vhost {
+ +vhost +my.own.personal.vhost.com;
+ +from {
+ + + + + +};
+ +login +mynick;
+ +password +mypassword;
+ +};
+ +
Syntax:
badword
+<type> {
word <text-to-match>;
replace <replace-with>;
};
The badword
+block allows you to manipulate the list used for user and channel mode +G to
+strip "badwords". The badword:: specifies the type, valid types are
+channel and messages, channel is for the channel +G list, and message is for
+the user +G list. The badword::word is a regular expression of the word we
+should search for and remove. The badword::replace is what we should replace
+this match with. If badword::replace is left out, the word is replaced with
+<censored>.
Example
+ +banword channel {
+ +word shit;
+ +replace +shoot;
+ +};
+ +
Syntax:
ulines {
<server-name>;
<server-name>;
...
};
The ulines
+block lets you define certain servers as having extra abilities. This should
+only be used for servers such as services and stats. This should not be set for
+a normal server. Each entry is the name of the server which will receive the
+extra abilities.
Example
+ +
ulines {
+ +services.mynetwork.com;
+ +stats.mynetwork.com;
+ +};
+ +
Syntax:
link
+<server-name> {
username <usermask>;
hostname <ipmask>;
bind-ip <ip-to-bind-to>;
port <port-to-connect-on>;
password-connect
+<password-to-connect-with>;
password-receive
+<password-to-receive> { <auth-type>; };
hub <hub-mask>;
leaf <leaf-mask>;
leafdepth <depth>;
class <class-name>;
options {
<option>;
<option>;
...
};
};
The link
+block is a simplified way to link servers. The link:: should be the name of the
+server which is to be linked, link::username is a wildcard mask of the username
+the server must have, and link::hostname is an IP mask the server must match.
+If you are running with IPv6 enabled and you want to link to an IPv4 server,
+specify the hostname in the format ::ffff:<ip>, example
+::ffff:203.123.67.1.
The
+link::bind-ip specifies an IP that the server will bind to in order to make
+this connection and link::port specifies the port it will establish the
+connection on.
The
+link::password-connect must be a plain-text password since it will be sent to
+the other server, but link::password-receive may be encrypted using a method
+specified in link::password-receive:: valid methods are crypt, md5, and sha1.
+You can leave the auth-type parameter out to have it remain plain-text.
The
+link::hub and link::leaf directives may not be used together, either a server
+is a hub or a leaf. If link::hub is specified, the value is a mask of what servers
+this hub may connect. If link::leaf is specified the value specifies the mask
+that this server will act like a leaf towards. The link::leafdepth directive
+should only be specified if link::leaf exists and is also optional. This value
+specifies the depth (number of hops) this server may have beneath it.
The
+link::class is the name of a preexisting (appears before this in the config)
+class block that will be used for the server connecting with the link block.
The
+link::options is a list of one or more options you wish this server to use,
+valid options are ssl (the server will connect using SSL encryption),
+autoconnect (the server will be autoconnected based on the value in the
+specified link::class), quarantine (opers on this server will maintain locop
+status).
Example
+ +link +hub.mynet.com
+ +{
+ +username *;
+ +hostname 1.2.3.4;
+ +bind-ip *;
+ +port 7029;
+ +hub *;
+ +password-connect +"LiNk";
+ +password-receive +"LiNk";
+ +class servers;
+ +options +{
+ +autoconnect;
+ +ssl;
+ +zip;
+ +};
+ +};
+ +
Syntax
+[standard alias]:
alias
+<name> {
nick <nick-to-forward-to>;
type <type-of-alias>;
};
The alias
+block [standard alias] allows you to forward a command to a user, for example
+/chanserv sends a message to the user chanserv. The alias:: specifies the name
+of the command that will be the alias, ex /chanserv, alias::nick is the
+nickname it will forward to, if the alias:: is the same as the nick it will
+forward to, alias::nick can be left out. The alias::type specifies the type of
+alias, valid types are services (the user is on the services server), stats
+(the user is on the stats server), and normal (the user is a normal user on any
+server). The alias block also has another purpose which is explained below.
Syntax [command
+alias]:
alias
+<name> {
format <regex-expression> {
alias
+<alias-to-forward-to>;
parameters
+<parameter-string>;
};
format <regex-expression> {
...
};
type command;
};
When the
+alias block is used in this format, it allows you a much broader range of
+usage. For example you can create aliases such as /identify. The alias:: is the
+same as above, the name of the alias command. The alias::format specifies a
+regular expression that compares against the text sent to the alias command,
+when matched the sub-entries of that alias::format will be used, you may have
+multiple alias::format's to make the command do different things depending on
+the text sent to it. The alias::format::alias is the name of a preexisting
+(appears before this in the config file) alias block in the standard format
+that when that format is matched will be used. The alias::format::parameters is
+what will be sent as the parameters to this alias. To specify one of the
+parameters given to the command alias specify % followed by a number, for
+example, %1 is the first parameter. To specify all parameters from a given
+parameter to the end do % followed by the number and a -, for example %2-
+returns all parameters from the second till the last. For examples of using the
+alias block in the command format, consult doc/example.conf.
Syntax:
help
+<name> {
<text-line>;
<text-line>;
...
};
The help
+block allows you to create entries for use in /helpop. The help:: is the value
+that must be passed to /helpop as a parameter, if the help:: is left out, then
+it will be used when no parameter is passed to /helpop. The entries for the
+help block are the text that will be displayed to the user when requesting the
+/helpop.
The set file
+is what use to be our networks/unrealircd.conf and our networks file. On single server networks, rather than have
+3 files, I recommend including all of the set commands in the unrealircd.conf .
Now, if your
+server is on a network, chances are you will all basicly use the same Set
+settings. Therefore it makes more sense to have a network file, which is loaded
+with a include:: directive. Below you
+will find all of the set directives available.
Also, please
+note, that this release was rushed a bit, in future releases; I will expand on
+all of the set settings and syntax listed below.
Syntax:
set {
<entry> <value>;
<entry> <value>;
...
};
The set
+block sets options for individual server features. Each entry does something
+different and therefore each will be described below. Some directives have sub
+blocks which will also be described.
set::kline-address
+<email-address>;
The email
+address that K:line questions should be sent to. This value must be specified.
set::modes-on-connect
+<+modes>;
The modes
+that will be set on a user at connection.
set::modes-on-oper
+<+modes>;
The modes
+that will be set on a user when they /oper.
set::auto-join
+<channels>;
The
+channel(s) a user will be forced to join at connection. To specify more than
+one channel use a comma seperated list.
set::oper-auto-join
+<channels>;
The
+channel(s) a user will be forced to join when they /oper. To specify more than
+one channel use a comma seperated list.
set::anti-spam-quit-message-time
+<timevalue>;
A time value
+specifying the length of time a user must be connected for before a /quit
+message will be displayed. Used to prevent spam. A time value is a numeric
+string with d meaning days, h meaning hours, m meaning minutes, and s meaning
+seconds, for example 1d2h3m means 1 day, 2 hours, 3 minutes.
set::oper-only-stats
+<stats-list>;
Specifies a
+list of stats flags with no seperators that defines stats flags only opers can
+use. Leave this value out to allow users to use all flags, or specify * for
+users to be able to use no flags.
set::maxchannelsperuser
+<amount-of-channels>;
Specifies
+the number of channels a single user may be in at any one time.
set::options::hide-ulines;
If this is
+present, Ulined server will be hidden in a /links requested by non-opers.
set::options::no-stealth;
If present
+usermode +I may not be used by anyone on this server.
set::options::show-opermotd;
If present
+the opermotd will be shown to users once they successfully /oper.
set::options::identd-check;
If present
+the presence of an identd server will be checked and the returned value will be
+used for the username. If no ident request is returned or the identd server
+doesn't exist, the user's specified username will be prefixed with a ~. If this
+value is omitted no such check is made.
set::options::show-connect-info;
If present
+notices showing "ident request", "hostname lookup", etc.
+will be displayed when a user connects.
set::dns::timeout
+<timevalue>;
A time value
+specifying the length of time a DNS server has to respond before a timeout. A
+time value is a numeric string with d meaning days, h meaning hours, m meaning
+minutes, and s meaning seconds, for example 1d2h3m means 1 day, 2 hours, 3
+minutes.
set::dns::retries
+<number-of-retries>;
A numeric
+value specifying the number of times the DNS lookup will be retried if failure
+occurs.
set::dns::nameserver
+<name-of-dns-server>;
Specifies
+the hostname of the server that will be used for DNS lookups.
set::network-name
+<name-of-network>;
Specifies
+the name of the network on which this server is run. This value should be
+exactly the same on all servers on a network.
set::default-server
+<server-name>;
Defines the
+name of the default server to tell users to connect to if this server is full.
set::services-server
+<server-name>;
Specifies
+the name of the server that the services bots are connected to. If services are
+not run this value may be left out.
set::stats-server
+<server-name>;
Sets the
+name of the server on which the stats bot is located. If stats are not run this
+value may be left out.
set::help-channel
+<network-help-channel>;
Sets the
+name of the help channel for this network.
set::prefix-quit
+<text-to-prefix-quit>;
Sets the
+text that will be used to prefix a quit message. If this value is set to 0 then
+the standard "Quit:" is used.
set::cloak-keys
+{ <value>; <value>; <value>; };
Sets the
+keys to be used to generate a +x host. This value must be the same on all
+servers or the servers will not link. Each of the set::cloak-keys:: must be a
+numeric value greater than 10000. You must have exactly three values specified.
set::hiddenhost-prefix
+<prefix-value>;
Defines the
+prefix that will be used on hiddenhosts (+x) this is usually three or four
+letters representing the network name.
set::hosts::local
+<locop-host-name>;
Defines the
+hostname that will be assigned to local opers when they set +x.
set::hosts::global
+<globop-host-name>;
Defines the
+hostname that will be assigned to global operators when they set +x.
set::hosts::coadmin
+<coadmin-host-name>;
Sets the
+hostname that will be assigned to co-admins when they set +x.
set::hosts::admin
+<admin-host-name>;
Defines the
+hostname that will be set for admins when they set +x.
set::hosts::servicesadmin
+<servicesadmin-host-name>;
Sets the
+hostname that will be given to services-admins when they set +x.
set::hosts::netadmin
+<netadmin-host-name>;
Sets the
+hostname that will be given to netadmins when they set +x.
set::hosts::host-on-oper-up
+<yes/no>;
If set to
+yes, the H/get_host flag will be honored and +x will be automatically set at
+/oper. If set to no, the user must set +x manually to receive the oper host.
set::scan::endpoint
+<ip:port>;
Specifies
+the IP and port that the server will tell an incoming open proxy to connect to.
set::bind-ip
+{ip};
What ip
+should the scanner bind to before connecting
set::message
+{message};
Put a
+message that users will see when scanner is scanning
set::ban-time
+{time}
Sets the
+time of the ban (1d,2h,1w)
set::ssl::egd
+<filename>;
Specifies
+that EGD (Entropy Gathering Daemon) support should be enabled. If you run
OpenSSL
+0.9.7 or higher, then /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool, and
/etc/entropy
+will be searched by default so no filename is necessary, you may simply
specify
+set::ssl::egd with no value. If you are using a version of OpenSSL prior to
+0.9.7
or you want
+to use a EGD socket located somewhere other than the above listed locations
you may
+specify the filename of the UNIX Domain Socket that an EGD is listening on.
|
+ Mode |
+
+ Description |
+
|
+ Channel Modes |
+ |
|
+ A |
+
+ Only
+ Administrators may join |
+
|
+ a
+ {nick} |
+
+ Gives protection to that user, may not be kicked |
+
|
+ b
+ {nick!user@host} |
+
+ Bans the givin user from the channel |
+
|
+ c |
+
+ No
+ ANSI color can be sent to the channel |
+
|
+ C |
+
+ No CTCPs allowed in the channel |
+
|
+ e
+ {nick!user@host} |
+
+ Execption ban – If someone matches this, they can join a channel
+ even if they match an existing ban |
+
|
+ f * {linex:seconds} |
+
+ Flood protection, if the * is given a user will kick banned when
+ they send {lines:seconds} if no * they are just kicked |
+
|
+ G |
+
+ Makes channel G rated.
+ Checks for words listed in the Bad Word Blocks, and replaces them with
+ the words specified. |
+
|
+ H |
+
+ No +I users may join (only settable by admins) |
+
|
+ h
+ {nick} |
+
+ Gives half op status to the user |
+
|
+ i
+ |
+
+ Invite
+ Required |
+
|
+ K |
+
+ /knock
+ is not allowed |
+
|
+ k
+ {key} |
+
+ Sets
+ a key needed to join |
+
|
+ l {##} |
+
+ Sets
+ the max number of users |
+
|
+ L
+ {chan} |
+
+ If
+ the amount set by +l has been reached, users will be sent to this channel |
+
|
+ m |
+
+ Moderated
+ - +v/o/h required to speak |
+
|
+ N |
+
+ No nickname changes are permitted |
+
|
+ n
+ |
+
+ No
+ Messages from outside channels |
+
|
+ O |
+
+ Only
+ IRCops may join |
+
|
+ o
+ {nick} |
+
+ Gives a user channel operator status |
+
|
+ p
+ |
+
+ Private
+ |
+
|
+ q |
+
+ Channel Owner |
+
|
+ Q |
+
+ Only
+ U:Lined Servers can kick users out of channel |
+
|
+ R |
+
+ Requires
+ a registered nickname to join |
+
|
+ S |
+
+ Strips
+ all incoming colors |
+
|
+ s
+ |
+
+ Secret
+ |
+
|
+ u
+ |
+
+ Auditorium Makes /names and /who #channel only show channel ops |
+
|
+ V |
+
+ /invite
+ is not allowed |
+
|
+ v
+ {nick} |
+
+ Gives a voice to the user (may talk in +m channels) |
+
|
+ z |
+
+ Only clients on a Secure (SSL) Connection may join |
+
+ +
|
+ Mode |
+
+ Description |
+
|
+ User Modes |
+ |
|
+ r |
+
+ Identifies
+ the nick as being registered |
+
|
+ s |
+
+ Can
+ listen to server notices |
+
|
+ v |
+
+ Receive
+ infected DCC Send Rejection notices |
+
|
+ o |
+
+ Global
+ IRC Operator |
+
|
+ B |
+
+ Marks
+ you as being a bot |
+
|
+ b |
+
+ Can
+ read & send to ChatOps |
+
|
+ |
+
+ |
+
|
+ I |
+
+ Invisible
+ – Not shown in /who searches |
+
|
+ O |
+
+ Local
+ IRC Operator |
+
|
+ A |
+
+ Server
+ Administrator |
+
|
+ x |
+
+ Gives
+ the user a hidden hostname |
+
|
+ |
+
+ |
+
|
+ q |
+
+ Only
+ U:Lines can kick you (Services Admins Only) |
+
|
+ a |
+
+ Services
+ Administrator |
+
|
+ g |
+
+ Can
+ read & send globops and locops |
+
|
+ H |
+
+ Hide
+ IRCop status in /who or /whois (IRCops Only) |
+
|
+ S |
+
+ For
+ services, protects them |
+
|
+ I |
+
+ Invisible
+ Join/Part. Makes you hidden in channels. (Network Admins Only IF enabled) |
+
|
+ |
+
+ |
+
|
+ t |
+
+ Says
+ you are using a /vhost |
+
|
+ C |
+
+ Is
+ a Co-Admin |
+
|
+ |
+
+ |
+
|
+ d |
+
+ Makes
+ it so you can not receive Private Messages (deaf) |
+
|
+ k
+ |
+
+ Can
+ see all the /kill that are executed |
+
|
+ N |
+
+ Network
+ Administrator |
+
|
+ |
+
+ |
+
|
+ w |
+
+ Can
+ listen to wallop messages |
+
|
+ |
+
+ |
+
|
+ h |
+
+ Available
+ for Help (HelpOp) |
+
|
+ |
+
+ |
+
|
+ G |
+
+ Filters
+ out all bad words per bad world configuration. |
+
|
+ W |
+
+ Lets
+ you see when people do a /whois on you (IRCops Only) |
+
|
+ Command |
+
+ Desciption+ |
+
+ Who |
+
|
+ nick
+ {newnickname} |
+
+ Changes
+ your online nick name. Alerts others
+ to the change of your nick |
+
+ All |
+
|
+ whois {nick} |
+
+ Displays
+ information of user requested. Includes Full Name, Host, Channels User is in,
+ and Oper Status |
+
+ All |
+
|
+ who {mask} |
+
+ Who
+ allows you to search for users (who do not have mode +I set). Masks include:
+ nickname, #channel, hostmask
+ (*.attbi.com) |
+
+ All |
+
|
+ whowas {nick}
+ {max replys} |
+
+ Displays
+ information on a nick that has logged off. The {max replies} field is
+ optional, and limits how many records will be returned. |
+
+ All |
+
|
+ ison {nick1
+ nick2 nick3} |
+
+ Allows
+ you to check the online status of a user, or a list of users. Simple return, best used for scripts |
+
+ All |
+
|
+ join
+ {channel} |
+
+ Allows
+ you to join channels. Using the /join
+ #channel1, #channel2, channel3 will allow you to join more than one channel
+ at a time. The /join 0 command makes
+ you PART(leave) all channels you are currently in. |
+
+ All |
+
|
+ part
+ {channel} |
+
+ Allows
+ you to part (leave) channels. Using
+ the /part #channel1, #channel2, channel3 will allow you to part more than one
+ channel at a time. |
+
+ All |
+
|
+ motd {server} |
+
+ Displays
+ the servers motd. Adding a server
+ name allows you to view motd’s on other servers. |
+
+ All |
+
|
+ rules
+ {server} |
+
+ Displays
+ the ircd.rules of a server. Adding a
+ server name allows you to view rules on other servers. |
+
+ All |
+
|
+ lusers |
+
+ Displays
+ current & max user loads, both global and local. |
+
+ All |
+
|
+ map |
+
+ Displays
+ a network map |
+
+ All |
+
|
+ quit {reason} |
+
+ Causes
+ you to disconnect from the server. If
+ you include a reason, it will be displayed on all channels as you quit. |
+
+ All |
+
|
+ ping {user} |
+
+ Sends
+ a PING request to a user. Used for
+ checking connection and lag. Servers
+ issue pings on a timed basis to determine if users are still connected. |
+
+ All |
+
|
+ version
+ {nick} |
+
+ Sends
+ a CTCP Version request to the user.
+ If configured to do so, their client will respond with the client
+ version. |
+
+ All |
+
|
+ links |
+
+ Displays
+ a list of all servers linked to the network |
+
+ All |
+
|
+ Admin {server} |
+
+ Displays
+ the admin info of a server. If a
+ server name is included it will display the info of that server. |
+
+ All |
+
|
+ userhost
+ {nick} |
+
+ Displays
+ the userhost of the nick given. Generally used for scripts |
+
+ All |
+
|
+ topic
+ {channel} {topic} |
+
+ Topic
+ {channel} will display the current topic of the given channel. Topic {channel} {topic} will change the
+ topic of the given channel. |
+
+ All |
+
|
+ invite {nick}
+ {channel} |
+
+ Invites
+ the given user to the given channel. (Must be a channel Op) |
+
+ ChanOp |
+
|
+ kick
+ {channel, channel} {user, user} {reason} |
+
+ Kicks
+ a user or users out of a channel, or channels. A reason may also be supplied. |
+
+ ChanOp |
+
|
+ away {reason} |
+
+ Sets
+ you as being away, a reason may also be supplied. |
+
+ All |
+
|
+ Watch
+ +-{nick} +-{nick} |
+
+ Watch is a new notify-type system in UnrealIRCd which is both
+ faster and uses less network resources than any old-style notify system. The
+ server will send you a message when any nickname in your watch list logs on
+ or off. The watch list DOES NOT REMAIN BETWEEN SESSIONS - you (or your script
+ or client) must add the nicknames to your watch list every time you connect
+ to an IRC server. |
+
+ All |
+
|
+ helpop
+ ?{topic} or !{topic} |
+
+ HelpOp is a new system of getting IRC Server help. You type
+ either /HELPOP ? <help system topic>
+ or /HELPOP ! <question> The "?" in /HELPOP means query
+ the help system and if you get no response you can choose '!' to send it to
+ the Help Operators online Using neither ? nor ! will mean the command will be
+ first queried within the help system and if no match if found , it will be
+ forwarded to the help operators. |
+
+ All |
+
|
+ list {search
+ string} |
+
+ Lists all channels on the network. If a search string is supplied, it will apply that to the
+ search. Wildcards are supported. |
+
+ All |
+
|
+ quote |
+
+ If you don't include any options, the default is to send you the
+ entire unfiltered list of channels. Below are the options you can use, and what
+ channels LIST will return when you use them. >number List channels with more than
+ <number> people. <number List channels with less than
+ <number> people. C>number List
+ channels created between now and <number> minutes ago. C<number List
+ channels created earlier than <number> minutes ago. T>number List
+ channels whose topics are older than <number> minutes (Ie., they
+ have not changed in the last <number> minutes. T<number List
+ channels whose topics are newer than <number> minutes. *mask* List channels that match *mask* !*mask* List channels that do not match *mask* |
+
+ All |
+
|
+ Knock
+ {channel} {message} |
+
+ Allows you to ‘knock’ on an invite only channel and ask for
+ access. Will not work if channel has
+ one of the following modes set: +K +I.
+ Will also not work if you are banned |
+
+ All |
+
|
+ setname |
+
+ Allows users to change their ‘Real Name’ without reconnecting |
+
+ All |
+
|
+ vhost {login}
+ {password} |
+
+ Hides your host name by using a vhost provided by the
+ server. |
+
+ All |
+
|
+ mode
+ {chan/nick} {mode} |
+
+ Lets you set channel and user modes. Refer to section 4 for lists of modes |
+
+ All |
+
|
+ Credits |
+
+ Lists credits for everyone that has helped create UnrealIRCD |
+
+ All |
+
|
+ license |
+
+ Displays the GNU License |
+
+ All |
+
|
+ time {server} |
+
+ Displays the servers date and time. Including a server name allows you to check other servers. |
+
+ All |
+
|
+ botmotd
+ {server} |
+
+ Displays the servers bot message of the day. Including a server name allows you to
+ check other servers. |
+
+ All |
+
|
+ identify
+ {password} |
+
+ Sends your password to the services system to identify to your
+ nick. |
+
+ All |
+
|
+ identify
+ {channel} {password} |
+
+ Sends your password to the services system to identify as the
+ founder of a channel. |
+
+ All |
+
|
+ oper {userid}
+ {password} |
+
+ Command to give a user operator status if they match an Oper
+ Block |
+
+ IRCop |
+
|
+ wallop
+ {message} |
+
+ Sends a message to all users with umode +w |
+
+ IRCop |
+
|
+ globops
+ {message} |
+
+ Sends a message to all IRCops |
+
+ IRCop |
+
|
+ chatops
+ {message} |
+
+ Sends a message to all IRCops with mode +c |
+
+ IRCop |
+
|
+ Locops
+ {message} |
+
+ Sends a message to all Local IRCops |
+
+ IRCop |
+
|
+ adchat
+ {message} |
+
+ Sends a message to all Admins |
+
+ IRCop |
+
|
+ nachat
+ {message} |
+
+ Sends a message to all NetAdmins |
+
+ IRCop |
+
|
+ kill {nick}
+ {reason} |
+
+ Kills’s or disconnects a user from the network. |
+
+ IRCop |
+
|
+ kline {hostmask} {reason} |
+
+ Bans the hostmask from the server it is issued on. It is not a global ban. |
+
+ IRCop |
+
|
+ unkline
+ {hostmask} |
+
+ Removes a kline |
+
+ IRCop |
+
|
+ zline {ip}
+ :{reason} |
+
+ Bans an IP Address from the local server it is issued on |
+
+ IRCop |
+
|
+ unzline {ip} |
+
+ Removes a Zlined IP address |
+
+ IRCop |
+
|
+ gline {user@host} {time to ban} :{reason} |
+
+ Adds a global ban to anyone that matches. Time to ban is in seconds, or u can use 1d
+ for 1 days. To remove a gline, put a –user@host |
+
+ IRCop |
+
|
+ shun +-{user@host} {time to shun} :{reason} |
+
+ Prevents a user from executing ANY commands on the server, and
+ prevents them from speaking. Time to
+ ban is in seconds, or u can use 1d for 1 days. To remove a shun, put a –user@host. Setting time to 0 makes it permanent. |
+
+ IRCop |
+
|
+ gzline {ip}
+ {time to ban} :{reason} |
+
+ Adds a global zline.
+ Time to ban is in seconds, or u can use 1d for 1 days. To remove a gzline,
+ put a –user@host.
+ Setting time to 0 makes it permanent. |
+
+ IRCop |
+
|
+ tkline {user@host} {time to ban} :{reason} |
+
+ Timed Kline. . Time to
+ ban is in seconds, or u can use 1d for 1 days. To remove a tkline, put a –user@host. Setting time to 0 makes it permanent. |
+
+ IRCop |
+
|
+ tzline {ip}
+ {time to ban} :{reason} |
+
+ Timed Zline. . Time to
+ ban is in seconds, or u can use 1d for 1 days. To remove a tzline, put a –user@host. Setting time to 0 makes it permanent. |
+
+ IRCop |
+
|
+ akill {user@host} :{reason} |
+
+ Adds an akill (Services Admins & Network Admins ONLY) |
+
+ IRCop |
+
|
+ rakill {user@host} |
+
+ Removes an akill |
+
+ IRCop |
+
|
+ rehash
+ {server} –{flags} |
+
+ Rehashes the servers config file. Incluidng a server name allows you to rehash a remote servers
+ config file. Several flags are also
+ available. They Include -dccdeny - Rehashes dccdeny.conf -dynconf - Rehashes UnrealIRCd Config and Network
+ file
+ -restrict - Rehashes
+ chrestrict.conf -vhost - Rehashes vhost.conf -motd - Rehashes all MOTD files and RULES
+ files (including T:lines)
+ -opermotd - Rehashes the
+ OPERMOTD -botmotd - Rehashes the BOTMOTD -garbage - Force garbage collection
+ -badwords - Rehashes the
+ badwords config. |
+
+ IRCop |
+
|
+ restart
+ {server} {password} |
+
+ Restarts the IRCD Process.
+ Password is required. You may
+ also include a server name to restart a remote server. |
+
+ IRCop |
+
|
+ die
+ {password} |
+
+ Terminates the IRCD Process.
+ Password is required. |
+
+ IRCop |
+
|
+ lag {server} |
+
+ This command is like a Sonar or Traceroute for IRC server. You
+ type in /LAG irc.fyremoon.net and it will reply from every server it passes
+ with time and so on Useful for looking where lag is and optional TS
+ future/past travels |
+
+ IRCop |
+
|
+ sethost
+ {newhost} |
+
+ Lets you change your vhost to what ever you want it to be. |
+
+ IRCop |
+
|
+ setident
+ {newident} |
+
+ Lets you set your ident to what ever you want it to be |
+
+ IRCop |
+
|
+ chghost
+ {nick} {newhost} |
+
+ Lets you change the host name of a user currently on the system |
+
+ IRCop |
+
|
+ chgident
+ {nick} {newident} |
+
+ Lets you change the ident of a user currently on the system |
+
+ IRCop |
+
|
+ chgname
+ {nick} {newname} |
+
+ Lets you change the realname of a user currently on the system |
+
+ IRCop |
+
|
+ squit {sever} |
+
+ Disconnects a server from the network |
+
+ IRCop |
+
|
+ connect
+ {server} {port} {server} |
+
+ If only one server is givin, it will attempt to connect the
+ server you are ON to the given server.
+ If 2 servers are given, it will attempt to connect the 2 servers
+ together. Put the hub server as the first, and the leaf server as the second. |
+
+ IRCop |
+
|
+ dccdeny
+ {filemask} {reason} |
+
+ Adds a DCCDENY for that filemask. Preventing that file from
+ being sent. |
+
+ IRCop |
+
|
+ undccdeny
+ {filemask} |
+
+ Removes a DCCDENY |
+
+ IRCop |
+
|
+ sajoin {nick}
+ {channel}, {channel} |
+
+ Forces a user to join a channel(s). Available to services & network admins only. |
+
+ IRCop |
+
|
+ sapart {nick}
+ {channel}, {channel} |
+
+ Forces a user to part a channel(s). Available to services & network admins only. |
+
+ IRCop |
+
|
+ samode
+ {channel} {mode} |
+
+ Allows Network & Services admins to change modes of a
+ channel without having ChanOps. |
+
+ IRCop |
+
|
+ rping
+ {servermask} |
+
+ Will calculate in milliseconds the lag between servers |
+
+ IRCop |
+
|
+ trace
+ {servermask} |
+
+ Trace displays what is connected to what. |
+
+ IRCop |
+
|
+ opermotd |
+
+ Displays the servers OperMotd File |
+
+ IRCop |
+
|
+ addmotd :{text} |
+
+ Will add the given text to the end of the Motd |
+
+ IRCop |
+
|
+ addomotd
+ :{text} |
+
+ Will add the given text to the end of the OperMotd |
+
+ IRCop |
+
|
+ sdesc
+ {newdescription} |
+
+ Allows server admins to change the description line of their
+ server without restarting. |
+
+ IRCop |
+
|
+ addline
+ {text} |
+
+ Allows you to add lines to the unrealircd.conf |
+
+ IRCop |
+
|
+ mkpasswd
+ {password} |
+
+ Will encrypt a clear text password to add it to the
+ unrealircd.conf |
+
+ IRCop |
+
|
+ tsctl offset
+ +/- {time} |
+
+ Adjust the IRCD’s Internal clock (Do NOT use if you do not
+ understand EXACTLY what it does) |
+
+ IRCop |
+
|
+ tsctl time |
+
+ Will give a TS report |
+
+ IRCop |
+
|
+ tsctl alltime |
+
+ Will give a TS report of ALL servers |
+
+ IRCop |
+
|
+ tsctl svstime
+ {timestamp} |
+
+ Sets the TS time of all servers (Do NOT use if you do not
+ understand EXACTLY what it does) |
+
+ IRCop |
+
|
+ htm {option} |
+
+ Controls settings related to high traffic mode. High Traffic Mode (HTM) basically disables
+ certain user commands such as: list whois who etc in response to extremely
+ high traffic on the server. Options
+ include: ON Forces server
+ into HTM OFF Forces server
+ out of HTM NOSIY Sets the server to notify users/admins when in goes in and
+ out of HTM QUITE Sets the server to NOT notify when going in and out of HTM TO {value} Sets Traffic rate HTM activates |
+
+ IRCop |
+
|
+ stats
+ {option} |
+
+ b - Send the badwords list C - Send the link block list d - Send the deny link (auto) block list D - Send the deny link (all) block list e - Send the except socks block list E - Send the except ban block list F - Send the deny dcc block list G - Report TKL information (G:lines/Shuns) H - Send the link block list I - Send the allow block list K - Send the ban user/ban ip/except ban block list (Includes
+ AKILLs) L - Send Link information m - Send the events list M - Send list of how many times each command was used n - Send the ban realname block list N - Send network configuration list O - Send the oper block list q - Send the SQLINE list Q - Send the ban nick block list r - Send the channel deny/allow block list s - Send the SCache and NS list S - Send the dynamic configuration list t - Send the tld block list T - Send connection information u - Send server uptime and connection count U - Send the ulines block list v - Send the deny version block list V - Send the vhost block list Y - Send the class block list Z - Send memory usage information |
+
+ IRCop |
+