From b2752c2ffbe8d21223135140cda820bd8edb8aec Mon Sep 17 00:00:00 2001 From: codemastr Date: Mon, 19 Aug 2002 18:56:46 +0000 Subject: [PATCH] Changed cr/lf to just lf in doc/unreal32docs.html --- Changes | 1 + doc/unreal32docs.html | 14940 ++++++++++++++++++++-------------------- 2 files changed, 7471 insertions(+), 7470 deletions(-) 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 - - - - - - -
- -

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

- -

 

- -

 

- -

INDEX / TABLE OF CONTENTS

- -

1.      -Introduction & Notes

- -

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)

- -

4.      -User & Channel Modes

- -

5.      -User & Oper Commands

- -

 

- -

 

- -

1.0 –Introduction & Notes 

- -

 

- -

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

- -

1.1   – Notes on documentation

- -

 

- -

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

- -

 

- -

 

- -

1.2   – Notes on current release

- -

 

- -

    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!!!

- -

 

- -

 

- -

1.3   – Notes on compatibility

- -

 

- -

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.

- -

 

- -

 

- -

2.0 - Installation

- -
 
Tested & Supported Operating Systems:
Linux version:
Linux 2.2.x 
FreeBSD 4.6-STABLE
FreeBSD 4.5-STABLE
Slackware 8.0
 
SunOS is NOT supported
 
Windows version:
WindowsXP Home
WindowsXP Pro
 
If you have Unreal3.2 working correctly under other operating systems, please send the details to docs@unrealircd.com
- -

 

- -

Installation Instructions

- -

1.      gunzip --d Unreal3.2-beta12.tar.gz

- -
    -
  1. tar - xvf Unreal3.2-beta12.tar
  2. -
  3. cd - Unreal3.2
  4. -
  5. DO NOT - EDIT MAKEFILE
  6. -
  7. ./Config
    - Answer these questions to the best of your knowledge. Generally if your - not sure, the default will work just fine!
  8. -
  9.  Now you will be brought thru the - creation of the unrealircd.conf file
  10. -
  11. Next - you will be brought thru the selection of your network file.  If your network is not listed select NO - and later you can create your own.
  12. -
  13. Now - edit your unrealircd.conf file, refer to section 3
  14. -
- -

 

- -

 

- -

3.0 - Configuring your unrealircd.conf -file

- -

 

- -

3.1 -Configuration File Explained

- -

 

- -

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) */

- -

 

- -

 

- -

3.2 -- Me Block (Previously known as the M:Line)

- -

 

- -

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;

- -

};

- -

 

- -

 

- -

3.3 - Admin Block (Previously known as the A:Line)

- -

 

- -

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";

- -

};

- -

 

- -

 

- -

3.4 - Class Block -(Previously known as the Y:Line)

- -

 

- -

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 */

- -

};

- -

 

- -

 3.5 - Allow Block (Previously known as the -I:Line)

- -

 

- -

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;

- -

};

- -

 

- -

 

- -

3.6 - Listen Block -(Previously known as the P:Line)

- -

 

- -

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;

- -

 

- -

 

- -

3.7 - Oper Block -(Previously known as the O:Line)

- -

 

- -

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 executed
c = See's all Connects/Disconnects on local server
F = Lets you recieve Far and Local connect notices
f = Listen to Flood Alerts from server
j = See's misc. messages generated by the server
v = Lets you receive notice of /vhost usages
G = Lets you see TKL (G:line,Shun) noties
e = Can listen to Server messages sent to +e users (Eyes)
n = Lets you see notices when a user changes his/her nickname
q = 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;

- -

};

- -

 

- -

 

- -

3.8 - DRpass Block -(Previously known as the X:Line)

- -

 

- -

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";

- -

};

- -

 

- -

 

- -

3.9 - Include Directive -

- -

 

- -

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.

- -

 

- -

 

- -

3.10 – LoadModule -Directive

- -

 

- -

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 module
scan_socks.so - SOCKS proxy scanner module
scan.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;

- -

 

- -

 

- -

 

- -

3.11 – Log  Block

- -

 

- -

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;

- -

            };

- -

};

- -

 

- -

 

- -

3.12 – TLD Block (Previously -known as the T:Line)

- -

 

- -

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";

- -

};

- -

 

- -

 

- -

3.13 – Ban Nick Block -(Previously known as the Q:Line)

- -

 

- -

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";

- -

};

- -

 

- -

 

- -

3.14 – Ban User Block -(Previously known as the K:Line)

- -

 

- -

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";

- -

};

- -

 

- -

 

- -

3.15 – Ban IP Block -(Previously known as the Z:Line)

- -

 

- -

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!”;

- -

};

- -

 

- -

 

- -

3.16 – Ban Server Block -(Previously known as the q:Line)

- -

 

- -

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!”;

- -

};

- -

 

- -

 

- -

3.17 – Ban RealName -Block (Previously known as the n:Line)

- -

 

- -

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!”;

- -

};

- -

 

- -

 

- -

3.18 – Ban Exceptions -Block (Previously known as the E:Line)

- -

 

- -

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;

- -

};

- -

 

- -

 

- -

3.19 – Scan Exception -Block (Previously known as the e:Line)

- -

 

- -

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.*;

- -

};

- -

 

- -

 

- -

3.20 – Deny DCC Block -(Previously known as the dccdeny.conf)

- -

 

- -

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”;

- -

};

- -

 

- -

 

- -

3.21 – Deny Version -Block (Previously known as the V:Line)

- -

 

- -

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.

- -

 

- -

 

- -

3.22 – Deny Link Block -(Previously known as the D/d:Line)

- -

 

- -

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).

- -

 

- -

 

- -

3.23 – Deny Channel -Block (Previously known as the chrestrict.conf)

- -

 

- -

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!”;

- -

};

- -

 

- -

 

- -

3.24 – Allow Channel -Block

- -

 

- -

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”;

- -

};

- -

 

- -

 

- -

3.25 – Vhost Block -(Previously Known As vhosts.conf)

- -

 

- -

 

- -

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 {

- -

                        my@isp.com;

- -

                        myother@isp.com;

- -

            };

- -

            login -mynick;

- -

            password -mypassword;

- -

};

- -

 

- -

 

- -

3.26 – Bad Words Block -(Previously Known As badwords.*.conf)

- -

 

- -

 

- -

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;

- -

};

- -

 

- -

 

- -

3.27 – ULines Block -(Previously Known As U:Line)

- -

 

- -

 

- -

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;

- -

};

- -

 

- -

 

- -

3.28 – Link Block -(Previously Known As C/N/H:Lines)

- -

 

- -

 

- -

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;

- -

                        };

- -

};

- -

 

- -

 

- -

3.29 – Alias Block

- -

 

- -

 

- -

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.

- -

 

- -

 

- -

3.30 – Help Block

- -

 

- -

 

- -

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.

- -

 

- -

 

- -

3.31 – Set Block -(Previosuly Known As unrealircd.conf / networks file)

- -

 

- -

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.

- -

 

- -

 

- -

 

- -

4 – User & Channel Modes

- -

 

- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

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)

-
- -

 

- -

5 – User & Oper Commands Table

- -

 

- -

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

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 + + + + + + +
+ +

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

+ +

 

+ +

 

+ +

INDEX / TABLE OF CONTENTS

+ +

1.      +Introduction & Notes

+ +

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)

+ +

4.      +User & Channel Modes

+ +

5.      +User & Oper Commands

+ +

 

+ +

 

+ +

1.0 –Introduction & Notes 

+ +

 

+ +

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

+ +

1.1   – Notes on documentation

+ +

 

+ +

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

+ +

 

+ +

 

+ +

1.2   – Notes on current release

+ +

 

+ +

    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!!!

+ +

 

+ +

 

+ +

1.3   – Notes on compatibility

+ +

 

+ +

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.

+ +

 

+ +

 

+ +

2.0 - Installation

+ +
 
Tested & Supported Operating Systems:
Linux version:
Linux 2.2.x 
FreeBSD 4.6-STABLE
FreeBSD 4.5-STABLE
Slackware 8.0
 
SunOS is NOT supported
 
Windows version:
WindowsXP Home
WindowsXP Pro
 
If you have Unreal3.2 working correctly under other operating systems, please send the details to docs@unrealircd.com
+ +

 

+ +

Installation Instructions

+ +

1.      gunzip +-d Unreal3.2-beta12.tar.gz

+ +
    +
  1. tar + xvf Unreal3.2-beta12.tar
  2. +
  3. cd + Unreal3.2
  4. +
  5. DO NOT + EDIT MAKEFILE
  6. +
  7. ./Config
    + Answer these questions to the best of your knowledge. Generally if your + not sure, the default will work just fine!
  8. +
  9.  Now you will be brought thru the + creation of the unrealircd.conf file
  10. +
  11. Next + you will be brought thru the selection of your network file.  If your network is not listed select NO + and later you can create your own.
  12. +
  13. Now + edit your unrealircd.conf file, refer to section 3
  14. +
+ +

 

+ +

 

+ +

3.0 - Configuring your unrealircd.conf +file

+ +

 

+ +

3.1 +Configuration File Explained

+ +

 

+ +

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) */

+ +

 

+ +

 

+ +

3.2 +- Me Block (Previously known as the M:Line)

+ +

 

+ +

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;

+ +

};

+ +

 

+ +

 

+ +

3.3 - Admin Block (Previously known as the A:Line)

+ +

 

+ +

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";

+ +

};

+ +

 

+ +

 

+ +

3.4 - Class Block +(Previously known as the Y:Line)

+ +

 

+ +

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 */

+ +

};

+ +

 

+ +

 3.5 - Allow Block (Previously known as the +I:Line)

+ +

 

+ +

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;

+ +

};

+ +

 

+ +

 

+ +

3.6 - Listen Block +(Previously known as the P:Line)

+ +

 

+ +

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;

+ +

 

+ +

 

+ +

3.7 - Oper Block +(Previously known as the O:Line)

+ +

 

+ +

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 executed
c = See's all Connects/Disconnects on local server
F = Lets you recieve Far and Local connect notices
f = Listen to Flood Alerts from server
j = See's misc. messages generated by the server
v = Lets you receive notice of /vhost usages
G = Lets you see TKL (G:line,Shun) noties
e = Can listen to Server messages sent to +e users (Eyes)
n = Lets you see notices when a user changes his/her nickname
q = 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;

+ +

};

+ +

 

+ +

 

+ +

3.8 - DRpass Block +(Previously known as the X:Line)

+ +

 

+ +

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";

+ +

};

+ +

 

+ +

 

+ +

3.9 - Include Directive +

+ +

 

+ +

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.

+ +

 

+ +

 

+ +

3.10 – LoadModule +Directive

+ +

 

+ +

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 module
scan_socks.so - SOCKS proxy scanner module
scan.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;

+ +

 

+ +

 

+ +

 

+ +

3.11 – Log  Block

+ +

 

+ +

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;

+ +

            };

+ +

};

+ +

 

+ +

 

+ +

3.12 – TLD Block (Previously +known as the T:Line)

+ +

 

+ +

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";

+ +

};

+ +

 

+ +

 

+ +

3.13 – Ban Nick Block +(Previously known as the Q:Line)

+ +

 

+ +

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";

+ +

};

+ +

 

+ +

 

+ +

3.14 – Ban User Block +(Previously known as the K:Line)

+ +

 

+ +

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";

+ +

};

+ +

 

+ +

 

+ +

3.15 – Ban IP Block +(Previously known as the Z:Line)

+ +

 

+ +

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!”;

+ +

};

+ +

 

+ +

 

+ +

3.16 – Ban Server Block +(Previously known as the q:Line)

+ +

 

+ +

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!”;

+ +

};

+ +

 

+ +

 

+ +

3.17 – Ban RealName +Block (Previously known as the n:Line)

+ +

 

+ +

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!”;

+ +

};

+ +

 

+ +

 

+ +

3.18 – Ban Exceptions +Block (Previously known as the E:Line)

+ +

 

+ +

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;

+ +

};

+ +

 

+ +

 

+ +

3.19 – Scan Exception +Block (Previously known as the e:Line)

+ +

 

+ +

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.*;

+ +

};

+ +

 

+ +

 

+ +

3.20 – Deny DCC Block +(Previously known as the dccdeny.conf)

+ +

 

+ +

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”;

+ +

};

+ +

 

+ +

 

+ +

3.21 – Deny Version +Block (Previously known as the V:Line)

+ +

 

+ +

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.

+ +

 

+ +

 

+ +

3.22 – Deny Link Block +(Previously known as the D/d:Line)

+ +

 

+ +

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).

+ +

 

+ +

 

+ +

3.23 – Deny Channel +Block (Previously known as the chrestrict.conf)

+ +

 

+ +

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!”;

+ +

};

+ +

 

+ +

 

+ +

3.24 – Allow Channel +Block

+ +

 

+ +

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”;

+ +

};

+ +

 

+ +

 

+ +

3.25 – Vhost Block +(Previously Known As vhosts.conf)

+ +

 

+ +

 

+ +

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 {

+ +

                        my@isp.com;

+ +

                        myother@isp.com;

+ +

            };

+ +

            login +mynick;

+ +

            password +mypassword;

+ +

};

+ +

 

+ +

 

+ +

3.26 – Bad Words Block +(Previously Known As badwords.*.conf)

+ +

 

+ +

 

+ +

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;

+ +

};

+ +

 

+ +

 

+ +

3.27 – ULines Block +(Previously Known As U:Line)

+ +

 

+ +

 

+ +

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;

+ +

};

+ +

 

+ +

 

+ +

3.28 – Link Block +(Previously Known As C/N/H:Lines)

+ +

 

+ +

 

+ +

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;

+ +

                        };

+ +

};

+ +

 

+ +

 

+ +

3.29 – Alias Block

+ +

 

+ +

 

+ +

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.

+ +

 

+ +

 

+ +

3.30 – Help Block

+ +

 

+ +

 

+ +

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.

+ +

 

+ +

 

+ +

3.31 – Set Block +(Previosuly Known As unrealircd.conf / networks file)

+ +

 

+ +

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.

+ +

 

+ +

 

+ +

 

+ +

4 – User & Channel Modes

+ +

 

+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

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)

+
+ +

 

+ +

5 – User & Oper Commands Table

+ +

 

+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

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

+
+ +

 

+ +

 

+ +

 

+ +
+ + + +