Log in | Back to darenet.org

Server Features

m (AUTOINVISIBLE)
(NICKNAMEHISTORYLENGTH)
 
(42 intermediate revisions not shown)
Line 1: Line 1:
-
This document is intended to document features supported by ircd-darenet. NOTE: THE NAMES OF THESE FEATURES ARE CASE SENSITIVE! Values are not case sensitive unless otherwise noted in the documetation for that specific feature. And, although logging is also configuried through F-lines, it is documented in doc/readme.log.
+
{{NeedUpdate}}
 +
 
 +
This page documents various features supported by ircd-darenet that can be configured at run-time.
 +
 
==DOMAINNAME==
==DOMAINNAME==
-
* '''Type:''' string
+
{| class="simpletable"
-
* '''Default:''' ircd.darenet
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| ircd.darenet
 +
|}
-
This option allows you to specify what you consider to be "local." It is only used for statistical purposes. When the IRC command <code>/STATS w</code> is issued, the server will respond with statistics of how many clients have been connecting to the server in the last minute, hour and day. It will give these statistics for all connections (including the servers), all clients (from anywhere) and also for clients whose hostname ends on the domain you specify here. 
+
Sets the domain the ircd will consider as "local", which is ONLY used for statistical purposes.
-
So if you are an ISP and you want to know what the client load from your own domain is, specify that domain here. If you are unsure what to do, then it isn't really important what you give here, just don't give an empty string. A good guess is the last two parts of your own hostname (i.e., if your hostname is foo.bar.nowhere.org, specify "nowhere.org"). Note that the string you give should NOT start with a "." and you should not use quotes.
+
The <code>/STATS w</code> and <code>/STATS usrload</code> commands return statistical data, such as how many clients have connected to the server in the last minute, hour and day. These statistics are shown for all connections, including servers, with a separate entry for clients who's hostname ends on the domain specified for <code>DOMAINNAME</code>.
 +
 
 +
The string should not start with a '.' and cannot be empty. If you don't want to specify a domain, do not define this feature.
==RELIABLE_CLOCK==
==RELIABLE_CLOCK==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
You should really ONLY specify "TRUE" here when your system clock is stable and accurate at all times (within a few seconds). If you are running ntpdate on a regular basis, or an equivalent like xntpd, to keep your system clock synchronized over the network, then you might have an accurate clock. However, this is not guaranteed; for example, it is known that xntpd gives unstable results on Linux in some cases.
You should really ONLY specify "TRUE" here when your system clock is stable and accurate at all times (within a few seconds). If you are running ntpdate on a regular basis, or an equivalent like xntpd, to keep your system clock synchronized over the network, then you might have an accurate clock. However, this is not guaranteed; for example, it is known that xntpd gives unstable results on Linux in some cases.
-
Note that an unstable clock is worse then a clock that has a constant offset, because the servers attempt to correct for a constant offset, but do not correct jumps of your system clock! In general you SHOULD be running ntpdate or equivalent AND make sure it works when you run a production server on DareNET. Otherwise leave your clock alone and specify "FALSE" here. If unsure specify "FALSE"!
+
An unstable clock is worse than a clock that has a constant offset, because ircd-darenet will attempt to correct for a constant offset, but will not correct jumps of your system clock! In general, you SHOULD be running ntpdate or equivalent AND make sure it works when you run a production server on DareNET, and specify "FALSE" here. If unsure, specify "FALSE"!
==BUFFERPOOL==
==BUFFERPOOL==
-
* '''Type:''' integer
+
{| class="simpletable"
-
* '''Default:''' 27000000
+
|-
 +
| '''Type:'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 27000000
 +
|}
-
This specifies the maximum amount of RAM that your server will allocate for buffering sendQs. Small leafs can use a value as little as 1000000, while large HUBs need to specify a value as high as 20000000. If you run out of memory, clients and/or servers are dropped with the error "Buffer allocation error"; then you will have to increase this number (and install more RAM if appropriate).
+
This specifies (in bytes) the maximum amount of RAM that your sever will allocate for buffering sendQs. Small leafs can use a value as little as 1000000, while large HUBS need to specify a value as high as 20000000. If you run out of memory, clients and/or servers are dropped with the error "Buffer allocation error"; then you will have to increase this number (and install more RAM if appropriate).
-
If you want a more educated guess for this value then realize that any valueis good if you _really_ would rather drop servers and clients than allocate more memory; this will be the case when there is the danger you may run out of memory for other allocations. Even if you run the daemon on a dedicated machine, specifying all of the RAM you have is a bad thing, because running out of memory is a lot worse than dropping clients in a controlled way; if possible you should have memory left for all the internal structures (channels, clients, ban lists, receive buffers) at all times.
+
If you want a more educated guess for this value then realize that any value is good if you _really_ would rather drop servers and clients than allocate more memory; this will be the case when there is the danger you may run out of memory for other allocations. Even if you run the daemon on a dedicated machine, specifying all of the RAM you have is a bad thing, because running out of memory is a lot worse than dropping clients in a controlled way; if possible you should have memory left for all the internal structures (channels, clients, ban lists, receive buffers) at all times.  On average, clients seem to use 150 bytes of sendQ, but at peak moments this can easily increase to 2032 bytes per client (sendQs are allocated in chunks of 2032 bytes).
-
On average, clients seem to use 150 bytes of sendQ, but at peak moments this can easily increase to 2032 bytes per client (sendQs are allocated in chunks of 2032 bytes). The maximum possible amount that can be allocated for sendQs is the number of connected clients times whatever you specified as the maximum sendQ in your Y: lines in the ircd.conf file. That value will likely be larger then the amount of RAM you have. The educated guess I talked about earlier would be "number of clients" times * 2048 bytes + "size of net.burst" * n, where "n" is 1 for leafs and up to 5 for HUBs. The "size of net.burst" is about 125 bytes per online client (on the whole network). For large HUBs with 4000 clients on a network with 30,000 users, this results in 27 Mb. Leafs could use 12 Mb. Of course you can use less when you have less than 4000 local clients. This value is in bytes.
+
The maximum possible amount that can be allocated for sendQs is the number of connected clients times whatever you specified as the maximum sendQ in your Class blocks in the ircd.conf file. That value will likely be larger then the amount of RAM you have. The educated guess I talked about earlier would be "number of clients" times * 2048 bytes + "size of net.burst" * n, where "n" is 1 for leafs and up to 5 for HUBs. The "size of net.burst" is about 125 bytes per online client (on the whole
 +
network). For large HUBs with 4000 clients on a network with 30,000 users, this results in 27 Mb. Leafs could use 12 Mb. Of course you can use less when you have less than 4000 local clients.
==HAS_FERGUSON_FLUSHER==
==HAS_FERGUSON_FLUSHER==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
-
If you have a server with a lot of resources available, this option will cause the server to attempt to flush its internal buffers before dropping clients during a net break. Don't define this if you don't know for certain; if you're not careful this can end up rebooting FreeBSD boxes. For more information, refer to freebsd.txt, also in this directory.
+
If you have a server with a lot of resources available, this option will cause the server to attempt to flush its internal buffers before dropping clients during a net break. Don't define this if you don't know for certain; if you're not careful this can end up rebooting FreeBSD boxes. For more information, refer to doc/freebsd.txt.
==CLIENT_FLOOD==
==CLIENT_FLOOD==
-
* '''Type:''' integer
+
{| class="simpletable"
-
* '''Default:''' 1024
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 1024
 +
|}
-
Currently, everything that a client sends to a server is read by the server and stored in a buffer (the clients receive queue). The server will process messages from this queue one by one (running over all clients each time). When a client sends new messages faster they get processed, and the size of its receive buffer reaches this value, the client is dropped with the error "Excess flood." A reasonable value is 1024 bytes. The maximum size is 8000 bytes.
+
Currently, everything that a client sends to a server is read by the server and stored in a buffer (the clients receive queue). The server will process messages from this queue one by one (running over all clients each time). When a client sends new messages faster than they get processed, and the size of its receive buffer reaches this value, the client is dropped with the error "Excess flood." A reasonable value is 1024 bytes. The maximum size is 8000 bytes.
==SERVER_PORT==
==SERVER_PORT==
-
* '''Type:''' integer
+
{| class="simpletable"
-
* '''Default:''' 7325
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 7325
 +
|}
-
When an IRC operator attempts a connect to another server, he or she may not know which port the connect should go to. In this server version, that operator may use the special port 0, in which case the server will take the port from the C-line. If no port is specified in the C-line, however, the port specified by this option will be used instead.
+
When an IRC operator attempts a connect to another server, he or she may not know which port the connect should go to. In ircd-darenet, that operator may use the special port 0, in which case the server will take the port from the Connect block. If no port is specified in the Connect block, then the port specified by this option will be used instead.
==NODEFAULTMOTD==
==NODEFAULTMOTD==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
-
Every time a client connects to your server, the full Message of the Day (as specified by the T-lines or by the file specified by the MPATH option) is sent to the client. The server sends the Message of the Day even though many clients permit the user to ignore it. Many users never read the message of the day anyway, making it a huge waste of bandwidth. If you specify "TRUE" here, then the server won't send the MOTD to the client by default; instead, it will only tell the client when the MOTD was last changed, and give instructions on how to obtain it by typing /MOTD.
+
Every time a client connects to your server, the full Message of the Day (as specified by the Motd blocks or by the file specified by the MPATH option) is sent to the client. The server sends the Message of the Day even though many clients permit the user to ignore it. Many users never read the message of the day anyway, making it a huge waste of bandwidth. If you specify "TRUE" here, then the server won't send the MOTD to the client by default; instead, it will only tell the client when the MOTD was last changed, and give instructions on how to obtain it by typing /MOTD.
==MOTD_BANNER==
==MOTD_BANNER==
-
* '''Type:''' string
+
{| class="simpletable"
-
* '''Default:''' NULL
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
-
If you enable NODEFAULTMOTD, this specifies a one-line banner to be sent to the client in addition to the instructions mentioned above.
+
If the <code>[[Server_Features#NODEFAULTMOTD|NODEFAULTMOTD]]</code> option is enabled, then the one-line banner specified here is sent to the client in addition to the instructions, as mentioned above.
==REMOTE_MOTD==
==REMOTE_MOTD==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Controls the use of remote message of the day's.
Controls the use of remote message of the day's.
==PROVIDER==
==PROVIDER==
-
* '''Type:''' string
+
{| class="simpletable"
-
* '''Default:''' NULL
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
-
This string is added to the 001 numeric prefixed with "via" before the nick. It's used for providing promotional space to providers.
+
This string is added to the 001 numeric prefixed with "via" before the string. It's used for providing promotional space to providers.
==GEO_LOCATION==
==GEO_LOCATION==
-
* '''Type:''' string
+
{| class="simpletable"
-
* '''Default:''' NULL
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
-
This string as added to the 003 numeric, is used for providing the location of the server, e.g. "Staunton, MI, United States."
+
This string is added to the 003 numeric, used for providing the location of the servers, e.g. "Los Angeles, CA, USA".
==KILL_IPMISMATCH==
==KILL_IPMISMATCH==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
-
When a client connects to your server, the IP address of the client is reverse-resolved to obtain a hostname. Then that hostname is resolved to an IP address and compared with the IP address of the client. If they don't match, the client will appear with the IP address instead of the hostname, unless KILL_IPMISMATCH is "TRUE," in which case the client is simply disconnected.
+
When a client connects to your server, the IP address of the client is reverse-resolved to obtain a hostname. Then that hostname is resolved to an IP address and compared with the IP address of the client. If they don't match, the client will appear with the IP address instead of the hostname, unless <code>KILL_IPMISMATCH</code> is "TRUE," in which case the client is simply disconnected.
==IDLE_FROM_MSG==
==IDLE_FROM_MSG==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
The IRC command WHOIS gives an idle time for clients. If you want this idle time to be set to zero only when the client sends a PRIVMSG, then you should specify "TRUE" here. If you specify "FALSE," then the idle time will be nullified on all messages except the server PING/PONG.
The IRC command WHOIS gives an idle time for clients. If you want this idle time to be set to zero only when the client sends a PRIVMSG, then you should specify "TRUE" here. If you specify "FALSE," then the idle time will be nullified on all messages except the server PING/PONG.
==HUB==
==HUB==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
All servers of an IRC "network" are connected in a "tree" (no loops). Servers that are only connected to one other server (called the "uplink") are called "leafs"; servers that are connected to more than one other server are called HUBs. If you specify "FALSE" here then your server will prevent itself from accidentally connecting to two servers at once, thus keeping servers in poor network locations from routing traffic. Note that on DareNET, all newly linked servers are
All servers of an IRC "network" are connected in a "tree" (no loops). Servers that are only connected to one other server (called the "uplink") are called "leafs"; servers that are connected to more than one other server are called HUBs. If you specify "FALSE" here then your server will prevent itself from accidentally connecting to two servers at once, thus keeping servers in poor network locations from routing traffic. Note that on DareNET, all newly linked servers are
Line 95: Line 172:
==WALLOPS_OPER_ONLY==
==WALLOPS_OPER_ONLY==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Setting this option removes the ability for clients that are not IRC operators to see wallops messages.
Setting this option removes the ability for clients that are not IRC operators to see wallops messages.
==NODNS==
==NODNS==
-
* '''Type:''' boolean
+
{| class="simpletable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
-
If you are playing with the server off-line, and no DNS is available, then long delays occur before the server starts up because it tries to resolve the name given on the M-line (which usually isn't given in /etc/hosts) and for each connecting client. If you specify "TRUE" here, then a call to gethostbyname() will be done only for the real hostname, and the server will not try to resolve clients that connect to "localhost."  
+
If you are playing with the server off-line, and no DNS is available, then long delays occur before the server starts up because it tries to resolve the name given in the General block (which usually isn't given in /etc/hosts) and for each connecting client. If you specify "TRUE" here, then a DNS lookup will be done only for the real hostname, and the server will not try to resolve clients that connect to "localhost." Note that other DNS lookups are still done for outbound connections.
-
 
+
-
Note that other calls to gethostbyname() are still done if you use VIRTUAL_HOST; also note that the server still tries to resolve clients that connect to the real IP address of the server.
+
==RANDOM_SEED==
==RANDOM_SEED==
-
* '''Type:''' string
+
{| class="simpletable"
-
* '''Default:''' none
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| None
 +
|}
-
When a client connects, the server sends the client a "cookie," consisting of a random number. The client must return the cookie to the server verbatim. This is done to prevent IP spoofing. The cookie is generated by a pseudorandom number generator included in ircd. This generator must be seeded with a phrase that is kept secret, to ensure that the numbers it generates are not easily guessed.
+
When a client connects, the server sends the client a "cookie," consisting of a random number. The client must return the cookie to the server verbatim. This is done to prevent IP spoofing. The cookie is generated by a pseudorandom number generator included in ircd-darenet. This generator must be seeded with a phrase that is kept secret, to ensure that the numbers it generates are not easily guessed.
-
The value given to RANDOM_SEED may be a string of any length.It should not contain any characters that are considered special by the configuration file system, such as ":" or "#"; the string should be at least 8 characters long, but longer strings are better. The RANDOM_SEED may not be retrieved online.
+
The value given to <code>RANDOM_SEED</code> may be a string of any length. It should not contain any characters that are considered special by the configuration file system, such as ":" or "#"; the string should be at least 8 characters long, but longer strings are better. The <code>RANDOM_SEED</code> may not be retrieved online.
==DEFAULT_LIST_PARAM==
==DEFAULT_LIST_PARAM==
-
* '''Type:''' string
+
{| class="simpletable"
-
* '''Default:''' none
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
-
The LIST command takes a single optional argument. If given, that argument is either a channel or a filter. If that argument is not given, then by default, <code>/LIST</code> will list all channels on the network. Needless to say, this can generate a large amount of data on large networks with many channels, as well as chewing up a lot of CPU time. Server administrators can therefore set a default filter to be applied to the channel list if the optional argument to LIST is omitted.
+
The LIST command takes a single optional argument. If given, that argument is either a channel or a filter. If that argument is not given, then by default, <code>/LIST</code> will list all channels on the network. Needless to say, this can generate a large amount of data on large networks with many channels, as well as chewing up a lot of CPU time. Therefore, you may set a default filter to be applied to the channel list if the optional argument to LIST is omitted.
==NICKNAMEHISTORYLENGTH==
==NICKNAMEHISTORYLENGTH==
-
* '''Type:''' integer
+
{| class="simpleitable"
-
* '''Default:''' 800
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 800
 +
|}
This value specifies the length of the nick name history list, which is used for <code>/WHOWAS</code> and some nickname chasing in <code>/KILL</code> and <code>/KICK</code>. It uses about 300 to 400 bytes per entry. Note that at a net break, so many clients disappear that the whole "whowas" list is refreshed a few times (unless you make it rather large). A reasonable value is "total number of clients" / 25.
This value specifies the length of the nick name history list, which is used for <code>/WHOWAS</code> and some nickname chasing in <code>/KILL</code> and <code>/KICK</code>. It uses about 300 to 400 bytes per entry. Note that at a net break, so many clients disappear that the whole "whowas" list is refreshed a few times (unless you make it rather large). A reasonable value is "total number of clients" / 25.
==HOST_HIDING==
==HOST_HIDING==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
-
This selects whether local users can set umode +x, thus allowing them to hide their hostname if they have also registered and authenticated with NickServ (i.e. they have the ACCOUNT flag set).
+
This selects whether local users can set umode +x, thus allowing them to hide their hostname if they have also registered and authenticated with N (i.e. they have the ACCOUNT flag set).
==OPERHOST_HIDING==
==OPERHOST_HIDING==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
When TRUE any oper setting +x will get the hidden host set via HIDDEN_OPERHOST instead of the host set in HIDDEN_HOST.
When TRUE any oper setting +x will get the hidden host set via HIDDEN_OPERHOST instead of the host set in HIDDEN_HOST.
==HOST_HIDING_STYLE==
==HOST_HIDING_STYLE==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 1
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 1
 +
|}
Value 1 will use ircu-style hostmasking. Value 2 uses Ultimate IRCd style hostmangling, such as a43sd.a3523f.isp.tld.
Value 1 will use ircu-style hostmasking. Value 2 uses Ultimate IRCd style hostmangling, such as a43sd.a3523f.isp.tld.
==HIDDEN_HOST==
==HIDDEN_HOST==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' user.darenet
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| user.darenet
 +
|}
This selects the suffix for the hidden hostmask (see HOST_HIDING).
This selects the suffix for the hidden hostmask (see HOST_HIDING).
==HOST_HIDING_PREFIX==
==HOST_HIDING_PREFIX==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' DareNET
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| DareNET
 +
|}
This selects the suffix for the hidden hostmask style 2.
This selects the suffix for the hidden hostmask style 2.
==HIDDEN_OPERHOST==
==HIDDEN_OPERHOST==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' staff.darenet
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| staff.darenet
 +
|}
This selects the suffix for the hidden hostmask for IRC Operators (see OPERHOST_HIDING).
This selects the suffix for the hidden hostmask for IRC Operators (see OPERHOST_HIDING).
==HIDDEN_IP==
==HIDDEN_IP==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' 127.0.0.1
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| 127.0.0.1
 +
|}
This selects a fake IP to be shown on <code>/USERIP</code> and <code>/WHO %i</code> when the target has a hidden host (see HOST_HIDING).
This selects a fake IP to be shown on <code>/USERIP</code> and <code>/WHO %i</code> when the target has a hidden host (see HOST_HIDING).
==CONNEXIT_NOTICES==
==CONNEXIT_NOTICES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This feature controls the generation of server notices when a user connects to or disconnects from the server. Enabling this feature may have a performance impact. If using this feature make sure you take a look at [[Server Notice Masks (SNOMASK)|SNOMASKs]].
This feature controls the generation of server notices when a user connects to or disconnects from the server. Enabling this feature may have a performance impact. If using this feature make sure you take a look at [[Server Notice Masks (SNOMASK)|SNOMASKs]].
==EXTENDED_ACCOUNTS==
==EXTENDED_ACCOUNTS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This enables 'extended' style AC syntax (used by your service to set the account name.) TRUE uses the subcommand parameter R,M,U,C,A,D to do LOC, rename and removal. FALSE uses old style. Set this to TRUE if you're linking to DareNET / using services-darenet, FALSE for other services.
This enables 'extended' style AC syntax (used by your service to set the account name.) TRUE uses the subcommand parameter R,M,U,C,A,D to do LOC, rename and removal. FALSE uses old style. Set this to TRUE if you're linking to DareNET / using services-darenet, FALSE for other services.
==LOGIN_ON_CONNECT==
==LOGIN_ON_CONNECT==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This selects whether local clients can specify a service bot login in the connection phase. Read doc/readme.login-on-connect for details.
This selects whether local clients can specify a service bot login in the connection phase. Read doc/readme.login-on-connect for details.
==DNSBL_LOC_EXEMPT==
==DNSBL_LOC_EXEMPT==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This allows a user who has successfully authed to a service using login on connect (above) to bypass a DNSBL rejection if they get a positive result from the earlier check.
This allows a user who has successfully authed to a service using login on connect (above) to bypass a DNSBL rejection if they get a positive result from the earlier check.
==DNSBL_LOC_EXEMPT_N_ONE==
==DNSBL_LOC_EXEMPT_N_ONE==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' If you have an account with DareNET's NickServ then you can bypass the DNSBL ban by logging in like this (where Account is your account name and Password is your password):  
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| If you have an account with DareNET's N then you can bypass the DNSBL ban by logging in like this (where Account is your account name and Password is your password):  
 +
|}
If DNSBL_LOC_EXEMPT is enabled and a user matches a dnsbl then they will be sent a notice containing the string for this feature.
If DNSBL_LOC_EXEMPT is enabled and a user matches a dnsbl then they will be sent a notice containing the string for this feature.
==DNSBL_LOC_EXEMPT_N_TWO==
==DNSBL_LOC_EXEMPT_N_TWO==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' Type \002/QUOTE PASS NickServ Account :Password\002 to connect
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| Type \002/QUOTE PASS N Account :Password\002 to connect
 +
|}
If DNSBL_LOC_EXEMPT is enabled and a user matches a dnsbl then they will be sent a notice containing the string for this feature.
If DNSBL_LOC_EXEMPT is enabled and a user matches a dnsbl then they will be sent a notice containing the string for this feature.
==DNSBL_WALLOPS_ONLY==
==DNSBL_WALLOPS_ONLY==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
If enabled DNSBL filter matches will be alerted to opers via wallops.
If enabled DNSBL filter matches will be alerted to opers via wallops.
==DNSBL_MARK_FAKEHOST==
==DNSBL_MARK_FAKEHOST==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
If enabled then users who match DNSBL's will be marked.
If enabled then users who match DNSBL's will be marked.
==LOC_DEFAULT_SERVICE==
==LOC_DEFAULT_SERVICE==
-
* '''type:''' string
+
{| class="wikitable"
-
* '''Default:''' NickServ
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| N
 +
|}
This is what nick on IRC the login-on-connect account verification is sent to. Users can override it (to any service that supports it) using 3 param LOC.
This is what nick on IRC the login-on-connect account verification is sent to. Users can override it (to any service that supports it) using 3 param LOC.
==DEFAULT_UMODE==
==DEFAULT_UMODE==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "+iB"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| +iw
 +
|}
-
This defines the user modes set when a local user connects. +x should not be included in this setting if using host hiding style 1, since users cannot later remove that flag. Note, on DareNET umode +B is actually only given to those matching the bot class even though it is specified here as a default umode.
+
This defines the user modes set when a local user connects. +x should not be included in this setting if using host hiding style 1, since users cannot later remove that flag.
==KILLCHASETIMELIMIT==
==KILLCHASETIMELIMIT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 30
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 30
 +
|}
If a user changes his or her nickname just before an operator issues a <code>/KILL</code>, the <code>/KILL</code> will be changed to follow the user the operator intended to get. This option specifies the time limit, in seconds, for this nickname change; if the user changed his or her nickname more than this many seconds ago, the <code>/KILL</code> will not be changed. Don't
If a user changes his or her nickname just before an operator issues a <code>/KILL</code>, the <code>/KILL</code> will be changed to follow the user the operator intended to get. This option specifies the time limit, in seconds, for this nickname change; if the user changed his or her nickname more than this many seconds ago, the <code>/KILL</code> will not be changed. Don't
Line 238: Line 428:
==MAXCHANNELSPERUSER==
==MAXCHANNELSPERUSER==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 10
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 50
 +
|}
-
This is the maximum number of channels a user can be in at a time. The "mandatory" value on DareNET is currently 10. Since it only influences the local server when you decrease it, its up to you to
+
This is the maximum number of channels a user can be in at a time. The "mandatory" value on DareNET is currently 10. Since it only influences the local server when you decrease it, its up to you to decide if you want to use a smaller value. Do not use a larger value however, because it DOES cost more memory and bandwidth on all other servers when you allow users to join more channels simultaneously.
-
decide if you want to use a smaller value. Do not use a larger value however, because it DOES cost more memory and bandwidth on all other servers when you allow users to join more channels simultaneously.
+
One of the most important reasons to choose a smaller value is the fact that the "GUI" clients tend to stay on every channel they join (they aren't bothered by flooding in other channels). It DOES take your bandwidth however to send all those messages for 10 different channels to all your users.
One of the most important reasons to choose a smaller value is the fact that the "GUI" clients tend to stay on every channel they join (they aren't bothered by flooding in other channels). It DOES take your bandwidth however to send all those messages for 10 different channels to all your users.
==AVEXCEPTLEN==
==AVEXCEPTLEN==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 40
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 40
 +
|}
This is the expected average except mask length. Leave it at 40.
This is the expected average except mask length. Leave it at 40.
==MAXEXCEPTS==
==MAXEXCEPTS==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 100
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| 100
 +
|}
This is the maximum number of excepts a user may set on a given channel.
This is the maximum number of excepts a user may set on a given channel.
==CHANNELLEN==
==CHANNELLEN==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 200
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 200
 +
|}
This is the allowed length of locally created channels. It may not be larger than the CHANNELLEN <nowiki>#define</nowiki>. Like the NICKLEN feature, this is intended to ease changes in channel name length across a network.
This is the allowed length of locally created channels. It may not be larger than the CHANNELLEN <nowiki>#define</nowiki>. Like the NICKLEN feature, this is intended to ease changes in channel name length across a network.
==AVBANLEN==
==AVBANLEN==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 40
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 40
 +
|}
This is the expected average ban mask length. Leave it at 40.
This is the expected average ban mask length. Leave it at 40.
==MAXBANS==
==MAXBANS==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 100
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 100
 +
|}
This is the maximum number of bans a user may set on a given channel.
This is the maximum number of bans a user may set on a given channel.
==MAXSILES==
==MAXSILES==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 15
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 50
 +
|}
This is the maximum number of masks a user can silence at a time. The silence command allows users to filter messages directed at them from certain users or domains, at the source server. Increasing this number allows users to use up more memory with inefficient use of the command. If you're not sure, don't change this.
This is the maximum number of masks a user can silence at a time. The silence command allows users to filter messages directed at them from certain users or domains, at the source server. Increasing this number allows users to use up more memory with inefficient use of the command. If you're not sure, don't change this.
-
==HALFOPS==
+
==MAXACCEPTS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| binteger
 +
|-
 +
| '''Default:'''
 +
| 50
 +
|}
-
This controls the use of half ops (+h). The server will still accept half ops from other servers if its set to FALSE (to prevent desyncs) just not from users.
+
This is the maximum number of masks a user can accept at a time. The accept command allows users to "always accept" messages directed at them from certain users or domains when they have callerid enabled (umode +g). Increasing this number allows users to use up more memory with inefficient use of the command. If you're not sure, don't change this.
==HANGONGOODLINK==
==HANGONGOODLINK==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 300
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 300
 +
|}
Ocassionally the net breaks for a short time and it is useful to try to reestablish the same connection faster than CONNECTFREQUENCY would allow, but to keep from trying again on a bad connection, we require that the connection be open for a certain minimum time. The recommended value is 300 seconds.
Ocassionally the net breaks for a short time and it is useful to try to reestablish the same connection faster than CONNECTFREQUENCY would allow, but to keep from trying again on a bad connection, we require that the connection be open for a certain minimum time. The recommended value is 300 seconds.
==HANGONRETRYDELAY==
==HANGONRETRYDELAY==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 10
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 10
 +
|}
When attempting to quickly reestablish a connection to a good link, we give the net a few seconds to calm down. This time must be long enough for the other end to also notice that the connection is broken. The recommended value is 10 seconds.
When attempting to quickly reestablish a connection to a good link, we give the net a few seconds to calm down. This time must be long enough for the other end to also notice that the connection is broken. The recommended value is 10 seconds.
==CONNECTTIMEOUT==
==CONNECTTIMEOUT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 90
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 90
 +
|}
<nowiki>Number of seconds to wait for a connect(2) call to complete.</nowiki>
<nowiki>Number of seconds to wait for a connect(2) call to complete.</nowiki>
Line 309: Line 553:
==TIMESEC==
==TIMESEC==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 60
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 60
 +
|}
This is the maximum idle time for the server. If no messages are received in TIMESEC seconds, PINGFREQUENCY and CONNECTFREQUENCY are checked. Recommended value is 60 seconds.
This is the maximum idle time for the server. If no messages are received in TIMESEC seconds, PINGFREQUENCY and CONNECTFREQUENCY are checked. Recommended value is 60 seconds.
==MAXIMUM_LINKS==
==MAXIMUM_LINKS==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 1
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 1
 +
|}
This is the maximum number of links for the built-in client class 0. Leave this value at 1.
This is the maximum number of links for the built-in client class 0. Leave this value at 1.
==PINGFREQUENCY==
==PINGFREQUENCY==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 120
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 120
 +
|}
If the daemon doesn't receive anything from any of its links within PINGFREQUENCY seconds, then the it will attempt to check for an active link with a PING message. If no reply is received within (PINGFREQUENCY * 2) seconds, then the connection will be closed. This value may be overridden by a Y-line in "ircd.conf" if the connection's I- or C-line in "ircd.conf" assigns a specific class to the connection (recommended).
If the daemon doesn't receive anything from any of its links within PINGFREQUENCY seconds, then the it will attempt to check for an active link with a PING message. If no reply is received within (PINGFREQUENCY * 2) seconds, then the connection will be closed. This value may be overridden by a Y-line in "ircd.conf" if the connection's I- or C-line in "ircd.conf" assigns a specific class to the connection (recommended).
==CONNECTFREQUENCY==
==CONNECTFREQUENCY==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 600
+
| '''Type'''
-
 
+
| integer
 +
|-
 +
| '''Default:'''
 +
| 600
 +
|}
This is the default frequency that the server attempts to reconnect with its uplink server if it is set to auto connect to it. Note that this value is overridden by a Y-line in ircd.conf if the C-lines in ircd.conf assign a specific class to the connection (recommended).
This is the default frequency that the server attempts to reconnect with its uplink server if it is set to auto connect to it. Note that this value is overridden by a Y-line in ircd.conf if the C-lines in ircd.conf assign a specific class to the connection (recommended).
==DEFAULTMAXSENDQLENGTH==
==DEFAULTMAXSENDQLENGTH==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 40000
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 40000
 +
|}
This is the default value of the maximum sendQ length of Y-line classes (see doc/example.conf for details on Y-lines). You will probably always override this value in your "ircd.conf" with the Y-lines. The given value used to be an often used value for client sendQs.
This is the default value of the maximum sendQ length of Y-line classes (see doc/example.conf for details on Y-lines). You will probably always override this value in your "ircd.conf" with the Y-lines. The given value used to be an often used value for client sendQs.
==GLINEMAXUSERCOUNT==
==GLINEMAXUSERCOUNT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 20
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 20
 +
|}
G-lines that affect too many users have to be set with a special command, to prevent accidental G-lines of large blocks of users. This feature sets that particular threshold.
G-lines that affect too many users have to be set with a special command, to prevent accidental G-lines of large blocks of users. This feature sets that particular threshold.
==MPATH==
==MPATH==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "ircd.motd"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| ircd.motd
 +
|}
MPATH is the filename (relative to DPATH) or the full path of the "Message of the Day" file. The contents of this file will be sent to every client that connects to the server, after registration.
MPATH is the filename (relative to DPATH) or the full path of the "Message of the Day" file. The contents of this file will be sent to every client that connects to the server, after registration.
==OMPATH==
==OMPATH==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "ircd.opermotd"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| ircd.opermotd
 +
|}
OMPATH is the filename (relative to DPATH) or the full path of the "Message of the Day" file.  The contents of this file will be sent to every operator upon opering.
OMPATH is the filename (relative to DPATH) or the full path of the "Message of the Day" file.  The contents of this file will be sent to every operator upon opering.
-
 
-
==QPATH==
 
-
* '''Type:''' string
 
-
* '''Default:''' "ircd.quotes"
 
-
 
-
QPATH is the filename (relative to DPATH) or the full path of the random quotes file. These quotes will only display if the QUOTES feature is enabled.
 
-
 
-
NOTE: This should not be used on DareNET. It has been deprecated, and will be removed from the next version of ircd-darenet.
 
-
 
-
==EPATH==
 
-
* '''Type:''' string
 
-
* '''Default:''' "ircd.rules"
 
-
 
-
EPATH is the filename (relative to DPATH) or the full path of the rules file. Users can see these using the rules command which will need to be enabled if you wish to use RULES. See the RULES feature.
 
-
 
-
NOTE: This should not be used on DareNET. It has been deprecated, and will be removed from the next version of ircd-darenet.
 
==RPATH==
==RPATH==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "ircd.motd"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| ircd.motd
 +
|}
RPATH is the filename (relative to DPATH) or the full path of the "Remote Message of the Day" file. The contents of this file will be sent to every remote client that issues a <code>/MOTD</code> <your server name>. Only the first three lines are sent, so you might want to keep that in mind while writing the file.
RPATH is the filename (relative to DPATH) or the full path of the "Remote Message of the Day" file. The contents of this file will be sent to every remote client that issues a <code>/MOTD</code> <your server name>. Only the first three lines are sent, so you might want to keep that in mind while writing the file.
==PPATH==
==PPATH==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "ircd.pid"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| ircd.pid
 +
|}
PPATH is the filename (relative to DPATH) or the full path of the "PID" file. It is used for storing the server's process ID so that a ps(1) isn't necessary.
PPATH is the filename (relative to DPATH) or the full path of the "PID" file. It is used for storing the server's process ID so that a ps(1) isn't necessary.
==TPATH==
==TPATH==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "ircd.tune"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| ircd.tune
 +
|}
TPATH is the filename (relative to DPATH) or the full path of the tune data file. The file contains user count information for LUSERS so that if the server has to restart etc for any reason they will not loose their max local/global user counts.
TPATH is the filename (relative to DPATH) or the full path of the tune data file. The file contains user count information for LUSERS so that if the server has to restart etc for any reason they will not loose their max local/global user counts.
==VIRTUAL_HOST==
==VIRTUAL_HOST==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This option is only needed when you wish to run multiple IRC servers on the same machine, and they must share at least one port. This will require having multiple IP addresses for the machine that will be hosting the servers. If you specify "TRUE" here, you can cause the server to bind to one of these IP addresses. Use the second field of the M-line (the "password" field) to specify the IP address. If you are unsure, change to "FALSE."
This option is only needed when you wish to run multiple IRC servers on the same machine, and they must share at least one port. This will require having multiple IP addresses for the machine that will be hosting the servers. If you specify "TRUE" here, you can cause the server to bind to one of these IP addresses. Use the second field of the M-line (the "password" field) to specify the IP address. If you are unsure, change to "FALSE."
==TOS_SERVER==
==TOS_SERVER==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 0x08
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 0x08
 +
|}
This option is used to specify the type of service that will be requested for connections to other servers. The value may be given as a hexadecimal integer.
This option is used to specify the type of service that will be requested for connections to other servers. The value may be given as a hexadecimal integer.
==TOS_CLIENT==
==TOS_CLIENT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 0x08
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 0x08
 +
|}
This option is used to specify the type of service that will be requested for connections to users. The value may be given as a hexadecimal integer.
This option is used to specify the type of service that will be requested for connections to users. The value may be given as a hexadecimal integer.
==POLLS_PER_LOOP==
==POLLS_PER_LOOP==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 200
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 200
 +
|}
Some of the engines used by the event interface get a number of events from the kernel at once. Since the number retrieved can impact performance, it can be tuned by modifying this value. The engines enforce a lower limit of 20.
Some of the engines used by the event interface get a number of events from the kernel at once. Since the number retrieved can impact performance, it can be tuned by modifying this value. The engines enforce a lower limit of 20.
==NICKLEN==
==NICKLEN==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 30
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 30
 +
|}
This is the allowed length of the nickname length. It may not be larger than the <code>NICKLEN #define</code>, and should usually be the same length. The real purpose of this feature is to permit easy increases in nickname length for a network.
This is the allowed length of the nickname length. It may not be larger than the <code>NICKLEN #define</code>, and should usually be the same length. The real purpose of this feature is to permit easy increases in nickname length for a network.
==IRCD_RES_RETRIES==
==IRCD_RES_RETRIES==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 2
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 2
 +
|}
This is the number of attempts the irc daemon's resolver will have at  trying to solicit a response from the DNS server.
This is the number of attempts the irc daemon's resolver will have at  trying to solicit a response from the DNS server.
==IRCD_RES_TIMEOUT==
==IRCD_RES_TIMEOUT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 4
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 4
 +
|}
When a DNS query is sent, the irc daemon's resolver will wait this many seconds for a reply. After this timeout has expired, it will retry again, for as many retries as IRCD_RES_RETRIES allows. This can be cut short by AUTH_TIMEOUT expiring.
When a DNS query is sent, the irc daemon's resolver will wait this many seconds for a reply. After this timeout has expired, it will retry again, for as many retries as IRCD_RES_RETRIES allows. This can be cut short by AUTH_TIMEOUT expiring.
==AUTH_TIMEOUT==
==AUTH_TIMEOUT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 9
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 9
 +
|}
This is the maximum number of seconds to wait for the ident lookup and the DNS query to succeed. On older (pre 2.10.11.06) servers this was hard coded to 60 seconds.
This is the maximum number of seconds to wait for the ident lookup and the DNS query to succeed. On older (pre 2.10.11.06) servers this was hard coded to 60 seconds.
==IPCHECK_CLONE_LIMIT==
==IPCHECK_CLONE_LIMIT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 4
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 4
 +
|}
The number of times you are allowed to connect within IPCHECK_CLONE_PERIOD seconds before you are considered abusing the server and throttled.
The number of times you are allowed to connect within IPCHECK_CLONE_PERIOD seconds before you are considered abusing the server and throttled.
==IPCHECK_CLONE_PERIOD==
==IPCHECK_CLONE_PERIOD==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 40
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 40
 +
|}
The number of seconds you are allowed to connect IPCHECK_CLONE_LIMIT times within before you are considered abusing the server and throttled.
The number of seconds you are allowed to connect IPCHECK_CLONE_LIMIT times within before you are considered abusing the server and throttled.
Line 453: Line 785:
==IPCHECK_CLONE_DELAY==
==IPCHECK_CLONE_DELAY==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 600
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 600
 +
|}
The number of seconds grace after restarting the server before the throttle code kicks in. Even if a user connects repetitively during this period, they will never get throttled. This is so after a restart users on a multiuser box can all connect to a server simultaniously without being considered an attack.
The number of seconds grace after restarting the server before the throttle code kicks in. Even if a user connects repetitively during this period, they will never get throttled. This is so after a restart users on a multiuser box can all connect to a server simultaniously without being considered an attack.
==SOCKSENDBUF==
==SOCKSENDBUF==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 61440
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 61440
 +
|}
The send window size used for connections to other servers.
The send window size used for connections to other servers.
==SOCKRECVBUF==
==SOCKRECVBUF==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 61440
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 61440
 +
|}
The receive window size used for connections to other servers.
The receive window size used for connections to other servers.
==ANNOUNCE_INVITES==
==ANNOUNCE_INVITES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
When a channel operator invites a user to their channel, all other opers will be notified of the invite.
When a channel operator invites a user to their channel, all other opers will be notified of the invite.
==BADCHAN_REASON==
==BADCHAN_REASON==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "This channel has been closed"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| This channel has been closed
 +
|}
This is the kick reason for users being autokicked from a channel when it has been bad channel glined.
This is the kick reason for users being autokicked from a channel when it has been bad channel glined.
==OPERFLAGS==
==OPERFLAGS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Extended oper levels can be enabled. Currently this adds support for a Server Administrator oper level, and a few additional privileges granted through oper flags. See example.conf for enabling these on your O:Line if using this feature.
Extended oper levels can be enabled. Currently this adds support for a Server Administrator oper level, and a few additional privileges granted through oper flags. See example.conf for enabling these on your O:Line if using this feature.
-
 
-
==QUOTES==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' FALSE
 
-
 
-
Controls random quote display for connecting users.
 
-
 
-
NOTE: This is slated to be removed from the next release of ircd-darenet.
 
==POLICY_NOTICE==
==POLICY_NOTICE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Controls the display of the policy notice for connecting users.
Controls the display of the policy notice for connecting users.
==LOCAL_CHANNELS==
==LOCAL_CHANNELS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
When enabled local channels (& perfix) can be used.
When enabled local channels (& perfix) can be used.
==OPER_LOCAL_CHANNELS==
==OPER_LOCAL_CHANNELS==
-
* Type: boolean
+
{| class="wikitable"
-
* Default: FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Only opers can create local channels if LOCAL_CHANNELS is enabled.
Only opers can create local channels if LOCAL_CHANNELS is enabled.
==OPER_XTRAOP==
==OPER_XTRAOP==
-
* Type: boolean
+
{| class="wikitable"
-
* Default: FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Controls the use of the (Quakenet-style) Xtra Op oper mode (+X).
Controls the use of the (Quakenet-style) Xtra Op oper mode (+X).
==XTRAOP_CLASS==
==XTRAOP_CLASS==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 0
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| XtraOp
 +
|}
This is the class an oper must be in to use the Xtra Op mode if it is enabled.
This is the class an oper must be in to use the Xtra Op mode if it is enabled.
==OPER_HIDECHANS==
==OPER_HIDECHANS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Controls the use of the oper mode for hiding their channels in their WHOIS output.
Controls the use of the oper mode for hiding their channels in their WHOIS output.
==OPER_HIDEIDLE==
==OPER_HIDEIDLE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Controls the use of the oper mode for hiding their idle time in their WHOIS output.
Controls the use of the oper mode for hiding their idle time in their WHOIS output.
==CHECK==
==CHECK==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
When enabled an oper is allowed to use the CHECK command.
When enabled an oper is allowed to use the CHECK command.
==CHECK_EXTENDED==
==CHECK_EXTENDED==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
When enabled extra information will be displayed for opers who are using CHECK on local clients. Extra information like traffic counts.
When enabled extra information will be displayed for opers who are using CHECK on local clients. Extra information like traffic counts.
==OPER_SINGLELETTERNICK==
==OPER_SINGLELETTERNICK==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This limits single letter nicknames to IRC operators only.
This limits single letter nicknames to IRC operators only.
==MAX_CHECK_OUTPUT==
==MAX_CHECK_OUTPUT==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 1000
+
| '''Type'''
 +
| integer
 +
|-
 +
| '''Default:'''
 +
| 1000
 +
|}
Maximum amount of records displayed in any CHECK query.
Maximum amount of records displayed in any CHECK query.
==CONFIG_OPERCMDS==
==CONFIG_OPERCMDS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Several new oper-only features have been added that involve changes to the server<->server protocol. Until the entire network is running the new version, these features cannot be enabled.
Several new oper-only features have been added that involve changes to the server<->server protocol. Until the entire network is running the new version, these features cannot be enabled.
This configuration option provides a single switch to prevent the use of these features until the entire network has been upgraded. It is not required that all servers set this to "TRUE" in order for the features to be used.
This configuration option provides a single switch to prevent the use of these features until the entire network has been upgraded. It is not required that all servers set this to "TRUE" in order for the features to be used.
-
 
-
==TOPIC_BURST==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
This will burst channel topics on netjoins.
 
==HOST_IN_TOPIC==
==HOST_IN_TOPIC==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
When an channel operator changes the channel topic their full nick!ident@host will be displayed for the person who set the topic. This can eliminate people faking other people when setting the topic.
When an channel operator changes the channel topic their full nick!ident@host will be displayed for the person who set the topic. This can eliminate people faking other people when setting the topic.
==TIME_IN_TIMEOUT==
==TIME_IN_TIMEOUT==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This will display the amount of seconds it took for the user to timeout in their Ping Timeout quit message.
This will display the amount of seconds it took for the user to timeout in their Ping Timeout quit message.
==AUTOCHANMODES==
==AUTOCHANMODES==
-
* '''Type: boolean'''
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
When a user joins a new channel the modes in AUTOCHANMODES_LIST will be automatically set
When a user joins a new channel the modes in AUTOCHANMODES_LIST will be automatically set
==AUTOCHANMODES_LIST==
==AUTOCHANMODES_LIST==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' "nt"
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| nt
 +
|}
If AUTOCHANMODES is enabled then any modes in here will be the modes set for new channels upon join. Modes should be added in this format "nt" etc.
If AUTOCHANMODES is enabled then any modes in here will be the modes set for new channels upon join. Modes should be added in this format "nt" etc.
==FAKEHOST==
==FAKEHOST==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This enables the FAKEHOST command used for fake hosts (duh).
This enables the FAKEHOST command used for fake hosts (duh).
==DEFAULT_FAKEHOST==
==DEFAULT_FAKEHOST==
-
* Type: string
+
{| class="wikitable"
-
* Default: (empty)
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
This is the default fakehost given to users who are connecting to the server. If it is empty or not set then no hostname is set.
This is the default fakehost given to users who are connecting to the server. If it is empty or not set then no hostname is set.
==SETHOST==
==SETHOST==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This enables the <code>/SETHOST</code> command and user mode +h for opers activating Sethosts.
This enables the <code>/SETHOST</code> command and user mode +h for opers activating Sethosts.
==SETHOST_USER==
==SETHOST_USER==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This enabled the <code>/SETHOST</code> command and user mode +h for users activating Sethosts with passwords.
This enabled the <code>/SETHOST</code> command and user mode +h for users activating Sethosts with passwords.
==SETHOST_AUTO==
==SETHOST_AUTO==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This enables the automatic application of Sethosts on matching idents and hosts.
This enables the automatic application of Sethosts on matching idents and hosts.
==SETHOST_FREEFORM==
==SETHOST_FREEFORM==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This enables opers to set new hostnames that do not have a corresponding S: line in the configuration file, as long as the hostname supplied is reasonably valid. The usage of this is logged via SNOTICE.
This enables opers to set new hostnames that do not have a corresponding S: line in the configuration file, as long as the hostname supplied is reasonably valid. The usage of this is logged via SNOTICE.
==REMOTE_OPER==
==REMOTE_OPER==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Allows remote users to oper up remotly witthout requiring an O:Line on the server they are on.
Allows remote users to oper up remotly witthout requiring an O:Line on the server they are on.
==BOT_CLASS==
==BOT_CLASS==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 20
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| Bots
 +
|}
Defines the class a bot must be on to be able to use +B bot mode.
Defines the class a bot must be on to be able to use +B bot mode.
NOTE: On DareNET, users in this class will also be exempted from <code>/LIST</code> restrictions. Intended for IRC search crawlers (e.g. SearchIRC, netsplit.de, etc).
NOTE: On DareNET, users in this class will also be exempted from <code>/LIST</code> restrictions. Intended for IRC search crawlers (e.g. SearchIRC, netsplit.de, etc).
-
 
-
==RULES==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' FALSE
 
-
 
-
Controls the use of the RULES command.
 
==OPERMOTD==
==OPERMOTD==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Controls the use of the OPERMOTD command.
Controls the use of the OPERMOTD command.
-
 
-
==EXCEPTS==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows the use of channel ban exemptions. THIS WILL BREAK SERVICES THAT ARE UNPATCHED TO HANDLE THE NEW BURST LINE WE USE! To also use this feature you MUST enable BREAK_P10.
 
-
 
-
==BREAK_P10==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
If enabled and EXCEPTS is enabled then channel ban exemptions will be allowed to be used.
 
==FLEXABLEKEYS==
==FLEXABLEKEYS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Channel key rules over all modes. Eg a user can join a channel with the correct key and be able to get around modes like limit and invite.
Channel key rules over all modes. Eg a user can join a channel with the correct key and be able to get around modes like limit and invite.
==NOTHROTTLE==
==NOTHROTTLE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Completly disables connection throttling.
Completly disables connection throttling.
==CREATE_CHAN_OPER_ONLY==
==CREATE_CHAN_OPER_ONLY==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
Only IRC Operators will be able to create new channels.
Only IRC Operators will be able to create new channels.
 +
 +
==CREATE_CHAN_ACC_ONLY==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
 +
 +
Only users authenticated to a services account will be able to create new channels.
==RESTARTPASS==
==RESTARTPASS==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' (empty)
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
This is the password required for a server to actually restart when the RESTART command is used. If the password is empty then no password is required.
This is the password required for a server to actually restart when the RESTART command is used. If the password is empty then no password is required.
==DIEPASS==
==DIEPASS==
-
* '''Type:''' string
+
{| class="wikitable"
-
* '''Default:''' (empty)
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| NULL
 +
|}
This is the password required for a server to actually die when the DIE command is used. If the password is empty then no password is required.
This is the password required for a server to actually die when the DIE command is used. If the password is empty then no password is required.
==TARGET_LIMITING==
==TARGET_LIMITING==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Limits users to a certain amount of targets in the a certain amount of time.
Limits users to a certain amount of targets in the a certain amount of time.
==DNSBL_CHECKS==
==DNSBL_CHECKS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Enables DNS blacklist checks controlled via X:Lines.
Enables DNS blacklist checks controlled via X:Lines.
==DNSBL_EXEMPT_CLASS==
==DNSBL_EXEMPT_CLASS==
-
* '''Type:''' integer
+
{| class="wikitable"
-
* '''Default:''' 0
+
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| DNSBL_exempt
 +
|}
Anyone in this class is immune to DNSBL checks if they are enabled.
Anyone in this class is immune to DNSBL checks if they are enabled.
-
 
-
==STATS_C_IPS==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Hides IP addresses in STATS C output for users.
 
-
 
-
NOTE: This feature is slated to be removed in the next version of ircd-darenet, as non-admins/netadmins will not be shown IPs regardless.
 
==HIS_IRCOPS==
==HIS_IRCOPS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This removes <code>/IRCOPS</code> from users.
This removes <code>/IRCOPS</code> from users.
==HIS_IRCOPS_SERVERS==
==HIS_IRCOPS_SERVERS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes server names in the <code>/IRCOPS</code> output from users.
This removes server names in the <code>/IRCOPS</code> output from users.
==HIS_MAP==
==HIS_MAP==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/MAP</code> from users.
This removes <code>/MAP</code> from users.
==HIS_MAP_SCRAMBLED==
==HIS_MAP_SCRAMBLED==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Scrambles the MAP output for normal users, removing hubs and U:lined servers.
Scrambles the MAP output for normal users, removing hubs and U:lined servers.
==HIS_SNOTICES==
==HIS_SNOTICES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes server notices from users entirely.
This removes server notices from users entirely.
   
   
==HIS_SNOTICES_OPER_ONLY==
==HIS_SNOTICES_OPER_ONLY==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This prevents users from receiving server notices.
This prevents users from receiving server notices.
==HIS_SNOTICES_OPER_AND_BOT==
==HIS_SNOTICES_OPER_AND_BOT==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' FALSE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
This removes server notices from non-opers and non-+B users.
This removes server notices from non-opers and non-+B users.
   
   
==HIS_DESYNCS==
==HIS_DESYNCS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes the ability for users to see desynch notices.
This removes the ability for users to see desynch notices.
==HIS_DEBUG_OPER_ONLY==
==HIS_DEBUG_OPER_ONLY==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes the ability for users to see debug notices.
This removes the ability for users to see debug notices.
==HIS_WALLOPS==
==HIS_WALLOPS==
-
* ''''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes operator wallops from users. They can still see wallusers.
This removes operator wallops from users. They can still see wallusers.
==HIS_LINKS==
==HIS_LINKS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/LINKS</code> from users.
This removes <code>/LINKS</code> from users.
==HIS_LINKS_SCRAMBLED==
==HIS_LINKS_SCRAMBLED==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
Scrambles the <code>LINKS</code> output for users, removing hubs and U:Lined servers.
Scrambles the <code>LINKS</code> output for users, removing hubs and U:Lined servers.
==HIS_TRACE==
==HIS_TRACE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/TRACE</code> from users.
This removes <code>/TRACE</code> from users.
==HIS_SHUN_REASON==
==HIS_SHUN_REASON==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This HIDES the shun reason from the target when a shun is set on them (when TRUE).
This HIDES the shun reason from the target when a shun is set on them (when TRUE).
-
==HIS_STATS_l==
+
==HIS_STATS_WELCOMES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS A</code> from users.
 +
 
 +
==HIS_STATS_FORWARDS==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS b</code> from users.
 +
 
 +
==HIS_STATS_MAPPINGS==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS B</code> from users.
 +
 
 +
==HIS_STATS_LINKS==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS l</code> from users.
This removes <code>/STATS l</code> from users.
-
==HIS_STATS_c==
+
==HIS_STATS_MODULES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS L</code> from users.
 +
 
 +
==HIS_STATS_CONNECT==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS c</code> from users.
This removes <code>/STATS c</code> from users.
-
==HIS_STATS_g==
+
==HIS_STATS_GLINES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS g</code> from users.
This removes <code>/STATS g</code> from users.
-
==HIS_STATS_h==
+
==HIS_STATS_KLINES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
-
 
+
| boolean
-
This removes <code>/STATS h</code> from users.
+
|-
-
 
+
| '''Default:'''
-
==HIS_STATS_k==
+
| TRUE
-
* '''Type:''' boolean
+
|}
-
* '''Default:''' TRUE
+
This removes <code>/STATS k</code> from users.
This removes <code>/STATS k</code> from users.
-
==HIS_STATS_f==
+
==HIS_STATS_FILTERS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS f</code> from users.
This removes <code>/STATS f</code> from users.
-
==HIS_STATS_i==
+
==HIS_STATS_FEATURES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code/STATS F</code> from users.
 +
 
 +
==HIS_STATS_ACCESS==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS i</code> from users.
This removes <code>/STATS i</code> from users.
-
==HIS_STATS_j==
+
==HIS_STATS_HISTOGRAM==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS j</code> from users.
This removes <code>/STATS j</code> from users.
-
==HIS_STATS_M==
+
==HIS_STATS_JUPES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
-
This removes <code>/STATS M</code> from users.
+
This removes <code>/STATS J</code> from users.
-
==HIS_STATS_m==
+
==HIS_STATS_COMMANDS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS m</code> from users.
This removes <code>/STATS m</code> from users.
-
==HIS_STATS_o==
+
==HIS_STATS_OPERATORS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS o</code> from users.
This removes <code>/STATS o</code> from users.
-
==HIS_STATS_p==
+
==HIS_STATS_PORTS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS p</code> from users.
This removes <code>/STATS p</code> from users.
-
==HIS_STATS_q==
+
==HIS_STATS_QUARAUNTINES==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS q</code> from users.
This removes <code>/STATS q</code> from users.
-
==HIS_STATS_r==
+
==HIS_STATS_USAGE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS r</code> from users.
This removes <code>/STATS r</code> from users.
-
==HIS_STATS_d==
+
==HIS_STATS_REDIRECTIONS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS R</code> from users.
 +
 
 +
==HIS_STATS_CRULES==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS d</code> from users.
This removes <code>/STATS d</code> from users.
-
==HIS_STATS_E==
+
==HIS_STATS_EXCEPTIONS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS E</code> from users.
This removes <code>/STATS E</code> from users.
-
==HIS_STATS_e==
+
==HIS_STATS_ENGINE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS e</code> from users.
This removes <code>/STATS e</code> from users.
-
==HIS_STATS_t==
+
==HIS_STATS_SPOOFHOSTS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS s</code> from users.
 +
 
 +
==HIS_STATS_SHUNS==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS S</code> from users.
 +
 
 +
==HIS_STATS_LOCALS==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS t</code> from users.
This removes <code>/STATS t</code> from users.
-
==HIS_STATS_T==
+
==HIS_STATS_MOTDS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS T</code> from users.
This removes <code>/STATS T</code> from users.
-
==HIS_STATS_u==
+
==HIS_STATS_UPTIME==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS u</code> from users.
This removes <code>/STATS u</code> from users.
-
==HIS_STATS_U==
+
==HIS_STATS_UWORLD==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS U</code> from users.
This removes <code>/STATS U</code> from users.
-
==HIS_STATS_v==
+
==HIS_STATS_VSERVERS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS v</code> from users.
This removes <code>/STATS v</code> from users.
-
==HIS_STATS_w==
+
==HIS_STATS_USERLOAD==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS w</code> from users.
This removes <code>/STATS w</code> from users.
-
==HIS_STATS_W==
+
==HIS_STATS_WEBIRCS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS W</code> from users.
This removes <code>/STATS W</code> from users.
-
==HIS_STATS_x==
+
==HIS_STATS_MEMUSAGE==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS x</code> from users.
This removes <code>/STATS x</code> from users.
-
==HIS_STATS_y==
+
==HIS_STATS_DNSBLS==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 
 +
This removes <code>/STATS X</code> from users.
 +
 
 +
==HIS_STATS_CLASSES==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS y</code> from users.
This removes <code>/STATS y</code> from users.
-
==HIS_STATS_z==
+
==HIS_STATS_MEMORY==
-
* '''Type:''' boolean
+
{| class="wikitable"
-
* '''Default:''' TRUE
+
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
This removes <code>/STATS z</code> from users.
This removes <code>/STATS z</code> from users.
 +
 +
==HIS_STATS_ZLINES==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| TRUE
 +
|}
 +
 +
This removes <code>/STATS Z</code> from users.
==HIS_WHOIS_SERVERNAME==
==HIS_WHOIS_SERVERNAME==
Line 1,131: Line 1,933:
The maximum results in a <code>/CHECK</code> response.
The maximum results in a <code>/CHECK</code> response.
-
 
-
==AUTOINVISIBLE==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' FALSE
 
-
 
-
When enabled all users upon connect will have +i automatically set on them.
 
-
 
-
NOTE: This is slated to be removed from the next release of ircd-darenet; use DEFAULT_UMODE instead.
 
-
 
-
==CHMODE_a==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode a (admin only) to be used.
 
-
 
-
==CHMODE_c==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode c (no colours) to be used.
 
-
 
-
==CHMODE_z==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode z (persistant channels) to be used.
 
-
 
-
==CHMODE_C==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode C (no ctcps) to be used.
 
-
 
-
==CHMODE_L==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode L (hide modes in /list) to be used.
 
-
 
-
==CHMODE_M==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode M (account only) to be used.
 
-
 
-
==CHMODE_N==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode N (no notice) to be used.
 
-
 
-
==CHMODE_O==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode O (oper only) to be used.
 
-
 
-
==CHMODE_Q==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode Q (no quit/part messages) to be used.
 
-
 
-
==CHMODE_S==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode S (strip control codes) to be used.
 
-
 
-
==CHMODE_T==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode T (no AMSG's) to be used.
 
-
 
-
==CHMODE_Z==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Allows channel mode Z (SSL only) to be used.
 
-
 
-
==CHMODE_e_CHMODEEXCEPTION==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
If enabled anyone on the +e exemption list will be able to bypass modes +i/+k/+l.
 
==SWHOIS==
==SWHOIS==
Line 1,241: Line 1,957:
One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.
One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.
-
 
-
==AUTOJOIN_USER==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' FALSE
 
-
 
-
Forces users to be autojoined on connect into the channel set for AUTOJOIN_USER_CHANNEL.
 
-
 
-
NOTE: This feature is slated to be removed in the next release of ircd-darenet.
 
-
 
-
==AUTOJOIN_USER_CHANNEL==
 
-
* '''Type:''' string
 
-
* '''Default:''' #darenet
 
-
 
-
Channel users will be forced to join if AUTOJOIN_USER is enabled.
 
-
 
-
NOTE: This feature is slated to be removed in the next release of ircd-darenet.
 
-
 
-
==AUTOJOIN_USER_NOTICE==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
If enabled the notice set for AUTOJOIN_USER_NOTICE_VALUE will be notice'd to users just before forced autojoin.
 
-
 
-
NOTE: This feature is slated to be removed in the next release of ircd-darenet.
 
-
 
-
==AUTOJOIN_USER_NOTICE_VALUE==
 
-
* '''Type:''' string
 
-
* '''Default:''' <nowiki>***</nowiki> Notice -- You are now being autojoined into #darenet
 
-
 
-
Notice for AUTOJOIN_USER_NOTICE (see above).
 
-
 
-
NOTE: This feature is slated to be removed in the next release of ircd-darenet.
 
-
 
-
==AUTOJOIN_OPER==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' FALSE
 
-
 
-
Forces opers to be autojoined upon /oper into the channel set for AUTOJOIN_OPER_CHANNEL.
 
-
 
-
==AUTOJOIN_OPER_CHANNEL==
 
-
* '''Type:''' string
 
-
* '''Default:''' #opers
 
-
 
-
Channel users will be forced to join if AUTOJOIN_OPER is enabled.
 
-
 
-
==AUTOJOIN_OPER_NOTICE==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
If enabled the notice set for AUTOJOIN_OPER_NOTICE_VALUE will be notice'd to users just before forced autojoin.
 
-
 
-
==AUTOJOIN_OPER_NOTICE_VALUE==
 
-
* '''Type:''' string
 
-
* '''Default:''' <nowiki>***</nowiki> Notice -- You are now being autojoined into #opers
 
-
 
-
Notice for AUTOJOIN_OPER_NOTICE (see above).
 
-
 
-
==AUTOJOIN_ADMIN==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' FALSE
 
-
 
-
Forces admins to be autojoined upon /oper into the channel set for AUTOJOIN_ADMIN_CHANNEL.
 
-
 
-
==AUTOJOIN_ADMIN_CHANNEL==
 
-
* '''Type:''' string
 
-
* '''Default:''' #admin
 
-
 
-
Channel users will be forced to join if AUTOJOIN_ADMIN is enabled.
 
-
 
-
==AUTOJOIN_ADMIN_NOTICE==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
If enabled the notice set for AUTOJOIN_ADMIN_NOTICE_VALUE will be notice'd to users just before forced autojoin.
 
-
 
-
==AUTOJOIN_ADMIN_NOTICE_VALUE==
 
-
* '''Type:''' string
 
-
* '''Default:''' <nowiki>***</nowiki> Notice -- You are now being autojoined into #admin
 
-
 
-
Notice for AUTOJOIN_ADMIN_NOTICE (see above).
 
==CTCP_VERSIONING==
==CTCP_VERSIONING==
Line 1,387: Line 2,023:
If enabled then strict ident/username rules will be applied.
If enabled then strict ident/username rules will be applied.
-
 
-
==SET_ACTIVE_ON_CREATE==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
Sets a channel as active when a user creates one.
 
==ZLINEMAXUSERCOUNT==
==ZLINEMAXUSERCOUNT==
Line 1,411: Line 2,041:
How often a user can request /HELP (in seconds).
How often a user can request /HELP (in seconds).
-
 
-
==LOC_SENDHOST==
 
-
* '''Type:''' boolean
 
-
* '''Default:''' TRUE
 
-
 
-
If enabled hostnames will be sent in Login on connect messages to servers.
 
==IPCHECK==
==IPCHECK==
Line 1,428: Line 2,052:
* '''Default:''' TRUE
* '''Default:''' TRUE
-
If enabled a count of logged in users (e.g., authed to NickServ) will be shown in <code>/LUSERS</code>.
+
If enabled a count of logged in users (e.g., authed to N) will be shown in <code>/LUSERS</code>.
==SHUNMAXUSERCOUNT==
==SHUNMAXUSERCOUNT==
Line 1,440: Line 2,064:
* '''Default:''' TRUE
* '''Default:''' TRUE
-
Allows the use of the W opermode which will show <code>/WHOIS</code> attempts to opers when they are done on themselves.
+
Allows the use of the W opermode which will show <code>/WHOIS</code> attempts to opers when they are done on themselves. (*ugh*)
==HIS_SHUN_REASON==
==HIS_SHUN_REASON==
Line 1,479: Line 2,103:
<code>*** Ident broken or disabled, to continue to connect you must type /QUOTE PASS 1623745</code>
<code>*** Ident broken or disabled, to continue to connect you must type /QUOTE PASS 1623745</code>
 +
 +
==GLINE_URL==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| http://www.darenet.org/gline
 +
|}
 +
 +
Defines the URL shown, in addition to the G-line reason given, when a G-lined user tries to connect.
 +
 +
==ANTI_SPAMBOT==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
 +
 +
Enable/disable spam bot checking.
 +
 +
==ANTI_DRONE_FLOOD==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
 +
 +
Enable/disable channel/message flood checking.
 +
 +
==OPER_BYPASS_CALLERID==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
 +
 +
If TRUE, IRC operators will always be able to send private messages/notices to users who have callerid (umode +g) enabled, regardless if they are on the user's ACCEPT list or not.
 +
 +
==NETCHAN_NOTICE==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| boolean
 +
|-
 +
| '''Default:'''
 +
| FALSE
 +
|}
 +
 +
If TRUE, the server will send a notice to users when they join a channel marked as being network-owned. The actual notice sent is defined in NETCHAN_NOTICE_MSG.
 +
 +
==NETCHAN_NOTICE_MSG==
 +
{| class="wikitable"
 +
| '''Type'''
 +
| string
 +
|-
 +
| '''Default:'''
 +
| is an official network channel.
 +
|}
 +
 +
Defines the actual notice sent to users when NETCHAN_NOTICE is enabled.
[[Category:Technical]]
[[Category:Technical]]

Current revision as of 05:52, 5 January 2013

Important
This page needs an update. Information posted here has been viewed as incorrect, incomplete, or out of date. Anyone is welcome to correct these flaws if this page has not been locked. Otherwise, contact a Support Team member and give them notice of this issue. Thank you.


This page documents various features supported by ircd-darenet that can be configured at run-time.


In This Guide:

DOMAINNAME

Type string
Default: ircd.darenet

Sets the domain the ircd will consider as "local", which is ONLY used for statistical purposes.

The /STATS w and /STATS usrload commands return statistical data, such as how many clients have connected to the server in the last minute, hour and day. These statistics are shown for all connections, including servers, with a separate entry for clients who's hostname ends on the domain specified for DOMAINNAME.

The string should not start with a '.' and cannot be empty. If you don't want to specify a domain, do not define this feature.

RELIABLE_CLOCK

Type boolean
Default: FALSE

You should really ONLY specify "TRUE" here when your system clock is stable and accurate at all times (within a few seconds). If you are running ntpdate on a regular basis, or an equivalent like xntpd, to keep your system clock synchronized over the network, then you might have an accurate clock. However, this is not guaranteed; for example, it is known that xntpd gives unstable results on Linux in some cases.

An unstable clock is worse than a clock that has a constant offset, because ircd-darenet will attempt to correct for a constant offset, but will not correct jumps of your system clock! In general, you SHOULD be running ntpdate or equivalent AND make sure it works when you run a production server on DareNET, and specify "FALSE" here. If unsure, specify "FALSE"!

BUFFERPOOL

Type: integer
Default: 27000000

This specifies (in bytes) the maximum amount of RAM that your sever will allocate for buffering sendQs. Small leafs can use a value as little as 1000000, while large HUBS need to specify a value as high as 20000000. If you run out of memory, clients and/or servers are dropped with the error "Buffer allocation error"; then you will have to increase this number (and install more RAM if appropriate).

If you want a more educated guess for this value then realize that any value is good if you _really_ would rather drop servers and clients than allocate more memory; this will be the case when there is the danger you may run out of memory for other allocations. Even if you run the daemon on a dedicated machine, specifying all of the RAM you have is a bad thing, because running out of memory is a lot worse than dropping clients in a controlled way; if possible you should have memory left for all the internal structures (channels, clients, ban lists, receive buffers) at all times. On average, clients seem to use 150 bytes of sendQ, but at peak moments this can easily increase to 2032 bytes per client (sendQs are allocated in chunks of 2032 bytes).

The maximum possible amount that can be allocated for sendQs is the number of connected clients times whatever you specified as the maximum sendQ in your Class blocks in the ircd.conf file. That value will likely be larger then the amount of RAM you have. The educated guess I talked about earlier would be "number of clients" times * 2048 bytes + "size of net.burst" * n, where "n" is 1 for leafs and up to 5 for HUBs. The "size of net.burst" is about 125 bytes per online client (on the whole network). For large HUBs with 4000 clients on a network with 30,000 users, this results in 27 Mb. Leafs could use 12 Mb. Of course you can use less when you have less than 4000 local clients.

HAS_FERGUSON_FLUSHER

Type boolean
Default: FALSE

If you have a server with a lot of resources available, this option will cause the server to attempt to flush its internal buffers before dropping clients during a net break. Don't define this if you don't know for certain; if you're not careful this can end up rebooting FreeBSD boxes. For more information, refer to doc/freebsd.txt.

CLIENT_FLOOD

Type integer
Default: 1024

Currently, everything that a client sends to a server is read by the server and stored in a buffer (the clients receive queue). The server will process messages from this queue one by one (running over all clients each time). When a client sends new messages faster than they get processed, and the size of its receive buffer reaches this value, the client is dropped with the error "Excess flood." A reasonable value is 1024 bytes. The maximum size is 8000 bytes.

SERVER_PORT

Type integer
Default: 7325

When an IRC operator attempts a connect to another server, he or she may not know which port the connect should go to. In ircd-darenet, that operator may use the special port 0, in which case the server will take the port from the Connect block. If no port is specified in the Connect block, then the port specified by this option will be used instead.

NODEFAULTMOTD

Type boolean
Default: TRUE

Every time a client connects to your server, the full Message of the Day (as specified by the Motd blocks or by the file specified by the MPATH option) is sent to the client. The server sends the Message of the Day even though many clients permit the user to ignore it. Many users never read the message of the day anyway, making it a huge waste of bandwidth. If you specify "TRUE" here, then the server won't send the MOTD to the client by default; instead, it will only tell the client when the MOTD was last changed, and give instructions on how to obtain it by typing /MOTD.

MOTD_BANNER

Type string
Default: NULL

If the NODEFAULTMOTD option is enabled, then the one-line banner specified here is sent to the client in addition to the instructions, as mentioned above.

REMOTE_MOTD

Type boolean
Default: TRUE

Controls the use of remote message of the day's.

PROVIDER

Type string
Default: NULL

This string is added to the 001 numeric prefixed with "via" before the string. It's used for providing promotional space to providers.

GEO_LOCATION

Type string
Default: NULL

This string is added to the 003 numeric, used for providing the location of the servers, e.g. "Los Angeles, CA, USA".

KILL_IPMISMATCH

Type boolean
Default: FALSE

When a client connects to your server, the IP address of the client is reverse-resolved to obtain a hostname. Then that hostname is resolved to an IP address and compared with the IP address of the client. If they don't match, the client will appear with the IP address instead of the hostname, unless KILL_IPMISMATCH is "TRUE," in which case the client is simply disconnected.

IDLE_FROM_MSG

Type boolean
Default: TRUE

The IRC command WHOIS gives an idle time for clients. If you want this idle time to be set to zero only when the client sends a PRIVMSG, then you should specify "TRUE" here. If you specify "FALSE," then the idle time will be nullified on all messages except the server PING/PONG.

HUB

Type boolean
Default: FALSE

All servers of an IRC "network" are connected in a "tree" (no loops). Servers that are only connected to one other server (called the "uplink") are called "leafs"; servers that are connected to more than one other server are called HUBs. If you specify "FALSE" here then your server will prevent itself from accidentally connecting to two servers at once, thus keeping servers in poor network locations from routing traffic. Note that on DareNET, all newly linked servers are linked as leafs during their test phase, and should specify "FALSE" here.

WALLOPS_OPER_ONLY

Type boolean
Default: FALSE

Setting this option removes the ability for clients that are not IRC operators to see wallops messages.

NODNS

Type boolean
Default: FALSE

If you are playing with the server off-line, and no DNS is available, then long delays occur before the server starts up because it tries to resolve the name given in the General block (which usually isn't given in /etc/hosts) and for each connecting client. If you specify "TRUE" here, then a DNS lookup will be done only for the real hostname, and the server will not try to resolve clients that connect to "localhost." Note that other DNS lookups are still done for outbound connections.

RANDOM_SEED

Type string
Default: None

When a client connects, the server sends the client a "cookie," consisting of a random number. The client must return the cookie to the server verbatim. This is done to prevent IP spoofing. The cookie is generated by a pseudorandom number generator included in ircd-darenet. This generator must be seeded with a phrase that is kept secret, to ensure that the numbers it generates are not easily guessed.

The value given to RANDOM_SEED may be a string of any length. It should not contain any characters that are considered special by the configuration file system, such as ":" or "#"; the string should be at least 8 characters long, but longer strings are better. The RANDOM_SEED may not be retrieved online.

DEFAULT_LIST_PARAM

Type string
Default: NULL

The LIST command takes a single optional argument. If given, that argument is either a channel or a filter. If that argument is not given, then by default, /LIST will list all channels on the network. Needless to say, this can generate a large amount of data on large networks with many channels, as well as chewing up a lot of CPU time. Therefore, you may set a default filter to be applied to the channel list if the optional argument to LIST is omitted.

NICKNAMEHISTORYLENGTH

Type integer
Default: 800

This value specifies the length of the nick name history list, which is used for /WHOWAS and some nickname chasing in /KILL and /KICK. It uses about 300 to 400 bytes per entry. Note that at a net break, so many clients disappear that the whole "whowas" list is refreshed a few times (unless you make it rather large). A reasonable value is "total number of clients" / 25.

HOST_HIDING

Type boolean
Default: TRUE

This selects whether local users can set umode +x, thus allowing them to hide their hostname if they have also registered and authenticated with N (i.e. they have the ACCOUNT flag set).

OPERHOST_HIDING

Type boolean
Default: TRUE

When TRUE any oper setting +x will get the hidden host set via HIDDEN_OPERHOST instead of the host set in HIDDEN_HOST.

HOST_HIDING_STYLE

Type integer
Default: 1

Value 1 will use ircu-style hostmasking. Value 2 uses Ultimate IRCd style hostmangling, such as a43sd.a3523f.isp.tld.

HIDDEN_HOST

Type string
Default: user.darenet

This selects the suffix for the hidden hostmask (see HOST_HIDING).

HOST_HIDING_PREFIX

Type string
Default: DareNET

This selects the suffix for the hidden hostmask style 2.

HIDDEN_OPERHOST

Type string
Default: staff.darenet

This selects the suffix for the hidden hostmask for IRC Operators (see OPERHOST_HIDING).

HIDDEN_IP

Type string
Default: 127.0.0.1

This selects a fake IP to be shown on /USERIP and /WHO %i when the target has a hidden host (see HOST_HIDING).

CONNEXIT_NOTICES

Type boolean
Default: TRUE

This feature controls the generation of server notices when a user connects to or disconnects from the server. Enabling this feature may have a performance impact. If using this feature make sure you take a look at SNOMASKs.

EXTENDED_ACCOUNTS

Type boolean
Default: TRUE

This enables 'extended' style AC syntax (used by your service to set the account name.) TRUE uses the subcommand parameter R,M,U,C,A,D to do LOC, rename and removal. FALSE uses old style. Set this to TRUE if you're linking to DareNET / using services-darenet, FALSE for other services.

LOGIN_ON_CONNECT

Type boolean
Default: TRUE

This selects whether local clients can specify a service bot login in the connection phase. Read doc/readme.login-on-connect for details.

DNSBL_LOC_EXEMPT

Type boolean
Default: TRUE

This allows a user who has successfully authed to a service using login on connect (above) to bypass a DNSBL rejection if they get a positive result from the earlier check.

DNSBL_LOC_EXEMPT_N_ONE

Type string
Default: If you have an account with DareNET's N then you can bypass the DNSBL ban by logging in like this (where Account is your account name and Password is your password):

If DNSBL_LOC_EXEMPT is enabled and a user matches a dnsbl then they will be sent a notice containing the string for this feature.

DNSBL_LOC_EXEMPT_N_TWO

Type string
Default: Type \002/QUOTE PASS N Account :Password\002 to connect

If DNSBL_LOC_EXEMPT is enabled and a user matches a dnsbl then they will be sent a notice containing the string for this feature.

DNSBL_WALLOPS_ONLY

Type boolean
Default: FALSE

If enabled DNSBL filter matches will be alerted to opers via wallops.

DNSBL_MARK_FAKEHOST

Type boolean
Default: TRUE

If enabled then users who match DNSBL's will be marked.

LOC_DEFAULT_SERVICE

Type string
Default: N

This is what nick on IRC the login-on-connect account verification is sent to. Users can override it (to any service that supports it) using 3 param LOC.

DEFAULT_UMODE

Type string
Default: +iw

This defines the user modes set when a local user connects. +x should not be included in this setting if using host hiding style 1, since users cannot later remove that flag.

KILLCHASETIMELIMIT

Type integer
Default: 30

If a user changes his or her nickname just before an operator issues a /KILL, the /KILL will be changed to follow the user the operator intended to get. This option specifies the time limit, in seconds, for this nickname change; if the user changed his or her nickname more than this many seconds ago, the /KILL will not be changed. Don't change this unless you really need to.

MAXCHANNELSPERUSER

Type integer
Default: 50

This is the maximum number of channels a user can be in at a time. The "mandatory" value on DareNET is currently 10. Since it only influences the local server when you decrease it, its up to you to decide if you want to use a smaller value. Do not use a larger value however, because it DOES cost more memory and bandwidth on all other servers when you allow users to join more channels simultaneously.

One of the most important reasons to choose a smaller value is the fact that the "GUI" clients tend to stay on every channel they join (they aren't bothered by flooding in other channels). It DOES take your bandwidth however to send all those messages for 10 different channels to all your users.

AVEXCEPTLEN

Type integer
Default: 40

This is the expected average except mask length. Leave it at 40.

MAXEXCEPTS

Type boolean
Default: 100

This is the maximum number of excepts a user may set on a given channel.

CHANNELLEN

Type integer
Default: 200

This is the allowed length of locally created channels. It may not be larger than the CHANNELLEN #define. Like the NICKLEN feature, this is intended to ease changes in channel name length across a network.

AVBANLEN

Type integer
Default: 40

This is the expected average ban mask length. Leave it at 40.

MAXBANS

Type integer
Default: 100

This is the maximum number of bans a user may set on a given channel.

MAXSILES

Type integer
Default: 50

This is the maximum number of masks a user can silence at a time. The silence command allows users to filter messages directed at them from certain users or domains, at the source server. Increasing this number allows users to use up more memory with inefficient use of the command. If you're not sure, don't change this.

MAXACCEPTS

Type binteger
Default: 50

This is the maximum number of masks a user can accept at a time. The accept command allows users to "always accept" messages directed at them from certain users or domains when they have callerid enabled (umode +g). Increasing this number allows users to use up more memory with inefficient use of the command. If you're not sure, don't change this.

HANGONGOODLINK

Type integer
Default: 300

Ocassionally the net breaks for a short time and it is useful to try to reestablish the same connection faster than CONNECTFREQUENCY would allow, but to keep from trying again on a bad connection, we require that the connection be open for a certain minimum time. The recommended value is 300 seconds.

HANGONRETRYDELAY

Type integer
Default: 10

When attempting to quickly reestablish a connection to a good link, we give the net a few seconds to calm down. This time must be long enough for the other end to also notice that the connection is broken. The recommended value is 10 seconds.

CONNECTTIMEOUT

Type integer
Default: 90

Number of seconds to wait for a connect(2) call to complete.

NOTE: this must be at *LEAST* 10. When a client connects, it has CONNECTTIMEOUT - 10 seconds for its host to respond to an ident lookup query and for a DNS lookup to complete. It is recommended that you not change this value, but if you do, consider the fact that users whose clients do not support NOSPOOF will have to type /QUOTE PING <big number> before registration.

TIMESEC

Type integer
Default: 60

This is the maximum idle time for the server. If no messages are received in TIMESEC seconds, PINGFREQUENCY and CONNECTFREQUENCY are checked. Recommended value is 60 seconds.

MAXIMUM_LINKS

Type integer
Default: 1

This is the maximum number of links for the built-in client class 0. Leave this value at 1.

PINGFREQUENCY

Type integer
Default: 120

If the daemon doesn't receive anything from any of its links within PINGFREQUENCY seconds, then the it will attempt to check for an active link with a PING message. If no reply is received within (PINGFREQUENCY * 2) seconds, then the connection will be closed. This value may be overridden by a Y-line in "ircd.conf" if the connection's I- or C-line in "ircd.conf" assigns a specific class to the connection (recommended).

CONNECTFREQUENCY

Type integer
Default: 600

This is the default frequency that the server attempts to reconnect with its uplink server if it is set to auto connect to it. Note that this value is overridden by a Y-line in ircd.conf if the C-lines in ircd.conf assign a specific class to the connection (recommended).

DEFAULTMAXSENDQLENGTH

Type integer
Default: 40000

This is the default value of the maximum sendQ length of Y-line classes (see doc/example.conf for details on Y-lines). You will probably always override this value in your "ircd.conf" with the Y-lines. The given value used to be an often used value for client sendQs.

GLINEMAXUSERCOUNT

Type integer
Default: 20

G-lines that affect too many users have to be set with a special command, to prevent accidental G-lines of large blocks of users. This feature sets that particular threshold.

MPATH

Type string
Default: ircd.motd

MPATH is the filename (relative to DPATH) or the full path of the "Message of the Day" file. The contents of this file will be sent to every client that connects to the server, after registration.

OMPATH

Type string
Default: ircd.opermotd

OMPATH is the filename (relative to DPATH) or the full path of the "Message of the Day" file. The contents of this file will be sent to every operator upon opering.

RPATH

Type string
Default: ircd.motd

RPATH is the filename (relative to DPATH) or the full path of the "Remote Message of the Day" file. The contents of this file will be sent to every remote client that issues a /MOTD <your server name>. Only the first three lines are sent, so you might want to keep that in mind while writing the file.

PPATH

Type string
Default: ircd.pid

PPATH is the filename (relative to DPATH) or the full path of the "PID" file. It is used for storing the server's process ID so that a ps(1) isn't necessary.

TPATH

Type string
Default: ircd.tune

TPATH is the filename (relative to DPATH) or the full path of the tune data file. The file contains user count information for LUSERS so that if the server has to restart etc for any reason they will not loose their max local/global user counts.

VIRTUAL_HOST

Type boolean
Default: TRUE

This option is only needed when you wish to run multiple IRC servers on the same machine, and they must share at least one port. This will require having multiple IP addresses for the machine that will be hosting the servers. If you specify "TRUE" here, you can cause the server to bind to one of these IP addresses. Use the second field of the M-line (the "password" field) to specify the IP address. If you are unsure, change to "FALSE."

TOS_SERVER

Type integer
Default: 0x08

This option is used to specify the type of service that will be requested for connections to other servers. The value may be given as a hexadecimal integer.

TOS_CLIENT

Type integer
Default: 0x08

This option is used to specify the type of service that will be requested for connections to users. The value may be given as a hexadecimal integer.

POLLS_PER_LOOP

Type integer
Default: 200

Some of the engines used by the event interface get a number of events from the kernel at once. Since the number retrieved can impact performance, it can be tuned by modifying this value. The engines enforce a lower limit of 20.

NICKLEN

Type integer
Default: 30

This is the allowed length of the nickname length. It may not be larger than the NICKLEN #define, and should usually be the same length. The real purpose of this feature is to permit easy increases in nickname length for a network.

IRCD_RES_RETRIES

Type integer
Default: 2

This is the number of attempts the irc daemon's resolver will have at trying to solicit a response from the DNS server.

IRCD_RES_TIMEOUT

Type integer
Default: 4

When a DNS query is sent, the irc daemon's resolver will wait this many seconds for a reply. After this timeout has expired, it will retry again, for as many retries as IRCD_RES_RETRIES allows. This can be cut short by AUTH_TIMEOUT expiring.

AUTH_TIMEOUT

Type integer
Default: 9

This is the maximum number of seconds to wait for the ident lookup and the DNS query to succeed. On older (pre 2.10.11.06) servers this was hard coded to 60 seconds.

IPCHECK_CLONE_LIMIT

Type integer
Default: 4

The number of times you are allowed to connect within IPCHECK_CLONE_PERIOD seconds before you are considered abusing the server and throttled.

IPCHECK_CLONE_PERIOD

Type integer
Default: 40

The number of seconds you are allowed to connect IPCHECK_CLONE_LIMIT times within before you are considered abusing the server and throttled.

For instance if you set IPCHECK_CLONE_LIMIT to 1, and IPCHECK_CLONE_PERIOD to 10, then a user is only allowed to connect once in 10s, if they connect again within 10s, then they are considered to be connecting too fast and they are throttled.

IPCHECK_CLONE_DELAY

Type integer
Default: 600

The number of seconds grace after restarting the server before the throttle code kicks in. Even if a user connects repetitively during this period, they will never get throttled. This is so after a restart users on a multiuser box can all connect to a server simultaniously without being considered an attack.

SOCKSENDBUF

Type integer
Default: 61440

The send window size used for connections to other servers.

SOCKRECVBUF

Type integer
Default: 61440

The receive window size used for connections to other servers.

ANNOUNCE_INVITES

Type boolean
Default: TRUE

When a channel operator invites a user to their channel, all other opers will be notified of the invite.

BADCHAN_REASON

Type string
Default: This channel has been closed

This is the kick reason for users being autokicked from a channel when it has been bad channel glined.

OPERFLAGS

Type boolean
Default: TRUE

Extended oper levels can be enabled. Currently this adds support for a Server Administrator oper level, and a few additional privileges granted through oper flags. See example.conf for enabling these on your O:Line if using this feature.

POLICY_NOTICE

Type boolean
Default: TRUE

Controls the display of the policy notice for connecting users.

LOCAL_CHANNELS

Type boolean
Default: FALSE

When enabled local channels (& perfix) can be used.

OPER_LOCAL_CHANNELS

Type boolean
Default: FALSE

Only opers can create local channels if LOCAL_CHANNELS is enabled.

OPER_XTRAOP

Type boolean
Default: FALSE

Controls the use of the (Quakenet-style) Xtra Op oper mode (+X).

XTRAOP_CLASS

Type string
Default: XtraOp

This is the class an oper must be in to use the Xtra Op mode if it is enabled.

OPER_HIDECHANS

Type boolean
Default: TRUE

Controls the use of the oper mode for hiding their channels in their WHOIS output.

OPER_HIDEIDLE

Type boolean
Default: TRUE

Controls the use of the oper mode for hiding their idle time in their WHOIS output.

CHECK

Type boolean
Default: TRUE

When enabled an oper is allowed to use the CHECK command.

CHECK_EXTENDED

Type boolean
Default: TRUE

When enabled extra information will be displayed for opers who are using CHECK on local clients. Extra information like traffic counts.

OPER_SINGLELETTERNICK

Type boolean
Default: TRUE

This limits single letter nicknames to IRC operators only.

MAX_CHECK_OUTPUT

Type integer
Default: 1000

Maximum amount of records displayed in any CHECK query.

CONFIG_OPERCMDS

Type boolean
Default: TRUE

Several new oper-only features have been added that involve changes to the server<->server protocol. Until the entire network is running the new version, these features cannot be enabled.

This configuration option provides a single switch to prevent the use of these features until the entire network has been upgraded. It is not required that all servers set this to "TRUE" in order for the features to be used.

HOST_IN_TOPIC

Type boolean
Default: TRUE

When an channel operator changes the channel topic their full nick!ident@host will be displayed for the person who set the topic. This can eliminate people faking other people when setting the topic.

TIME_IN_TIMEOUT

Type boolean
Default: FALSE

This will display the amount of seconds it took for the user to timeout in their Ping Timeout quit message.

AUTOCHANMODES

Type boolean
Default: TRUE

When a user joins a new channel the modes in AUTOCHANMODES_LIST will be automatically set

AUTOCHANMODES_LIST

Type string
Default: nt

If AUTOCHANMODES is enabled then any modes in here will be the modes set for new channels upon join. Modes should be added in this format "nt" etc.

FAKEHOST

Type boolean
Default: TRUE

This enables the FAKEHOST command used for fake hosts (duh).

DEFAULT_FAKEHOST

Type string
Default: NULL

This is the default fakehost given to users who are connecting to the server. If it is empty or not set then no hostname is set.

SETHOST

Type boolean
Default: FALSE

This enables the /SETHOST command and user mode +h for opers activating Sethosts.

SETHOST_USER

Type boolean
Default: FALSE

This enabled the /SETHOST command and user mode +h for users activating Sethosts with passwords.

SETHOST_AUTO

Type boolean
Default: FALSE

This enables the automatic application of Sethosts on matching idents and hosts.

SETHOST_FREEFORM

Type boolean
Default: FALSE

This enables opers to set new hostnames that do not have a corresponding S: line in the configuration file, as long as the hostname supplied is reasonably valid. The usage of this is logged via SNOTICE.

REMOTE_OPER

Type boolean
Default: TRUE

Allows remote users to oper up remotly witthout requiring an O:Line on the server they are on.

BOT_CLASS

Type string
Default: Bots

Defines the class a bot must be on to be able to use +B bot mode.

NOTE: On DareNET, users in this class will also be exempted from /LIST restrictions. Intended for IRC search crawlers (e.g. SearchIRC, netsplit.de, etc).

OPERMOTD

Type boolean
Default: FALSE

Controls the use of the OPERMOTD command.

FLEXABLEKEYS

Type boolean
Default: FALSE

Channel key rules over all modes. Eg a user can join a channel with the correct key and be able to get around modes like limit and invite.

NOTHROTTLE

Type boolean
Default: FALSE

Completly disables connection throttling.

CREATE_CHAN_OPER_ONLY

Type boolean
Default: FALSE

Only IRC Operators will be able to create new channels.

CREATE_CHAN_ACC_ONLY

Type boolean
Default: FALSE

Only users authenticated to a services account will be able to create new channels.

RESTARTPASS

Type string
Default: NULL

This is the password required for a server to actually restart when the RESTART command is used. If the password is empty then no password is required.

DIEPASS

Type string
Default: NULL

This is the password required for a server to actually die when the DIE command is used. If the password is empty then no password is required.

TARGET_LIMITING

Type boolean
Default: TRUE

Limits users to a certain amount of targets in the a certain amount of time.

DNSBL_CHECKS

Type boolean
Default: TRUE

Enables DNS blacklist checks controlled via X:Lines.

DNSBL_EXEMPT_CLASS

Type string
Default: DNSBL_exempt

Anyone in this class is immune to DNSBL checks if they are enabled.

HIS_IRCOPS

Type boolean
Default: FALSE

This removes /IRCOPS from users.

HIS_IRCOPS_SERVERS

Type boolean
Default: TRUE

This removes server names in the /IRCOPS output from users.

HIS_MAP

Type boolean
Default: TRUE

This removes /MAP from users.

HIS_MAP_SCRAMBLED

Type boolean
Default: TRUE

Scrambles the MAP output for normal users, removing hubs and U:lined servers.

HIS_SNOTICES

Type boolean
Default: TRUE

This removes server notices from users entirely.

HIS_SNOTICES_OPER_ONLY

Type boolean
Default: TRUE

This prevents users from receiving server notices.

HIS_SNOTICES_OPER_AND_BOT

Type boolean
Default: FALSE

This removes server notices from non-opers and non-+B users.

HIS_DESYNCS

Type boolean
Default: TRUE

This removes the ability for users to see desynch notices.

HIS_DEBUG_OPER_ONLY

Type boolean
Default: TRUE

This removes the ability for users to see debug notices.

HIS_WALLOPS

Type boolean
Default: TRUE

This removes operator wallops from users. They can still see wallusers.

HIS_LINKS

Type boolean
Default: TRUE

This removes /LINKS from users.

HIS_LINKS_SCRAMBLED

Type boolean
Default: TRUE

Scrambles the LINKS output for users, removing hubs and U:Lined servers.

HIS_TRACE

Type boolean
Default: TRUE

This removes /TRACE from users.

HIS_SHUN_REASON

Type boolean
Default: TRUE

This HIDES the shun reason from the target when a shun is set on them (when TRUE).

HIS_STATS_WELCOMES

Type boolean
Default: TRUE

This removes /STATS A from users.

HIS_STATS_FORWARDS

Type boolean
Default: TRUE

This removes /STATS b from users.

HIS_STATS_MAPPINGS

Type boolean
Default: TRUE

This removes /STATS B from users.

HIS_STATS_LINKS

Type boolean
Default: TRUE

This removes /STATS l from users.

HIS_STATS_MODULES

Type boolean
Default: TRUE

This removes /STATS L from users.

HIS_STATS_CONNECT

Type boolean
Default: TRUE

This removes /STATS c from users.

HIS_STATS_GLINES

Type boolean
Default: TRUE

This removes /STATS g from users.

HIS_STATS_KLINES

Type boolean
Default: TRUE

This removes /STATS k from users.

HIS_STATS_FILTERS

Type boolean
Default: TRUE

This removes /STATS f from users.

HIS_STATS_FEATURES

Type boolean
Default: TRUE

This removes <code/STATS F</code> from users.

HIS_STATS_ACCESS

Type boolean
Default: TRUE

This removes /STATS i from users.

HIS_STATS_HISTOGRAM

Type boolean
Default: TRUE

This removes /STATS j from users.

HIS_STATS_JUPES

Type boolean
Default: TRUE

This removes /STATS J from users.

HIS_STATS_COMMANDS

Type boolean
Default: TRUE

This removes /STATS m from users.

HIS_STATS_OPERATORS

Type boolean
Default: TRUE

This removes /STATS o from users.

HIS_STATS_PORTS

Type boolean
Default: TRUE

This removes /STATS p from users.

HIS_STATS_QUARAUNTINES

Type boolean
Default: TRUE

This removes /STATS q from users.

HIS_STATS_USAGE

Type boolean
Default: TRUE

This removes /STATS r from users.

HIS_STATS_REDIRECTIONS

Type boolean
Default: TRUE

This removes /STATS R from users.

HIS_STATS_CRULES

Type boolean
Default: TRUE

This removes /STATS d from users.

HIS_STATS_EXCEPTIONS

Type boolean
Default: TRUE

This removes /STATS E from users.

HIS_STATS_ENGINE

Type boolean
Default: TRUE

This removes /STATS e from users.

HIS_STATS_SPOOFHOSTS

Type boolean
Default: TRUE

This removes /STATS s from users.

HIS_STATS_SHUNS

Type boolean
Default: TRUE

This removes /STATS S from users.

HIS_STATS_LOCALS

Type boolean
Default: TRUE

This removes /STATS t from users.

HIS_STATS_MOTDS

Type boolean
Default: TRUE

This removes /STATS T from users.

HIS_STATS_UPTIME

Type boolean
Default: TRUE

This removes /STATS u from users.

HIS_STATS_UWORLD

Type boolean
Default: TRUE

This removes /STATS U from users.

HIS_STATS_VSERVERS

Type boolean
Default: TRUE

This removes /STATS v from users.

HIS_STATS_USERLOAD

Type boolean
Default: TRUE

This removes /STATS w from users.

HIS_STATS_WEBIRCS

Type boolean
Default: TRUE

This removes /STATS W from users.

HIS_STATS_MEMUSAGE

Type boolean
Default: TRUE

This removes /STATS x from users.

HIS_STATS_DNSBLS

Type boolean
Default: TRUE

This removes /STATS X from users.

HIS_STATS_CLASSES

Type boolean
Default: TRUE

This removes /STATS y from users.

HIS_STATS_MEMORY

Type boolean
Default: TRUE

This removes /STATS z from users.

HIS_STATS_ZLINES

Type boolean
Default: TRUE

This removes /STATS Z from users.

HIS_WHOIS_SERVERNAME

  • Type: boolean
  • Default: TRUE

This removes server names in replies to /WHOIS.

HIS_WHOIS_IDLETIME

  • Type: boolean
  • Default: TRUE

This removes idle time in replies to /WHOIS.

HIS_WHOIS_LOCALCHAN

  • Type: boolean
  • Default: TRUE

This removes local channels in replies to /WHOIS.

HIS_WHO_SERVERNAME

  • Type: boolean
  • Default: TRUE

This removes server names in replies to /WHO.

HIS_WHO_HOPCOUNT

  • Type: boolean
  • Default: TRUE

This replaces hopcount to a static 3 in replies to /WHO.

HIS_BANWHO

  • Type: boolean
  • Default: TRUE

This doesn't show which server set a ban.

HIS_EXCEPTWHO

  • Type: boolean
  • Default: TRUE

This doesn't show which server set an except.

HIS_KILLWHO

  • Type: boolean
  • Default: TRUE

This doesn't show which server or oper performed a kill.

HIS_HIDEWHO

  • Type: boolean
  • Default: TRUE

This doesn't show which server preformed various functions like mode, opmode kick, etc when server preforms..

HIS_REWRITE

  • Type: boolean
  • Default: TRUE

This remaps remote numerics to come from the local server.

HIS_GLINE

  • Type: boolean
  • Default: TRUE

This will hide the user who performed the gline in the gline message when enabled.

HIS_USERGLINE

  • Type: boolean
  • Default: TRUE

This will disable users using the gline command. (If the nessecary options are enabled, users can query the gline list using the gline command).

HIS_REMOTE

  • Type: integer
  • Default: 1

This disallows remote queries from non-opers. (*sob!*)

HIS_USERIP

  • Type: boolean
  • Default: FALSE

This will hide the IP of a user in the output of a USERIP command. The real IP will be shown for opers.

HIS_SCRAMBLED_CACHE_TIME

  • Type: integer
  • Default: 604800

Amount of seconds a split server is cached for before dissapearing off MAPS and LINKS for normal users.

HIS_NETSPLIT

  • Type: boolean
  • Default: TRUE

This removes server names in net break sign-offs. Instead they are shown as (*.net *.split).

HIS_SERVERNAME

  • Type: string
  • Default: "*.darenet.org"

This is the "name" of the server shown to users on a /WHOIS of another user.

HIS_SERVERINFO

  • Type: string
  • Default: "DareNET Client Server"

This is the "info" of the server shown to users on a /WHOIS of another user.

HIS_URLSERVERS

This is the URL shown to users when they do a /MAP or /LINKS.

NETWORK

  • Type: string
  • Default: "DareNET"

This defines the network name as reported in the 005 "supported features" numeric, and as used by the "Failed to deliver" message.

URL_CLIENTS

This defines a URL that users may visit to find compatible IRC clients.

BADUSER_URL

This defines a URL that users may visit to fix their username/ident when it is invalid.

NETWORK_REHASH

  • Type: boolean
  • Default: FALSE

Allow this server to act upon a network-issued /rehash.

NETWORK_RESTART

  • Type: boolean
  • Default: FALSE

Allow this server to act upon a network-issued /restart.

NETWORK_DIE

  • Type: boolean
  • Default: FALSE

Allow this server to act upon a network-issued /die.

MAX_CHECK_OUTPUT

  • Type: integer
  • Default: 1000

The maximum results in a /CHECK response.

SWHOIS

  • Type: boolean
  • Default: TRUE

Allows the IRCd to accept SWHOIS commands from services.

HOST_HIDING_KEY1

  • Type: string
  • Default: aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW

One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.

HOST_HIDING_KEY2

  • Type: string
  • Default: sdfjkLJKHlkjdkfjsdklfjlkjKLJ

One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.

HOST_HIDING_KEY3

  • Type: string
  • Default: KJklJSDFLkjLKDFJSLKjlKJFlkjS

One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.

CTCP_VERSIONING

  • Type: boolean
  • Default: FALSE

Enables CTCP versioning for clients on connect.

CTCP_VERSIONING_KILL

  • Type: boolean
  • Default: FALSE

Kills clients who match specified versions.

CTCP_VERSIONING_CHAN

  • Type: boolean
  • Default: FALSE

If enabled version replies will be sent to the channel set for CTCP_VERSIONING_CHANNAME

CTCP_VERSIONING_CHANNAME

  • Type: string
  • Default: #opers

Channel where version replies are sent to if CTCP_VERSIONING_CHAN is enabled (See above).

CTCP_VERSIONING_USEMSG

  • Type: boolean
  • Default: FALSE

If enabled version replies sent to the channel set for CTCP_VERSIONING_CHANNAME will be sent using privmsgs instead of notices.

CTCP_VERSIONING_NOTICE

  • Type: string
  • Default: *** Checking your client version

Message sent to clients during the versioning process on connect.

DEF_ALIST_LIMIT

  • Type: integer
  • Default: 30

Maximum responses allowed in a ALIST search output.

ALIST_SEND_FREQ

  • Type: integer
  • Default: 300

How often (in seconds) ALIST updates are checked across the server.

ALIST_SEND_DIFF

  • Type: integer
  • Default: 600

If the last message for the channel is over the current time minus to setting for ALIST_SEND_DIFF then an ALIST update will be sent out to other servers.

EXEMPT_EXPIRE

  • Type: integer
  • Default: 172800

If no one has triggered an exempt within this amount of time (in seconds) then the exempt will expire.

STRICTUSERNAME

  • Type: boolean
  • Default: TRUE

If enabled then strict ident/username rules will be applied.

ZLINEMAXUSERCOUNT

  • Type: integer
  • Default: 20

Maximum amount of users a Z:line can affect when a Z:line is set via /ZLINE. Zlines set via services or servers will not be affected by this rule.

NICK_DELAY

  • Type: integer
  • Default: 30

How often a user can change thier nick (in seconds).

HELP_PACE

  • Type: integer
  • Default: 5

How often a user can request /HELP (in seconds).

IPCHECK

  • Type: boolean
  • Default: TRUE

Controls the clone and throttle detection system in ircd-darenet. If you disable this then the maximum setting in I-lines will not have any effect. You would need to use clone detection systems in the services you use.

LUSERS_AUTHED

  • Type: boolean
  • Default: TRUE

If enabled a count of logged in users (e.g., authed to N) will be shown in /LUSERS.

SHUNMAXUSERCOUNT

  • Type: integer
  • Default: 20

Maximum amount of users a Shun can affect when a shun is set via /SHUN. Shuns set via services or servers will not be affected by this rule.

OPER_WHOIS_PARANOIA

  • Type: boolean
  • Default: TRUE

Allows the use of the W opermode which will show /WHOIS attempts to opers when they are done on themselves. (*ugh*)

HIS_SHUN_REASON

  • Type: boolean
  • Default: TRUE

Will prevent the reason from being shown to a user if enabled.

HIS_USERSHUN

  • Type: boolean
  • Default: TRUE

Will prevent normal users from getting shun lists via /SHUN if enabled.

HIS_ZLINE

  • Type: boolean
  • Default: TRUE

This will hide the user who issued the zline in the zline message when enabled.

HIS_USERZLINE

  • Type: boolean
  • Default: TRUE

Will prevent normal users from getting zline lists via /ZLINE if enabled.

HIS_ZLINE_REASON

  • Type: boolean
  • Default: TRUE

Will prevent the reason from being shown to a user if enabled.

IDENT_CHALLENGE

  • Type: boolean
  • Default: FALSE

If enabled, and a user does not have ident enabled or the server is unable to retrieve a successful response for whatever reason, the user will be challenged with a cookie prompt, similar to the following:

*** Ident broken or disabled, to continue to connect you must type /QUOTE PASS 1623745

GLINE_URL

Type string
Default: http://www.darenet.org/gline

Defines the URL shown, in addition to the G-line reason given, when a G-lined user tries to connect.

ANTI_SPAMBOT

Type boolean
Default: FALSE

Enable/disable spam bot checking.

ANTI_DRONE_FLOOD

Type boolean
Default: FALSE

Enable/disable channel/message flood checking.

OPER_BYPASS_CALLERID

Type boolean
Default: FALSE

If TRUE, IRC operators will always be able to send private messages/notices to users who have callerid (umode +g) enabled, regardless if they are on the user's ACCEPT list or not.

NETCHAN_NOTICE

Type boolean
Default: FALSE

If TRUE, the server will send a notice to users when they join a channel marked as being network-owned. The actual notice sent is defined in NETCHAN_NOTICE_MSG.

NETCHAN_NOTICE_MSG

Type string
Default: is an official network channel.

Defines the actual notice sent to users when NETCHAN_NOTICE is enabled.