Server Features
m |
m |
||
| Line 539: | Line 539: | ||
==CONNECTTIMEOUT== | ==CONNECTTIMEOUT== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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 547: | Line 552: | ||
==TIMESEC== | ==TIMESEC== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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. | ||
==RPATH== | ==RPATH== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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 675: | Line 784: | ||
==IPCHECK_CLONE_DELAY== | ==IPCHECK_CLONE_DELAY== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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. | ||
==POLICY_NOTICE== | ==POLICY_NOTICE== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''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== | ||
| - | + | {| class="wikitable" | |
| - | + | | '''Type''' | |
| + | |||