mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-30 23:06:39 +02:00
535 lines
30 KiB
Plaintext
535 lines
30 KiB
Plaintext
UnrealIRCd Configuration Documentation v3.2-beta5
|
|
|
|
Table of Contents
|
|
1.0 Abstract
|
|
1.1 Introduction
|
|
2.0 Me block (M:line)
|
|
3.0 Admin block (A:line)
|
|
4.0 Class block (Y:line)
|
|
5.0 Allow block (I:line)
|
|
6.0 Listen block (P:line)
|
|
7.0 Oper block (O:line)
|
|
8.0 Drpass block (X:line)
|
|
9.0 Include directive (N/A)
|
|
10.0 Loadmodule directive (N/A)
|
|
11.0 Log block (N/A)
|
|
12.0 Tld block (T:line)
|
|
13.0 Ban nick block (Q:line)
|
|
13.1 Ban user block (K:line)
|
|
13.2 Ban ip block (Z:line)
|
|
13.3 Ban realname block (n:line)
|
|
13.4 Ban server block (q:line)
|
|
14.0 Except ban block (E:line)
|
|
14.1 Except scan block (e:line)
|
|
15.0 Deny dcc block (dccdeny.conf)
|
|
15.1 Deny version block (V:line)
|
|
15.2 Deny link block (D:line and d:line)
|
|
15.3 Deny channel block (chrestrict.conf)
|
|
16.0 Allow channel block (N/A)
|
|
17.0 Vhost block block (vhost.conf)
|
|
18.0 Badword block (badwords.*.conf)
|
|
19.0 Ulines block (U:line)
|
|
20.0 Link block (C:line, N:line, H:line, L:line)
|
|
21.0 Alias block (N/A)
|
|
22.0 Help block (N/A)
|
|
23.0 Set block (networks/unrealircd.conf and networks/*.network)
|
|
24.0 Conclusion
|
|
|
|
1.0 Abstract
|
|
Welcome to the new Unreal configuration format. This format may seem very confusing at first, but hopefully this document will clear up any confusion. This file will show you the new config file directives as well as tell you the old format equivilent (where one exists) to help you get a feel for the new file.
|
|
|
|
1.1 Introduction
|
|
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 specifys 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 seperated by an equal sign, but they maybe if you choose to do so. If <directive-value> contains spaces, or characters that represent 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 thats 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 subblock 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.
|
|
|
|
2.0 Me block (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.
|
|
|
|
3.0 Admin block (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.
|
|
|
|
4.0 Class block (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:lines. 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.
|
|
|
|
5.0 Allow block (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 (appears before this block in the config) 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 close 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.
|
|
|
|
6.0 Listen block (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 name connect), 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.
|
|
|
|
7.0 Oper block (O:line)
|
|
|
|
oper <name> {
|
|
from {
|
|
userhost <hostmask>;
|
|
userhost <hostmask>;
|
|
...
|
|
};
|
|
password <password> { <auth-type>; };
|
|
class <class-name>;
|
|
flags <flags>;
|
|
flags {
|
|
<flag>;
|
|
<flag>;
|
|
...
|
|
};
|
|
};
|
|
|
|
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
|
|
|
|
8.0 Drpass block (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.
|
|
|
|
9.0 Include directive (N/A)
|
|
|
|
Syntax:
|
|
include <file-name>;
|
|
|
|
This directive specifies a filename to be loaded as a seperate 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.
|
|
|
|
10.0 Loadmodule directive (N/A)
|
|
|
|
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.
|
|
|
|
|
|
11.0 Log block (N/A)
|
|
|
|
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.
|
|
|
|
12.0 Tld block (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 hostmask (not user@host) that the user's 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.
|
|
|
|
13.0 Ban nick block (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.
|
|
|
|
13.1 Ban user block (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.
|
|
|
|
13.2 Ban ip block (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.
|
|
|
|
13.3 Ban realname block (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.
|
|
|
|
13.4 Ban server block (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.
|
|
|
|
14.0 Except ban block (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.
|
|
|
|
14.1 Except scan block (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.
|
|
|
|
15.0 Deny dcc block (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 specifys the reason why this file is blocked.
|
|
|
|
15.1 Deny version block (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 seperation 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.
|
|
|
|
15.2 Deny link block (D:line and 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).
|
|
|
|
15.3 Deny channel block (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.
|
|
|
|
16.0 Allow channel block (N/A)
|
|
|
|
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.
|
|
|
|
17.0 Vhost block (vhost.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 eligable 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.
|
|
|
|
18.0 Badword block (badwords.*.conf)
|
|
|
|
Syntax:
|
|
badword <type> {
|
|
word <regex-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>.
|
|
|
|
19.0 Ulines block (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.
|
|
|
|
20.0 Link block (C:line, N:line, H:line, and L:line)
|
|
|
|
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).
|
|
|
|
21.0 Alias block (N/A)
|
|
|
|
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.
|
|
|
|
22.0 Help block (N/A)
|
|
|
|
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.
|
|
|
|
23.0 Set block (networks/unrealircd.conf and networks/*.network)
|
|
|
|
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 incomming open proxy to connect to.
|
|
|
|
24.0 Conclusion
|
|
Well hopefully that cleared up some of the issues you had with the new config file format. There are some additional documents that may help you with other problems such as doc/example.conf and doc/example.settings. If you need an example in more detail on how to use these directives, refer to one of those files.
|
|
|