<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.darenet.org/skins/common/feed.css?12"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.darenet.org/index.php?feed=atom&amp;target=Nitemare&amp;title=Special%3AContributions</id>
		<title>DareNET Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.darenet.org/index.php?feed=atom&amp;target=Nitemare&amp;title=Special%3AContributions"/>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Special:Contributions/Nitemare"/>
		<updated>2026-05-05T15:25:45Z</updated>
		<subtitle>From DareNET Wiki</subtitle>
		<generator>MediaWiki 1.15.1</generator>

	<entry>
		<id>http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5</id>
		<title>DareNET IRCd Configuration/1.5</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5"/>
				<updated>2013-06-17T18:00:33Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;/* Connect block */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This is a reference guide for ircd-darenet 1.5.x's configuration file.&lt;br /&gt;
&lt;br /&gt;
The configuration format consists of various blocks, each containing name-value pairs, tags or string data. It is designed to be easily readable by both human ircd.&lt;br /&gt;
&lt;br /&gt;
A block consists of a name, an opening '{' brace, statements, a closing '}' brace, and a ';' semicolon. A statement consists of a name possibly followed by an '=' equals sign and a value, ending with a semicolon. All strings must be surrounded by '&amp;quot;' double quotes.&lt;br /&gt;
&lt;br /&gt;
A sample block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;blockname&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = value;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;string&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;123&amp;lt;/span&amp;gt;;&lt;br /&gt;
    tag;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All elements of the configuration are separated by whitespace, and can be packed on one line, or broken up over several lines. Whitespace is defined as space, tab or carriage return/linefeed. Three forms of comments are allowed: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/* C style single/multi-line */&lt;br /&gt;
&lt;br /&gt;
// C++ style single-line&lt;br /&gt;
&lt;br /&gt;
# Shell style single-line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{info|text=Blocks are used in the reverse order than how they're listed, when the configuration file is parsed. This means you should start multiple block definitions with the &amp;quot;fall through&amp;quot;, and end with the most detailed.}}&lt;br /&gt;
&lt;br /&gt;
== General block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;M:name:vhost:description::numeric&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The General block defines information about the server itself. It is required for the server to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;General&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;test.area.zone.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* description: the description of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    description = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ircd-darenet test server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* numeric: the unique server numeric for our server. It must be a&lt;br /&gt;
     * digit between 0 and 4095, and is not updated on a rehash.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    numeric = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;999&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: the IP to bind to when we connect outward to other servers.&lt;br /&gt;
     * It must contain either a * or a valid ipv4 address in dotted quad notation. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.169.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_private_key: our ssl private key. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_private_key = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_pem: file containing our ssl certificate and private key */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_pem = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.pem&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* dpass: (optional) password for DIE command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    dpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;encrypted pass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rpass: (optional) password for RESTART command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;$PLAIN$password&amp;quot;&amp;lt;/span&amp;gt;;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server name may only be changed by a server restart. The description can be changed on rehash, but will not propagate to other linked servers.&lt;br /&gt;
&lt;br /&gt;
There must be exactly one General block.&lt;br /&gt;
&lt;br /&gt;
== Admin block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;A:line1:line2:line3&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Admin block defines information that can be retrieved with the &amp;lt;code&amp;gt;/ADMIN&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Admin&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;DareNET - http://www.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Infrastructure Team&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    contact = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;&amp;amp;lt;infrastructure@darenet.org&amp;amp;gt;&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not all lines are required. There may only be one Admin block.&lt;br /&gt;
&lt;br /&gt;
== Class block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Y:class:pingfreq::maxlinks:sendq (clients)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;Y:class:pingfreq:connectfreq:maxlinks:sendq (servers)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Class blocks define connection classes. All connections to the server are associated with a &amp;quot;connection class&amp;quot;, whether they be incoming or outgoing (initiated by the server), be they clients or servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: a name for the connection class. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* pingfreq: how often to PING idle connections. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    pingfreq = 1 minute 30 seconds;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* sendq: send buffer limit (i.e., the amount of data allowed in&lt;br /&gt;
     * a client's queue before they are dropped.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: the maximum number of connections that may use this&lt;br /&gt;
     * class. May be between 0 and 4,000,000,000.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* usermode: an optional list of user modes that should set&lt;br /&gt;
     * upon the user while connecting.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxchans: the maximum number of channels that clients may join.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxchans = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Opers&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 2 minutes;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    whox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* connectfreq: this token applies only to servers, and specifies&lt;br /&gt;
     * the frequency that the server tries to auto connect. Setting this to 0 will cause a&lt;br /&gt;
     * server to attempt to connect repeatedly, with no delay until the maxlinks condition&lt;br /&gt;
     * is satisfied (which is not a good thing).&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: for server classes, specifies the maximum number of&lt;br /&gt;
     * servers to autoconnect to. This should be 0 for hubs, and 1 for leafs.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Leaf_Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
    maxlinks = 1;&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For connection classes intended for operator use, you can specify privileges the operator should be granted when the Operator block names the class. The local privilege MUST be defined by either the Class or Operator block. It is highly recommended that most privileges be explicitly specified in the operator's Operator block on DareNET.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;default&amp;quot; class is created internally. This class is used when no other class is specified, but its settings are not useful for most situations. Custom classes are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Class blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Client block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;I:ipmask:passwd:hostmask:port:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Client blocks define the hosts client connections are allowed from, and places them into classes. While the server will start without a Client block, it will not be usable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Client&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: resolved user@host mask allowed to connect. This is optional&lt;br /&gt;
     * if you are using the ip mask to match against.  Additionally, if you specify *@loc for &lt;br /&gt;
     * this field it will match all LOC users.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@*.wirehub.net&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ip: unresolved user@ip mask allowed to connect. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ip = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@195.86.128.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: (optional) password that is required to use this block.&lt;br /&gt;
     * This password string is not encrypted.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;letMEHin&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class the user should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: if specified, the server will only accept clients when &lt;br /&gt;
     * the total number of connections to the network from the same IP number doesn't exceed&lt;br /&gt;
     * this number.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: (optional) a port to limit this block to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6660&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server uses a default deny policy for incoming connections. You need to define at least one Client block if you wish to use your server.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; fields specify which connections the block matches. The server always performs a DNS and ident lookup for connections. If DNS cannot find a hostname, the IP address is used instead. If ident cannot get a valid reply, &amp;quot;unknown&amp;quot; is used during this state. The client's resolved hostname, IP address, ident reply, and username (from the USER line) are used according to the results of the matches described below.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' There is a specify case for UNIX domain sockets and localhost connections. In these cases, the &amp;lt;code&amp;gt;ip / host&amp;lt;/code&amp;gt; field is compared with the name of the server, and thus not with any IP number representation. The name of the server is that returned in the numeric 002 reply, example: &amp;lt;code&amp;gt;002 Your host is 2.darenet.org[jolan.ppro]. running version ...&amp;lt;/code&amp;gt; In this example, &amp;quot;jolan.ppro&amp;quot; is the name used for matching; therefore, UNIX domain sockets and connections to localhost would match a block containing: &amp;lt;code&amp;gt;host = &amp;quot;*@jolan.ppro&amp;quot;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field attempts to match first against the resolved hostname, if available, and then against the IP address. To include the connection's ident reply in the match, use a mask in the form &amp;quot;ident@host&amp;quot;. If a client matches, it appears on IRC using its resolved hostname.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field attempts to match against the IP address only. An ident may be specified to match against, as well.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the ident portion is specified in a mask (i.e., &amp;quot;ident@host&amp;quot; instead of &amp;quot;host&amp;quot;), and no ident reply is received from the client, it will appear on IRC with its username prefixed with a '~' tilde. If the matching mask used only the &amp;quot;host&amp;quot; form, the client's username is not prefixed. If a valid ident reply is received, it is always used and not prefixed.&lt;br /&gt;
&lt;br /&gt;
You need only specify a &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field, not both. If both are used, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; is matched against first.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Client blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Motd block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;T:hostmask&amp;amp;#124;classnumber:path&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Motd blocks allow a different Message of the Day to be shown to connecting clients based on their origin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Motd&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: a hostmask, class number or class name to match against. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.jp&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* file: the path to the MOTD file to be shown (relative to DPATH). */&amp;lt;/span&amp;gt;&lt;br /&gt;
    file = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;jp.motd&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More then one &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field may be present in an Motd block.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Motd blocks.&lt;br /&gt;
&lt;br /&gt;
== Connect block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;C:host:cpassword:name:port:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;N:host:apassword:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;H:host::name:maxhops&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;L:host::mask:depth&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Connect blocks define links to other servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Connect&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of the server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;uplink.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the host or IP to connect to. If a hostname is used it&lt;br /&gt;
     * must match the reverse dns of the server.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.168.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password we send and accept. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;somepass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the port to connect to this server on. This is also the&lt;br /&gt;
     * port used when the server attempts to auto-connect (if enabled). &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class this server should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxhops: the max number of hops a hub may introduce. If a hub&lt;br /&gt;
     * tries to introduce servers farther away than what is specified here, an SQUIT is&lt;br /&gt;
     * issued. The 'leaf' token is an alias for &amp;quot;maxhops = 0;&amp;quot;. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxhops = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hub: (optional) the mask of servers that this server may hub&lt;br /&gt;
     * for. The tag 'hub' is an alias for 'hub = &amp;quot;*&amp;quot;;'.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hub = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.us.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* autoconnect: (optional) determines if we should try to&lt;br /&gt;
    * automatically connect to this server. The default is to autoconnect.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    autoconnect = no;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Connect blocks.&lt;br /&gt;
&lt;br /&gt;
== CRule block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;D:servermask::rule&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;d:servermask::rule&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CRule (connection rule) blocks control ircd-darenet's advanced, real-time rule-based routing decision making system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;CRule&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: rules will be applied towards servers matching this mask. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.eu.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rule: the connection rule. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rule = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;connected(amsterdam.eu.*)&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* all: (optional) setting this to 'yes' will make the rule always&lt;br /&gt;
     * apply; otherwise, it only applies to autoconnects.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    all = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If more than one server mask is present in a single crule, the rule will apply to all servers.&lt;br /&gt;
&lt;br /&gt;
See doc/readme.crules for more information on the crule system, including examples of allowed rules.&lt;br /&gt;
&lt;br /&gt;
There may be multiple CRule blocks.&lt;br /&gt;
&lt;br /&gt;
== Port Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;P:hostmask:interface:&amp;lt;[CES][H]&amp;gt;:port&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Port blocks define where the server will accept connections. At least one port block is required to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Port&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the specific port to listen on. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* mask: (optional) the IP address (or a range of IP addresses) that&lt;br /&gt;
     * the server will allow connections from.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    mask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.*.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) set a specific IP/host the port (listed after&lt;br /&gt;
     * the 'port' token) will listen for.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: setting this to yes makes this a server only port. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hidden: (optional) setting this to 'yes' makes the port&lt;br /&gt;
     * &amp;quot;hidden&amp;quot; from stats replies.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hidden = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* crypt: (optional) setting this to 'yes' makes the port accept&lt;br /&gt;
     * SSL connections.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    crypt = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* exempt: (optional) setting this to 'yes' makes the port exempt&lt;br /&gt;
     * from connection restrictions during a timed /RESTART or /DIE.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    exempt = no;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;mask&amp;lt;/code&amp;gt; field should only contain IP addresses (CIDR notation is supported) or '*', if used. This does not use DNS in any way, so you cannot use it to allow *.dk or *.uk, for example. Attempting to specify anything other than IP addresses will result in the port allowing connections from anyone (as if you used '*').&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;vhost&amp;lt;/code&amp;gt; field (i.e., bind address) is not specified, the server will listen on all available interfaces for that port.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Port blocks.&lt;br /&gt;
&lt;br /&gt;
== Operator block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;O:host:password:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;o:host:password:name:flags:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Operator blocks define server operators. One or more of these blocks is recommended if you intend to maintain your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Operator&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the oper's username. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;johndoe&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the user@host/IP mask required for this operator. CIDR&lt;br /&gt;
     * notation is supported. Multiple host=&amp;quot;&amp;quot; lines are supported.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;god@*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password required to oper. By default, the password is&lt;br /&gt;
     * hashed using the system's native crypt() function. Other password&lt;br /&gt;
     * mechanisms are available; the umkpasswd utility located in the ircd&lt;br /&gt;
     * directory can hash passwords using those mechanisms. If you use a&lt;br /&gt;
     * password format that is not generated by umkpasswd, ircd-darenet will&lt;br /&gt;
     * not recognize the oper's password.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;/home/irc/keys/johndoe.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* flags: misc options for the oper. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    flags = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;OAWInFR&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* snomask: (optional) specific server notice mask on oper up. If this&lt;br /&gt;
     * is specified, an oper will not be given sno_default.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    snomask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+cegGiKorRs&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* privileges: (optional) you can specify privileges an oper will be&lt;br /&gt;
     * explicitly granted (or denied) upon opering. Any privileges defined&lt;br /&gt;
     * will override any privilege settings that may be present in the class&lt;br /&gt;
     * block specified above, and the default setting for those privileges.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    local = no;    routing = yes;    routeinfo = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; fields match the parameters of the &amp;lt;code&amp;gt;OPER&amp;lt;/code&amp;gt; command. To authenticate as an IRC operator, a client must match one of the &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; fields, which may be a resolved hostname or IP address.&lt;br /&gt;
&lt;br /&gt;
To use an unencrypted password, prefix the password with '$PLAIN', e.g., &amp;quot;$PLAIN$aPpLe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want to use a more secure password authentication system, generate a 1024bit RSA key, and specify the path to the key as the password (as shown in the example above), and add 'R' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field. This will use the &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; system instead of &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;. See doc/challenge.txt for more details.&lt;br /&gt;
&lt;br /&gt;
A client may also use their SSL client certificate fingerprint to authenticate as an IRC operator. To use this method, specify the client's certificate fingerprint as the password, and add 'S' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
Only one password authentication method may be used at a time. That is, you cannot use &amp;lt;code&amp;gt;CHALLENGE&amp;lt;/code&amp;gt; and SSL client certificate fingerprint at the same time.&lt;br /&gt;
&lt;br /&gt;
There are currently 9 different oper flags:&lt;br /&gt;
* o - Local operator&lt;br /&gt;
* O - Global operator&lt;br /&gt;
* A - Server administrator&lt;br /&gt;
* r - This operator block may be used from remote servers&lt;br /&gt;
* W - Allowed to set user mode +W&lt;br /&gt;
* I - Allowed to set user mode +I&lt;br /&gt;
* n - Allowed to set user mode +n&lt;br /&gt;
* F - Allowed to set user mode +F&lt;br /&gt;
* S - Use SSL client certificate fingerprint to &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;&lt;br /&gt;
* R - Use &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; password authentication system.&lt;br /&gt;
* j - Allowed to use juped nicknames.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; field specifies the connection class the client will be placed in, regardless of their previous connection class. If not specified, the default class is used; see the Class block description for details.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Operator blocks.&lt;br /&gt;
&lt;br /&gt;
== UWorld block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Uworld block defines &amp;quot;U-lined&amp;quot; servers, which are allowed to do special network things. Used for network services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;UWorld&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the server name or wildcard mask the &amp;quot;U-line&amp;quot; applies to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;services.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;stats.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UWorld servers are permitted to do things typical network services would want to do, such as apply network bans, manage channel modes, etc; the details are too numerous and complex to provide here.&lt;br /&gt;
&lt;br /&gt;
There may be multiple UWorld blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== NickJupe block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NickJupe blocks disallow certain nicknames from being used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;NickJupe&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ChanServ&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;NickS?rv&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the nick to disallow (the '*' and '?' wildcards are supported), and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice).&lt;br /&gt;
&lt;br /&gt;
There may be multiple NickJupe blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Quarantine block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Q:channel:reason&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Quarantine blocks disallow certain channel names from being used by non-opers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Quarantine&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;#help&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;For assistance, please join #Support instead.&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the channel to disallow, and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice). Note, these are only checked at &amp;lt;code&amp;gt;/JOIN&amp;lt;/code&amp;gt;, so if you add a channel and rehash, users will not be kicked if they're already in the channel.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Quarantine blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Ban Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| K:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ban {} blocks disallow connections from clients based on specific ident, host and/or gecos masks. They are a flexible general client ban mechanism.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
  name = &amp;quot;mark&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Required tokens (at least one of):''' &amp;lt;code&amp;gt;host, realname, username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional tokens:''' &amp;lt;code&amp;gt;klineprompt, reason, name, file&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;klineprompt;&amp;lt;/code&amp;gt; is present, users may bypass the ban by using Login-on-Connect (LOC). You can also mark clients by using &amp;lt;code&amp;gt;name = &amp;quot;mark here&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  realname = &amp;quot;realname here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to ban based on username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;username here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to use a file as comment for the ban, using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  file = &amp;quot;path/to/file/with/reason/to/show&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file can contain for example, a reason, a link to the server rules and a contact address. Also, note the combination of username and host in the host field. IP-based Ban {} blocks apply to all hosts, even if an IP address has a properly resolving host name. CIDR format is the most efficient, and should be used when possible. The server will attempt to convert wildcard IP masks to CIDR form internally.&lt;br /&gt;
&lt;br /&gt;
Additionally, you may specify a hostmask prefixed with $V to indicate a match should be performed against the CTCP version of the user rather han the host/IP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  version = &amp;quot;string&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;reason here&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Ban {} blocks.&lt;br /&gt;
&lt;br /&gt;
'''Example blocks:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;*@*.aol.com&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Due to abuse, AOL users must login with their DareNET account to connect.&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.0.0/16&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Except Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| E:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Except {} blocks can be used to exempt a user from Kill {} blocks, GLINEs, ZLINEs, SHUNs, spam filters, IDENT_CHALLENGE and LIST restrictions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mask&amp;gt; is an ident@ip/host/cidr mask that is to match the user to be exempted. &amp;lt;flags&amp;gt; is one or more of the following flags to specify what the exempt is to match.&lt;br /&gt;
&lt;br /&gt;
* k - Except affects KLINEs.&lt;br /&gt;
* g - Except affects GLINEs.&lt;br /&gt;
* i - Except affects ident challenges (see IDENT_CHALLENGE feature).&lt;br /&gt;
* n - Except for notilde.&lt;br /&gt;
* s - Except affects SHUNs.&lt;br /&gt;
* z - Except affects ZLINEs.&lt;br /&gt;
* F - Forces umode +F on user to bypass message flood checks.&lt;br /&gt;
* I - Exempts user from rapid (re)connection throttling &amp;amp; clone checks.&lt;br /&gt;
* L - Except affects LIST restrictions.&lt;br /&gt;
* N - Exempts user from &amp;quot;no connections&amp;quot; restrictions, allowing them to connect anyway.&lt;br /&gt;
* S - Except affects spam filters.&lt;br /&gt;
&lt;br /&gt;
NOTE: For throttling/clone exemptions (I), only IP addresses are supported, since these checks are performed before any DNS resolutions or identd replies are received.&lt;br /&gt;
NOTE: For notilde (n), IP/Host is required.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@*.darenet.org&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;kgzsL&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@127.0.0.1&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;I&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| B:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Command {} blocks aim to improve the generic IRC users ability to use network services. Each block sets up a /&amp;lt;service&amp;gt; alias so that users may type that instead of a full /msg command. Some might argue this is a bit more secure as well :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;&amp;lt;alias name&amp;gt;&amp;quot;;&lt;br /&gt;
  service = &amp;quot;&amp;lt;target&amp;gt;&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;&amp;lt;anything to prepend to the message&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt; prefix = &amp;quot;&amp;quot;;&amp;lt;/code&amp;gt; is given, then ircd-darenet will prefix the specified string to whatever the user inputs before sending it to the service.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;NICKSERV&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Forward Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| b:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Forward {} blocks enable the server to forward any messages which are prefixed and specific with a Forward {} block. This allows users to use Services' fantasy commands without a service client being in the channel (provided the channel is registered). This also removes the need for ChanServ to monitor channel traffic (e.g. allowing the use of umode +d).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot; = &amp;quot;&amp;lt;server&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;.&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
  &amp;quot;?&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Redirect Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| R:line&lt;br /&gt;
|}&lt;br /&gt;
When a client connects and his/her host matches a Redirect {} block, then a 010 reply is sent back to the client with the redirection server and port.&lt;br /&gt;
&lt;br /&gt;
Currently only EPIC supports auto redirection when it gets a 010 reply (e.g. it will automatically connect to the server specified in the 010 reply). Other clients will get a message specifying what server and port to connect to. as well as an unauthorized disconnect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  server = &amp;quot;&amp;lt;redirection server&amp;gt;&amp;quot;;&lt;br /&gt;
  port = &amp;quot;&amp;lt;redirection port&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*.aol.com&amp;quot;;&lt;br /&gt;
  server = &amp;quot;irc.aol.com&amp;quot;;&lt;br /&gt;
  port = &amp;quot;6667&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spoofhost Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| S:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spoofhost {} blocks allows clients/opers to spoof their host. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Spoofhost &amp;quot;&amp;lt;spoof host&amp;gt;&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  host = &amp;quot;&amp;lt;*.host.cc|a.b.c.*|CIDR&amp;gt;&amp;quot;;&lt;br /&gt;
  username = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;spoof host&amp;gt; - The spoofed hostname.&lt;br /&gt;
* &amp;lt;pass&amp;gt; - A password for this spoof host. Used if SETHOST_USER is set to TRUE.&lt;br /&gt;
* &amp;lt;host&amp;gt; - A hostmask to match against users that are to be auto-spoofed. Used if SETHOST_AUTO is set to TRUE. Can be in the form of: host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards for non-CIDR.&lt;br /&gt;
* &amp;lt;username&amp;gt; - A mask for matching against the user's ident reply.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Spoofhost &amp;quot;sline.darenet.org&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;anygoodpass&amp;quot;;&lt;br /&gt;
  host = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
  username = &amp;quot;*&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNSBL Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| X:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DNSBL {} blocks allow you to prevent clients connecting who are listed on DNS blacklists. Their connection will be rejected during the connection process along with the name and reason you give for the DNSBL they have been matched on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;&amp;lt;dnsbl.site.org&amp;gt;&amp;quot;;&lt;br /&gt;
  name = &amp;quot;&amp;lt;name&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;&amp;lt;replies/mask&amp;gt;&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;&amp;lt;rejection message&amp;gt;&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;&amp;lt;rank&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* b (Bitmask DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* r (Reply DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* a (Allow Connect) - Allow the client to connect anyway. This could used with a DNSBL whitelist. This could also be used to allow users to still connect, but mark their hosts so that channel ops can easily ban them from their channels.&lt;br /&gt;
* d (Deny Connect) - If the user is found on this DNSBL, then they can't connect, even if they are allowed on through another DNSBL {} block.&lt;br /&gt;
* m (Mark Hostname) - Mark the hostname of a skipped client&lt;br /&gt;
&lt;br /&gt;
The name option is used for the Mark Hostname flag, and may only contain hostname valid characters only (e.g. NO spaces). With Reply DNSBL's you need to list the replies in a comma separated list. See below for an example. With Bitmask DNSBL's, again, specify the replies you need to match for. The server will sum them up and match them against the DNSBL reply. The rejected user's nick, username, ip, and host can be placed into the rejection message by using these codes:&lt;br /&gt;
&lt;br /&gt;
* %n - Nickname&lt;br /&gt;
* %u - Username&lt;br /&gt;
* %h - Hostname&lt;br /&gt;
* %i - IP Address&lt;br /&gt;
&lt;br /&gt;
The rank number must be unique over all DNSBL {} blocks. The higher the number, the greater precedence it has. The highest ranking DNSBL {} block which is a matched against a user will get its name marked in the hostname.&lt;br /&gt;
&lt;br /&gt;
Notes: MAKE SURE you read the DNSBL website before you go ahead and use it as they may have rules for large sites/servers who use them. If you do not wish to use DNSBL checking then simply do not create any DNSBL {} blocks.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
Reply DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.sorbs.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;sorbs.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;r&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,2,3,4&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=%i&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;1&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitmask DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.dnsbl.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;dnsbl.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;b&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,3,5&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On DNSBL&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;2&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebIRC Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| W:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WebIRC {} blocks allow you display the real hostname of users connecting via CGI:IRC clients and sites such as Mibbit.com. These clients will send a WEBIRC command along with the user's hostname, ip and WebIRC {} block password to the server. The password needs to be encrypted like Operator {} block passwords. When the ircd receives the command, instead of using the hostname of the site the users is connecting from, the hostname sent in WEBIRC will be set. All this is done before the client enters the network completely. Please remember to enclose the description using quotes otherwise things will break.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;&amp;lt;description&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* m - Marks each client connected via the WebIRC {} block using the provided description.&lt;br /&gt;
* s - Sets the ident specified in the ident field for each WEBIRC client.&lt;br /&gt;
* u - Uses the ident from USER that the WEBIRC client sends.&lt;br /&gt;
&lt;br /&gt;
Note: Do not use both s and u, only choose one of them.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@webchat.darenet.org&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;VRKLKuGKn0jLs&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;ms&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;webirc&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;DareNET WebChat&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpamFilter Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is probably the most controversial addition to ircd-darenet 1.3.x; however, sadly, it may become useful.&lt;br /&gt;
&lt;br /&gt;
SpamFiler {} blocks allow you to filter PRIVMSG's, NOTICE's, TOPIC's and AWAY's for spam. The filtering is done using regular expressions, so please be careful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SpamFilter {&lt;br /&gt;
   regex = &amp;quot;&amp;lt;regex&amp;gt;&amp;quot;;                   &lt;br /&gt;
   rtype = &amp;quot;&amp;lt;watch flags&amp;gt;&amp;quot;;                &lt;br /&gt;
   action = &amp;quot;&amp;lt;action flags&amp;gt;&amp;quot;;              &lt;br /&gt;
   reason = &amp;quot;&amp;lt;reason&amp;gt;&amp;quot;;&lt;br /&gt;
   channel = &amp;quot;&amp;lt;optional alert channel&amp;gt;&amp;quot;;   &lt;br /&gt;
   length = &amp;lt;length in seconds&amp;gt;;                        &lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;regex&amp;gt; - PCRE format regular expression to match against.&lt;br /&gt;
* &amp;lt;watch flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;action flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;reason&amp;gt; - Used in error messages displayed to the user and/or kills/shuns/glines/zlines.&lt;br /&gt;
* &amp;lt;optional alert channel&amp;gt; - Requires the C action flag.&lt;br /&gt;
* &amp;lt;length in seconds&amp;gt; - Only applies to glines, zlines and shuns.&lt;br /&gt;
&lt;br /&gt;
Available watch flags:&lt;br /&gt;
&lt;br /&gt;
* n - Notices.&lt;br /&gt;
* N - Channel notices.&lt;br /&gt;
* p - Privmsgs.&lt;br /&gt;
* C - Channel privmsgs.&lt;br /&gt;
* q - Quits.&lt;br /&gt;
* P - Parts.&lt;br /&gt;
* d - DCCs.&lt;br /&gt;
* a - Away messages.&lt;br /&gt;
* t - Topics.&lt;br /&gt;
* u - Connects (nick!user@host:gecos).&lt;br /&gt;
* i - Nickname changes.&lt;br /&gt;
&lt;br /&gt;
Available action flags:&lt;br /&gt;
&lt;br /&gt;
* a - Auth. If used, logged in clients will be exempt from the filter.&lt;br /&gt;
* C - Channel alert. If used, filter matches will be sent to what is set in the SpamFilter {} block channel setting.&lt;br /&gt;
* S - Server (snotice) alert.&lt;br /&gt;
* k - Kill anyone who matches the filter.&lt;br /&gt;
* g - Gline anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* z - Zline anyone who matches the filter. The length can be given in seconds. This zlines *@ip, so you do not need the i action flag.&lt;br /&gt;
* s - Shun anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* i - Uses the client's IP vice host in a Gline/Shun.&lt;br /&gt;
* b - Block; will prevent the PRIVMSG/NOTICE/TOPIC/AWAY from going through.&lt;br /&gt;
* n - Notify; will notify the person matching the filter, stating they've matched a filter, and deny their message.&lt;br /&gt;
* m - Mark; will mark the client as being a spam source.&lt;br /&gt;
* K - Kick; will kick the user triggering the Spam Filter. The kick reason given will be the reason set in the Spam Filter. This Flag will only work with the N and C watch flags.&lt;br /&gt;
* o - Ops/HalfOps; exempts ops and halfops from any checks which have a channel target.&lt;br /&gt;
* v - Voice; exempts voiced users from any checks which have a channel target.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Shuns and Glines will be set using *@hostname. If you would them to be set using *@ip use the 'i' action flag.&lt;br /&gt;
* If you do not specify a length, then FILTER_DEFAULT_LENGTH will be used.&lt;br /&gt;
* The 'b' action flag cannot be used with the 'u' watch flag. You will need to use a kill flag to block them.&lt;br /&gt;
&lt;br /&gt;
== Features Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| F:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ircd-darenet has a large number of options and features, most of which can be configured using a Features {} block. If linking to DareNET, your Features {} block will be rather bare, since most DareNET-specific settings have been already defined in the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;featurename&amp;quot; = &amp;quot;value&amp;quot;;&lt;br /&gt;
  &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need one Features {} block, in which you use &amp;quot;featurename&amp;quot; = &amp;quot;value1&amp;quot;;, &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;, and so on. Please note all values, whether integers or strings, must be enclosed in double quotes. &lt;br /&gt;
&lt;br /&gt;
See the [[Server_Features|servers features]] page for a list of available features.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;FILE&amp;quot; &amp;quot;ircd.log&amp;quot;;&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;LEVEL&amp;quot; &amp;quot;CRIT&amp;quot;;&lt;br /&gt;
  &amp;quot;HUB&amp;quot; = &amp;quot;FALSE&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IRCd]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5</id>
		<title>DareNET IRCd Configuration/1.5</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5"/>
				<updated>2013-06-17T17:59:09Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;Reverted edits by Nitemare (Talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This is a reference guide for ircd-darenet 1.5.x's configuration file.&lt;br /&gt;
&lt;br /&gt;
The configuration format consists of various blocks, each containing name-value pairs, tags or string data. It is designed to be easily readable by both human ircd.&lt;br /&gt;
&lt;br /&gt;
A block consists of a name, an opening '{' brace, statements, a closing '}' brace, and a ';' semicolon. A statement consists of a name possibly followed by an '=' equals sign and a value, ending with a semicolon. All strings must be surrounded by '&amp;quot;' double quotes.&lt;br /&gt;
&lt;br /&gt;
A sample block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;blockname&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = value;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;string&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;123&amp;lt;/span&amp;gt;;&lt;br /&gt;
    tag;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All elements of the configuration are separated by whitespace, and can be packed on one line, or broken up over several lines. Whitespace is defined as space, tab or carriage return/linefeed. Three forms of comments are allowed: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/* C style single/multi-line */&lt;br /&gt;
&lt;br /&gt;
// C++ style single-line&lt;br /&gt;
&lt;br /&gt;
# Shell style single-line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{info|text=Blocks are used in the reverse order than how they're listed, when the configuration file is parsed. This means you should start multiple block definitions with the &amp;quot;fall through&amp;quot;, and end with the most detailed.}}&lt;br /&gt;
&lt;br /&gt;
== General block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;M:name:vhost:description::numeric&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The General block defines information about the server itself. It is required for the server to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;General&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;test.area.zone.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* description: the description of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    description = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ircd-darenet test server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* numeric: the unique server numeric for our server. It must be a&lt;br /&gt;
     * digit between 0 and 4095, and is not updated on a rehash.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    numeric = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;999&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: the IP to bind to when we connect outward to other servers.&lt;br /&gt;
     * It must contain either a * or a valid ipv4 address in dotted quad notation. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.169.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_private_key: our ssl private key. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_private_key = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_pem: file containing our ssl certificate and private key */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_pem = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.pem&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* dpass: (optional) password for DIE command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    dpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;encrypted pass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rpass: (optional) password for RESTART command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;$PLAIN$password&amp;quot;&amp;lt;/span&amp;gt;;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server name may only be changed by a server restart. The description can be changed on rehash, but will not propagate to other linked servers.&lt;br /&gt;
&lt;br /&gt;
There must be exactly one General block.&lt;br /&gt;
&lt;br /&gt;
== Admin block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;A:line1:line2:line3&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Admin block defines information that can be retrieved with the &amp;lt;code&amp;gt;/ADMIN&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Admin&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;DareNET - http://www.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Infrastructure Team&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    contact = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;&amp;amp;lt;infrastructure@darenet.org&amp;amp;gt;&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not all lines are required. There may only be one Admin block.&lt;br /&gt;
&lt;br /&gt;
== Class block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Y:class:pingfreq::maxlinks:sendq (clients)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;Y:class:pingfreq:connectfreq:maxlinks:sendq (servers)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Class blocks define connection classes. All connections to the server are associated with a &amp;quot;connection class&amp;quot;, whether they be incoming or outgoing (initiated by the server), be they clients or servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: a name for the connection class. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* pingfreq: how often to PING idle connections. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    pingfreq = 1 minute 30 seconds;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* sendq: send buffer limit (i.e., the amount of data allowed in&lt;br /&gt;
     * a client's queue before they are dropped.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: the maximum number of connections that may use this&lt;br /&gt;
     * class. May be between 0 and 4,000,000,000.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* usermode: an optional list of user modes that should set&lt;br /&gt;
     * upon the user while connecting.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxchans: the maximum number of channels that clients may join.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxchans = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Opers&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 2 minutes;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    whox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* connectfreq: this token applies only to servers, and specifies&lt;br /&gt;
     * the frequency that the server tries to auto connect. Setting this to 0 will cause a&lt;br /&gt;
     * server to attempt to connect repeatedly, with no delay until the maxlinks condition&lt;br /&gt;
     * is satisfied (which is not a good thing).&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: for server classes, specifies the maximum number of&lt;br /&gt;
     * servers to autoconnect to. This should be 0 for hubs, and 1 for leafs.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Leaf_Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
    maxlinks = 1;&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For connection classes intended for operator use, you can specify privileges the operator should be granted when the Operator block names the class. The local privilege MUST be defined by either the Class or Operator block. It is highly recommended that most privileges be explicitly specified in the operator's Operator block on DareNET.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;default&amp;quot; class is created internally. This class is used when no other class is specified, but its settings are not useful for most situations. Custom classes are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Class blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Client block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;I:ipmask:passwd:hostmask:port:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Client blocks define the hosts client connections are allowed from, and places them into classes. While the server will start without a Client block, it will not be usable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Client&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: resolved user@host mask allowed to connect. This is optional&lt;br /&gt;
     * if you are using the ip mask to match against.  Additionally, if you specify *@loc for &lt;br /&gt;
     * this field it will match all LOC users.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@*.wirehub.net&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ip: unresolved user@ip mask allowed to connect. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ip = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@195.86.128.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: (optional) password that is required to use this block.&lt;br /&gt;
     * This password string is not encrypted.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;letMEHin&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class the user should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: if specified, the server will only accept clients when &lt;br /&gt;
     * the total number of connections to the network from the same IP number doesn't exceed&lt;br /&gt;
     * this number.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: (optional) a port to limit this block to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6660&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server uses a default deny policy for incoming connections. You need to define at least one Client block if you wish to use your server.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; fields specify which connections the block matches. The server always performs a DNS and ident lookup for connections. If DNS cannot find a hostname, the IP address is used instead. If ident cannot get a valid reply, &amp;quot;unknown&amp;quot; is used during this state. The client's resolved hostname, IP address, ident reply, and username (from the USER line) are used according to the results of the matches described below.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' There is a specify case for UNIX domain sockets and localhost connections. In these cases, the &amp;lt;code&amp;gt;ip / host&amp;lt;/code&amp;gt; field is compared with the name of the server, and thus not with any IP number representation. The name of the server is that returned in the numeric 002 reply, example: &amp;lt;code&amp;gt;002 Your host is 2.darenet.org[jolan.ppro]. running version ...&amp;lt;/code&amp;gt; In this example, &amp;quot;jolan.ppro&amp;quot; is the name used for matching; therefore, UNIX domain sockets and connections to localhost would match a block containing: &amp;lt;code&amp;gt;host = &amp;quot;*@jolan.ppro&amp;quot;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field attempts to match first against the resolved hostname, if available, and then against the IP address. To include the connection's ident reply in the match, use a mask in the form &amp;quot;ident@host&amp;quot;. If a client matches, it appears on IRC using its resolved hostname.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field attempts to match against the IP address only. An ident may be specified to match against, as well.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the ident portion is specified in a mask (i.e., &amp;quot;ident@host&amp;quot; instead of &amp;quot;host&amp;quot;), and no ident reply is received from the client, it will appear on IRC with its username prefixed with a '~' tilde. If the matching mask used only the &amp;quot;host&amp;quot; form, the client's username is not prefixed. If a valid ident reply is received, it is always used and not prefixed.&lt;br /&gt;
&lt;br /&gt;
You need only specify a &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field, not both. If both are used, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; is matched against first.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Client blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Motd block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;T:hostmask&amp;amp;#124;classnumber:path&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Motd blocks allow a different Message of the Day to be shown to connecting clients based on their origin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Motd&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: a hostmask, class number or class name to match against. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.jp&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* file: the path to the MOTD file to be shown (relative to DPATH). */&amp;lt;/span&amp;gt;&lt;br /&gt;
    file = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;jp.motd&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More then one &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field may be present in an Motd block.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Motd blocks.&lt;br /&gt;
&lt;br /&gt;
== Connect block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;C:host:cpassword:name:port:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;N:host:apassword:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;H:host::name:maxhops&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;L:host::mask:depth&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Connect blocks define links to other servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Connect&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of the server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;uplink.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the host or IP to connect to. If a hostname is used it&lt;br /&gt;
     * must match the reverse dns of the server.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.168.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) the host or IP to bind to for this connection.&lt;br /&gt;
     * If this is not specified, the default vhost (in general {}) is used.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;#vhost = &amp;quot;192.168.0.50&amp;quot;;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password we send and accept. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;somepass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the port to connect to this server on. This is also the&lt;br /&gt;
     * port used when the server attempts to auto-connect (if enabled). &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class this server should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxhops: the max number of hops a hub may introduce. If a hub&lt;br /&gt;
     * tries to introduce servers farther away than what is specified here, an SQUIT is&lt;br /&gt;
     * issued. The 'leaf' token is an alias for &amp;quot;maxhops = 0;&amp;quot;. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxhops = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hub: (optional) the mask of servers that this server may hub&lt;br /&gt;
     * for. The tag 'hub' is an alias for 'hub = &amp;quot;*&amp;quot;;'.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hub = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.us.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* autoconnect: (optional) determines if we should try to&lt;br /&gt;
    * automatically connect to this server. The default is to autoconnect.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    autoconnect = no;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Connect blocks.&lt;br /&gt;
&lt;br /&gt;
== CRule block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;D:servermask::rule&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;d:servermask::rule&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CRule (connection rule) blocks control ircd-darenet's advanced, real-time rule-based routing decision making system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;CRule&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: rules will be applied towards servers matching this mask. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.eu.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rule: the connection rule. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rule = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;connected(amsterdam.eu.*)&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* all: (optional) setting this to 'yes' will make the rule always&lt;br /&gt;
     * apply; otherwise, it only applies to autoconnects.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    all = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If more than one server mask is present in a single crule, the rule will apply to all servers.&lt;br /&gt;
&lt;br /&gt;
See doc/readme.crules for more information on the crule system, including examples of allowed rules.&lt;br /&gt;
&lt;br /&gt;
There may be multiple CRule blocks.&lt;br /&gt;
&lt;br /&gt;
== Port Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;P:hostmask:interface:&amp;lt;[CES][H]&amp;gt;:port&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Port blocks define where the server will accept connections. At least one port block is required to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Port&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the specific port to listen on. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* mask: (optional) the IP address (or a range of IP addresses) that&lt;br /&gt;
     * the server will allow connections from.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    mask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.*.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) set a specific IP/host the port (listed after&lt;br /&gt;
     * the 'port' token) will listen for.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: setting this to yes makes this a server only port. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hidden: (optional) setting this to 'yes' makes the port&lt;br /&gt;
     * &amp;quot;hidden&amp;quot; from stats replies.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hidden = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* crypt: (optional) setting this to 'yes' makes the port accept&lt;br /&gt;
     * SSL connections.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    crypt = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* exempt: (optional) setting this to 'yes' makes the port exempt&lt;br /&gt;
     * from connection restrictions during a timed /RESTART or /DIE.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    exempt = no;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;mask&amp;lt;/code&amp;gt; field should only contain IP addresses (CIDR notation is supported) or '*', if used. This does not use DNS in any way, so you cannot use it to allow *.dk or *.uk, for example. Attempting to specify anything other than IP addresses will result in the port allowing connections from anyone (as if you used '*').&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;vhost&amp;lt;/code&amp;gt; field (i.e., bind address) is not specified, the server will listen on all available interfaces for that port.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Port blocks.&lt;br /&gt;
&lt;br /&gt;
== Operator block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;O:host:password:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;o:host:password:name:flags:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Operator blocks define server operators. One or more of these blocks is recommended if you intend to maintain your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Operator&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the oper's username. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;johndoe&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the user@host/IP mask required for this operator. CIDR&lt;br /&gt;
     * notation is supported. Multiple host=&amp;quot;&amp;quot; lines are supported.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;god@*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password required to oper. By default, the password is&lt;br /&gt;
     * hashed using the system's native crypt() function. Other password&lt;br /&gt;
     * mechanisms are available; the umkpasswd utility located in the ircd&lt;br /&gt;
     * directory can hash passwords using those mechanisms. If you use a&lt;br /&gt;
     * password format that is not generated by umkpasswd, ircd-darenet will&lt;br /&gt;
     * not recognize the oper's password.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;/home/irc/keys/johndoe.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* flags: misc options for the oper. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    flags = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;OAWInFR&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* snomask: (optional) specific server notice mask on oper up. If this&lt;br /&gt;
     * is specified, an oper will not be given sno_default.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    snomask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+cegGiKorRs&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* privileges: (optional) you can specify privileges an oper will be&lt;br /&gt;
     * explicitly granted (or denied) upon opering. Any privileges defined&lt;br /&gt;
     * will override any privilege settings that may be present in the class&lt;br /&gt;
     * block specified above, and the default setting for those privileges.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    local = no;    routing = yes;    routeinfo = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; fields match the parameters of the &amp;lt;code&amp;gt;OPER&amp;lt;/code&amp;gt; command. To authenticate as an IRC operator, a client must match one of the &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; fields, which may be a resolved hostname or IP address.&lt;br /&gt;
&lt;br /&gt;
To use an unencrypted password, prefix the password with '$PLAIN', e.g., &amp;quot;$PLAIN$aPpLe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want to use a more secure password authentication system, generate a 1024bit RSA key, and specify the path to the key as the password (as shown in the example above), and add 'R' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field. This will use the &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; system instead of &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;. See doc/challenge.txt for more details.&lt;br /&gt;
&lt;br /&gt;
A client may also use their SSL client certificate fingerprint to authenticate as an IRC operator. To use this method, specify the client's certificate fingerprint as the password, and add 'S' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
Only one password authentication method may be used at a time. That is, you cannot use &amp;lt;code&amp;gt;CHALLENGE&amp;lt;/code&amp;gt; and SSL client certificate fingerprint at the same time.&lt;br /&gt;
&lt;br /&gt;
There are currently 9 different oper flags:&lt;br /&gt;
* o - Local operator&lt;br /&gt;
* O - Global operator&lt;br /&gt;
* A - Server administrator&lt;br /&gt;
* r - This operator block may be used from remote servers&lt;br /&gt;
* W - Allowed to set user mode +W&lt;br /&gt;
* I - Allowed to set user mode +I&lt;br /&gt;
* n - Allowed to set user mode +n&lt;br /&gt;
* F - Allowed to set user mode +F&lt;br /&gt;
* S - Use SSL client certificate fingerprint to &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;&lt;br /&gt;
* R - Use &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; password authentication system.&lt;br /&gt;
* j - Allowed to use juped nicknames.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; field specifies the connection class the client will be placed in, regardless of their previous connection class. If not specified, the default class is used; see the Class block description for details.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Operator blocks.&lt;br /&gt;
&lt;br /&gt;
== UWorld block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Uworld block defines &amp;quot;U-lined&amp;quot; servers, which are allowed to do special network things. Used for network services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;UWorld&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the server name or wildcard mask the &amp;quot;U-line&amp;quot; applies to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;services.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;stats.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UWorld servers are permitted to do things typical network services would want to do, such as apply network bans, manage channel modes, etc; the details are too numerous and complex to provide here.&lt;br /&gt;
&lt;br /&gt;
There may be multiple UWorld blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== NickJupe block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NickJupe blocks disallow certain nicknames from being used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;NickJupe&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ChanServ&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;NickS?rv&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the nick to disallow (the '*' and '?' wildcards are supported), and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice).&lt;br /&gt;
&lt;br /&gt;
There may be multiple NickJupe blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Quarantine block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Q:channel:reason&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Quarantine blocks disallow certain channel names from being used by non-opers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Quarantine&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;#help&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;For assistance, please join #Support instead.&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the channel to disallow, and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice). Note, these are only checked at &amp;lt;code&amp;gt;/JOIN&amp;lt;/code&amp;gt;, so if you add a channel and rehash, users will not be kicked if they're already in the channel.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Quarantine blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Ban Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| K:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ban {} blocks disallow connections from clients based on specific ident, host and/or gecos masks. They are a flexible general client ban mechanism.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
  name = &amp;quot;mark&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Required tokens (at least one of):''' &amp;lt;code&amp;gt;host, realname, username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional tokens:''' &amp;lt;code&amp;gt;klineprompt, reason, name, file&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;klineprompt;&amp;lt;/code&amp;gt; is present, users may bypass the ban by using Login-on-Connect (LOC). You can also mark clients by using &amp;lt;code&amp;gt;name = &amp;quot;mark here&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  realname = &amp;quot;realname here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to ban based on username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;username here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to use a file as comment for the ban, using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  file = &amp;quot;path/to/file/with/reason/to/show&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file can contain for example, a reason, a link to the server rules and a contact address. Also, note the combination of username and host in the host field. IP-based Ban {} blocks apply to all hosts, even if an IP address has a properly resolving host name. CIDR format is the most efficient, and should be used when possible. The server will attempt to convert wildcard IP masks to CIDR form internally.&lt;br /&gt;
&lt;br /&gt;
Additionally, you may specify a hostmask prefixed with $V to indicate a match should be performed against the CTCP version of the user rather han the host/IP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  version = &amp;quot;string&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;reason here&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Ban {} blocks.&lt;br /&gt;
&lt;br /&gt;
'''Example blocks:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;*@*.aol.com&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Due to abuse, AOL users must login with their DareNET account to connect.&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.0.0/16&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Except Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| E:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Except {} blocks can be used to exempt a user from Kill {} blocks, GLINEs, ZLINEs, SHUNs, spam filters, IDENT_CHALLENGE and LIST restrictions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mask&amp;gt; is an ident@ip/host/cidr mask that is to match the user to be exempted. &amp;lt;flags&amp;gt; is one or more of the following flags to specify what the exempt is to match.&lt;br /&gt;
&lt;br /&gt;
* k - Except affects KLINEs.&lt;br /&gt;
* g - Except affects GLINEs.&lt;br /&gt;
* i - Except affects ident challenges (see IDENT_CHALLENGE feature).&lt;br /&gt;
* n - Except for notilde.&lt;br /&gt;
* s - Except affects SHUNs.&lt;br /&gt;
* z - Except affects ZLINEs.&lt;br /&gt;
* F - Forces umode +F on user to bypass message flood checks.&lt;br /&gt;
* I - Exempts user from rapid (re)connection throttling &amp;amp; clone checks.&lt;br /&gt;
* L - Except affects LIST restrictions.&lt;br /&gt;
* N - Exempts user from &amp;quot;no connections&amp;quot; restrictions, allowing them to connect anyway.&lt;br /&gt;
* S - Except affects spam filters.&lt;br /&gt;
&lt;br /&gt;
NOTE: For throttling/clone exemptions (I), only IP addresses are supported, since these checks are performed before any DNS resolutions or identd replies are received.&lt;br /&gt;
NOTE: For notilde (n), IP/Host is required.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@*.darenet.org&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;kgzsL&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@127.0.0.1&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;I&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| B:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Command {} blocks aim to improve the generic IRC users ability to use network services. Each block sets up a /&amp;lt;service&amp;gt; alias so that users may type that instead of a full /msg command. Some might argue this is a bit more secure as well :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;&amp;lt;alias name&amp;gt;&amp;quot;;&lt;br /&gt;
  service = &amp;quot;&amp;lt;target&amp;gt;&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;&amp;lt;anything to prepend to the message&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt; prefix = &amp;quot;&amp;quot;;&amp;lt;/code&amp;gt; is given, then ircd-darenet will prefix the specified string to whatever the user inputs before sending it to the service.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;NICKSERV&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Forward Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| b:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Forward {} blocks enable the server to forward any messages which are prefixed and specific with a Forward {} block. This allows users to use Services' fantasy commands without a service client being in the channel (provided the channel is registered). This also removes the need for ChanServ to monitor channel traffic (e.g. allowing the use of umode +d).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot; = &amp;quot;&amp;lt;server&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;.&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
  &amp;quot;?&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Redirect Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| R:line&lt;br /&gt;
|}&lt;br /&gt;
When a client connects and his/her host matches a Redirect {} block, then a 010 reply is sent back to the client with the redirection server and port.&lt;br /&gt;
&lt;br /&gt;
Currently only EPIC supports auto redirection when it gets a 010 reply (e.g. it will automatically connect to the server specified in the 010 reply). Other clients will get a message specifying what server and port to connect to. as well as an unauthorized disconnect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  server = &amp;quot;&amp;lt;redirection server&amp;gt;&amp;quot;;&lt;br /&gt;
  port = &amp;quot;&amp;lt;redirection port&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*.aol.com&amp;quot;;&lt;br /&gt;
  server = &amp;quot;irc.aol.com&amp;quot;;&lt;br /&gt;
  port = &amp;quot;6667&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spoofhost Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| S:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spoofhost {} blocks allows clients/opers to spoof their host. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Spoofhost &amp;quot;&amp;lt;spoof host&amp;gt;&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  host = &amp;quot;&amp;lt;*.host.cc|a.b.c.*|CIDR&amp;gt;&amp;quot;;&lt;br /&gt;
  username = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;spoof host&amp;gt; - The spoofed hostname.&lt;br /&gt;
* &amp;lt;pass&amp;gt; - A password for this spoof host. Used if SETHOST_USER is set to TRUE.&lt;br /&gt;
* &amp;lt;host&amp;gt; - A hostmask to match against users that are to be auto-spoofed. Used if SETHOST_AUTO is set to TRUE. Can be in the form of: host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards for non-CIDR.&lt;br /&gt;
* &amp;lt;username&amp;gt; - A mask for matching against the user's ident reply.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Spoofhost &amp;quot;sline.darenet.org&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;anygoodpass&amp;quot;;&lt;br /&gt;
  host = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
  username = &amp;quot;*&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNSBL Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| X:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DNSBL {} blocks allow you to prevent clients connecting who are listed on DNS blacklists. Their connection will be rejected during the connection process along with the name and reason you give for the DNSBL they have been matched on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;&amp;lt;dnsbl.site.org&amp;gt;&amp;quot;;&lt;br /&gt;
  name = &amp;quot;&amp;lt;name&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;&amp;lt;replies/mask&amp;gt;&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;&amp;lt;rejection message&amp;gt;&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;&amp;lt;rank&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* b (Bitmask DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* r (Reply DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* a (Allow Connect) - Allow the client to connect anyway. This could used with a DNSBL whitelist. This could also be used to allow users to still connect, but mark their hosts so that channel ops can easily ban them from their channels.&lt;br /&gt;
* d (Deny Connect) - If the user is found on this DNSBL, then they can't connect, even if they are allowed on through another DNSBL {} block.&lt;br /&gt;
* m (Mark Hostname) - Mark the hostname of a skipped client&lt;br /&gt;
&lt;br /&gt;
The name option is used for the Mark Hostname flag, and may only contain hostname valid characters only (e.g. NO spaces). With Reply DNSBL's you need to list the replies in a comma separated list. See below for an example. With Bitmask DNSBL's, again, specify the replies you need to match for. The server will sum them up and match them against the DNSBL reply. The rejected user's nick, username, ip, and host can be placed into the rejection message by using these codes:&lt;br /&gt;
&lt;br /&gt;
* %n - Nickname&lt;br /&gt;
* %u - Username&lt;br /&gt;
* %h - Hostname&lt;br /&gt;
* %i - IP Address&lt;br /&gt;
&lt;br /&gt;
The rank number must be unique over all DNSBL {} blocks. The higher the number, the greater precedence it has. The highest ranking DNSBL {} block which is a matched against a user will get its name marked in the hostname.&lt;br /&gt;
&lt;br /&gt;
Notes: MAKE SURE you read the DNSBL website before you go ahead and use it as they may have rules for large sites/servers who use them. If you do not wish to use DNSBL checking then simply do not create any DNSBL {} blocks.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
Reply DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.sorbs.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;sorbs.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;r&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,2,3,4&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=%i&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;1&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitmask DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.dnsbl.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;dnsbl.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;b&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,3,5&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On DNSBL&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;2&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebIRC Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| W:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WebIRC {} blocks allow you display the real hostname of users connecting via CGI:IRC clients and sites such as Mibbit.com. These clients will send a WEBIRC command along with the user's hostname, ip and WebIRC {} block password to the server. The password needs to be encrypted like Operator {} block passwords. When the ircd receives the command, instead of using the hostname of the site the users is connecting from, the hostname sent in WEBIRC will be set. All this is done before the client enters the network completely. Please remember to enclose the description using quotes otherwise things will break.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;&amp;lt;description&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* m - Marks each client connected via the WebIRC {} block using the provided description.&lt;br /&gt;
* s - Sets the ident specified in the ident field for each WEBIRC client.&lt;br /&gt;
* u - Uses the ident from USER that the WEBIRC client sends.&lt;br /&gt;
&lt;br /&gt;
Note: Do not use both s and u, only choose one of them.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@webchat.darenet.org&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;VRKLKuGKn0jLs&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;ms&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;webirc&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;DareNET WebChat&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpamFilter Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is probably the most controversial addition to ircd-darenet 1.3.x; however, sadly, it may become useful.&lt;br /&gt;
&lt;br /&gt;
SpamFiler {} blocks allow you to filter PRIVMSG's, NOTICE's, TOPIC's and AWAY's for spam. The filtering is done using regular expressions, so please be careful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SpamFilter {&lt;br /&gt;
   regex = &amp;quot;&amp;lt;regex&amp;gt;&amp;quot;;                   &lt;br /&gt;
   rtype = &amp;quot;&amp;lt;watch flags&amp;gt;&amp;quot;;                &lt;br /&gt;
   action = &amp;quot;&amp;lt;action flags&amp;gt;&amp;quot;;              &lt;br /&gt;
   reason = &amp;quot;&amp;lt;reason&amp;gt;&amp;quot;;&lt;br /&gt;
   channel = &amp;quot;&amp;lt;optional alert channel&amp;gt;&amp;quot;;   &lt;br /&gt;
   length = &amp;lt;length in seconds&amp;gt;;                        &lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;regex&amp;gt; - PCRE format regular expression to match against.&lt;br /&gt;
* &amp;lt;watch flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;action flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;reason&amp;gt; - Used in error messages displayed to the user and/or kills/shuns/glines/zlines.&lt;br /&gt;
* &amp;lt;optional alert channel&amp;gt; - Requires the C action flag.&lt;br /&gt;
* &amp;lt;length in seconds&amp;gt; - Only applies to glines, zlines and shuns.&lt;br /&gt;
&lt;br /&gt;
Available watch flags:&lt;br /&gt;
&lt;br /&gt;
* n - Notices.&lt;br /&gt;
* N - Channel notices.&lt;br /&gt;
* p - Privmsgs.&lt;br /&gt;
* C - Channel privmsgs.&lt;br /&gt;
* q - Quits.&lt;br /&gt;
* P - Parts.&lt;br /&gt;
* d - DCCs.&lt;br /&gt;
* a - Away messages.&lt;br /&gt;
* t - Topics.&lt;br /&gt;
* u - Connects (nick!user@host:gecos).&lt;br /&gt;
* i - Nickname changes.&lt;br /&gt;
&lt;br /&gt;
Available action flags:&lt;br /&gt;
&lt;br /&gt;
* a - Auth. If used, logged in clients will be exempt from the filter.&lt;br /&gt;
* C - Channel alert. If used, filter matches will be sent to what is set in the SpamFilter {} block channel setting.&lt;br /&gt;
* S - Server (snotice) alert.&lt;br /&gt;
* k - Kill anyone who matches the filter.&lt;br /&gt;
* g - Gline anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* z - Zline anyone who matches the filter. The length can be given in seconds. This zlines *@ip, so you do not need the i action flag.&lt;br /&gt;
* s - Shun anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* i - Uses the client's IP vice host in a Gline/Shun.&lt;br /&gt;
* b - Block; will prevent the PRIVMSG/NOTICE/TOPIC/AWAY from going through.&lt;br /&gt;
* n - Notify; will notify the person matching the filter, stating they've matched a filter, and deny their message.&lt;br /&gt;
* m - Mark; will mark the client as being a spam source.&lt;br /&gt;
* K - Kick; will kick the user triggering the Spam Filter. The kick reason given will be the reason set in the Spam Filter. This Flag will only work with the N and C watch flags.&lt;br /&gt;
* o - Ops/HalfOps; exempts ops and halfops from any checks which have a channel target.&lt;br /&gt;
* v - Voice; exempts voiced users from any checks which have a channel target.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Shuns and Glines will be set using *@hostname. If you would them to be set using *@ip use the 'i' action flag.&lt;br /&gt;
* If you do not specify a length, then FILTER_DEFAULT_LENGTH will be used.&lt;br /&gt;
* The 'b' action flag cannot be used with the 'u' watch flag. You will need to use a kill flag to block them.&lt;br /&gt;
&lt;br /&gt;
== Features Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| F:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ircd-darenet has a large number of options and features, most of which can be configured using a Features {} block. If linking to DareNET, your Features {} block will be rather bare, since most DareNET-specific settings have been already defined in the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;featurename&amp;quot; = &amp;quot;value&amp;quot;;&lt;br /&gt;
  &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need one Features {} block, in which you use &amp;quot;featurename&amp;quot; = &amp;quot;value1&amp;quot;;, &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;, and so on. Please note all values, whether integers or strings, must be enclosed in double quotes. &lt;br /&gt;
&lt;br /&gt;
See the [[Server_Features|servers features]] page for a list of available features.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;FILE&amp;quot; &amp;quot;ircd.log&amp;quot;;&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;LEVEL&amp;quot; &amp;quot;CRIT&amp;quot;;&lt;br /&gt;
  &amp;quot;HUB&amp;quot; = &amp;quot;FALSE&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IRCd]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5</id>
		<title>DareNET IRCd Configuration/1.5</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5"/>
				<updated>2013-06-17T17:58:22Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;/* General block */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This is a reference guide for ircd-darenet 1.5.x's configuration file.&lt;br /&gt;
&lt;br /&gt;
The configuration format consists of various blocks, each containing name-value pairs, tags or string data. It is designed to be easily readable by both human ircd.&lt;br /&gt;
&lt;br /&gt;
A block consists of a name, an opening '{' brace, statements, a closing '}' brace, and a ';' semicolon. A statement consists of a name possibly followed by an '=' equals sign and a value, ending with a semicolon. All strings must be surrounded by '&amp;quot;' double quotes.&lt;br /&gt;
&lt;br /&gt;
A sample block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;blockname&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = value;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;string&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;123&amp;lt;/span&amp;gt;;&lt;br /&gt;
    tag;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All elements of the configuration are separated by whitespace, and can be packed on one line, or broken up over several lines. Whitespace is defined as space, tab or carriage return/linefeed. Three forms of comments are allowed: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/* C style single/multi-line */&lt;br /&gt;
&lt;br /&gt;
// C++ style single-line&lt;br /&gt;
&lt;br /&gt;
# Shell style single-line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{info|text=Blocks are used in the reverse order than how they're listed, when the configuration file is parsed. This means you should start multiple block definitions with the &amp;quot;fall through&amp;quot;, and end with the most detailed.}}&lt;br /&gt;
&lt;br /&gt;
== General block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;M:name:vhost:description::numeric&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The General block defines information about the server itself. It is required for the server to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;General&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;test.area.zone.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* description: the description of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    description = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ircd-darenet test server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* numeric: the unique server numeric for our server. It must be a&lt;br /&gt;
     * digit between 0 and 4095, and is not updated on a rehash.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    numeric = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;999&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_private_key: our ssl private key. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_private_key = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_pem: file containing our ssl certificate and private key */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_pem = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.pem&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* dpass: (optional) password for DIE command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    dpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;encrypted pass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rpass: (optional) password for RESTART command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;$PLAIN$password&amp;quot;&amp;lt;/span&amp;gt;;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server name may only be changed by a server restart. The description can be changed on rehash, but will not propagate to other linked servers.&lt;br /&gt;
&lt;br /&gt;
There must be exactly one General block.&lt;br /&gt;
&lt;br /&gt;
== Admin block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;A:line1:line2:line3&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Admin block defines information that can be retrieved with the &amp;lt;code&amp;gt;/ADMIN&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Admin&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;DareNET - http://www.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Infrastructure Team&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    contact = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;&amp;amp;lt;infrastructure@darenet.org&amp;amp;gt;&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not all lines are required. There may only be one Admin block.&lt;br /&gt;
&lt;br /&gt;
== Class block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Y:class:pingfreq::maxlinks:sendq (clients)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;Y:class:pingfreq:connectfreq:maxlinks:sendq (servers)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Class blocks define connection classes. All connections to the server are associated with a &amp;quot;connection class&amp;quot;, whether they be incoming or outgoing (initiated by the server), be they clients or servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: a name for the connection class. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* pingfreq: how often to PING idle connections. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    pingfreq = 1 minute 30 seconds;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* sendq: send buffer limit (i.e., the amount of data allowed in&lt;br /&gt;
     * a client's queue before they are dropped.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: the maximum number of connections that may use this&lt;br /&gt;
     * class. May be between 0 and 4,000,000,000.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* usermode: an optional list of user modes that should set&lt;br /&gt;
     * upon the user while connecting.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxchans: the maximum number of channels that clients may join.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxchans = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Opers&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 2 minutes;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    whox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* connectfreq: this token applies only to servers, and specifies&lt;br /&gt;
     * the frequency that the server tries to auto connect. Setting this to 0 will cause a&lt;br /&gt;
     * server to attempt to connect repeatedly, with no delay until the maxlinks condition&lt;br /&gt;
     * is satisfied (which is not a good thing).&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: for server classes, specifies the maximum number of&lt;br /&gt;
     * servers to autoconnect to. This should be 0 for hubs, and 1 for leafs.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Leaf_Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
    maxlinks = 1;&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For connection classes intended for operator use, you can specify privileges the operator should be granted when the Operator block names the class. The local privilege MUST be defined by either the Class or Operator block. It is highly recommended that most privileges be explicitly specified in the operator's Operator block on DareNET.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;default&amp;quot; class is created internally. This class is used when no other class is specified, but its settings are not useful for most situations. Custom classes are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Class blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Client block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;I:ipmask:passwd:hostmask:port:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Client blocks define the hosts client connections are allowed from, and places them into classes. While the server will start without a Client block, it will not be usable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Client&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: resolved user@host mask allowed to connect. This is optional&lt;br /&gt;
     * if you are using the ip mask to match against.  Additionally, if you specify *@loc for &lt;br /&gt;
     * this field it will match all LOC users.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@*.wirehub.net&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ip: unresolved user@ip mask allowed to connect. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ip = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@195.86.128.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: (optional) password that is required to use this block.&lt;br /&gt;
     * This password string is not encrypted.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;letMEHin&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class the user should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: if specified, the server will only accept clients when &lt;br /&gt;
     * the total number of connections to the network from the same IP number doesn't exceed&lt;br /&gt;
     * this number.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: (optional) a port to limit this block to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6660&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server uses a default deny policy for incoming connections. You need to define at least one Client block if you wish to use your server.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; fields specify which connections the block matches. The server always performs a DNS and ident lookup for connections. If DNS cannot find a hostname, the IP address is used instead. If ident cannot get a valid reply, &amp;quot;unknown&amp;quot; is used during this state. The client's resolved hostname, IP address, ident reply, and username (from the USER line) are used according to the results of the matches described below.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' There is a specify case for UNIX domain sockets and localhost connections. In these cases, the &amp;lt;code&amp;gt;ip / host&amp;lt;/code&amp;gt; field is compared with the name of the server, and thus not with any IP number representation. The name of the server is that returned in the numeric 002 reply, example: &amp;lt;code&amp;gt;002 Your host is 2.darenet.org[jolan.ppro]. running version ...&amp;lt;/code&amp;gt; In this example, &amp;quot;jolan.ppro&amp;quot; is the name used for matching; therefore, UNIX domain sockets and connections to localhost would match a block containing: &amp;lt;code&amp;gt;host = &amp;quot;*@jolan.ppro&amp;quot;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field attempts to match first against the resolved hostname, if available, and then against the IP address. To include the connection's ident reply in the match, use a mask in the form &amp;quot;ident@host&amp;quot;. If a client matches, it appears on IRC using its resolved hostname.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field attempts to match against the IP address only. An ident may be specified to match against, as well.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the ident portion is specified in a mask (i.e., &amp;quot;ident@host&amp;quot; instead of &amp;quot;host&amp;quot;), and no ident reply is received from the client, it will appear on IRC with its username prefixed with a '~' tilde. If the matching mask used only the &amp;quot;host&amp;quot; form, the client's username is not prefixed. If a valid ident reply is received, it is always used and not prefixed.&lt;br /&gt;
&lt;br /&gt;
You need only specify a &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field, not both. If both are used, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; is matched against first.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Client blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Motd block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;T:hostmask&amp;amp;#124;classnumber:path&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Motd blocks allow a different Message of the Day to be shown to connecting clients based on their origin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Motd&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: a hostmask, class number or class name to match against. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.jp&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* file: the path to the MOTD file to be shown (relative to DPATH). */&amp;lt;/span&amp;gt;&lt;br /&gt;
    file = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;jp.motd&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More then one &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field may be present in an Motd block.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Motd blocks.&lt;br /&gt;
&lt;br /&gt;
== Connect block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;C:host:cpassword:name:port:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;N:host:apassword:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;H:host::name:maxhops&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;L:host::mask:depth&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Connect blocks define links to other servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Connect&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of the server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;uplink.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the host or IP to connect to. If a hostname is used it&lt;br /&gt;
     * must match the reverse dns of the server.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.168.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) the host or IP to bind to for this connection.&lt;br /&gt;
     * If this is not specified, the default vhost (in general {}) is used.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;#vhost = &amp;quot;192.168.0.50&amp;quot;;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password we send and accept. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;somepass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the port to connect to this server on. This is also the&lt;br /&gt;
     * port used when the server attempts to auto-connect (if enabled). &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class this server should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxhops: the max number of hops a hub may introduce. If a hub&lt;br /&gt;
     * tries to introduce servers farther away than what is specified here, an SQUIT is&lt;br /&gt;
     * issued. The 'leaf' token is an alias for &amp;quot;maxhops = 0;&amp;quot;. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxhops = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hub: (optional) the mask of servers that this server may hub&lt;br /&gt;
     * for. The tag 'hub' is an alias for 'hub = &amp;quot;*&amp;quot;;'.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hub = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.us.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* autoconnect: (optional) determines if we should try to&lt;br /&gt;
    * automatically connect to this server. The default is to autoconnect.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    autoconnect = no;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Connect blocks.&lt;br /&gt;
&lt;br /&gt;
== CRule block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;D:servermask::rule&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;d:servermask::rule&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CRule (connection rule) blocks control ircd-darenet's advanced, real-time rule-based routing decision making system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;CRule&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: rules will be applied towards servers matching this mask. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.eu.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rule: the connection rule. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rule = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;connected(amsterdam.eu.*)&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* all: (optional) setting this to 'yes' will make the rule always&lt;br /&gt;
     * apply; otherwise, it only applies to autoconnects.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    all = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If more than one server mask is present in a single crule, the rule will apply to all servers.&lt;br /&gt;
&lt;br /&gt;
See doc/readme.crules for more information on the crule system, including examples of allowed rules.&lt;br /&gt;
&lt;br /&gt;
There may be multiple CRule blocks.&lt;br /&gt;
&lt;br /&gt;
== Port Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;P:hostmask:interface:&amp;lt;[CES][H]&amp;gt;:port&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Port blocks define where the server will accept connections. At least one port block is required to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Port&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the specific port to listen on. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* mask: (optional) the IP address (or a range of IP addresses) that&lt;br /&gt;
     * the server will allow connections from.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    mask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.*.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) set a specific IP/host the port (listed after&lt;br /&gt;
     * the 'port' token) will listen for.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: setting this to yes makes this a server only port. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hidden: (optional) setting this to 'yes' makes the port&lt;br /&gt;
     * &amp;quot;hidden&amp;quot; from stats replies.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hidden = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* crypt: (optional) setting this to 'yes' makes the port accept&lt;br /&gt;
     * SSL connections.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    crypt = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* exempt: (optional) setting this to 'yes' makes the port exempt&lt;br /&gt;
     * from connection restrictions during a timed /RESTART or /DIE.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    exempt = no;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;mask&amp;lt;/code&amp;gt; field should only contain IP addresses (CIDR notation is supported) or '*', if used. This does not use DNS in any way, so you cannot use it to allow *.dk or *.uk, for example. Attempting to specify anything other than IP addresses will result in the port allowing connections from anyone (as if you used '*').&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;vhost&amp;lt;/code&amp;gt; field (i.e., bind address) is not specified, the server will listen on all available interfaces for that port.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Port blocks.&lt;br /&gt;
&lt;br /&gt;
== Operator block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;O:host:password:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;o:host:password:name:flags:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Operator blocks define server operators. One or more of these blocks is recommended if you intend to maintain your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Operator&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the oper's username. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;johndoe&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the user@host/IP mask required for this operator. CIDR&lt;br /&gt;
     * notation is supported. Multiple host=&amp;quot;&amp;quot; lines are supported.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;god@*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password required to oper. By default, the password is&lt;br /&gt;
     * hashed using the system's native crypt() function. Other password&lt;br /&gt;
     * mechanisms are available; the umkpasswd utility located in the ircd&lt;br /&gt;
     * directory can hash passwords using those mechanisms. If you use a&lt;br /&gt;
     * password format that is not generated by umkpasswd, ircd-darenet will&lt;br /&gt;
     * not recognize the oper's password.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;/home/irc/keys/johndoe.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* flags: misc options for the oper. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    flags = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;OAWInFR&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* snomask: (optional) specific server notice mask on oper up. If this&lt;br /&gt;
     * is specified, an oper will not be given sno_default.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    snomask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+cegGiKorRs&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* privileges: (optional) you can specify privileges an oper will be&lt;br /&gt;
     * explicitly granted (or denied) upon opering. Any privileges defined&lt;br /&gt;
     * will override any privilege settings that may be present in the class&lt;br /&gt;
     * block specified above, and the default setting for those privileges.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    local = no;    routing = yes;    routeinfo = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; fields match the parameters of the &amp;lt;code&amp;gt;OPER&amp;lt;/code&amp;gt; command. To authenticate as an IRC operator, a client must match one of the &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; fields, which may be a resolved hostname or IP address.&lt;br /&gt;
&lt;br /&gt;
To use an unencrypted password, prefix the password with '$PLAIN', e.g., &amp;quot;$PLAIN$aPpLe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want to use a more secure password authentication system, generate a 1024bit RSA key, and specify the path to the key as the password (as shown in the example above), and add 'R' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field. This will use the &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; system instead of &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;. See doc/challenge.txt for more details.&lt;br /&gt;
&lt;br /&gt;
A client may also use their SSL client certificate fingerprint to authenticate as an IRC operator. To use this method, specify the client's certificate fingerprint as the password, and add 'S' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
Only one password authentication method may be used at a time. That is, you cannot use &amp;lt;code&amp;gt;CHALLENGE&amp;lt;/code&amp;gt; and SSL client certificate fingerprint at the same time.&lt;br /&gt;
&lt;br /&gt;
There are currently 9 different oper flags:&lt;br /&gt;
* o - Local operator&lt;br /&gt;
* O - Global operator&lt;br /&gt;
* A - Server administrator&lt;br /&gt;
* r - This operator block may be used from remote servers&lt;br /&gt;
* W - Allowed to set user mode +W&lt;br /&gt;
* I - Allowed to set user mode +I&lt;br /&gt;
* n - Allowed to set user mode +n&lt;br /&gt;
* F - Allowed to set user mode +F&lt;br /&gt;
* S - Use SSL client certificate fingerprint to &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;&lt;br /&gt;
* R - Use &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; password authentication system.&lt;br /&gt;
* j - Allowed to use juped nicknames.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; field specifies the connection class the client will be placed in, regardless of their previous connection class. If not specified, the default class is used; see the Class block description for details.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Operator blocks.&lt;br /&gt;
&lt;br /&gt;
== UWorld block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Uworld block defines &amp;quot;U-lined&amp;quot; servers, which are allowed to do special network things. Used for network services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;UWorld&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the server name or wildcard mask the &amp;quot;U-line&amp;quot; applies to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;services.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;stats.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UWorld servers are permitted to do things typical network services would want to do, such as apply network bans, manage channel modes, etc; the details are too numerous and complex to provide here.&lt;br /&gt;
&lt;br /&gt;
There may be multiple UWorld blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== NickJupe block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NickJupe blocks disallow certain nicknames from being used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;NickJupe&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ChanServ&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;NickS?rv&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the nick to disallow (the '*' and '?' wildcards are supported), and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice).&lt;br /&gt;
&lt;br /&gt;
There may be multiple NickJupe blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Quarantine block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Q:channel:reason&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Quarantine blocks disallow certain channel names from being used by non-opers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Quarantine&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;#help&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;For assistance, please join #Support instead.&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the channel to disallow, and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice). Note, these are only checked at &amp;lt;code&amp;gt;/JOIN&amp;lt;/code&amp;gt;, so if you add a channel and rehash, users will not be kicked if they're already in the channel.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Quarantine blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Ban Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| K:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ban {} blocks disallow connections from clients based on specific ident, host and/or gecos masks. They are a flexible general client ban mechanism.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
  name = &amp;quot;mark&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Required tokens (at least one of):''' &amp;lt;code&amp;gt;host, realname, username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional tokens:''' &amp;lt;code&amp;gt;klineprompt, reason, name, file&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;klineprompt;&amp;lt;/code&amp;gt; is present, users may bypass the ban by using Login-on-Connect (LOC). You can also mark clients by using &amp;lt;code&amp;gt;name = &amp;quot;mark here&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  realname = &amp;quot;realname here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to ban based on username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;username here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to use a file as comment for the ban, using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  file = &amp;quot;path/to/file/with/reason/to/show&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file can contain for example, a reason, a link to the server rules and a contact address. Also, note the combination of username and host in the host field. IP-based Ban {} blocks apply to all hosts, even if an IP address has a properly resolving host name. CIDR format is the most efficient, and should be used when possible. The server will attempt to convert wildcard IP masks to CIDR form internally.&lt;br /&gt;
&lt;br /&gt;
Additionally, you may specify a hostmask prefixed with $V to indicate a match should be performed against the CTCP version of the user rather han the host/IP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  version = &amp;quot;string&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;reason here&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Ban {} blocks.&lt;br /&gt;
&lt;br /&gt;
'''Example blocks:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;*@*.aol.com&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Due to abuse, AOL users must login with their DareNET account to connect.&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.0.0/16&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Except Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| E:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Except {} blocks can be used to exempt a user from Kill {} blocks, GLINEs, ZLINEs, SHUNs, spam filters, IDENT_CHALLENGE and LIST restrictions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mask&amp;gt; is an ident@ip/host/cidr mask that is to match the user to be exempted. &amp;lt;flags&amp;gt; is one or more of the following flags to specify what the exempt is to match.&lt;br /&gt;
&lt;br /&gt;
* k - Except affects KLINEs.&lt;br /&gt;
* g - Except affects GLINEs.&lt;br /&gt;
* i - Except affects ident challenges (see IDENT_CHALLENGE feature).&lt;br /&gt;
* n - Except for notilde.&lt;br /&gt;
* s - Except affects SHUNs.&lt;br /&gt;
* z - Except affects ZLINEs.&lt;br /&gt;
* F - Forces umode +F on user to bypass message flood checks.&lt;br /&gt;
* I - Exempts user from rapid (re)connection throttling &amp;amp; clone checks.&lt;br /&gt;
* L - Except affects LIST restrictions.&lt;br /&gt;
* N - Exempts user from &amp;quot;no connections&amp;quot; restrictions, allowing them to connect anyway.&lt;br /&gt;
* S - Except affects spam filters.&lt;br /&gt;
&lt;br /&gt;
NOTE: For throttling/clone exemptions (I), only IP addresses are supported, since these checks are performed before any DNS resolutions or identd replies are received.&lt;br /&gt;
NOTE: For notilde (n), IP/Host is required.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@*.darenet.org&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;kgzsL&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@127.0.0.1&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;I&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| B:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Command {} blocks aim to improve the generic IRC users ability to use network services. Each block sets up a /&amp;lt;service&amp;gt; alias so that users may type that instead of a full /msg command. Some might argue this is a bit more secure as well :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;&amp;lt;alias name&amp;gt;&amp;quot;;&lt;br /&gt;
  service = &amp;quot;&amp;lt;target&amp;gt;&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;&amp;lt;anything to prepend to the message&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt; prefix = &amp;quot;&amp;quot;;&amp;lt;/code&amp;gt; is given, then ircd-darenet will prefix the specified string to whatever the user inputs before sending it to the service.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;NICKSERV&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Forward Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| b:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Forward {} blocks enable the server to forward any messages which are prefixed and specific with a Forward {} block. This allows users to use Services' fantasy commands without a service client being in the channel (provided the channel is registered). This also removes the need for ChanServ to monitor channel traffic (e.g. allowing the use of umode +d).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot; = &amp;quot;&amp;lt;server&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;.&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
  &amp;quot;?&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Redirect Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| R:line&lt;br /&gt;
|}&lt;br /&gt;
When a client connects and his/her host matches a Redirect {} block, then a 010 reply is sent back to the client with the redirection server and port.&lt;br /&gt;
&lt;br /&gt;
Currently only EPIC supports auto redirection when it gets a 010 reply (e.g. it will automatically connect to the server specified in the 010 reply). Other clients will get a message specifying what server and port to connect to. as well as an unauthorized disconnect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  server = &amp;quot;&amp;lt;redirection server&amp;gt;&amp;quot;;&lt;br /&gt;
  port = &amp;quot;&amp;lt;redirection port&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*.aol.com&amp;quot;;&lt;br /&gt;
  server = &amp;quot;irc.aol.com&amp;quot;;&lt;br /&gt;
  port = &amp;quot;6667&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spoofhost Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| S:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spoofhost {} blocks allows clients/opers to spoof their host. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Spoofhost &amp;quot;&amp;lt;spoof host&amp;gt;&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  host = &amp;quot;&amp;lt;*.host.cc|a.b.c.*|CIDR&amp;gt;&amp;quot;;&lt;br /&gt;
  username = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;spoof host&amp;gt; - The spoofed hostname.&lt;br /&gt;
* &amp;lt;pass&amp;gt; - A password for this spoof host. Used if SETHOST_USER is set to TRUE.&lt;br /&gt;
* &amp;lt;host&amp;gt; - A hostmask to match against users that are to be auto-spoofed. Used if SETHOST_AUTO is set to TRUE. Can be in the form of: host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards for non-CIDR.&lt;br /&gt;
* &amp;lt;username&amp;gt; - A mask for matching against the user's ident reply.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Spoofhost &amp;quot;sline.darenet.org&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;anygoodpass&amp;quot;;&lt;br /&gt;
  host = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
  username = &amp;quot;*&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNSBL Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| X:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DNSBL {} blocks allow you to prevent clients connecting who are listed on DNS blacklists. Their connection will be rejected during the connection process along with the name and reason you give for the DNSBL they have been matched on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;&amp;lt;dnsbl.site.org&amp;gt;&amp;quot;;&lt;br /&gt;
  name = &amp;quot;&amp;lt;name&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;&amp;lt;replies/mask&amp;gt;&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;&amp;lt;rejection message&amp;gt;&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;&amp;lt;rank&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* b (Bitmask DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* r (Reply DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* a (Allow Connect) - Allow the client to connect anyway. This could used with a DNSBL whitelist. This could also be used to allow users to still connect, but mark their hosts so that channel ops can easily ban them from their channels. (Bypass LOC requirements)&lt;br /&gt;
* d (Deny Connect) - If the user is found on this DNSBL, then they can't connect, even if they are allowed on through another DNSBL {} block.&lt;br /&gt;
* m (Mark Hostname) - Mark the hostname of a skipped client&lt;br /&gt;
&lt;br /&gt;
The name option is used for the Mark Hostname flag, and may only contain hostname valid characters only (e.g. NO spaces). With Reply DNSBL's you need to list the replies in a comma separated list. See below for an example. With Bitmask DNSBL's, again, specify the replies you need to match for. The server will sum them up and match them against the DNSBL reply. The rejected user's nick, username, ip, and host can be placed into the rejection message by using these codes:&lt;br /&gt;
&lt;br /&gt;
* %n - Nickname&lt;br /&gt;
* %u - Username&lt;br /&gt;
* %h - Hostname&lt;br /&gt;
* %i - IP Address&lt;br /&gt;
&lt;br /&gt;
The rank number must be unique over all DNSBL {} blocks. The higher the number, the greater precedence it has. The highest ranking DNSBL {} block which is a matched against a user will get its name marked in the hostname.&lt;br /&gt;
&lt;br /&gt;
Notes: MAKE SURE you read the DNSBL website before you go ahead and use it as they may have rules for large sites/servers who use them. If you do not wish to use DNSBL checking then simply do not create any DNSBL {} blocks.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
Reply DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.sorbs.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;sorbs.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;r&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,2,3,4&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=%i&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;1&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitmask DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.dnsbl.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;dnsbl.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;b&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,3,5&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On DNSBL&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;2&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebIRC Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| W:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WebIRC {} blocks allow you display the real hostname of users connecting via CGI:IRC clients and sites such as Mibbit.com. These clients will send a WEBIRC command along with the user's hostname, ip and WebIRC {} block password to the server. The password needs to be encrypted like Operator {} block passwords. When the ircd receives the command, instead of using the hostname of the site the users is connecting from, the hostname sent in WEBIRC will be set. All this is done before the client enters the network completely. Please remember to enclose the description using quotes otherwise things will break.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;&amp;lt;description&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* m - Marks each client connected via the WebIRC {} block using the provided description.&lt;br /&gt;
* s - Sets the ident specified in the ident field for each WEBIRC client.&lt;br /&gt;
* u - Uses the ident from USER that the WEBIRC client sends.&lt;br /&gt;
&lt;br /&gt;
Note: Do not use both s and u, only choose one of them.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@webchat.darenet.org&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;VRKLKuGKn0jLs&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;ms&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;webirc&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;DareNET WebChat&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpamFilter Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is probably the most controversial addition to ircd-darenet 1.3.x; however, sadly, it may become useful.&lt;br /&gt;
&lt;br /&gt;
SpamFiler {} blocks allow you to filter PRIVMSG's, NOTICE's, TOPIC's and AWAY's for spam. The filtering is done using regular expressions, so please be careful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SpamFilter {&lt;br /&gt;
   regex = &amp;quot;&amp;lt;regex&amp;gt;&amp;quot;;                   &lt;br /&gt;
   rtype = &amp;quot;&amp;lt;watch flags&amp;gt;&amp;quot;;                &lt;br /&gt;
   action = &amp;quot;&amp;lt;action flags&amp;gt;&amp;quot;;              &lt;br /&gt;
   reason = &amp;quot;&amp;lt;reason&amp;gt;&amp;quot;;&lt;br /&gt;
   channel = &amp;quot;&amp;lt;optional alert channel&amp;gt;&amp;quot;;   &lt;br /&gt;
   length = &amp;lt;length in seconds&amp;gt;;                        &lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;regex&amp;gt; - PCRE format regular expression to match against.&lt;br /&gt;
* &amp;lt;watch flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;action flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;reason&amp;gt; - Used in error messages displayed to the user and/or kills/shuns/glines/zlines.&lt;br /&gt;
* &amp;lt;optional alert channel&amp;gt; - Requires the C action flag.&lt;br /&gt;
* &amp;lt;length in seconds&amp;gt; - Only applies to glines, zlines and shuns.&lt;br /&gt;
&lt;br /&gt;
Available watch flags:&lt;br /&gt;
&lt;br /&gt;
* n - Notices.&lt;br /&gt;
* N - Channel notices.&lt;br /&gt;
* p - Privmsgs.&lt;br /&gt;
* C - Channel privmsgs.&lt;br /&gt;
* q - Quits.&lt;br /&gt;
* P - Parts.&lt;br /&gt;
* d - DCCs.&lt;br /&gt;
* a - Away messages.&lt;br /&gt;
* t - Topics.&lt;br /&gt;
* u - Connects (nick!user@host:gecos).&lt;br /&gt;
* i - Nickname changes.&lt;br /&gt;
&lt;br /&gt;
Available action flags:&lt;br /&gt;
&lt;br /&gt;
* a - Auth. If used, logged in clients will be exempt from the filter.&lt;br /&gt;
* C - Channel alert. If used, filter matches will be sent to what is set in the SpamFilter {} block channel setting.&lt;br /&gt;
* S - Server (snotice) alert.&lt;br /&gt;
* k - Kill anyone who matches the filter.&lt;br /&gt;
* g - Gline anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* z - Zline anyone who matches the filter. The length can be given in seconds. This zlines *@ip, so you do not need the i action flag.&lt;br /&gt;
* s - Shun anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* i - Uses the client's IP vice host in a Gline/Shun.&lt;br /&gt;
* b - Block; will prevent the PRIVMSG/NOTICE/TOPIC/AWAY from going through.&lt;br /&gt;
* n - Notify; will notify the person matching the filter, stating they've matched a filter, and deny their message.&lt;br /&gt;
* m - Mark; will mark the client as being a spam source.&lt;br /&gt;
* K - Kick; will kick the user triggering the Spam Filter. The kick reason given will be the reason set in the Spam Filter. This Flag will only work with the N and C watch flags.&lt;br /&gt;
* o - Ops/HalfOps; exempts ops and halfops from any checks which have a channel target.&lt;br /&gt;
* v - Voice; exempts voiced users from any checks which have a channel target.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Shuns and Glines will be set using *@hostname. If you would them to be set using *@ip use the 'i' action flag.&lt;br /&gt;
* If you do not specify a length, then FILTER_DEFAULT_LENGTH will be used.&lt;br /&gt;
* The 'b' action flag cannot be used with the 'u' watch flag. You will need to use a kill flag to block them.&lt;br /&gt;
&lt;br /&gt;
== Features Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| F:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ircd-darenet has a large number of options and features, most of which can be configured using a Features {} block. If linking to DareNET, your Features {} block will be rather bare, since most DareNET-specific settings have been already defined in the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;featurename&amp;quot; = &amp;quot;value&amp;quot;;&lt;br /&gt;
  &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need one Features {} block, in which you use &amp;quot;featurename&amp;quot; = &amp;quot;value1&amp;quot;;, &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;, and so on. Please note all values, whether integers or strings, must be enclosed in double quotes. &lt;br /&gt;
&lt;br /&gt;
See the [[Server_Features|servers features]] page for a list of available features.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;FILE&amp;quot; &amp;quot;ircd.log&amp;quot;;&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;LEVEL&amp;quot; &amp;quot;CRIT&amp;quot;;&lt;br /&gt;
  &amp;quot;HUB&amp;quot; = &amp;quot;FALSE&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IRCd]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Staff:Reference_Guide</id>
		<title>Staff:Reference Guide</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Staff:Reference_Guide"/>
				<updated>2013-06-13T15:39:51Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__A quick reference guide.&lt;br /&gt;
&lt;br /&gt;
== Channels ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 95%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;500px&amp;quot; |Max entries C user lists&lt;br /&gt;
| 200&lt;br /&gt;
|-&lt;br /&gt;
| Max entries C lamers lists&lt;br /&gt;
| 100&lt;br /&gt;
|-&lt;br /&gt;
| Max length channel greetings&lt;br /&gt;
| 120 characters&lt;br /&gt;
|-&lt;br /&gt;
| Max length user infoline&lt;br /&gt;
| 400 characters&lt;br /&gt;
|-&lt;br /&gt;
| Time a user must remain outside of channel before showing infoline again&lt;br /&gt;
| 30 seconds&lt;br /&gt;
|-&lt;br /&gt;
| Max number of channels a user may join&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| Max entries channel ban lists&lt;br /&gt;
| 100&lt;br /&gt;
|-&lt;br /&gt;
| Max length of topic and kick messages&lt;br /&gt;
| 250 characters&lt;br /&gt;
|-&lt;br /&gt;
| Max channels a user may register&lt;br /&gt;
| Up to 15 channels on a single account&lt;br /&gt;
|-&lt;br /&gt;
| Minimum access level needed to set C notes&lt;br /&gt;
| See &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;/msg C HELP NOTE TYPES&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Can non-oper view a channel's ban list from outside channel?&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| How to view a channel's creation date?&lt;br /&gt;
| Use &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;/mode #channelname&amp;lt;/code&amp;gt; - may not necessarily match a channel's registration date&lt;br /&gt;
|-&lt;br /&gt;
| How to remove O from a channel?&lt;br /&gt;
| Contact an IRC operator&lt;br /&gt;
|-&lt;br /&gt;
| When do channels expire?&lt;br /&gt;
| Automatically after 30 days of inactivity, if channel is not flagged as ''nodelete''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Users ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 95%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;500px&amp;quot; |How often can user change their account password?&lt;br /&gt;
| Once every 3 days&lt;br /&gt;
|-&lt;br /&gt;
| What is the hard limit for max logins?&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| When do cookies expire?&lt;br /&gt;
| 24 hours, or when used. Whichever comes first.&lt;br /&gt;
|-&lt;br /&gt;
| Max length for account names&lt;br /&gt;
| 15 characters.&lt;br /&gt;
|-&lt;br /&gt;
| Max length for nicknames&lt;br /&gt;
| 30 characters&lt;br /&gt;
|-&lt;br /&gt;
| Max length for away messages&lt;br /&gt;
| 250 characters&lt;br /&gt;
|-&lt;br /&gt;
| When do accounts expire?&lt;br /&gt;
| They don't&lt;br /&gt;
|-&lt;br /&gt;
| When do nicknames expire?&lt;br /&gt;
| Automatically after 30 days of inactivity, if account not flagged as ''vacation/nodelete''&lt;br /&gt;
|-&lt;br /&gt;
| How often can a user change their title?&lt;br /&gt;
| Once every 14 days&lt;br /&gt;
|-&lt;br /&gt;
| How to check what clients are logged into an account?&lt;br /&gt;
| Use N's &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;STATUS&amp;lt;/code&amp;gt; command&lt;br /&gt;
|-&lt;br /&gt;
| How to check number of nicknames registered to an account?&lt;br /&gt;
| Use N's &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;STATUS&amp;lt;/code&amp;gt; command&lt;br /&gt;
|-&lt;br /&gt;
| How to check if a user is eligible to change their title?&lt;br /&gt;
| Use N's &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;STATUS&amp;lt;/code&amp;gt; command&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 95%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;500px&amp;quot; |Max clients allowed from a single IP/Host&lt;br /&gt;
| 5, anything over requires a trust&lt;br /&gt;
|-&lt;br /&gt;
| Duration for G-lines set for exceeding session limit&lt;br /&gt;
| 30 minutes&lt;br /&gt;
|-&lt;br /&gt;
| Duration of gags (services ignore) set for failed auth attempts&lt;br /&gt;
| 30 minutes&lt;br /&gt;
|-&lt;br /&gt;
| Who can see other helpers' stats?&lt;br /&gt;
| Support trainers and higher&lt;br /&gt;
|-&lt;br /&gt;
| What does O's &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;BLOCK&amp;lt;/code&amp;gt; command do?&lt;br /&gt;
| Places a 1 hour G-line on a host matching the user given.&lt;br /&gt;
|-&lt;br /&gt;
| What is #staff?&lt;br /&gt;
| Our official staff channel. All staff are required to idle in this channel.&lt;br /&gt;
|-&lt;br /&gt;
| How to check the duration of a G-line manually?&lt;br /&gt;
| Type &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;/gline *@IP&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;Then use &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;/OperServ UTIME &amp;lt;long_number_you_get&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;mIRC users could also use: &amp;lt;code class=&amp;quot;scmd&amp;quot;&amp;gt;//echo $asctime(long_number_you_get)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Is DareNET's IRCu and Srvx patches/modifications publicly available?&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Staff Documentation|Reference Guide]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5</id>
		<title>DareNET IRCd Configuration/1.5</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5"/>
				<updated>2012-12-06T21:29:27Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;/* DNSBL Block */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This is a reference guide for ircd-darenet 1.5.x's configuration file.&lt;br /&gt;
&lt;br /&gt;
The configuration format consists of various blocks, each containing name-value pairs, tags or string data. It is designed to be easily readable by both human ircd.&lt;br /&gt;
&lt;br /&gt;
A block consists of a name, an opening '{' brace, statements, a closing '}' brace, and a ';' semicolon. A statement consists of a name possibly followed by an '=' equals sign and a value, ending with a semicolon. All strings must be surrounded by '&amp;quot;' double quotes.&lt;br /&gt;
&lt;br /&gt;
A sample block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;blockname&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = value;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;string&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;123&amp;lt;/span&amp;gt;;&lt;br /&gt;
    tag;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All elements of the configuration are separated by whitespace, and can be packed on one line, or broken up over several lines. Whitespace is defined as space, tab or carriage return/linefeed. Three forms of comments are allowed: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/* C style single/multi-line */&lt;br /&gt;
&lt;br /&gt;
// C++ style single-line&lt;br /&gt;
&lt;br /&gt;
# Shell style single-line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{info|text=Blocks are used in the reverse order than how they're listed, when the configuration file is parsed. This means you should start multiple block definitions with the &amp;quot;fall through&amp;quot;, and end with the most detailed.}}&lt;br /&gt;
&lt;br /&gt;
== General block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;M:name:vhost:description::numeric&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The General block defines information about the server itself. It is required for the server to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;General&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;test.area.zone.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* description: the description of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    description = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ircd-darenet test server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* numeric: the unique server numeric for our server. It must be a&lt;br /&gt;
     * digit between 0 and 4095, and is not updated on a rehash.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    numeric = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;999&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: the IP to bind to when we connect outward to other servers.&lt;br /&gt;
     * It must contain either a * or a valid ipv4 address in dotted quad notation. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.169.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_private_key: our ssl private key. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_private_key = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_pem: file containing our ssl certificate and private key */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_pem = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.pem&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* dpass: (optional) password for DIE command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    dpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;encrypted pass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rpass: (optional) password for RESTART command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;$PLAIN$password&amp;quot;&amp;lt;/span&amp;gt;;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server name may only be changed by a server restart. The description can be changed on rehash, but will not propagate to other linked servers.&lt;br /&gt;
&lt;br /&gt;
There must be exactly one General block.&lt;br /&gt;
&lt;br /&gt;
== Admin block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;A:line1:line2:line3&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Admin block defines information that can be retrieved with the &amp;lt;code&amp;gt;/ADMIN&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Admin&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;DareNET - http://www.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Infrastructure Team&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    contact = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;&amp;amp;lt;infrastructure@darenet.org&amp;amp;gt;&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not all lines are required. There may only be one Admin block.&lt;br /&gt;
&lt;br /&gt;
== Class block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Y:class:pingfreq::maxlinks:sendq (clients)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;Y:class:pingfreq:connectfreq:maxlinks:sendq (servers)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Class blocks define connection classes. All connections to the server are associated with a &amp;quot;connection class&amp;quot;, whether they be incoming or outgoing (initiated by the server), be they clients or servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: a name for the connection class. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* pingfreq: how often to PING idle connections. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    pingfreq = 1 minute 30 seconds;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* sendq: send buffer limit (i.e., the amount of data allowed in&lt;br /&gt;
     * a client's queue before they are dropped.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: the maximum number of connections that may use this&lt;br /&gt;
     * class. May be between 0 and 4,000,000,000.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* usermode: an optional list of user modes that should set&lt;br /&gt;
     * upon the user while connecting.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxchans: the maximum number of channels that clients may join.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxchans = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Opers&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 2 minutes;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    whox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* connectfreq: this token applies only to servers, and specifies&lt;br /&gt;
     * the frequency that the server tries to auto connect. Setting this to 0 will cause a&lt;br /&gt;
     * server to attempt to connect repeatedly, with no delay until the maxlinks condition&lt;br /&gt;
     * is satisfied (which is not a good thing).&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: for server classes, specifies the maximum number of&lt;br /&gt;
     * servers to autoconnect to. This should be 0 for hubs, and 1 for leafs.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Leaf_Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
    maxlinks = 1;&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For connection classes intended for operator use, you can specify privileges the operator should be granted when the Operator block names the class. The local privilege MUST be defined by either the Class or Operator block. It is highly recommended that most privileges be explicitly specified in the operator's Operator block on DareNET.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;default&amp;quot; class is created internally. This class is used when no other class is specified, but its settings are not useful for most situations. Custom classes are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Class blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Client block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;I:ipmask:passwd:hostmask:port:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Client blocks define the hosts client connections are allowed from, and places them into classes. While the server will start without a Client block, it will not be usable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Client&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: resolved user@host mask allowed to connect. This is optional&lt;br /&gt;
     * if you are using the ip mask to match against.  Additionally, if you specify *@loc for &lt;br /&gt;
     * this field it will match all LOC users.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@*.wirehub.net&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ip: unresolved user@ip mask allowed to connect. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ip = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@195.86.128.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: (optional) password that is required to use this block.&lt;br /&gt;
     * This password string is not encrypted.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;letMEHin&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class the user should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: if specified, the server will only accept clients when &lt;br /&gt;
     * the total number of connections to the network from the same IP number doesn't exceed&lt;br /&gt;
     * this number.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: (optional) a port to limit this block to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6660&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server uses a default deny policy for incoming connections. You need to define at least one Client block if you wish to use your server.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; fields specify which connections the block matches. The server always performs a DNS and ident lookup for connections. If DNS cannot find a hostname, the IP address is used instead. If ident cannot get a valid reply, &amp;quot;unknown&amp;quot; is used during this state. The client's resolved hostname, IP address, ident reply, and username (from the USER line) are used according to the results of the matches described below.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' There is a specify case for UNIX domain sockets and localhost connections. In these cases, the &amp;lt;code&amp;gt;ip / host&amp;lt;/code&amp;gt; field is compared with the name of the server, and thus not with any IP number representation. The name of the server is that returned in the numeric 002 reply, example: &amp;lt;code&amp;gt;002 Your host is 2.darenet.org[jolan.ppro]. running version ...&amp;lt;/code&amp;gt; In this example, &amp;quot;jolan.ppro&amp;quot; is the name used for matching; therefore, UNIX domain sockets and connections to localhost would match a block containing: &amp;lt;code&amp;gt;host = &amp;quot;*@jolan.ppro&amp;quot;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field attempts to match first against the resolved hostname, if available, and then against the IP address. To include the connection's ident reply in the match, use a mask in the form &amp;quot;ident@host&amp;quot;. If a client matches, it appears on IRC using its resolved hostname.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field attempts to match against the IP address only. An ident may be specified to match against, as well.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the ident portion is specified in a mask (i.e., &amp;quot;ident@host&amp;quot; instead of &amp;quot;host&amp;quot;), and no ident reply is received from the client, it will appear on IRC with its username prefixed with a '~' tilde. If the matching mask used only the &amp;quot;host&amp;quot; form, the client's username is not prefixed. If a valid ident reply is received, it is always used and not prefixed.&lt;br /&gt;
&lt;br /&gt;
You need only specify a &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field, not both. If both are used, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; is matched against first.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Client blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Motd block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;T:hostmask&amp;amp;#124;classnumber:path&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Motd blocks allow a different Message of the Day to be shown to connecting clients based on their origin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Motd&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: a hostmask, class number or class name to match against. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.jp&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* file: the path to the MOTD file to be shown (relative to DPATH). */&amp;lt;/span&amp;gt;&lt;br /&gt;
    file = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;jp.motd&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More then one &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field may be present in an Motd block.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Motd blocks.&lt;br /&gt;
&lt;br /&gt;
== Connect block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;C:host:cpassword:name:port:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;N:host:apassword:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;H:host::name:maxhops&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;L:host::mask:depth&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Connect blocks define links to other servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Connect&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of the server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;uplink.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the host or IP to connect to. If a hostname is used it&lt;br /&gt;
     * must match the reverse dns of the server.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.168.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) the host or IP to bind to for this connection.&lt;br /&gt;
     * If this is not specified, the default vhost (in general {}) is used.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;#vhost = &amp;quot;192.168.0.50&amp;quot;;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password we send and accept. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;somepass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the port to connect to this server on. This is also the&lt;br /&gt;
     * port used when the server attempts to auto-connect (if enabled). &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class this server should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxhops: the max number of hops a hub may introduce. If a hub&lt;br /&gt;
     * tries to introduce servers farther away than what is specified here, an SQUIT is&lt;br /&gt;
     * issued. The 'leaf' token is an alias for &amp;quot;maxhops = 0;&amp;quot;. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxhops = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hub: (optional) the mask of servers that this server may hub&lt;br /&gt;
     * for. The tag 'hub' is an alias for 'hub = &amp;quot;*&amp;quot;;'.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hub = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.us.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* autoconnect: (optional) determines if we should try to&lt;br /&gt;
    * automatically connect to this server. The default is to autoconnect.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    autoconnect = no;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Connect blocks.&lt;br /&gt;
&lt;br /&gt;
== CRule block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;D:servermask::rule&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;d:servermask::rule&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CRule (connection rule) blocks control ircd-darenet's advanced, real-time rule-based routing decision making system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;CRule&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: rules will be applied towards servers matching this mask. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.eu.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rule: the connection rule. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rule = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;connected(amsterdam.eu.*)&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* all: (optional) setting this to 'yes' will make the rule always&lt;br /&gt;
     * apply; otherwise, it only applies to autoconnects.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    all = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If more than one server mask is present in a single crule, the rule will apply to all servers.&lt;br /&gt;
&lt;br /&gt;
See doc/readme.crules for more information on the crule system, including examples of allowed rules.&lt;br /&gt;
&lt;br /&gt;
There may be multiple CRule blocks.&lt;br /&gt;
&lt;br /&gt;
== Port Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;P:hostmask:interface:&amp;lt;[CES][H]&amp;gt;:port&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Port blocks define where the server will accept connections. At least one port block is required to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Port&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the specific port to listen on. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* mask: (optional) the IP address (or a range of IP addresses) that&lt;br /&gt;
     * the server will allow connections from.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    mask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.*.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) set a specific IP/host the port (listed after&lt;br /&gt;
     * the 'port' token) will listen for.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: setting this to yes makes this a server only port. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hidden: (optional) setting this to 'yes' makes the port&lt;br /&gt;
     * &amp;quot;hidden&amp;quot; from stats replies.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hidden = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* crypt: (optional) setting this to 'yes' makes the port accept&lt;br /&gt;
     * SSL connections.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    crypt = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* exempt: (optional) setting this to 'yes' makes the port exempt&lt;br /&gt;
     * from connection restrictions during a timed /RESTART or /DIE.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    exempt = no;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;mask&amp;lt;/code&amp;gt; field should only contain IP addresses (CIDR notation is supported) or '*', if used. This does not use DNS in any way, so you cannot use it to allow *.dk or *.uk, for example. Attempting to specify anything other than IP addresses will result in the port allowing connections from anyone (as if you used '*').&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;vhost&amp;lt;/code&amp;gt; field (i.e., bind address) is not specified, the server will listen on all available interfaces for that port.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Port blocks.&lt;br /&gt;
&lt;br /&gt;
== Operator block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;O:host:password:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;o:host:password:name:flags:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Operator blocks define server operators. One or more of these blocks is recommended if you intend to maintain your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Operator&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the oper's username. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;johndoe&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the user@host/IP mask required for this operator. CIDR&lt;br /&gt;
     * notation is supported. Multiple host=&amp;quot;&amp;quot; lines are supported.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;god@*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password required to oper. By default, the password is&lt;br /&gt;
     * hashed using the system's native crypt() function. Other password&lt;br /&gt;
     * mechanisms are available; the umkpasswd utility located in the ircd&lt;br /&gt;
     * directory can hash passwords using those mechanisms. If you use a&lt;br /&gt;
     * password format that is not generated by umkpasswd, ircd-darenet will&lt;br /&gt;
     * not recognize the oper's password.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;/home/irc/keys/johndoe.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* flags: misc options for the oper. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    flags = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;OAWInFR&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* snomask: (optional) specific server notice mask on oper up. If this&lt;br /&gt;
     * is specified, an oper will not be given sno_default.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    snomask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+cegGiKorRs&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* privileges: (optional) you can specify privileges an oper will be&lt;br /&gt;
     * explicitly granted (or denied) upon opering. Any privileges defined&lt;br /&gt;
     * will override any privilege settings that may be present in the class&lt;br /&gt;
     * block specified above, and the default setting for those privileges.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    local = no;    routing = yes;    routeinfo = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; fields match the parameters of the &amp;lt;code&amp;gt;OPER&amp;lt;/code&amp;gt; command. To authenticate as an IRC operator, a client must match one of the &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; fields, which may be a resolved hostname or IP address.&lt;br /&gt;
&lt;br /&gt;
To use an unencrypted password, prefix the password with '$PLAIN', e.g., &amp;quot;$PLAIN$aPpLe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want to use a more secure password authentication system, generate a 1024bit RSA key, and specify the path to the key as the password (as shown in the example above), and add 'R' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field. This will use the &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; system instead of &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;. See doc/challenge.txt for more details.&lt;br /&gt;
&lt;br /&gt;
A client may also use their SSL client certificate fingerprint to authenticate as an IRC operator. To use this method, specify the client's certificate fingerprint as the password, and add 'S' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
Only one password authentication method may be used at a time. That is, you cannot use &amp;lt;code&amp;gt;CHALLENGE&amp;lt;/code&amp;gt; and SSL client certificate fingerprint at the same time.&lt;br /&gt;
&lt;br /&gt;
There are currently 9 different oper flags:&lt;br /&gt;
* o - Local operator&lt;br /&gt;
* O - Global operator&lt;br /&gt;
* A - Server administrator&lt;br /&gt;
* r - This operator block may be used from remote servers&lt;br /&gt;
* W - Allowed to set user mode +W&lt;br /&gt;
* I - Allowed to set user mode +I&lt;br /&gt;
* n - Allowed to set user mode +n&lt;br /&gt;
* F - Allowed to set user mode +F&lt;br /&gt;
* S - Use SSL client certificate fingerprint to &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;&lt;br /&gt;
* R - Use &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; password authentication system.&lt;br /&gt;
* j - Allowed to use juped nicknames.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; field specifies the connection class the client will be placed in, regardless of their previous connection class. If not specified, the default class is used; see the Class block description for details.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Operator blocks.&lt;br /&gt;
&lt;br /&gt;
== UWorld block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Uworld block defines &amp;quot;U-lined&amp;quot; servers, which are allowed to do special network things. Used for network services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;UWorld&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the server name or wildcard mask the &amp;quot;U-line&amp;quot; applies to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;services.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;stats.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UWorld servers are permitted to do things typical network services would want to do, such as apply network bans, manage channel modes, etc; the details are too numerous and complex to provide here.&lt;br /&gt;
&lt;br /&gt;
There may be multiple UWorld blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== NickJupe block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NickJupe blocks disallow certain nicknames from being used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;NickJupe&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ChanServ&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;NickS?rv&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the nick to disallow (the '*' and '?' wildcards are supported), and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice).&lt;br /&gt;
&lt;br /&gt;
There may be multiple NickJupe blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Quarantine block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Q:channel:reason&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Quarantine blocks disallow certain channel names from being used by non-opers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Quarantine&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;#help&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;For assistance, please join #Support instead.&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the channel to disallow, and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice). Note, these are only checked at &amp;lt;code&amp;gt;/JOIN&amp;lt;/code&amp;gt;, so if you add a channel and rehash, users will not be kicked if they're already in the channel.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Quarantine blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Ban Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| K:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ban {} blocks disallow connections from clients based on specific ident, host and/or gecos masks. They are a flexible general client ban mechanism.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
  name = &amp;quot;mark&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Required tokens (at least one of):''' &amp;lt;code&amp;gt;host, realname, username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional tokens:''' &amp;lt;code&amp;gt;klineprompt, reason, name, file&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;klineprompt;&amp;lt;/code&amp;gt; is present, users may bypass the ban by using Login-on-Connect (LOC). You can also mark clients by using &amp;lt;code&amp;gt;name = &amp;quot;mark here&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  realname = &amp;quot;realname here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to ban based on username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;username here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to use a file as comment for the ban, using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  file = &amp;quot;path/to/file/with/reason/to/show&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file can contain for example, a reason, a link to the server rules and a contact address. Also, note the combination of username and host in the host field. IP-based Ban {} blocks apply to all hosts, even if an IP address has a properly resolving host name. CIDR format is the most efficient, and should be used when possible. The server will attempt to convert wildcard IP masks to CIDR form internally.&lt;br /&gt;
&lt;br /&gt;
Additionally, you may specify a hostmask prefixed with $V to indicate a match should be performed against the CTCP version of the user rather han the host/IP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  version = &amp;quot;string&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;reason here&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Ban {} blocks.&lt;br /&gt;
&lt;br /&gt;
'''Example blocks:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;*@*.aol.com&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Due to abuse, AOL users must login with their DareNET account to connect.&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.0.0/16&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Except Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| E:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Except {} blocks can be used to exempt a user from Kill {} blocks, GLINEs, ZLINEs, SHUNs, spam filters, IDENT_CHALLENGE and LIST restrictions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mask&amp;gt; is an ident@ip/host/cidr mask that is to match the user to be exempted. &amp;lt;flags&amp;gt; is one or more of the following flags to specify what the exempt is to match.&lt;br /&gt;
&lt;br /&gt;
* k - Except affects KLINEs.&lt;br /&gt;
* g - Except affects GLINEs.&lt;br /&gt;
* i - Except affects ident challenges (see IDENT_CHALLENGE feature).&lt;br /&gt;
* n - Except for notilde.&lt;br /&gt;
* s - Except affects SHUNs.&lt;br /&gt;
* z - Except affects ZLINEs.&lt;br /&gt;
* F - Forces umode +F on user to bypass message flood checks.&lt;br /&gt;
* I - Exempts user from rapid (re)connection throttling &amp;amp; clone checks.&lt;br /&gt;
* L - Except affects LIST restrictions.&lt;br /&gt;
* N - Exempts user from &amp;quot;no connections&amp;quot; restrictions, allowing them to connect anyway.&lt;br /&gt;
* S - Except affects spam filters.&lt;br /&gt;
&lt;br /&gt;
NOTE: For throttling/clone exemptions (I), only IP addresses are supported, since these checks are performed before any DNS resolutions or identd replies are received.&lt;br /&gt;
NOTE: For notilde (n), IP/Host is required.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@*.darenet.org&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;kgzsL&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@127.0.0.1&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;I&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| B:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Command {} blocks aim to improve the generic IRC users ability to use network services. Each block sets up a /&amp;lt;service&amp;gt; alias so that users may type that instead of a full /msg command. Some might argue this is a bit more secure as well :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;&amp;lt;alias name&amp;gt;&amp;quot;;&lt;br /&gt;
  service = &amp;quot;&amp;lt;target&amp;gt;&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;&amp;lt;anything to prepend to the message&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt; prefix = &amp;quot;&amp;quot;;&amp;lt;/code&amp;gt; is given, then ircd-darenet will prefix the specified string to whatever the user inputs before sending it to the service.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;NICKSERV&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Forward Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| b:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Forward {} blocks enable the server to forward any messages which are prefixed and specific with a Forward {} block. This allows users to use Services' fantasy commands without a service client being in the channel (provided the channel is registered). This also removes the need for ChanServ to monitor channel traffic (e.g. allowing the use of umode +d).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot; = &amp;quot;&amp;lt;server&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;.&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
  &amp;quot;?&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Redirect Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| R:line&lt;br /&gt;
|}&lt;br /&gt;
When a client connects and his/her host matches a Redirect {} block, then a 010 reply is sent back to the client with the redirection server and port.&lt;br /&gt;
&lt;br /&gt;
Currently only EPIC supports auto redirection when it gets a 010 reply (e.g. it will automatically connect to the server specified in the 010 reply). Other clients will get a message specifying what server and port to connect to. as well as an unauthorized disconnect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  server = &amp;quot;&amp;lt;redirection server&amp;gt;&amp;quot;;&lt;br /&gt;
  port = &amp;quot;&amp;lt;redirection port&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*.aol.com&amp;quot;;&lt;br /&gt;
  server = &amp;quot;irc.aol.com&amp;quot;;&lt;br /&gt;
  port = &amp;quot;6667&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spoofhost Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| S:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spoofhost {} blocks allows clients/opers to spoof their host. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Spoofhost &amp;quot;&amp;lt;spoof host&amp;gt;&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  host = &amp;quot;&amp;lt;*.host.cc|a.b.c.*|CIDR&amp;gt;&amp;quot;;&lt;br /&gt;
  username = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;spoof host&amp;gt; - The spoofed hostname.&lt;br /&gt;
* &amp;lt;pass&amp;gt; - A password for this spoof host. Used if SETHOST_USER is set to TRUE.&lt;br /&gt;
* &amp;lt;host&amp;gt; - A hostmask to match against users that are to be auto-spoofed. Used if SETHOST_AUTO is set to TRUE. Can be in the form of: host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards for non-CIDR.&lt;br /&gt;
* &amp;lt;username&amp;gt; - A mask for matching against the user's ident reply.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Spoofhost &amp;quot;sline.darenet.org&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;anygoodpass&amp;quot;;&lt;br /&gt;
  host = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
  username = &amp;quot;*&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNSBL Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| X:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DNSBL {} blocks allow you to prevent clients connecting who are listed on DNS blacklists. Their connection will be rejected during the connection process along with the name and reason you give for the DNSBL they have been matched on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;&amp;lt;dnsbl.site.org&amp;gt;&amp;quot;;&lt;br /&gt;
  name = &amp;quot;&amp;lt;name&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;&amp;lt;replies/mask&amp;gt;&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;&amp;lt;rejection message&amp;gt;&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;&amp;lt;rank&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* b (Bitmask DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* r (Reply DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* a (Allow Connect) - Allow the client to connect anyway. This could used with a DNSBL whitelist. This could also be used to allow users to still connect, but mark their hosts so that channel ops can easily ban them from their channels. (Bypass LOC requirements)&lt;br /&gt;
* d (Deny Connect) - If the user is found on this DNSBL, then they can't connect, even if they are allowed on through another DNSBL {} block.&lt;br /&gt;
* m (Mark Hostname) - Mark the hostname of a skipped client&lt;br /&gt;
&lt;br /&gt;
The name option is used for the Mark Hostname flag, and may only contain hostname valid characters only (e.g. NO spaces). With Reply DNSBL's you need to list the replies in a comma separated list. See below for an example. With Bitmask DNSBL's, again, specify the replies you need to match for. The server will sum them up and match them against the DNSBL reply. The rejected user's nick, username, ip, and host can be placed into the rejection message by using these codes:&lt;br /&gt;
&lt;br /&gt;
* %n - Nickname&lt;br /&gt;
* %u - Username&lt;br /&gt;
* %h - Hostname&lt;br /&gt;
* %i - IP Address&lt;br /&gt;
&lt;br /&gt;
The rank number must be unique over all DNSBL {} blocks. The higher the number, the greater precedence it has. The highest ranking DNSBL {} block which is a matched against a user will get its name marked in the hostname.&lt;br /&gt;
&lt;br /&gt;
Notes: MAKE SURE you read the DNSBL website before you go ahead and use it as they may have rules for large sites/servers who use them. If you do not wish to use DNSBL checking then simply do not create any DNSBL {} blocks.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
Reply DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.sorbs.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;sorbs.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;r&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,2,3,4&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=%i&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;1&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitmask DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.dnsbl.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;dnsbl.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;b&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,3,5&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On DNSBL&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;2&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebIRC Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| W:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WebIRC {} blocks allow you display the real hostname of users connecting via CGI:IRC clients and sites such as Mibbit.com. These clients will send a WEBIRC command along with the user's hostname, ip and WebIRC {} block password to the server. The password needs to be encrypted like Operator {} block passwords. When the ircd receives the command, instead of using the hostname of the site the users is connecting from, the hostname sent in WEBIRC will be set. All this is done before the client enters the network completely. Please remember to enclose the description using quotes otherwise things will break.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;&amp;lt;description&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* m - Marks each client connected via the WebIRC {} block using the provided description.&lt;br /&gt;
* s - Sets the ident specified in the ident field for each WEBIRC client.&lt;br /&gt;
* u - Uses the ident from USER that the WEBIRC client sends.&lt;br /&gt;
&lt;br /&gt;
Note: Do not use both s and u, only choose one of them.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@webchat.darenet.org&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;VRKLKuGKn0jLs&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;ms&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;webirc&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;DareNET WebChat&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpamFilter Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is probably the most controversial addition to ircd-darenet 1.3.x; however, sadly, it may become useful.&lt;br /&gt;
&lt;br /&gt;
SpamFiler {} blocks allow you to filter PRIVMSG's, NOTICE's, TOPIC's and AWAY's for spam. The filtering is done using regular expressions, so please be careful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SpamFilter {&lt;br /&gt;
   regex = &amp;quot;&amp;lt;regex&amp;gt;&amp;quot;;                   &lt;br /&gt;
   rtype = &amp;quot;&amp;lt;watch flags&amp;gt;&amp;quot;;                &lt;br /&gt;
   action = &amp;quot;&amp;lt;action flags&amp;gt;&amp;quot;;              &lt;br /&gt;
   reason = &amp;quot;&amp;lt;reason&amp;gt;&amp;quot;;&lt;br /&gt;
   channel = &amp;quot;&amp;lt;optional alert channel&amp;gt;&amp;quot;;   &lt;br /&gt;
   length = &amp;lt;length in seconds&amp;gt;;                        &lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;regex&amp;gt; - PCRE format regular expression to match against.&lt;br /&gt;
* &amp;lt;watch flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;action flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;reason&amp;gt; - Used in error messages displayed to the user and/or kills/shuns/glines/zlines.&lt;br /&gt;
* &amp;lt;optional alert channel&amp;gt; - Requires the C action flag.&lt;br /&gt;
* &amp;lt;length in seconds&amp;gt; - Only applies to glines, zlines and shuns.&lt;br /&gt;
&lt;br /&gt;
Available watch flags:&lt;br /&gt;
&lt;br /&gt;
* n - Notices.&lt;br /&gt;
* N - Channel notices.&lt;br /&gt;
* p - Privmsgs.&lt;br /&gt;
* C - Channel privmsgs.&lt;br /&gt;
* q - Quits.&lt;br /&gt;
* P - Parts.&lt;br /&gt;
* d - DCCs.&lt;br /&gt;
* a - Away messages.&lt;br /&gt;
* t - Topics.&lt;br /&gt;
* u - Connects (nick!user@host:gecos).&lt;br /&gt;
* i - Nickname changes.&lt;br /&gt;
&lt;br /&gt;
Available action flags:&lt;br /&gt;
&lt;br /&gt;
* a - Auth. If used, logged in clients will be exempt from the filter.&lt;br /&gt;
* C - Channel alert. If used, filter matches will be sent to what is set in the SpamFilter {} block channel setting.&lt;br /&gt;
* S - Server (snotice) alert.&lt;br /&gt;
* k - Kill anyone who matches the filter.&lt;br /&gt;
* g - Gline anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* z - Zline anyone who matches the filter. The length can be given in seconds. This zlines *@ip, so you do not need the i action flag.&lt;br /&gt;
* s - Shun anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* i - Uses the client's IP vice host in a Gline/Shun.&lt;br /&gt;
* b - Block; will prevent the PRIVMSG/NOTICE/TOPIC/AWAY from going through.&lt;br /&gt;
* n - Notify; will notify the person matching the filter, stating they've matched a filter, and deny their message.&lt;br /&gt;
* m - Mark; will mark the client as being a spam source.&lt;br /&gt;
* K - Kick; will kick the user triggering the Spam Filter. The kick reason given will be the reason set in the Spam Filter. This Flag will only work with the N and C watch flags.&lt;br /&gt;
* o - Ops/HalfOps; exempts ops and halfops from any checks which have a channel target.&lt;br /&gt;
* v - Voice; exempts voiced users from any checks which have a channel target.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Shuns and Glines will be set using *@hostname. If you would them to be set using *@ip use the 'i' action flag.&lt;br /&gt;
* If you do not specify a length, then FILTER_DEFAULT_LENGTH will be used.&lt;br /&gt;
* The 'b' action flag cannot be used with the 'u' watch flag. You will need to use a kill flag to block them.&lt;br /&gt;
&lt;br /&gt;
== Features Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| F:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ircd-darenet has a large number of options and features, most of which can be configured using a Features {} block. If linking to DareNET, your Features {} block will be rather bare, since most DareNET-specific settings have been already defined in the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;featurename&amp;quot; = &amp;quot;value&amp;quot;;&lt;br /&gt;
  &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need one Features {} block, in which you use &amp;quot;featurename&amp;quot; = &amp;quot;value1&amp;quot;;, &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;, and so on. Please note all values, whether integers or strings, must be enclosed in double quotes. &lt;br /&gt;
&lt;br /&gt;
See the [[Server_Features|servers features]] page for a list of available features.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;FILE&amp;quot; &amp;quot;ircd.log&amp;quot;;&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;LEVEL&amp;quot; &amp;quot;CRIT&amp;quot;;&lt;br /&gt;
  &amp;quot;HUB&amp;quot; = &amp;quot;FALSE&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IRCd]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5</id>
		<title>DareNET IRCd Configuration/1.5</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/DareNET_IRCd_Configuration/1.5"/>
				<updated>2012-11-04T01:19:01Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;/* Except Block */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This is a reference guide for ircd-darenet 1.5.x's configuration file.&lt;br /&gt;
&lt;br /&gt;
The configuration format consists of various blocks, each containing name-value pairs, tags or string data. It is designed to be easily readable by both human and ircd.&lt;br /&gt;
&lt;br /&gt;
A block consists of a name, an opening '{' brace, statements, a closing '}' brace, and a ';' semicolon. A statement consists of a name possibly followed by an '=' equals sign and a value, ending with a semicolon. All strings must be surrounded by '&amp;quot;' double quotes.&lt;br /&gt;
&lt;br /&gt;
A sample block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;blockname&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = value;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;string&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;123&amp;lt;/span&amp;gt;;&lt;br /&gt;
    tag;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All elements of the configuration are separated by whitespace, and can be packed on one line, or broken up over several lines. Whitespace is defined as space, tab or carriage return/linefeed. Three forms of comments are allowed: &lt;br /&gt;
&lt;br /&gt;
* C style single/multi-line&lt;br /&gt;
* C++ style single-line&lt;br /&gt;
* Shell style single-line&lt;br /&gt;
&lt;br /&gt;
'''Important:''' When the configuration file is parsed by the ircd, blocks are used in reverse order than how they are listed. This means you should start multiple block definitions with the &amp;quot;fall through&amp;quot;, and end with the most detailed. Keep in mind that Class {} blocks must be specified before anything that uses them. That means they must be defined before Client {}, Connect {} and Operator {} blocks.&lt;br /&gt;
&lt;br /&gt;
Time / duration is written as:&lt;br /&gt;
* A number in seconds (e.g., 60)&lt;br /&gt;
* A grammatical expression (e.g., 1 hour 30 minutes 10 seconds)&lt;br /&gt;
* An arithmetic expression (e.g., 1*60*20)&lt;br /&gt;
&lt;br /&gt;
Valid units of time:&lt;br /&gt;
* decade / decades&lt;br /&gt;
* year / years&lt;br /&gt;
* month / months&lt;br /&gt;
* week / weeks&lt;br /&gt;
* day / days&lt;br /&gt;
* hour / hours&lt;br /&gt;
* minute / minutes&lt;br /&gt;
* second / seconds&lt;br /&gt;
&lt;br /&gt;
Valid units of size:&lt;br /&gt;
* terabyte / terabytes / tbyte&lt;br /&gt;
* gigabyte / gigabytes / gbyte&lt;br /&gt;
* megabyte / megabytes / mbyte&lt;br /&gt;
* kilobyte / kilobytes / kbyte&lt;br /&gt;
* byte / bytes&lt;br /&gt;
&lt;br /&gt;
== General block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;M:name:vhost:description::numeric&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The General block defines information about the server itself. It is required for the server to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;General&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;test.area.zone.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* description: the description of our server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    description = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ircd-darenet test server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* numeric: the unique server numeric for our server. It must be a&lt;br /&gt;
     * digit between 0 and 4095, and is not updated on a rehash.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    numeric = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;999&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: the IP to bind to when we connect outward to other servers.&lt;br /&gt;
     * It must contain either a * or a valid ipv4 address in dotted quad notation. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.169.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_private_key: our ssl private key. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_private_key = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ssl_pem: file containing our ssl certificate and private key */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ssl_pem = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;etc/ircd.pem&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* dpass: (optional) password for DIE command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    dpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;encrypted pass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rpass: (optional) password for RESTART command. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rpass = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;$PLAIN$password&amp;quot;&amp;lt;/span&amp;gt;;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server name may only be changed by a server restart. The description can be changed on rehash, but will not propagate to other linked servers.&lt;br /&gt;
&lt;br /&gt;
There must be exactly one General block.&lt;br /&gt;
&lt;br /&gt;
== Admin block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;A:line1:line2:line3&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Admin block defines information that can be retrieved with the &amp;lt;code&amp;gt;/ADMIN&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Admin&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;DareNET - http://www.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    location = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Infrastructure Team&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    contact = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;&amp;amp;lt;infrastructure@darenet.org&amp;amp;gt;&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not all lines are required. There may only be one Admin block.&lt;br /&gt;
&lt;br /&gt;
== Class block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Y:class:pingfreq::maxlinks:sendq (clients)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;Y:class:pingfreq:connectfreq:maxlinks:sendq (servers)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Class blocks define connection classes. All connections to the server are associated with a &amp;quot;connection class&amp;quot;, whether they be incoming or outgoing (initiated by the server), be they clients or servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: a name for the connection class. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* pingfreq: how often to PING idle connections. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    pingfreq = 1 minute 30 seconds;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* sendq: send buffer limit (i.e., the amount of data allowed in&lt;br /&gt;
     * a client's queue before they are dropped.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: the maximum number of connections that may use this&lt;br /&gt;
     * class. May be between 0 and 4,000,000,000.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;100&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* usermode: an optional list of user modes that should set&lt;br /&gt;
     * upon the user while connecting.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxchans: the maximum number of channels that clients may join.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxchans = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;50&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Opers&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 2 minutes;&lt;br /&gt;
    sendq = 100 kilobytes;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;;&lt;br /&gt;
    usermode = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+iw&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    whox;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* connectfreq: this token applies only to servers, and specifies&lt;br /&gt;
     * the frequency that the server tries to auto connect. Setting this to 0 will cause a&lt;br /&gt;
     * server to attempt to connect repeatedly, with no delay until the maxlinks condition&lt;br /&gt;
     * is satisfied (which is not a good thing).&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: for server classes, specifies the maximum number of&lt;br /&gt;
     * servers to autoconnect to. This should be 0 for hubs, and 1 for leafs.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Class&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Leaf_Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    pingfreq = 3 minutes;&lt;br /&gt;
    connectfreq = 5 minutes;&lt;br /&gt;
    maxlinks = 1;&lt;br /&gt;
    sendq = 10 megabytes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For connection classes intended for operator use, you can specify privileges the operator should be granted when the Operator block names the class. The local privilege MUST be defined by either the Class or Operator block. It is highly recommended that most privileges be explicitly specified in the operator's Operator block on DareNET.&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;default&amp;quot; class is created internally. This class is used when no other class is specified, but its settings are not useful for most situations. Custom classes are strongly recommended.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Class blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Client block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|RECOMMENDED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;I:ipmask:passwd:hostmask:port:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Client blocks define the hosts client connections are allowed from, and places them into classes. While the server will start without a Client block, it will not be usable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Client&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: resolved user@host mask allowed to connect. This is optional&lt;br /&gt;
     * if you are using the ip mask to match against.  Additionally, if you specify *@loc for &lt;br /&gt;
     * this field it will match all LOC users.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@*.wirehub.net&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* ip: unresolved user@ip mask allowed to connect. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    ip = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@195.86.128.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: (optional) password that is required to use this block.&lt;br /&gt;
     * This password string is not encrypted.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;letMEHin&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class the user should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Users&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxlinks: if specified, the server will only accept clients when &lt;br /&gt;
     * the total number of connections to the network from the same IP number doesn't exceed&lt;br /&gt;
     * this number.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxlinks = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: (optional) a port to limit this block to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;6660&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The server uses a default deny policy for incoming connections. You need to define at least one Client block if you wish to use your server.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; fields specify which connections the block matches. The server always performs a DNS and ident lookup for connections. If DNS cannot find a hostname, the IP address is used instead. If ident cannot get a valid reply, &amp;quot;unknown&amp;quot; is used during this state. The client's resolved hostname, IP address, ident reply, and username (from the USER line) are used according to the results of the matches described below.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' There is a specify case for UNIX domain sockets and localhost connections. In these cases, the &amp;lt;code&amp;gt;ip / host&amp;lt;/code&amp;gt; field is compared with the name of the server, and thus not with any IP number representation. The name of the server is that returned in the numeric 002 reply, example: &amp;lt;code&amp;gt;002 Your host is 2.darenet.org[jolan.ppro]. running version ...&amp;lt;/code&amp;gt; In this example, &amp;quot;jolan.ppro&amp;quot; is the name used for matching; therefore, UNIX domain sockets and connections to localhost would match a block containing: &amp;lt;code&amp;gt;host = &amp;quot;*@jolan.ppro&amp;quot;;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field attempts to match first against the resolved hostname, if available, and then against the IP address. To include the connection's ident reply in the match, use a mask in the form &amp;quot;ident@host&amp;quot;. If a client matches, it appears on IRC using its resolved hostname.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field attempts to match against the IP address only. An ident may be specified to match against, as well.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If the ident portion is specified in a mask (i.e., &amp;quot;ident@host&amp;quot; instead of &amp;quot;host&amp;quot;), and no ident reply is received from the client, it will appear on IRC with its username prefixed with a '~' tilde. If the matching mask used only the &amp;quot;host&amp;quot; form, the client's username is not prefixed. If a valid ident reply is received, it is always used and not prefixed.&lt;br /&gt;
&lt;br /&gt;
You need only specify a &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ip&amp;lt;/code&amp;gt; field, not both. If both are used, &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; is matched against first.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Client blocks; at least one is recommended.&lt;br /&gt;
&lt;br /&gt;
== Motd block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;T:hostmask&amp;amp;#124;classnumber:path&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Motd blocks allow a different Message of the Day to be shown to connecting clients based on their origin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Motd&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: a hostmask, class number or class name to match against. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.jp&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* file: the path to the MOTD file to be shown (relative to DPATH). */&amp;lt;/span&amp;gt;&lt;br /&gt;
    file = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;jp.motd&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More then one &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; field may be present in an Motd block.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Motd blocks.&lt;br /&gt;
&lt;br /&gt;
== Connect block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;C:host:cpassword:name:port:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;N:host:apassword:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;H:host::name:maxhops&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;L:host::mask:depth&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Connect blocks define links to other servers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Connect&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the name of the server. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;uplink.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the host or IP to connect to. If a hostname is used it&lt;br /&gt;
     * must match the reverse dns of the server.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;192.168.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) the host or IP to bind to for this connection.&lt;br /&gt;
     * If this is not specified, the default vhost (in general {}) is used.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;#vhost = &amp;quot;192.168.0.50&amp;quot;;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password we send and accept. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;somepass&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the port to connect to this server on. This is also the&lt;br /&gt;
     * port used when the server attempts to auto-connect (if enabled). &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* class: the class this server should be placed in. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    class = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Server&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* maxhops: the max number of hops a hub may introduce. If a hub&lt;br /&gt;
     * tries to introduce servers farther away than what is specified here, an SQUIT is&lt;br /&gt;
     * issued. The 'leaf' token is an alias for &amp;quot;maxhops = 0;&amp;quot;. &lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    maxhops = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hub: (optional) the mask of servers that this server may hub&lt;br /&gt;
     * for. The tag 'hub' is an alias for 'hub = &amp;quot;*&amp;quot;;'.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hub = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.us.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* autoconnect: (optional) determines if we should try to&lt;br /&gt;
    * automatically connect to this server. The default is to autoconnect.&lt;br /&gt;
    */&amp;lt;/span&amp;gt;&lt;br /&gt;
    autoconnect = no;  &lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Connect blocks.&lt;br /&gt;
&lt;br /&gt;
== CRule block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;D:servermask::rule&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;d:servermask::rule&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The CRule (connection rule) blocks control ircd-darenet's advanced, real-time rule-based routing decision making system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;CRule&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: rules will be applied towards servers matching this mask. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*.eu.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* rule: the connection rule. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    rule = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;connected(amsterdam.eu.*)&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* all: (optional) setting this to 'yes' will make the rule always&lt;br /&gt;
     * apply; otherwise, it only applies to autoconnects.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    all = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If more than one server mask is present in a single crule, the rule will apply to all servers.&lt;br /&gt;
&lt;br /&gt;
See doc/readme.crules for more information on the crule system, including examples of allowed rules.&lt;br /&gt;
&lt;br /&gt;
There may be multiple CRule blocks.&lt;br /&gt;
&lt;br /&gt;
== Port Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|REQUIRED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;P:hostmask:interface:&amp;lt;[CES][H]&amp;gt;:port&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Port blocks define where the server will accept connections. At least one port block is required to start.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Port&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* port: the specific port to listen on. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    port = &amp;lt;span class=&amp;quot;integer&amp;quot;&amp;gt;7325&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* mask: (optional) the IP address (or a range of IP addresses) that&lt;br /&gt;
     * the server will allow connections from.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    mask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.*.*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* vhost: (optional) set a specific IP/host the port (listed after&lt;br /&gt;
     * the 'port' token) will listen for.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    vhost = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* server: setting this to yes makes this a server only port. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    server = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* hidden: (optional) setting this to 'yes' makes the port&lt;br /&gt;
     * &amp;quot;hidden&amp;quot; from stats replies.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    hidden = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* crypt: (optional) setting this to 'yes' makes the port accept&lt;br /&gt;
     * SSL connections.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    crypt = yes;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* exempt: (optional) setting this to 'yes' makes the port exempt&lt;br /&gt;
     * from connection restrictions during a timed /RESTART or /DIE.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    exempt = no;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;mask&amp;lt;/code&amp;gt; field should only contain IP addresses (CIDR notation is supported) or '*', if used. This does not use DNS in any way, so you cannot use it to allow *.dk or *.uk, for example. Attempting to specify anything other than IP addresses will result in the port allowing connections from anyone (as if you used '*').&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;vhost&amp;lt;/code&amp;gt; field (i.e., bind address) is not specified, the server will listen on all available interfaces for that port.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Port blocks.&lt;br /&gt;
&lt;br /&gt;
== Operator block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;O:host:password:name:flags:class&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;o:host:password:name:flags:class&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Operator blocks define server operators. One or more of these blocks is recommended if you intend to maintain your server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Operator&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the oper's username. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;johndoe&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* host: the user@host/IP mask required for this operator. CIDR&lt;br /&gt;
     * notation is supported. Multiple host=&amp;quot;&amp;quot; lines are supported.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;god@*&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    host = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;*@127.0.0.1&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* password: the password required to oper. By default, the password is&lt;br /&gt;
     * hashed using the system's native crypt() function. Other password&lt;br /&gt;
     * mechanisms are available; the umkpasswd utility located in the ircd&lt;br /&gt;
     * directory can hash passwords using those mechanisms. If you use a&lt;br /&gt;
     * password format that is not generated by umkpasswd, ircd-darenet will&lt;br /&gt;
     * not recognize the oper's password.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    password = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;/home/irc/keys/johndoe.key&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* flags: misc options for the oper. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    flags = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;OAWInFR&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* snomask: (optional) specific server notice mask on oper up. If this&lt;br /&gt;
     * is specified, an oper will not be given sno_default.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    snomask = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;+cegGiKorRs&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* privileges: (optional) you can specify privileges an oper will be&lt;br /&gt;
     * explicitly granted (or denied) upon opering. Any privileges defined&lt;br /&gt;
     * will override any privilege settings that may be present in the class&lt;br /&gt;
     * block specified above, and the default setting for those privileges.&lt;br /&gt;
     */&amp;lt;/span&amp;gt;&lt;br /&gt;
    local = no;    routing = yes;    routeinfo = yes;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; fields match the parameters of the &amp;lt;code&amp;gt;OPER&amp;lt;/code&amp;gt; command. To authenticate as an IRC operator, a client must match one of the &amp;lt;code&amp;gt;host&amp;lt;/code&amp;gt; fields, which may be a resolved hostname or IP address.&lt;br /&gt;
&lt;br /&gt;
To use an unencrypted password, prefix the password with '$PLAIN', e.g., &amp;quot;$PLAIN$aPpLe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want to use a more secure password authentication system, generate a 1024bit RSA key, and specify the path to the key as the password (as shown in the example above), and add 'R' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field. This will use the &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; system instead of &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;. See doc/challenge.txt for more details.&lt;br /&gt;
&lt;br /&gt;
A client may also use their SSL client certificate fingerprint to authenticate as an IRC operator. To use this method, specify the client's certificate fingerprint as the password, and add 'S' to the &amp;lt;code&amp;gt;flags&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
Only one password authentication method may be used at a time. That is, you cannot use &amp;lt;code&amp;gt;CHALLENGE&amp;lt;/code&amp;gt; and SSL client certificate fingerprint at the same time.&lt;br /&gt;
&lt;br /&gt;
There are currently 9 different oper flags:&lt;br /&gt;
* o - Local operator&lt;br /&gt;
* O - Global operator&lt;br /&gt;
* A - Server administrator&lt;br /&gt;
* r - This operator block may be used from remote servers&lt;br /&gt;
* W - Allowed to set user mode +W&lt;br /&gt;
* I - Allowed to set user mode +I&lt;br /&gt;
* n - Allowed to set user mode +n&lt;br /&gt;
* F - Allowed to set user mode +F&lt;br /&gt;
* S - Use SSL client certificate fingerprint to &amp;lt;code&amp;gt;/OPER&amp;lt;/code&amp;gt;&lt;br /&gt;
* R - Use &amp;lt;code&amp;gt;/CHALLENGE&amp;lt;/code&amp;gt; password authentication system.&lt;br /&gt;
* j - Allowed to use juped nicknames.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; field specifies the connection class the client will be placed in, regardless of their previous connection class. If not specified, the default class is used; see the Class block description for details.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Operator blocks.&lt;br /&gt;
&lt;br /&gt;
== UWorld block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Uworld block defines &amp;quot;U-lined&amp;quot; servers, which are allowed to do special network things. Used for network services.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;UWorld&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;comment&amp;quot;&amp;gt;/* name: the server name or wildcard mask the &amp;quot;U-line&amp;quot; applies to. */&amp;lt;/span&amp;gt;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;services.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    name = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;stats.darenet.org&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
UWorld servers are permitted to do things typical network services would want to do, such as apply network bans, manage channel modes, etc; the details are too numerous and complex to provide here.&lt;br /&gt;
&lt;br /&gt;
There may be multiple UWorld blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== NickJupe block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;U:server:jupednicks:*&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The NickJupe blocks disallow certain nicknames from being used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;NickJupe&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;ChanServ&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;NickS?rv&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;Reserved for Services&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the nick to disallow (the '*' and '?' wildcards are supported), and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice).&lt;br /&gt;
&lt;br /&gt;
There may be multiple NickJupe blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Quarantine block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|width=&amp;quot;250px&amp;quot;|Requirement:&lt;br /&gt;
|OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
|Old conf format equivalents:&lt;br /&gt;
|&amp;lt;code&amp;gt;Q:channel:reason&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Quarantine blocks disallow certain channel names from being used by non-opers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Quarantine&amp;lt;/strong&amp;gt; {&lt;br /&gt;
    &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;#help&amp;quot;&amp;lt;/span&amp;gt; = &amp;lt;span class=&amp;quot;qstring&amp;quot;&amp;gt;&amp;quot;For assistance, please join #Support instead.&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entries are specified in a key-value format, with the key being the channel to disallow, and the value being the reason (a single-line reason for the restriction, which is sent to clients along with the rejection notice). Note, these are only checked at &amp;lt;code&amp;gt;/JOIN&amp;lt;/code&amp;gt;, so if you add a channel and rehash, users will not be kicked if they're already in the channel.&lt;br /&gt;
&lt;br /&gt;
There may be multiple Quarantine blocks; all blocks are combined into one list.&lt;br /&gt;
&lt;br /&gt;
== Ban Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| K:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ban {} blocks disallow connections from clients based on specific ident, host and/or gecos masks. They are a flexible general client ban mechanism.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
  name = &amp;quot;mark&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Required tokens (at least one of):''' &amp;lt;code&amp;gt;host, realname, username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional tokens:''' &amp;lt;code&amp;gt;klineprompt, reason, name, file&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;klineprompt;&amp;lt;/code&amp;gt; is present, users may bypass the ban by using Login-on-Connect (LOC). You can also mark clients by using &amp;lt;code&amp;gt;name = &amp;quot;mark here&amp;quot;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  realname = &amp;quot;realname here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to ban based on username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;username here&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;The reason the user will see&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to use a file as comment for the ban, using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;user@host&amp;quot;;&lt;br /&gt;
  file = &amp;quot;path/to/file/with/reason/to/show&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file can contain for example, a reason, a link to the server rules and a contact address. Also, note the combination of username and host in the host field. IP-based Ban {} blocks apply to all hosts, even if an IP address has a properly resolving host name. CIDR format is the most efficient, and should be used when possible. The server will attempt to convert wildcard IP masks to CIDR form internally.&lt;br /&gt;
&lt;br /&gt;
Additionally, you may specify a hostmask prefixed with $V to indicate a match should be performed against the CTCP version of the user rather han the host/IP.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  version = &amp;quot;string&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;reason here&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There may be multiple Ban {} blocks.&lt;br /&gt;
&lt;br /&gt;
'''Example blocks:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;*@*.aol.com&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Due to abuse, AOL users must login with their DareNET account to connect.&amp;quot;;&lt;br /&gt;
  klineprompt;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  host = &amp;quot;192.168.0.0/16&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;Monkeys.&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Ban&lt;br /&gt;
{&lt;br /&gt;
  username = &amp;quot;sub7&amp;quot;;&lt;br /&gt;
  realname = &amp;quot;s*7*&amp;quot;;&lt;br /&gt;
  reason = &amp;quot;You are infected with a Trojan&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Except Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| E:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Except {} blocks can be used to exempt a user from Kill {} blocks, GLINEs, ZLINEs, SHUNs, spam filters, IDENT_CHALLENGE and LIST restrictions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mask&amp;gt; is an ident@ip/host/cidr mask that is to match the user to be exempted. &amp;lt;flags&amp;gt; is one or more of the following flags to specify what the exempt is to match.&lt;br /&gt;
&lt;br /&gt;
* k - Except affects KLINEs.&lt;br /&gt;
* g - Except affects GLINEs.&lt;br /&gt;
* i - Except affects ident challenges (see IDENT_CHALLENGE feature).&lt;br /&gt;
* n - Except for notilde.&lt;br /&gt;
* s - Except affects SHUNs.&lt;br /&gt;
* z - Except affects ZLINEs.&lt;br /&gt;
* F - Forces umode +F on user to bypass message flood checks.&lt;br /&gt;
* I - Exempts user from rapid (re)connection throttling &amp;amp; clone checks.&lt;br /&gt;
* L - Except affects LIST restrictions.&lt;br /&gt;
* N - Exempts user from &amp;quot;no connections&amp;quot; restrictions, allowing them to connect anyway.&lt;br /&gt;
* S - Except affects spam filters.&lt;br /&gt;
&lt;br /&gt;
NOTE: For throttling/clone exemptions (I), only IP addresses are supported, since these checks are performed before any DNS resolutions or identd replies are received.&lt;br /&gt;
NOTE: For notilde (n), IP/Host is required.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@*.darenet.org&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;kgzsL&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Except&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@127.0.0.1&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;I&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Command Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| B:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Command {} blocks aim to improve the generic IRC users ability to use network services. Each block sets up a /&amp;lt;service&amp;gt; alias so that users may type that instead of a full /msg command. Some might argue this is a bit more secure as well :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;&amp;lt;alias name&amp;gt;&amp;quot;;&lt;br /&gt;
  service = &amp;quot;&amp;lt;target&amp;gt;&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;&amp;lt;anything to prepend to the message&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt; prefix = &amp;quot;&amp;quot;;&amp;lt;/code&amp;gt; is given, then ircd-darenet will prefix the specified string to whatever the user inputs before sending it to the service.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
  prefix = &amp;quot;AUTH&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Command&lt;br /&gt;
{&lt;br /&gt;
  cmd = &amp;quot;NICKSERV&amp;quot;;&lt;br /&gt;
  service = &amp;quot;NickServ@services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Forward Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| b:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Forward {} blocks enable the server to forward any messages which are prefixed and specific with a Forward {} block. This allows users to use Services' fantasy commands without a service client being in the channel (provided the channel is registered). This also removes the need for ChanServ to monitor channel traffic (e.g. allowing the use of umode +d).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;&amp;lt;prefix&amp;gt;&amp;quot; = &amp;quot;&amp;lt;server&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Forward&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;.&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
  &amp;quot;?&amp;quot; = &amp;quot;services.darenet.org&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Redirect Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| R:line&lt;br /&gt;
|}&lt;br /&gt;
When a client connects and his/her host matches a Redirect {} block, then a 010 reply is sent back to the client with the redirection server and port.&lt;br /&gt;
&lt;br /&gt;
Currently only EPIC supports auto redirection when it gets a 010 reply (e.g. it will automatically connect to the server specified in the 010 reply). Other clients will get a message specifying what server and port to connect to. as well as an unauthorized disconnect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  server = &amp;quot;&amp;lt;redirection server&amp;gt;&amp;quot;;&lt;br /&gt;
  port = &amp;quot;&amp;lt;redirection port&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Redirect&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*.aol.com&amp;quot;;&lt;br /&gt;
  server = &amp;quot;irc.aol.com&amp;quot;;&lt;br /&gt;
  port = &amp;quot;6667&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spoofhost Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| S:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spoofhost {} blocks allows clients/opers to spoof their host. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Spoofhost &amp;quot;&amp;lt;spoof host&amp;gt;&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  host = &amp;quot;&amp;lt;*.host.cc|a.b.c.*|CIDR&amp;gt;&amp;quot;;&lt;br /&gt;
  username = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;spoof host&amp;gt; - The spoofed hostname.&lt;br /&gt;
* &amp;lt;pass&amp;gt; - A password for this spoof host. Used if SETHOST_USER is set to TRUE.&lt;br /&gt;
* &amp;lt;host&amp;gt; - A hostmask to match against users that are to be auto-spoofed. Used if SETHOST_AUTO is set to TRUE. Can be in the form of: host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards for non-CIDR.&lt;br /&gt;
* &amp;lt;username&amp;gt; - A mask for matching against the user's ident reply.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Spoofhost &amp;quot;sline.darenet.org&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  pass = &amp;quot;anygoodpass&amp;quot;;&lt;br /&gt;
  host = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
  username = &amp;quot;*&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNSBL Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| X:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DNSBL {} blocks allow you to prevent clients connecting who are listed on DNS blacklists. Their connection will be rejected during the connection process along with the name and reason you give for the DNSBL they have been matched on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;&amp;lt;dnsbl.site.org&amp;gt;&amp;quot;;&lt;br /&gt;
  name = &amp;quot;&amp;lt;name&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;&amp;lt;replies/mask&amp;gt;&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;&amp;lt;rejection message&amp;gt;&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;&amp;lt;rank&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* b (Bitmask DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* r (Reply DNSBL) - See your DNSBL provider as to whether you should use this or not.&lt;br /&gt;
* a (Allow Connect) - Allow the client to connect anyway. This could used with a DNSBL whitelist. This could also be used to allow users to still connect, but mark their hosts so that channel ops can easily ban them from their channels.&lt;br /&gt;
* d (Deny Connect) - If the user is found on this DNSBL, then they can't connect, even if they are allowed on through another DNSBL {} block.&lt;br /&gt;
* m (Mark Hostname) - Mark the hostname of a skipped client&lt;br /&gt;
&lt;br /&gt;
The name option is used for the Mark Hostname flag, and may only contain hostname valid characters only (e.g. NO spaces). With Reply DNSBL's you need to list the replies in a comma separated list. See below for an example. With Bitmask DNSBL's, again, specify the replies you need to match for. The server will sum them up and match them against the DNSBL reply. The rejected user's nick, username, ip, and host can be placed into the rejection message by using these codes:&lt;br /&gt;
&lt;br /&gt;
* %n - Nickname&lt;br /&gt;
* %u - Username&lt;br /&gt;
* %h - Hostname&lt;br /&gt;
* %i - IP Address&lt;br /&gt;
&lt;br /&gt;
The rank number must be unique over all DNSBL {} blocks. The higher the number, the greater precedence it has. The highest ranking DNSBL {} block which is a matched against a user will get its name marked in the hostname.&lt;br /&gt;
&lt;br /&gt;
Notes: MAKE SURE you read the DNSBL website before you go ahead and use it as they may have rules for large sites/servers who use them. If you do not wish to use DNSBL checking then simply do not create any DNSBL {} blocks.&lt;br /&gt;
&lt;br /&gt;
Example blocks:&lt;br /&gt;
&lt;br /&gt;
Reply DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.sorbs.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;sorbs.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;r&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,2,3,4&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=%i&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;1&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitmask DNSBL:&lt;br /&gt;
&amp;lt;c&amp;gt;DNSBL&lt;br /&gt;
{&lt;br /&gt;
  server = &amp;quot;dnsbl.dnsbl.net&amp;quot;;&lt;br /&gt;
  name = &amp;quot;dnsbl.net&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;b&amp;quot;;&lt;br /&gt;
  replies = &amp;quot;1,3,5&amp;quot;;&lt;br /&gt;
  reply = &amp;quot;%n!%u@%h Found On DNSBL&amp;quot;;&lt;br /&gt;
  rank = &amp;quot;2&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WebIRC Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| W:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WebIRC {} blocks allow you display the real hostname of users connecting via CGI:IRC clients and sites such as Mibbit.com. These clients will send a WEBIRC command along with the user's hostname, ip and WebIRC {} block password to the server. The password needs to be encrypted like Operator {} block passwords. When the ircd receives the command, instead of using the hostname of the site the users is connecting from, the hostname sent in WEBIRC will be set. All this is done before the client enters the network completely. Please remember to enclose the description using quotes otherwise things will break.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;&amp;lt;mask&amp;gt;&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;&amp;lt;password&amp;gt;&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;&amp;lt;flags&amp;gt;&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;&amp;lt;ident&amp;gt;&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;&amp;lt;description&amp;gt;&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available flags:&lt;br /&gt;
&lt;br /&gt;
* m - Marks each client connected via the WebIRC {} block using the provided description.&lt;br /&gt;
* s - Sets the ident specified in the ident field for each WEBIRC client.&lt;br /&gt;
* u - Uses the ident from USER that the WEBIRC client sends.&lt;br /&gt;
&lt;br /&gt;
Note: Do not use both s and u, only choose one of them.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;WebIRC&lt;br /&gt;
{&lt;br /&gt;
  mask = &amp;quot;*@webchat.darenet.org&amp;quot;;&lt;br /&gt;
  pass = &amp;quot;VRKLKuGKn0jLs&amp;quot;;&lt;br /&gt;
  flags = &amp;quot;ms&amp;quot;;&lt;br /&gt;
  ident = &amp;quot;webirc&amp;quot;;&lt;br /&gt;
  desc = &amp;quot;DareNET WebChat&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpamFilter Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| OPTIONAL&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is probably the most controversial addition to ircd-darenet 1.3.x; however, sadly, it may become useful.&lt;br /&gt;
&lt;br /&gt;
SpamFiler {} blocks allow you to filter PRIVMSG's, NOTICE's, TOPIC's and AWAY's for spam. The filtering is done using regular expressions, so please be careful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;SpamFilter {&lt;br /&gt;
   regex = &amp;quot;&amp;lt;regex&amp;gt;&amp;quot;;                   &lt;br /&gt;
   rtype = &amp;quot;&amp;lt;watch flags&amp;gt;&amp;quot;;                &lt;br /&gt;
   action = &amp;quot;&amp;lt;action flags&amp;gt;&amp;quot;;              &lt;br /&gt;
   reason = &amp;quot;&amp;lt;reason&amp;gt;&amp;quot;;&lt;br /&gt;
   channel = &amp;quot;&amp;lt;optional alert channel&amp;gt;&amp;quot;;   &lt;br /&gt;
   length = &amp;lt;length in seconds&amp;gt;;                        &lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;regex&amp;gt; - PCRE format regular expression to match against.&lt;br /&gt;
* &amp;lt;watch flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;action flags&amp;gt; - See below for a list.&lt;br /&gt;
* &amp;lt;reason&amp;gt; - Used in error messages displayed to the user and/or kills/shuns/glines/zlines.&lt;br /&gt;
* &amp;lt;optional alert channel&amp;gt; - Requires the C action flag.&lt;br /&gt;
* &amp;lt;length in seconds&amp;gt; - Only applies to glines, zlines and shuns.&lt;br /&gt;
&lt;br /&gt;
Available watch flags:&lt;br /&gt;
&lt;br /&gt;
* n - Notices.&lt;br /&gt;
* N - Channel notices.&lt;br /&gt;
* p - Privmsgs.&lt;br /&gt;
* C - Channel privmsgs.&lt;br /&gt;
* q - Quits.&lt;br /&gt;
* P - Parts.&lt;br /&gt;
* d - DCCs.&lt;br /&gt;
* a - Away messages.&lt;br /&gt;
* t - Topics.&lt;br /&gt;
* u - Connects (nick!user@host:gecos).&lt;br /&gt;
* i - Nickname changes.&lt;br /&gt;
&lt;br /&gt;
Available action flags:&lt;br /&gt;
&lt;br /&gt;
* a - Auth. If used, logged in clients will be exempt from the filter.&lt;br /&gt;
* C - Channel alert. If used, filter matches will be sent to what is set in the SpamFilter {} block channel setting.&lt;br /&gt;
* S - Server (snotice) alert.&lt;br /&gt;
* k - Kill anyone who matches the filter.&lt;br /&gt;
* g - Gline anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* z - Zline anyone who matches the filter. The length can be given in seconds. This zlines *@ip, so you do not need the i action flag.&lt;br /&gt;
* s - Shun anyone who matches the filter. The length can be given in seconds.&lt;br /&gt;
* i - Uses the client's IP vice host in a Gline/Shun.&lt;br /&gt;
* b - Block; will prevent the PRIVMSG/NOTICE/TOPIC/AWAY from going through.&lt;br /&gt;
* n - Notify; will notify the person matching the filter, stating they've matched a filter, and deny their message.&lt;br /&gt;
* m - Mark; will mark the client as being a spam source.&lt;br /&gt;
* K - Kick; will kick the user triggering the Spam Filter. The kick reason given will be the reason set in the Spam Filter. This Flag will only work with the N and C watch flags.&lt;br /&gt;
* o - Ops/HalfOps; exempts ops and halfops from any checks which have a channel target.&lt;br /&gt;
* v - Voice; exempts voiced users from any checks which have a channel target.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* Shuns and Glines will be set using *@hostname. If you would them to be set using *@ip use the 'i' action flag.&lt;br /&gt;
* If you do not specify a length, then FILTER_DEFAULT_LENGTH will be used.&lt;br /&gt;
* The 'b' action flag cannot be used with the 'u' watch flag. You will need to use a kill flag to block them.&lt;br /&gt;
&lt;br /&gt;
== Features Block ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot; style=&amp;quot;font-size: 97%; text-align: left;&amp;quot;&lt;br /&gt;
| Requirement:&lt;br /&gt;
| SUGGESTED&lt;br /&gt;
|-&lt;br /&gt;
| Old conf format equivalents:&lt;br /&gt;
| F:line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ircd-darenet has a large number of options and features, most of which can be configured using a Features {} block. If linking to DareNET, your Features {} block will be rather bare, since most DareNET-specific settings have been already defined in the source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;featurename&amp;quot; = &amp;quot;value&amp;quot;;&lt;br /&gt;
  &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You only need one Features {} block, in which you use &amp;quot;featurename&amp;quot; = &amp;quot;value1&amp;quot;;, &amp;quot;featurename2&amp;quot; = &amp;quot;value2&amp;quot;;, and so on. Please note all values, whether integers or strings, must be enclosed in double quotes. &lt;br /&gt;
&lt;br /&gt;
See the [[Server_Features|servers features]] page for a list of available features.&lt;br /&gt;
&lt;br /&gt;
Example block:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;Features&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;FILE&amp;quot; &amp;quot;ircd.log&amp;quot;;&lt;br /&gt;
  &amp;quot;LOG&amp;quot; = &amp;quot;SYSTEM&amp;quot; &amp;quot;LEVEL&amp;quot; &amp;quot;CRIT&amp;quot;;&lt;br /&gt;
  &amp;quot;HUB&amp;quot; = &amp;quot;FALSE&amp;quot;;&lt;br /&gt;
};&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:IRCd]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/C/access</id>
		<title>C/access</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/C/access"/>
				<updated>2012-10-15T03:13:25Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;Reverted edits by Nitemare (Talk) to last revision by Admin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[ChanServ/myaccess|MYACCESS]]&amp;lt;br /&amp;gt;[[ChanServ/levels|LEVELS]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;ACCESS &amp;lt;#channel&amp;gt; &amp;lt;span class=&amp;quot;cmdsynopt&amp;quot;&amp;gt;[nickname|*account]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Shows the user's access level in the channel, and their ''infoline'', should they have one set.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ACCESS&amp;lt;/code&amp;gt; command can also be used to determine if a user is network staff.&lt;br /&gt;
&lt;br /&gt;
If no nickname or account is specified, your own information will be shown.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
* &amp;lt;code&amp;gt;/msg ChanServ ACCESS #chat Joe&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/msg ChanServ ACCESS #chat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/C/access</id>
		<title>C/access</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/C/access"/>
				<updated>2012-10-15T03:08:21Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Services|C - Command: ACCESS}}&lt;br /&gt;
{{ServicesDesc2 | syntax = /CS ACCESS &amp;lt;#channel&amp;gt; [nickname&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;*account]&lt;br /&gt;
|main = Shows the user's access level in the channel, and their ''infoline'', should they have one set.&lt;br /&gt;
&amp;lt;br&amp;gt;The &amp;lt;code&amp;gt;ACCESS&amp;lt;/code&amp;gt; command can also be used to determine if a user is network staff.&lt;br /&gt;
&amp;lt;br&amp;gt;If no nickname or account is specified, your own information will be shown.&lt;br /&gt;
|see = [[C/myaccess|MYACCESS]], [[C/levels|LEVELS]]}}&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/C/mdelmanager</id>
		<title>C/mdelmanager</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/C/mdelmanager"/>
				<updated>2012-10-15T02:58:23Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Services|C - Command: MDELMANAGER}}&lt;br /&gt;
{{ServicesDesc2 | syntax = /CS MDELMANAGER &amp;lt;#channel&amp;gt; &amp;lt;pattern&amp;gt;&lt;br /&gt;
|main = Deletes all accounts with an access level of MANAGER that match the specified pattern from the channel's user list.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Where &amp;lt;pattern&amp;gt; is a string, that may contain the &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;, to match account names against.&lt;br /&gt;
|see = [[C/clist|MLIST]], [[C/deluser|DELUSER]]}}&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/C</id>
		<title>C</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/C"/>
				<updated>2012-10-15T02:53:38Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;/* User Management Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;C is our channel services bot here on DareNET. It provides numerous features that help automate channel management, prevent channel takeovers and generally make life easier for both users and staff. This document describes the different commands and features that C provides.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
You can communicate with C via private message, or through server-side aliases, as shown below:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/msg C &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/msg C@services.darenet.org &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/ChanServ &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/CS &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C also supports &amp;quot;in-channel&amp;quot; (also known as &amp;quot;fantasy&amp;quot;) commands, which is discussed below.&lt;br /&gt;
&lt;br /&gt;
For the purpose of this document, we will be using the first two methods listed, as some IRC clients do not readily support server-side aliases without additional setup and/or client commands. However, you can choose to use any of the above methods.&lt;br /&gt;
&lt;br /&gt;
==In-channel Commands==&lt;br /&gt;
&lt;br /&gt;
As previously mentioned, C supports what we call ''in-channel'' commands. You can use the ''in-channel'' method for just about any of the commands C recognizes. All ''in-channel'' commands directed towards C begin with a period. If a command is given in a channel, and the channel parameter is not given, C will use the name of the channel that the command was used in.&lt;br /&gt;
&lt;br /&gt;
''In-channel'' commands may only be used in registered channels; however, C does not have to reside in the channel for them to work.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&lt;br /&gt;
To illustrate what we're talking about, let's say we have a channel named ''#chat'' and we would like to grant the user ''JoeClient'' op status. Using the ''in-channel'' method, we could achieve this by simply typing the following in ''#chat'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.OP JoeClient&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User Management Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/access|ACCESS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Check a user's access level in a channel.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/clvl|CLVL]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Change a user's access level.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mdelowner|MDELCOOWNER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete multiple Co-owners.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/suspend|SUSPEND]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Suspend a user's access.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addcoowner|ADDCOOWNER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant user Co-owner access.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/clist|CLIST]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List all Co-owners.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mdelgrunt|MDELGRUNT]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete multiple Grunts.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/trim|TRIM]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete users based on last activity&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addgrunt|ADDGRUNT]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant user Grunt access.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/deleteme|DELETEME]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete yourself from a channel's user list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mdelhop|MDELHOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete multiple HalfOps.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/unsuspend|UNSUSPEND]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Restore a suspended user's access.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addhop|ADDHOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant user HalfOp access.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/delban|DELBAN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete entry from bans list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mdelmanager|MDELMANAGER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete multiple Managers.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/users|USERS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View channel's user list.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addban|ADDBAN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Add entry to bans list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/deluser|DELUSER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete user from channel's user list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mdelop|MDELOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete multiple Ops.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/uset|USET]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set your user options for a channel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addmanager|ADDMANAGER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant user Manager access.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/glist|GLIST]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List all Grunts.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mlist|MLIST]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View Managers list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/wipeinfo|WIPEINFO]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove a user's info line.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addop|ADDOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant a user Op access in a channel.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/giveownership|GIVEOWNERSHIP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Give away ownership of channel.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/myaccess|MYACCESS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List channels you have access in.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/wlist|WLIST]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List all Owners.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/addtimedban|ADDTIMEDBAN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Add entry to bans list that expires.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/hlist|HLIST]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List all HalfOps.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/olist|OLIST]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List all Ops.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/adduser|ADDUSER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;A more advanced way of granting access to users.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/bans|BANS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View channel's bans list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/seen|SEEN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View last time a user was in the channel.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Channel Management Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/ban|BAN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set a ban on a user/host.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/events|EVENTS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List recent activity by channel users.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/op|OP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant use Op status (+o).&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/unbanall|UNBANALL]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Clear channel ban list.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/dehop|DEHOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove HalfOp status from user(s).&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/hop|HOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant user HalfOp status (+h).&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/open|OPEN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove modes/bans preventing you from joining channel.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/unbanme|UNBANME]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove bans matching yourself.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/delnote|DELNOTE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete a channel note.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/invite|INVITE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Invite yourself (or others) into the channel.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/resync|RESYNC]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Synchronize the channel's member list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/unregister|UNREGISTER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Unregister a channel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/deop|DEOP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove Op status from user(s).&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/kick|KICK]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Kick user(s) from channel.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/register|REGISTER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Registers a channel to your account.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/up|UP]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant yourself (Half)Op status.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/devoice|DEVOICE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove Voice status from user(s).&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/kickban|KICKBAN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Kick + Ban user(s) from channel.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/set|SET]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Change various channel settings.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/upall|UPALL]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt; Grant yourself (Half)Op/Voice status in all channels.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/down|DOWN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove (Half)Op/Voice status from yourself.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/mode|MODE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Manipulate channel's mode settings.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/topic|TOPIC]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set (or restore) the channel's topic.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/voice|VOICE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Grant user voice status (+v)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/downall|DOWNALL]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove (Half)Op/Voice status in all channels.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/note|NOTE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set a channel note.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[C/unban|UNBAN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Remove entries from channel ban list.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Quote Database Management Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/addquote|ADDQUOTE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Add a quote.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/delquote|DELQUOTE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Delete a quote.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/quote|QUOTE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View a quote, or search quote database.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/qvote|QVOTE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Rate a quote.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Informative / Miscellaneous Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/command|COMMAND]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View some misc. info about a command.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/info|INFO]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View channel's registration record.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/levels|LEVELS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List numerical equivalents for named access levels.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/staff|STAFF]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List all network staff (opers+helpers) currently online.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/helpers|HELPERS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List support helpers currently online.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/ircops|IRCOPS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;List IRC operators currently online.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/peek|PEEK]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View information on a channel's modes, topic and member list.&lt;br /&gt;
| &amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/version|VERSION]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View version information about C.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Toys==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/8ball|8BALL]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Ask the magic 8ball a question.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/fml|FML]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Get a random quote from [http://www.fmylife.com www.fmylife.com].&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/inspire|INSPIRE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Get a random inspirational quote.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/pastebin|PASTEBIN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Paste text to [http://pastebin.com pastebin.com].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/calc|CALC]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Calculate a mathematical expression.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/google|GOOGLE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Search [http://www.google.com Google].&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/isgd|ISGD]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Expands or shortens url for [http://is.gd is.gd].&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/twitter|TWITTER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View tweets via IRC.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/dice|DICE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Roll the dice.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/guess|GUESS]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Guess the number (between 1 and 100).&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/isitdown|ISITDOWN]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Check whether a site is reachable (up) or not (down).&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[ChanServ/weather|WEATHER]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Get weather conditions for a location.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:All]] [[Category:IRC Services]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Services_Usage</id>
		<title>Services Usage</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Services_Usage"/>
				<updated>2012-10-15T02:52:14Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Expand|text=page}}&lt;br /&gt;
&lt;br /&gt;
* [[N CertFP Auth]]&lt;br /&gt;
* [[Topic Masking Guide|Guide to using C's topic masking feature]]&lt;br /&gt;
&lt;br /&gt;
'''Services Bots:'''&lt;br /&gt;
&lt;br /&gt;
* [[C]] Channel management bot&lt;br /&gt;
* [[G]] Global services notification bot&lt;br /&gt;
* [[H]] Support ticketing bot&lt;br /&gt;
* [[N]] Nickname management bot&lt;br /&gt;
* [[S]] Statistical bot&lt;br /&gt;
* [[V]] Fake host management bot&lt;br /&gt;
* [[MemoServ]]&lt;br /&gt;
* [[SpamServ]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Server_Features</id>
		<title>Server Features</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Server_Features"/>
				<updated>2012-10-12T14:31:43Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedUpdate}}&lt;br /&gt;
&lt;br /&gt;
This page documents various features supported by ircd-darenet, most of which can be configured at run-time. While we will make every effort to update this page as new versions of ircd-darenet are released, we cannot guarantee it is 100% accurate or complete. Nonetheless, it can still be a useful reference.&lt;br /&gt;
&lt;br /&gt;
==DOMAINNAME==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| ircd.darenet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This option allows the server administrator to specify what should be consider &amp;quot;local.&amp;quot; It is used purely for statistical purposes only. When the IRC command &amp;lt;code&amp;gt;/STATS w&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/STATS userload&amp;lt;/code&amp;gt; is issued, the server will respond with statistics of how many clients have connected to the server in the last minute, hour and day. It lists these statistics for all connections (including servers), all clients (from anywhere) and also for clients whose hostname ends on the domain you specify here.&lt;br /&gt;
&lt;br /&gt;
So, if you would like to know what the client load on your own domain is, you could specify that domain here. If you are unsure what to do, then you don't need to specify this f-line at all. Whatever you do, do not give an empty string. Also, please note that the string you give should NOT start with a '.' or use quotes. &lt;br /&gt;
&lt;br /&gt;
==RELIABLE_CLOCK==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This option should ONLY be specified as &amp;quot;TRUE&amp;quot; when your system clock is stable and accurate at all times (e.g. 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 not guaranteed. For example, it is known that xntpd gives unreliable results on linux in some cases.&lt;br /&gt;
&lt;br /&gt;
An unreliable clock is worse than 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 SHOULD be running ntpd or equivalent AND make sure it works. On DareNET, this should always be &amp;quot;FALSE&amp;quot; unless a member of the Infrastructure Team has told you otherwise.&lt;br /&gt;
&lt;br /&gt;
==BUFFERPOOL==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 27000000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This option 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 &amp;quot;Buffer allocation error&amp;quot;; then you will need to increase this number (and install more RAM if appropriate).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;number of clients&amp;quot; times * 2048 bytes + &amp;quot;size of net.burst&amp;quot; * n, where &amp;quot;n&amp;quot; is 1 for leafs and up to 5 for HUBs. The &amp;quot;size of net.burst&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
==HAS_FERGUSON_FLUSHER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==CLIENT_FLOOD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 1024&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Excess flood.&amp;quot; A reasonable value is 1024 bytes. The maximum size is 8000 bytes.&lt;br /&gt;
&lt;br /&gt;
==SERVER_PORT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 7325&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==NODEFAULTMOTD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each time a client connects to the server, the full Message of the Day (MOTD), as specified by the motd block or file specified by the MPATH option, is sent to the client. The server sends the MOTD even though many clients permit the user to ignore it (e.g. hide it). Therefore, many users never read the MOTD anyway, making it a huge waste of bandwidth. If &amp;quot;TRUE&amp;quot; is specified here, then the server will not send the MOTD to the client by default; instead, it will only inform the client of when the MOTD was last changed, and give them instructions in how to obtain it by typing /MOTD.&lt;br /&gt;
&lt;br /&gt;
==MOTD_BANNER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==REMOTE_MOTD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Controls the use of remote message of the day's.&lt;br /&gt;
&lt;br /&gt;
==PROVIDER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This string is added to the 001 numeric prefixed with &amp;quot;via&amp;quot; before the nick. It's used for providing promotional space to providers.&lt;br /&gt;
&lt;br /&gt;
==GEO_LOCATION==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This string as added to the 003 numeric, is used for providing the location of the server, e.g. &amp;quot;Los Angeles, CA, United States.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==KILL_IPMISMATCH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;TRUE,&amp;quot; in which case the client is simply disconnected.&lt;br /&gt;
&lt;br /&gt;
==IDLE_FROM_MSG==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;TRUE&amp;quot; here. If you specify &amp;quot;FALSE,&amp;quot; then the idle time will be nullified on all messages except the server PING/PONG.&lt;br /&gt;
&lt;br /&gt;
==HUB==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All servers of an IRC &amp;quot;network&amp;quot; are connected in a &amp;quot;tree&amp;quot; (no loops). Servers that are only connected to one other server (called the &amp;quot;uplink&amp;quot;) are called &amp;quot;leafs&amp;quot;; servers that are connected to more than one other server are called HUBs. If you specify &amp;quot;FALSE&amp;quot; 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&lt;br /&gt;
linked as leafs during their test phase, and should specify &amp;quot;FALSE&amp;quot; here.&lt;br /&gt;
&lt;br /&gt;
==WALLOPS_OPER_ONLY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Setting this option removes the ability for clients that are not IRC operators to see wallops messages.&lt;br /&gt;
&lt;br /&gt;
==NODNS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;TRUE&amp;quot; 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 &amp;quot;localhost.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==RANDOM_SEED==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When a client connects, the server sends the client a &amp;quot;cookie,&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;:&amp;quot; or &amp;quot;#&amp;quot;; the string should be at least 8 characters long, but longer strings are better. The RANDOM_SEED may not be retrieved online.&lt;br /&gt;
&lt;br /&gt;
==DEFAULT_LIST_PARAM==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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, &amp;lt;code&amp;gt;/LIST&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
==NICKNAMEHISTORYLENGTH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 800&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This value specifies the length of the nick name history list, which is used for &amp;lt;code&amp;gt;/WHOWAS&amp;lt;/code&amp;gt; and some nickname chasing in &amp;lt;code&amp;gt;/KILL&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/KICK&amp;lt;/code&amp;gt;. It uses about 300 to 400 bytes per entry. Note that at a net break, so many clients disappear that the whole &amp;quot;whowas&amp;quot; list is refreshed a few times (unless you make it rather large). A reasonable value is &amp;quot;total number of clients&amp;quot; / 25.&lt;br /&gt;
&lt;br /&gt;
==HOST_HIDING==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==OPERHOST_HIDING==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When TRUE any oper setting +x will get the hidden host set via HIDDEN_OPERHOST instead of the host set in HIDDEN_HOST.&lt;br /&gt;
&lt;br /&gt;
==HOST_HIDING_STYLE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Value 1 will use ircu-style hostmasking. Value 2 uses Ultimate IRCd style hostmangling, such as a43sd.a3523f.isp.tld.&lt;br /&gt;
&lt;br /&gt;
==HIDDEN_HOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| user.darenet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This selects the suffix for the hidden hostmask (see HOST_HIDING).&lt;br /&gt;
&lt;br /&gt;
==HOST_HIDING_PREFIX==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| DareNET&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This selects the suffix for the hidden hostmask style 2.&lt;br /&gt;
&lt;br /&gt;
==HIDDEN_OPERHOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| staff.darenet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This selects the suffix for the hidden hostmask for IRC Operators (see OPERHOST_HIDING).&lt;br /&gt;
&lt;br /&gt;
==HIDDEN_IP==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 127.0.0.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This selects a fake IP to be shown on &amp;lt;code&amp;gt;/USERIP&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/WHO %i&amp;lt;/code&amp;gt; when the target has a hidden host (see HOST_HIDING).&lt;br /&gt;
&lt;br /&gt;
==CONNEXIT_NOTICES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
==EXTENDED_ACCOUNTS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==LOGIN_ON_CONNECT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This selects whether local clients can specify a service bot login in the connection phase. Read doc/readme.login-on-connect for details.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_LOC_EXEMPT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_LOC_EXEMPT_N_ONE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 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): &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_LOC_EXEMPT_N_TWO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| Type \002/QUOTE PASS N Account :Password\002 to connect&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_WALLOPS_ONLY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If enabled DNSBL filter matches will be alerted to opers via wallops.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_MARK_FAKEHOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If enabled then users who match DNSBL's will be marked.&lt;br /&gt;
&lt;br /&gt;
==LOC_DEFAULT_SERVICE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| N&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==DEFAULT_UMODE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| +iw&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==KILLCHASETIMELIMIT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If a user changes his or her nickname just before an operator issues a &amp;lt;code&amp;gt;/KILL&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;/KILL&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;/KILL&amp;lt;/code&amp;gt; will not be changed. Don't&lt;br /&gt;
change this unless you really need to.&lt;br /&gt;
&lt;br /&gt;
==MAXCHANNELSPERUSER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 50&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the maximum number of channels a user can be in at a time. The &amp;quot;mandatory&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
One of the most important reasons to choose a smaller value is the fact that the &amp;quot;GUI&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
==AVEXCEPTLEN==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the expected average except mask length. Leave it at 40.&lt;br /&gt;
&lt;br /&gt;
==MAXEXCEPTS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the maximum number of excepts a user may set on a given channel.&lt;br /&gt;
&lt;br /&gt;
==CHANNELLEN==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the allowed length of locally created channels. It may not be larger than the CHANNELLEN &amp;lt;nowiki&amp;gt;#define&amp;lt;/nowiki&amp;gt;. Like the NICKLEN feature, this is intended to ease changes in channel name length across a network.&lt;br /&gt;
&lt;br /&gt;
==AVBANLEN==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the expected average ban mask length. Leave it at 40.&lt;br /&gt;
&lt;br /&gt;
==MAXBANS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the maximum number of bans a user may set on a given channel.&lt;br /&gt;
&lt;br /&gt;
==MAXSILES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 50&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==MAXACCEPTS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| binteger&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 50&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the maximum number of masks a user can accept at a time. The accept command allows users to &amp;quot;always accept&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
==HANGONGOODLINK==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 300&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HANGONRETRYDELAY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==CONNECTTIMEOUT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 90&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Number of seconds to wait for a connect(2) call to complete.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;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 &amp;lt;big number&amp;gt; before registration.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==TIMESEC==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 60&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==MAXIMUM_LINKS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the maximum number of links for the built-in client class 0. Leave this value at 1.&lt;br /&gt;
&lt;br /&gt;
==PINGFREQUENCY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 120&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;ircd.conf&amp;quot; if the connection's I- or C-line in &amp;quot;ircd.conf&amp;quot; assigns a specific class to the connection (recommended).&lt;br /&gt;
&lt;br /&gt;
==CONNECTFREQUENCY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 600&lt;br /&gt;
|}&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==DEFAULTMAXSENDQLENGTH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 40000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;ircd.conf&amp;quot; with the Y-lines. The given value used to be an often used value for client sendQs.&lt;br /&gt;
&lt;br /&gt;
==GLINEMAXUSERCOUNT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 20&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==MPATH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| ircd.motd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
MPATH is the filename (relative to DPATH) or the full path of the &amp;quot;Message of the Day&amp;quot; file. The contents of this file will be sent to every client that connects to the server, after registration.&lt;br /&gt;
&lt;br /&gt;
==OMPATH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| ircd.opermotd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
OMPATH is the filename (relative to DPATH) or the full path of the &amp;quot;Message of the Day&amp;quot; file.  The contents of this file will be sent to every operator upon opering.&lt;br /&gt;
&lt;br /&gt;
==RPATH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| ircd.motd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
RPATH is the filename (relative to DPATH) or the full path of the &amp;quot;Remote Message of the Day&amp;quot; file. The contents of this file will be sent to every remote client that issues a &amp;lt;code&amp;gt;/MOTD&amp;lt;/code&amp;gt; &amp;lt;your server name&amp;gt;. Only the first three lines are sent, so you might want to keep that in mind while writing the file.&lt;br /&gt;
&lt;br /&gt;
==PPATH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| ircd.pid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
PPATH is the filename (relative to DPATH) or the full path of the &amp;quot;PID&amp;quot; file. It is used for storing the server's process ID so that a ps(1) isn't necessary.&lt;br /&gt;
&lt;br /&gt;
==TPATH==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| ircd.tune&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==VIRTUAL_HOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;TRUE&amp;quot; here, you can cause the server to bind to one of these IP addresses. Use the second field of the M-line (the &amp;quot;password&amp;quot; field) to specify the IP address. If you are unsure, change to &amp;quot;FALSE.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==TOS_SERVER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 0x08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==TOS_CLIENT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 0x08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==POLLS_PER_LOOP==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==NICKLEN==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the allowed length of the nickname length. It may not be larger than the &amp;lt;code&amp;gt;NICKLEN #define&amp;lt;/code&amp;gt;, and should usually be the same length. The real purpose of this feature is to permit easy increases in nickname length for a network.&lt;br /&gt;
&lt;br /&gt;
==IRCD_RES_RETRIES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the number of attempts the irc daemon's resolver will have at  trying to solicit a response from the DNS server.&lt;br /&gt;
&lt;br /&gt;
==IRCD_RES_TIMEOUT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==AUTH_TIMEOUT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==IPCHECK_CLONE_LIMIT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The number of times you are allowed to connect within IPCHECK_CLONE_PERIOD seconds before you are considered abusing the server and throttled.&lt;br /&gt;
&lt;br /&gt;
==IPCHECK_CLONE_PERIOD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The number of seconds you are allowed to connect IPCHECK_CLONE_LIMIT times within before you are considered abusing the server and throttled.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==IPCHECK_CLONE_DELAY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 600&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==SOCKSENDBUF==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 61440&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The send window size used for connections to other servers.&lt;br /&gt;
&lt;br /&gt;
==SOCKRECVBUF==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 61440&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The receive window size used for connections to other servers.&lt;br /&gt;
&lt;br /&gt;
==ANNOUNCE_INVITES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When a channel operator invites a user to their channel, all other opers will be notified of the invite.&lt;br /&gt;
&lt;br /&gt;
==BADCHAN_REASON==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| This channel has been closed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the kick reason for users being autokicked from a channel when it has been bad channel glined.&lt;br /&gt;
&lt;br /&gt;
==OPERFLAGS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==POLICY_NOTICE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Controls the display of the policy notice for connecting users.&lt;br /&gt;
&lt;br /&gt;
==LOCAL_CHANNELS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When enabled local channels (&amp;amp; perfix) can be used.&lt;br /&gt;
&lt;br /&gt;
==OPER_LOCAL_CHANNELS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only opers can create local channels if LOCAL_CHANNELS is enabled.&lt;br /&gt;
&lt;br /&gt;
==OPER_XTRAOP==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Controls the use of the (Quakenet-style) Xtra Op oper mode (+X).&lt;br /&gt;
&lt;br /&gt;
==XTRAOP_CLASS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| XtraOp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This is the class an oper must be in to use the Xtra Op mode if it is enabled.&lt;br /&gt;
&lt;br /&gt;
==OPER_HIDECHANS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Controls the use of the oper mode for hiding their channels in their WHOIS output.&lt;br /&gt;
&lt;br /&gt;
==OPER_HIDEIDLE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Controls the use of the oper mode for hiding their idle time in their WHOIS output.&lt;br /&gt;
&lt;br /&gt;
==CHECK==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When enabled an oper is allowed to use the CHECK command.&lt;br /&gt;
&lt;br /&gt;
==CHECK_EXTENDED==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When enabled extra information will be displayed for opers who are using CHECK on local clients. Extra information like traffic counts.&lt;br /&gt;
&lt;br /&gt;
==OPER_SINGLELETTERNICK==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This limits single letter nicknames to IRC operators only.&lt;br /&gt;
&lt;br /&gt;
==MAX_CHECK_OUTPUT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| integer&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| 1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Maximum amount of records displayed in any CHECK query.&lt;br /&gt;
&lt;br /&gt;
==CONFIG_OPERCMDS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Several new oper-only features have been added that involve changes to the server&amp;lt;-&amp;gt;server protocol. Until the entire network is running the new version, these features cannot be enabled.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;TRUE&amp;quot; in order for the features to be used.&lt;br /&gt;
&lt;br /&gt;
==HOST_IN_TOPIC==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==TIME_IN_TIMEOUT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This will display the amount of seconds it took for the user to timeout in their Ping Timeout quit message.&lt;br /&gt;
&lt;br /&gt;
==AUTOCHANMODES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When a user joins a new channel the modes in AUTOCHANMODES_LIST will be automatically set&lt;br /&gt;
&lt;br /&gt;
==AUTOCHANMODES_LIST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| nt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;nt&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
==FAKEHOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This enables the FAKEHOST command used for fake hosts (duh).&lt;br /&gt;
&lt;br /&gt;
==DEFAULT_FAKEHOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==SETHOST==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This enables the &amp;lt;code&amp;gt;/SETHOST&amp;lt;/code&amp;gt; command and user mode +h for opers activating Sethosts.&lt;br /&gt;
&lt;br /&gt;
==SETHOST_USER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This enabled the &amp;lt;code&amp;gt;/SETHOST&amp;lt;/code&amp;gt; command and user mode +h for users activating Sethosts with passwords.&lt;br /&gt;
&lt;br /&gt;
==SETHOST_AUTO==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This enables the automatic application of Sethosts on matching idents and hosts.&lt;br /&gt;
&lt;br /&gt;
==SETHOST_FREEFORM==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==REMOTE_OPER==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Allows remote users to oper up remotly witthout requiring an O:Line on the server they are on.&lt;br /&gt;
&lt;br /&gt;
==BOT_CLASS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| Bots&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines the class a bot must be on to be able to use +B bot mode.&lt;br /&gt;
&lt;br /&gt;
NOTE: On DareNET, users in this class will also be exempted from &amp;lt;code&amp;gt;/LIST&amp;lt;/code&amp;gt; restrictions. Intended for IRC search crawlers (e.g. SearchIRC, netsplit.de, etc).&lt;br /&gt;
&lt;br /&gt;
==OPERMOTD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Controls the use of the OPERMOTD command.&lt;br /&gt;
&lt;br /&gt;
==FLEXABLEKEYS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==NOTHROTTLE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Completly disables connection throttling.&lt;br /&gt;
&lt;br /&gt;
==CREATE_CHAN_OPER_ONLY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only IRC Operators will be able to create new channels.&lt;br /&gt;
&lt;br /&gt;
==CREATE_CHAN_ACC_ONLY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only users authenticated to a services account will be able to create new channels.&lt;br /&gt;
&lt;br /&gt;
==RESTARTPASS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==DIEPASS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| NULL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==TARGET_LIMITING==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Limits users to a certain amount of targets in the a certain amount of time.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_CHECKS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Enables DNS blacklist checks controlled via X:Lines.&lt;br /&gt;
&lt;br /&gt;
==DNSBL_EXEMPT_CLASS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| DNSBL_exempt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anyone in this class is immune to DNSBL checks if they are enabled.&lt;br /&gt;
&lt;br /&gt;
==HIS_IRCOPS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/IRCOPS&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_IRCOPS_SERVERS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes server names in the &amp;lt;code&amp;gt;/IRCOPS&amp;lt;/code&amp;gt; output from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_MAP==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/MAP&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_MAP_SCRAMBLED==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Scrambles the MAP output for normal users, removing hubs and U:lined servers.&lt;br /&gt;
&lt;br /&gt;
==HIS_SNOTICES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes server notices from users entirely.&lt;br /&gt;
 &lt;br /&gt;
==HIS_SNOTICES_OPER_ONLY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This prevents users from receiving server notices.&lt;br /&gt;
&lt;br /&gt;
==HIS_SNOTICES_OPER_AND_BOT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes server notices from non-opers and non-+B users.&lt;br /&gt;
 &lt;br /&gt;
==HIS_DESYNCS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes the ability for users to see desynch notices.&lt;br /&gt;
&lt;br /&gt;
==HIS_DEBUG_OPER_ONLY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes the ability for users to see debug notices.&lt;br /&gt;
&lt;br /&gt;
==HIS_WALLOPS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes operator wallops from users. They can still see wallusers.&lt;br /&gt;
&lt;br /&gt;
==HIS_LINKS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/LINKS&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_LINKS_SCRAMBLED==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Scrambles the &amp;lt;code&amp;gt;LINKS&amp;lt;/code&amp;gt; output for users, removing hubs and U:Lined servers.&lt;br /&gt;
&lt;br /&gt;
==HIS_TRACE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/TRACE&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_SHUN_REASON==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This HIDES the shun reason from the target when a shun is set on them (when TRUE).&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_WELCOMES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS A&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_FORWARDS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS b&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_MAPPINGS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS B&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_LINKS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS l&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_MODULES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS L&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_CONNECT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS c&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_GLINES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS g&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_KLINES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS k&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_FILTERS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS f&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_FEATURES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code/STATS F&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_ACCESS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS i&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_HISTOGRAM==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS j&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_JUPES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS J&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_COMMANDS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS m&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_OPERATORS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS o&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_PORTS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS p&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_QUARAUNTINES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS q&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_USAGE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS r&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_REDIRECTIONS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS R&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_CRULES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS d&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_EXCEPTIONS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS E&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_ENGINE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS e&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_SPOOFHOSTS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS s&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_SHUNS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS S&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_LOCALS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS t&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_MOTDS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS T&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_UPTIME==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS u&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_UWORLD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS U&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_VSERVERS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS v&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_USERLOAD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS w&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_WEBIRCS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS W&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_MEMUSAGE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS x&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_DNSBLS==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS X&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_CLASSES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS y&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_MEMORY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS z&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_STATS_ZLINES==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| TRUE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This removes &amp;lt;code&amp;gt;/STATS Z&amp;lt;/code&amp;gt; from users.&lt;br /&gt;
&lt;br /&gt;
==HIS_WHOIS_SERVERNAME==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This removes server names in replies to &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==HIS_WHOIS_IDLETIME==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This removes idle time in replies to &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==HIS_WHOIS_LOCALCHAN==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This removes local channels in replies to &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==HIS_WHO_SERVERNAME==&lt;br /&gt;
* '''Type: boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This removes server names in replies to &amp;lt;code&amp;gt;/WHO&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==HIS_WHO_HOPCOUNT==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This replaces hopcount to a static 3 in replies to &amp;lt;code&amp;gt;/WHO&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==HIS_BANWHO==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This doesn't show which server set a ban.&lt;br /&gt;
&lt;br /&gt;
==HIS_EXCEPTWHO==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This doesn't show which server set an except.&lt;br /&gt;
&lt;br /&gt;
==HIS_KILLWHO==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This doesn't show which server or oper performed a kill.&lt;br /&gt;
&lt;br /&gt;
==HIS_HIDEWHO==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This doesn't show which server preformed various functions like mode, opmode kick, etc when server preforms..&lt;br /&gt;
&lt;br /&gt;
==HIS_REWRITE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This remaps remote numerics to come from the local server.&lt;br /&gt;
&lt;br /&gt;
==HIS_GLINE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This will hide the user who performed the gline in the gline message when enabled.&lt;br /&gt;
&lt;br /&gt;
==HIS_USERGLINE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This will disable users using the gline command. (If the nessecary options are enabled, users can query the gline list using the gline command).&lt;br /&gt;
&lt;br /&gt;
==HIS_REMOTE==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 1&lt;br /&gt;
&lt;br /&gt;
This disallows remote queries from non-opers. (*sob!*)&lt;br /&gt;
&lt;br /&gt;
==HIS_USERIP==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
This will hide the IP of a user in the output of a &amp;lt;code&amp;gt;USERIP&amp;lt;/code&amp;gt; command. The real IP will be shown for opers.&lt;br /&gt;
&lt;br /&gt;
==HIS_SCRAMBLED_CACHE_TIME==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 604800&lt;br /&gt;
&lt;br /&gt;
Amount of seconds a split server is cached for before dissapearing off MAPS and LINKS for normal users.&lt;br /&gt;
&lt;br /&gt;
==HIS_NETSPLIT==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This removes server names in net break sign-offs. Instead they are shown as (*.net *.split).&lt;br /&gt;
&lt;br /&gt;
==HIS_SERVERNAME==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' &amp;quot;*.darenet.org&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is the &amp;quot;name&amp;quot; of the server shown to users on a &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt; of another user.&lt;br /&gt;
&lt;br /&gt;
==HIS_SERVERINFO==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' &amp;quot;DareNET Client Server&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is the &amp;quot;info&amp;quot; of the server shown to users on a &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt; of another user.&lt;br /&gt;
&lt;br /&gt;
==HIS_URLSERVERS==        &lt;br /&gt;
* '''Type:''' string &lt;br /&gt;
* '''Default:''' &amp;quot;http://www.darenet.org/servers&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
This is the URL shown to users when they do a &amp;lt;code&amp;gt;/MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/LINKS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==NETWORK==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' &amp;quot;DareNET&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This defines the network name as reported in the 005 &amp;quot;supported features&amp;quot; numeric, and as used by the &amp;quot;Failed to deliver&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
==URL_CLIENTS==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' &amp;quot;http://wiki.darenet.org/index.php/IRC_Clients&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This defines a URL that users may visit to find compatible IRC clients.&lt;br /&gt;
&lt;br /&gt;
==BADUSER_URL==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' &amp;quot;http://wiki.darenet.org/index.php/Why_do_I_get_error_Bad_Username&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This defines a URL that users may visit to fix their username/ident when it is invalid.&lt;br /&gt;
&lt;br /&gt;
==NETWORK_REHASH==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
Allow this server to act upon a network-issued /rehash.&lt;br /&gt;
&lt;br /&gt;
==NETWORK_RESTART==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
Allow this server to act upon a network-issued /restart.&lt;br /&gt;
&lt;br /&gt;
==NETWORK_DIE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
Allow this server to act upon a network-issued /die.&lt;br /&gt;
&lt;br /&gt;
==MAX_CHECK_OUTPUT==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 1000&lt;br /&gt;
&lt;br /&gt;
The maximum results in a &amp;lt;code&amp;gt;/CHECK&amp;lt;/code&amp;gt; response.&lt;br /&gt;
&lt;br /&gt;
==SWHOIS==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
Allows the IRCd to accept &amp;lt;code&amp;gt;SWHOIS&amp;lt;/code&amp;gt; commands from services.&lt;br /&gt;
&lt;br /&gt;
==HOST_HIDING_KEY1==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW&lt;br /&gt;
&lt;br /&gt;
One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.&lt;br /&gt;
&lt;br /&gt;
==HOST_HIDING_KEY2==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' sdfjkLJKHlkjdkfjsdklfjlkjKLJ&lt;br /&gt;
&lt;br /&gt;
One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.&lt;br /&gt;
&lt;br /&gt;
==HOST_HIDING_KEY3==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' KJklJSDFLkjLKDFJSLKjlKJFlkjS&lt;br /&gt;
&lt;br /&gt;
One of the 3 unique host hiding keys used to encrypt style 2 hidden hosts. These must all be different.&lt;br /&gt;
&lt;br /&gt;
==CTCP_VERSIONING==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
Enables CTCP versioning for clients on connect.&lt;br /&gt;
&lt;br /&gt;
==CTCP_VERSIONING_KILL==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
Kills clients who match specified versions.&lt;br /&gt;
&lt;br /&gt;
==CTCP_VERSIONING_CHAN==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
If enabled version replies will be sent to the channel set for CTCP_VERSIONING_CHANNAME&lt;br /&gt;
&lt;br /&gt;
==CTCP_VERSIONING_CHANNAME==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' #opers&lt;br /&gt;
&lt;br /&gt;
Channel where version replies are sent to if CTCP_VERSIONING_CHAN is enabled (See above).&lt;br /&gt;
&lt;br /&gt;
==CTCP_VERSIONING_USEMSG==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
If enabled version replies sent to the channel set for CTCP_VERSIONING_CHANNAME will be sent using privmsgs instead of notices.&lt;br /&gt;
&lt;br /&gt;
==CTCP_VERSIONING_NOTICE==&lt;br /&gt;
* '''Type:''' string&lt;br /&gt;
* '''Default:''' &amp;lt;nowiki&amp;gt;***&amp;lt;/nowiki&amp;gt; Checking your client version&lt;br /&gt;
&lt;br /&gt;
Message sent to clients during the versioning process on connect.&lt;br /&gt;
&lt;br /&gt;
==DEF_ALIST_LIMIT==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 30&lt;br /&gt;
&lt;br /&gt;
Maximum responses allowed in a ALIST search output.&lt;br /&gt;
&lt;br /&gt;
==ALIST_SEND_FREQ==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 300&lt;br /&gt;
&lt;br /&gt;
How often (in seconds) ALIST updates are checked across the server.&lt;br /&gt;
&lt;br /&gt;
==ALIST_SEND_DIFF==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 600&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==EXEMPT_EXPIRE==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 172800&lt;br /&gt;
&lt;br /&gt;
If no one has triggered an exempt within this amount of time (in seconds) then the exempt will expire.&lt;br /&gt;
&lt;br /&gt;
==STRICTUSERNAME==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
If enabled then strict ident/username rules will be applied.&lt;br /&gt;
&lt;br /&gt;
==ZLINEMAXUSERCOUNT==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 20&lt;br /&gt;
&lt;br /&gt;
Maximum amount of users a Z:line can affect when a Z:line is set via &amp;lt;code&amp;gt;/ZLINE&amp;lt;/code&amp;gt;. Zlines set via services or servers will not be affected by this rule.&lt;br /&gt;
&lt;br /&gt;
==NICK_DELAY==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 30&lt;br /&gt;
&lt;br /&gt;
How often a user can change thier nick (in seconds).&lt;br /&gt;
&lt;br /&gt;
==HELP_PACE==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 5&lt;br /&gt;
&lt;br /&gt;
How often a user can request /HELP (in seconds).&lt;br /&gt;
&lt;br /&gt;
==IPCHECK==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==LUSERS_AUTHED==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
If enabled a count of logged in users (e.g., authed to N) will be shown in &amp;lt;code&amp;gt;/LUSERS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==SHUNMAXUSERCOUNT==&lt;br /&gt;
* '''Type:''' integer&lt;br /&gt;
* '''Default:''' 20&lt;br /&gt;
&lt;br /&gt;
Maximum amount of users a Shun can affect when a shun is set via &amp;lt;code&amp;gt;/SHUN&amp;lt;/code&amp;gt;. Shuns set via services or servers will not be affected by this rule.&lt;br /&gt;
&lt;br /&gt;
==OPER_WHOIS_PARANOIA==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
Allows the use of the W opermode which will show &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt; attempts to opers when they are done on themselves. (*ugh*)&lt;br /&gt;
&lt;br /&gt;
==HIS_SHUN_REASON==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
Will prevent the reason from being shown to a user if enabled.&lt;br /&gt;
&lt;br /&gt;
==HIS_USERSHUN==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
Will prevent normal users from getting shun lists via &amp;lt;code&amp;gt;/SHUN&amp;lt;/code&amp;gt; if enabled.&lt;br /&gt;
&lt;br /&gt;
==HIS_ZLINE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
This will hide the user who issued the zline in the zline message when enabled.&lt;br /&gt;
&lt;br /&gt;
==HIS_USERZLINE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
Will prevent normal users from getting zline lists via &amp;lt;code&amp;gt;/ZLINE&amp;lt;/code&amp;gt; if enabled.&lt;br /&gt;
&lt;br /&gt;
==HIS_ZLINE_REASON==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' TRUE&lt;br /&gt;
&lt;br /&gt;
Will prevent the reason from being shown to a user if enabled.&lt;br /&gt;
&lt;br /&gt;
==IDENT_CHALLENGE==&lt;br /&gt;
* '''Type:''' boolean&lt;br /&gt;
* '''Default:''' FALSE&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;*** Ident broken or disabled, to continue to connect you must type /QUOTE PASS 1623745&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GLINE_URL==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| http://www.darenet.org/gline&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines the URL shown, in addition to the G-line reason given, when a G-lined user tries to connect.&lt;br /&gt;
&lt;br /&gt;
==ANTI_SPAMBOT==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Enable/disable spam bot checking.&lt;br /&gt;
&lt;br /&gt;
==ANTI_DRONE_FLOOD==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Enable/disable channel/message flood checking.&lt;br /&gt;
&lt;br /&gt;
==OPER_BYPASS_CALLERID==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==NETCHAN_NOTICE==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| boolean&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| FALSE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==NETCHAN_NOTICE_MSG==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| string&lt;br /&gt;
|-&lt;br /&gt;
| '''Default:'''&lt;br /&gt;
| is an official network channel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defines the actual notice sent to users when NETCHAN_NOTICE is enabled.&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/C/levels</id>
		<title>C/levels</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/C/levels"/>
				<updated>2012-10-12T14:04:11Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved ChanServ/levels to C/levels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Services|C - Command: LEVELS}}&lt;br /&gt;
{{ServicesDesc2 | syntax = /CS LEVELS&lt;br /&gt;
|main = C can use either the names (OWNER, COOWNER, MANAGER, OP, HALFOP and GRUNT) or numerical values from 1 to 500 to indicate channel access levels.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The LEVELS command displays all levels and their numerical ranges. Advanced users can change their style with NickServ's [[NickServ/set/style|SET STYLE]] command to view the numerical version in commands like [[C/users|USERS]], and may use these numbers instead of names for fine-tuning access.&lt;br /&gt;
|see = (NickServ) [[NickServ/set/style|SET STYLE]], [[C/access|ACCESS]], [[C/myaccess|MYACCESS]], [[C/adduser|ADDUSER]]}}&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/ChanServ/levels</id>
		<title>ChanServ/levels</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/ChanServ/levels"/>
				<updated>2012-10-12T14:04:11Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved ChanServ/levels to C/levels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[C/levels]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Server_Commands/SHUN</id>
		<title>Server Commands/SHUN</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Server_Commands/SHUN"/>
				<updated>2012-10-12T02:29:43Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Syntax:''' &amp;lt;code&amp;gt;SHUN [[!][+|-][$&amp;lt;type&amp;gt;]&amp;lt;mask&amp;gt; [[&amp;lt;target&amp;gt;] &amp;lt;expiration&amp;gt; :&amp;lt;reason&amp;gt;]]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shuns prevent users who match them from sending messages to the server, other than PING/PONG responses. They will not be notified they have been shunned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''!''' - The &amp;quot;!&amp;quot; prefix is used to forcefully place Shuns that would otherwise be denied by the server for being &amp;quot;too wide&amp;quot; (e.g. affect too many users). The ability to use this prefix has been disabled on DareNET.&lt;br /&gt;
&lt;br /&gt;
'''[+|-]''' - Optional. Specifies whether the Shun is to be activated or deactivated.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;$type&amp;gt;''' - The type argument can be used to Shun users whose realname (gcos) matches by using $R.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;mask&amp;gt;''' - This may take two forms depending on the type of Shun being placed; user@host for hostnames, and *phrase* for gcos. If not given, or if its not prefixed by &amp;quot;+&amp;quot; or &amp;quot;-&amp;quot;, a list of Shuns will be returned. If the &amp;quot;+&amp;quot; or &amp;quot;-&amp;quot; prefixes are used, then the &amp;lt;expiration&amp;gt; and &amp;lt;reason&amp;gt; parameters must also be given, even if the Shun already exists.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;target&amp;gt;''' - specifies what server(s) the Shun is to be activated/deactivated on. It may be either a server name or * for global. This is rarely used on DareNET due to the fact that O must be used to place global Shuns.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;expiration&amp;gt;''' -  The expiration can be specified either in seconds or as a formatted time (e.g. 2d5m3s).&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;reason&amp;gt;''' - The reason specifies why the user is being Shunned. It will be broadcasted to all IRC operators who have the appropriate SNOMASK.&lt;br /&gt;
&lt;br /&gt;
If the Shun currently exists, a prefix of &amp;quot;+&amp;quot; will cause an inactive Shun to be activated, whereas a prefix of &amp;quot;-&amp;quot; will cause an active Shun to be deactivated. If an attempt is made to modify a Shun set by a U-lined service, such as O, the change will be forced to be local. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Server Commands|(Return to Main listing of Server Commands)]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Server_Commands/GLINE</id>
		<title>Server Commands/GLINE</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Server_Commands/GLINE"/>
				<updated>2012-10-12T02:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Syntax:''' &amp;lt;code&amp;gt;GLINE [[!][+|-][$&amp;lt;type&amp;gt;]&amp;lt;mask&amp;gt; [[&amp;lt;target&amp;gt;] &amp;lt;expiration&amp;gt; :&amp;lt;reason&amp;gt;]]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
G-lines are fairly complicated; therefore, we'll attempt to explain how they work in addition on how to use the command itself.&lt;br /&gt;
&lt;br /&gt;
A G-line can be active or inactive, either locally or globally. It can be a purely local G-line, or global. It can be based on an IP address, hostname or even gcos. In short, there are many variations on the basic G-line. Worse, there is also the concept of a &amp;quot;bad channel&amp;quot;, or BADCHAN, that has been tacked onto the G-line subsyetem, when it should have been a separate command in the first place.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''!''' - The &amp;quot;!&amp;quot; prefix is used to forcefully place G-lines that would otherwise be denied by the server for being &amp;quot;too wide&amp;quot; (e.g. affect too many users). The ability to use this prefix has been disabled on DareNET.&lt;br /&gt;
&lt;br /&gt;
'''[+|-]''' - Optional. Specifies whether the G-line is to be activated or deactivated.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;$type&amp;gt;''' - The type argument can be used to G-line user realnames (gcos) by using $R.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;mask&amp;gt;''' - This may take several forms depending on the type of G-line being placed; user@host for hostnames, #channel for badchannels, and *phrase* for gcos. If not given, or if its not prefixed by &amp;quot;+&amp;quot; or &amp;quot;-&amp;quot;, a list of G-lines will be returned. If the &amp;quot;+&amp;quot; or &amp;quot;-&amp;quot; prefixes are used, then the &amp;lt;expiration&amp;gt; and &amp;lt;reason&amp;gt; parameters must also be given, even if the G-line already exists.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;target&amp;gt;''' - specifies what server(s) the G-line is to be activated/deactivated on. It may be either a server name or * for global. This is rarely used on DareNET due to the fact that O must be used to place global G-lines.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;expiration&amp;gt;''' -  The expiration can be specified either in seconds or as a formatted time (e.g. 2d5m3s).&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;reason&amp;gt;''' - The reason specifies why the user is being G-lined. It will be broadcasted to all IRC operators who have the appropriate SNOMASK and to user(s) being G-lined.&lt;br /&gt;
&lt;br /&gt;
If the G-line currently exists, a prefix of &amp;quot;+&amp;quot; will cause an inactive G-line to be activated, whereas a prefix of &amp;quot;-&amp;quot; will cause an active G-line to be deactivated. If an attempt is made to modify a G-line set by a U-lined service, such as O, the change will be forced to be local. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Server Commands|(Return to Main listing of Server Commands)]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Conduct</id>
		<title>Conduct</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Conduct"/>
				<updated>2012-10-12T02:23:45Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Historical}}&lt;br /&gt;
&lt;br /&gt;
IRC operators are the core of DareNET's staff and are perhaps the single most important factor in how DareNET appears to its users. Because of this the manner in which operators appear is very important to DareNET's image, the whole spirit of the network, and how well DareNET lives up to it's credo of &amp;quot;Personal Touch.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;On Duty&amp;quot; and &amp;quot;Off Duty&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
It is recognized by DareNET's network management that operators may be &amp;quot;on duty&amp;quot; and &amp;quot;off duty&amp;quot;. Naturally you have greater freedom to act as you choose when you are off duty; however, you should keep in mind that the activities of an operator reflect upon DareNET even when the operator is not acting as a representative of it. When you are on duty, you should always pay special attention to conducting in a professional manner.&lt;br /&gt;
&lt;br /&gt;
When are you on duty, and when are you off duty? The single definite rule is that when you are acting as DareNET's representative or a DareNET staff member, you are on duty. It is actually possible to be on duty and off duty at the same time, for example you can be &amp;quot;on duty&amp;quot; on a help channel and &amp;quot;off duty&amp;quot; in a private channel. In this case, anything you do or say on the help channel should be considered being on duty, while the private channel activity is clearly off duty.&lt;br /&gt;
&lt;br /&gt;
The interpretation, of course, depends upon each situation. If you doubt, it is better to err on the safe side and behave as if you are on duty.&lt;br /&gt;
&lt;br /&gt;
Here is a few indications that you are on duty:&lt;br /&gt;
&lt;br /&gt;
* Usermode +o set, using operator commands.&lt;br /&gt;
* Helping users in #support, or helping as a member of DareNET staff (for example, when a user requests help in a private message).&lt;br /&gt;
* Having channel ops when doing so as a representative of DareNET staff (for example, in an IRC operator channel, or oped using O).&lt;br /&gt;
* Participating in the mediation of a user dispute.&lt;br /&gt;
* Monitoring user or channel situations, incognito or not.&lt;br /&gt;
* Attending DareNET staff online meetings.&lt;br /&gt;
* Posting on DareNET's discussion forums or mailing lists.&lt;br /&gt;
&lt;br /&gt;
== General Conduct Guidelines ==&lt;br /&gt;
&lt;br /&gt;
Here are a few guidelines for general conduct. They should not even need to be included, but nevertheless they are listed here so that nobody can say that they were not clearly stated.&lt;br /&gt;
&lt;br /&gt;
* Always follow DareNET's policies and rules.&lt;br /&gt;
* DO NOT abuse your operator privileges.&lt;br /&gt;
* Respect and be considerate of ALL users. This include operators and non-operators.&lt;br /&gt;
&lt;br /&gt;
The following should observed when on duty:&lt;br /&gt;
&lt;br /&gt;
* Avoid swearing and derogatory comments. This can be off-putting to some users.&lt;br /&gt;
* DO NOT exhibit sexual behavior in public.&lt;br /&gt;
* Keep calm -- if you become upset or angry and cannot remain objective, it is a good idea to ask a fellow operator to handle the situation if possible.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Dealing with Users ==&lt;br /&gt;
&lt;br /&gt;
The manner in which you present yourself may make a difference in how efficiently and effectively you are able to handle any issue with users. You should remain calm, concise and matter of fact at all times when dealing with users. If you become upset or angry, you will be less effective and possibly even unintentionally make the situation worse. It is good to ask someone else to handle the issue for you if you are unable to remain objective. Operators need to work as a team and recognizing our individual strengths or weaknesses is an integral part of good team work. All of us have times when our performance is temporarily diminished. It is better for DareNET to have IRC operators who are able to rely on others for help, than to risk handling a situation badly.&lt;br /&gt;
&lt;br /&gt;
'''DareNET IRC operators should not look down on users, make fun of or ridicule them. It is part of the DareNET principles/credo that users be treated with the utmost respect. If you feel that you are above the network's &amp;quot;normal users&amp;quot;, you should seriously rethink your view, as chances are you'll be removed soon. You are an IRC operator on DareNET to serve the network, and thus, its users.'''&lt;br /&gt;
&lt;br /&gt;
When handling situations involving users, the following recommendations will help you handle it in a good, professional manner. Some of them may only apply to specific situations.&lt;br /&gt;
&lt;br /&gt;
* Be polite and respectful.&lt;br /&gt;
&lt;br /&gt;
* Give users the benefit of the doubt. If you have had a complaint about a user, ask them to tell you what the problem is themselves before you confront them about their reported behaviour.&lt;br /&gt;
&lt;br /&gt;
* Be consistent. If you apply DareNET's rules fairly to all users, then you'll have grounds to stand on should any user wish to complain about your actions.&lt;br /&gt;
&lt;br /&gt;
* State the issues clearly, without personal criticism. For example, saying &amp;quot;I received a complaint about someone flooding this channel. Do you know what happened?&amp;quot; will open up communication and the possibility of finding a peaceful solution. Whereas, just saying &amp;quot;I /KILL lamers for flooding.&amp;quot;, for example, may result in a escalation of the problem.&lt;br /&gt;
&lt;br /&gt;
* State clearly the rule or policy which was violated. For example, &amp;quot;Flooding is not allowed on DareNET because it interferes with other users' ability to chat and can cause some IRC clients to lose their connection to the network.&amp;quot; will be instructional as well as stating the network's position on the issue.&lt;br /&gt;
&lt;br /&gt;
* State clearly what the consequences are. For example, &amp;quot;You are being warned. If I receive one more complaint, I will /KILL your IRC session. Any complaints thereafter may result in an Autokill (for you or your site).&amp;quot; This way everyone knows what to expect and there will be no need to engage in any debate. Make sure you know what the appropriate action is for a particular violation and do not threaten to take action which goes against the network's policy for that particular issue.&lt;br /&gt;
&lt;br /&gt;
* Do not &amp;quot;threaten&amp;quot; action until you are sure it is what you will do. For example, be sure there is cause to /KILL someone before you tell them you are going to do it. While it is good to state that a possible consequence of the action may be a /KILL, it is important for users to know that once we state we will do something, we follow it through. If operators vacillate, it can start to sound like empty threats and the user may &amp;quot;test&amp;quot; repeatedly to see if we really mean what we say. It is better to avoid taking the action until you are sure there is no other option, then doing so quickly without further discussion. Remember to not use profanity or namecalling. Just state the reason based on the offending behaviour.&lt;br /&gt;
&lt;br /&gt;
* Do not criticize or ridicule users. Have patience for typos. Avoid embarrassing a user in front of others. We are here to educate, not humiliate.&lt;br /&gt;
&lt;br /&gt;
* Remember that DareNET is an international forum. For many English is a second (or latter) language and some colloquialisms and slang may be confusing or easily misinterpreted. Please try to use correct grammar and punctuation as this will facilitate ease of communication. If needed, you may attempt to find a translator.&lt;br /&gt;
&lt;br /&gt;
* Try to be sensitive to how others view the role of an IRC operator. Control and privileges are easily misunderstood. Being aware of your own feelings in this regard can be helpful in your interactions with others.&lt;br /&gt;
&lt;br /&gt;
You should also be aware that because IRC operators are perceived as having &amp;quot;power&amp;quot; on the network due to their privileges, some unscrupulous users will attempt to manipulate and exploit operators for their own benefit. Most users on IRC fall outside of this group, but such people are common enough that every operator will eventually meet one sooner or later. Keep this in mind when dealing with help requests and reports of abuse.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Staff Interaction ==&lt;br /&gt;
&lt;br /&gt;
When dealing with other staff members, how you conduct yourself is very important too. In general, it can have a huge influence in the overall morale, both good or bad. Here are a few guidelines that should be followed when interacting with other staff members.&lt;br /&gt;
&lt;br /&gt;
* Be polite and respectful.&lt;br /&gt;
&lt;br /&gt;
* Help other staff members if they ask for it.&lt;br /&gt;
&lt;br /&gt;
* Utilize your &amp;quot;chain of command.&amp;quot; For example, if you are having a problem with some issue, make sure your admin is aware of it, say before going to an EB member. It is better they find out from you, than from when we (the EB) confront them on it.&lt;br /&gt;
&lt;br /&gt;
* If you think someone is doing a good job and have something nice and encouraging to say, say it. Positive input is always welcome, and can make a big difference.&lt;br /&gt;
&lt;br /&gt;
* If you think someone is not acting right, you may try to correct him/her in private, POLITELY. Do not make defaming or derogatory comments about other staff members, especially not in public. It only lowers morale, potentially embarrasses the person and doesn't help to solve the situation. The opers@ mailing list is NOT to be used for this purpose.&lt;br /&gt;
&lt;br /&gt;
* If you want to make a complaint about another staff member, e-mail abuse[at]darenet.org with full details. Do not flame him/her in public, or attempt to &amp;quot;get to&amp;quot; him/her in other ways.&lt;br /&gt;
&lt;br /&gt;
== Staff Misconduct ==&lt;br /&gt;
&lt;br /&gt;
The possible consequences of misbehaviour are decided by the superior of that staff member alone or in conjunction with the Abuse Team. Consequences will be proportional and relevant to the offense and may include:&lt;br /&gt;
&lt;br /&gt;
* Demotion to a &amp;quot;local operator&amp;quot; for a probationary period.&lt;br /&gt;
* Personal and public apology.&lt;br /&gt;
* Replacing or reconstructing damaged records.&lt;br /&gt;
* Removal of channel access; temporarily or permanently for repeated misuse.&lt;br /&gt;
* Removal of O access.&lt;br /&gt;
* Mailing list moderation or removal.&lt;br /&gt;
* Removal of O:line or staff position.&lt;br /&gt;
* Refusal of future O:line opportunities.&lt;br /&gt;
* Permanent Network Ban.&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Support_Center</id>
		<title>Support Center</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Support_Center"/>
				<updated>2012-10-11T17:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NeedUpdate}}&lt;br /&gt;
&lt;br /&gt;
'''Welcome to DareNET's Support Center!'''&lt;br /&gt;
&lt;br /&gt;
Here you can find help on all of DareNET's wonderful services. We've got step-by-step walk throughs, frequently asked questions (FAQS) and more. If you can't find the help you need here, to report a problem, ask a question, or give us any kind of feedback on any of DareNET's services, please email our Support staff or visit #Support (live, online help, 24x7).&lt;br /&gt;
{{Box | 1 = '''DareNET Policy Documents''' | &lt;br /&gt;
2 =&amp;lt;table width=&amp;quot;500&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''All About Chat'''&lt;br /&gt;
* [[Chat Slang]]&lt;br /&gt;
* [[General Channel Guidelines]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''FAQs'''&lt;br /&gt;
* [[Bot FAQ]]&lt;br /&gt;
* [[Oper FAQ]]&lt;br /&gt;
* [[Quit Message FAQ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''DareNET Services'''&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[N]]&lt;br /&gt;
* [[MemoServ]]&lt;br /&gt;
* [[SpamServ]]&lt;br /&gt;
* [[H]]&lt;br /&gt;
* [[G]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;br&amp;gt;'''Channel Maintenance'''&lt;br /&gt;
* [[Channel Modes]]&lt;br /&gt;
* [[Extended Bans]]&lt;br /&gt;
* [[Topic Masking Guide]]&lt;br /&gt;
* [[The Art of Channel Management]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Services_Usage</id>
		<title>Services Usage</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Services_Usage"/>
				<updated>2012-10-11T17:49:05Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Expand|text=page}}&lt;br /&gt;
&lt;br /&gt;
* [[N CertFP Auth]]&lt;br /&gt;
* [[Topic Masking Guide|Guide to using C's topic masking feature]]&lt;br /&gt;
&lt;br /&gt;
'''Services Bots:'''&lt;br /&gt;
&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[G]]&lt;br /&gt;
* [[H]]&lt;br /&gt;
* [[N]]&lt;br /&gt;
* [[S]]&lt;br /&gt;
* [[V]]&lt;br /&gt;
* [[MemoServ]]&lt;br /&gt;
* [[SpamServ]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Extended_Bans</id>
		<title>Extended Bans</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Extended_Bans"/>
				<updated>2012-10-11T17:48:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Extended bans (also known as ban conditionals) allow different checks than the usual nick!user@host match to determine whether someone should be banned, giving channel operators more flexibility and control over their channel's ban list.&lt;br /&gt;
&lt;br /&gt;
On DareNET, extended bans are of the form '''&amp;lt;code&amp;gt;$[!]&amp;lt;type&amp;gt;:&amp;lt;data&amp;gt;&amp;lt;/code&amp;gt;'''. Where &amp;lt;type&amp;gt; is one character (case sensitive) and determines the type of match that is to be used. If the exclamation mark (!) is used, the result of the check will be negated (discussed below).&lt;br /&gt;
&lt;br /&gt;
The following types of extended bans are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | Name&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Purpose&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $a&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Account&lt;br /&gt;
| If a user's account name matches this ban, (s)he will be unable to join.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $c&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Channel&lt;br /&gt;
| If a user is in a channel that matches this ban, (s)he will be unable to join.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $j&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Shared Bans&lt;br /&gt;
| If a user matches a ban on the channel who's ban list is being shared, (s)he will be unable to join.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $n&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Nick Change&lt;br /&gt;
| If a user matches this ban, (s)he will be unable to change their nickname while in the channel.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $q&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Quiet&lt;br /&gt;
| If a user matches this ban, (s)he will be unable to send messages to the channel.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $r&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Realname&lt;br /&gt;
| If a user's realname (gecos) matches this ban, (s)he will be unable to join.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | $t&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | Text&lt;br /&gt;
| Allows you to specify text that will be blocked if a user's privmsg or notice to the channel contains it. * and ? wildcards supported.&lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quiet and Nick Change ==&lt;br /&gt;
&lt;br /&gt;
The $q (quiet) and $n (nick change) types are similar to normal bans, except that they allow you to control what a user can do without preventing them from being able to join the channel. The $q type prevents users matching a given mask from sending messages/notices to the channel, while the $n type prevents them from changing their nickname.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; width: 25px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Syntax&lt;br /&gt;
|-&lt;br /&gt;
| $q&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$q:nick!user@host'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| $n&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$n:nick!user@host'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&lt;br /&gt;
A.) If we wanted to allow users connecting from a &amp;quot;.br&amp;quot; host to join the channel, but prevent them from being able to send messages/notices to the channel, we could set the following $q type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$q:*!*@*.br&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
B.) If we also wanted to prevent users connecting from a &amp;quot;.br&amp;quot; host from changing their nickname while their in our channel, we could set the following $n type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$n:*!*@*.br&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Channel ==&lt;br /&gt;
&lt;br /&gt;
The $c (channel) type prevents users who are in a matching channel from joining your channel.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; width: 25px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Syntax&lt;br /&gt;
|-&lt;br /&gt;
| $c&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$c:#channel'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&lt;br /&gt;
A.) If we wanted to prevent users who are currently in a channel with the word ''warez'' in its name from joining our channel, we could set the following $c type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$c:#*warez*&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Realname ==&lt;br /&gt;
&lt;br /&gt;
The $r (realname/gecos) type prevents users with a matching realname from joining your channel.&lt;br /&gt;
&lt;br /&gt;
Note that the $r type treats &amp;quot;_&amp;quot; as both the underscore character and a space.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; width: 25px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Syntax&lt;br /&gt;
|-&lt;br /&gt;
| $r&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$r:realname'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&lt;br /&gt;
A.) If we wanted to prevent users who had the word ''bot'' in their realname (gecos) from the joining our channel, we could set the following $r type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$r:*bot*&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Account Bans ==&lt;br /&gt;
&lt;br /&gt;
The $a (account) type allows you to ban (logged in) users who's username (i.e., account name) matches the specified account mask.&lt;br /&gt;
&lt;br /&gt;
Note, these types of bans can only ever match users logged into their N account.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; width: 25px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Syntax&lt;br /&gt;
|-&lt;br /&gt;
| $a&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$a:account'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&lt;br /&gt;
A.) If we wanted to ban all users who's account name contained the word ''joe'', we could set the following $a type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$a:*joe*&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Account type extended bans act identical to the previous method of banning users based on their account name (i.e., &amp;lt;code&amp;gt;/mode #channel +b *!*@accountname.*&amp;lt;/code&amp;gt;); however, negation (reverse logic) can also be used with account type extended bans, which cannot presently be done with the old method. We discuss negation a little later in this guide.&lt;br /&gt;
&lt;br /&gt;
== Shared Bans ==&lt;br /&gt;
&lt;br /&gt;
The $j type allows sharing channel ban lists.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; width: 25px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Syntax&lt;br /&gt;
|-&lt;br /&gt;
| $j&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$j:#channel'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&lt;br /&gt;
A.) For this example, the name of our channel is ''#ourchannel'' and we want to use ''#shared''&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;s channel ban list inconjunction with our own. So, to do this we could set the following $j type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$j:#shared&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, whenever a user tries to join our channel, ''#ourchannel'', they'll be checked against ''#shared''&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;s ban list in addition to our own ban list. If a match is found in either ban list, the user will be prevented from joining.&lt;br /&gt;
&lt;br /&gt;
== Text Bans ==&lt;br /&gt;
&lt;br /&gt;
The $t (text) type allows channel operators to specify text (wildcards supported) that will be blocked if (1) the user's message or notice to the channel matches it, and (2) the user's host matches the entry as well.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;simpletable&amp;quot; width=&amp;quot;55%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align: left; width: 25px;&amp;quot; | Type&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Syntax&lt;br /&gt;
|-&lt;br /&gt;
| $t&lt;br /&gt;
| &amp;lt;code&amp;gt;/mode #channel +b '''$t:nick!user@host:text'''&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Examples:'''&lt;br /&gt;
&lt;br /&gt;
A.) Let's say we wanted to block all channel messages and notices that contained the word ''damn'', regardless of the user sending it. To do this we could set the following $t type extended ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$t:*!*@*:*damn*&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
B.) Using example A, let's say we only wanted to block such messages from users connected from a &amp;quot;.br&amp;quot; host. To do this we would slightly modify the above $t type extended ban as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$t:*!*@*.br:*damn*&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Negation / Reverse Logic ==&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;!&amp;quot; is prepended to the type of an extended ban, then the result of the comparison is negated. In other words, it will have a reversed effect. Negation is currently not possible with quiets. We suggest using excepts in this instance, instead.&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
&lt;br /&gt;
A.) Let's say we wanted to allow users to join our channel ONLY if they're already present in #darenet. To do this, we would set a $c type extended ban, but prepending &amp;quot;!&amp;quot; to the type flag:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;pre&amp;gt;/mode #ourchannel +b &amp;lt;strong&amp;gt;$!c:#darenet&amp;lt;/strong&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Assistance ==&lt;br /&gt;
&lt;br /&gt;
Should you need assistance using the extended bans feature, feel free to stop by #Support&lt;br /&gt;
&lt;br /&gt;
[[Category:All]] [[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/When_do_accounts_and_nicks_expire</id>
		<title>When do accounts and nicks expire</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/When_do_accounts_and_nicks_expire"/>
				<updated>2012-10-11T17:48:10Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First, please keep in mind that accounts and IRC nicknames are two different entities, while it is possible to register IRC nicknames to your DareNET account.&lt;br /&gt;
&lt;br /&gt;
That said, we do not ''expire'' accounts. However, we do consider IRC nicknames expired after 60 days without use. Nicknames which are at least two weeks old, and which were last used less than two hours after their creation may also be considered expired. These limits do not apply to staff-reserved nicknames, which are allocated and dropped as needed. Also, if the nickname you want to register is the same as someone's account name, or someone's alternate nickname, and it's the only alternate nickname they have, we may be reluctant to drop it, even if it's expired.&lt;br /&gt;
&lt;br /&gt;
== How do you know the last time an IRC nickname was used? ==&lt;br /&gt;
&lt;br /&gt;
We know this only as a result of your authenticating/identifying to N when you connect to the network. If you don't identify, we'll have no way to know that your nickname is in use, and it will eventually expire. &lt;br /&gt;
&lt;br /&gt;
== How can I take over a registered nickname that hasn't been used in a long time? ==&lt;br /&gt;
&lt;br /&gt;
Nicknames which are considered expired are not dropped automatically on a regular basis. We do drop them when we notice them and, if you ask a support agent in #support, we'll be happy to manually drop the one you want so that you can re-register it.&lt;br /&gt;
&lt;br /&gt;
== I registered my nickname and now someone else has it. Did someone steal it? How do I get it back? == &lt;br /&gt;
&lt;br /&gt;
To keep your registered nickname, you must continue to use it. If you don't sign onto the network for at least 60 days, or you don't identify to N for at least 60 days, the nickname is considered expired, and someone can ask to have it dropped. When a nickname has been dropped and picked up by some other user, we can't take it back from them. That would be unfair to the user who picked it up. &lt;br /&gt;
&lt;br /&gt;
[[Category:Abuse and Policy]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/FAQ/Account_and_Password</id>
		<title>FAQ/Account and Password</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/FAQ/Account_and_Password"/>
				<updated>2012-10-11T17:47:12Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__{{FAQ|'''Account and Password'''}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;How do I login to my DareNET account?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;To access your DareNET account via the web site, visit the [http://www.darenet.org/login Login] page, enter your username and password in the appropriate fields, and click the Login button.&lt;br /&gt;
&lt;br /&gt;
To access your DareNET account via IRC, you will need to authenticate to N. This can be done by using one of the following commands:&lt;br /&gt;
&lt;br /&gt;
* /msg N@services.darenet.org AUTH &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;br /&gt;
* /NickServ AUTH &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;br /&gt;
* /ns AUTH &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;br /&gt;
* /auth &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;br /&gt;
* /identify &amp;lt;username&amp;gt; &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remember, you do not need to include the &amp;quot;&amp;lt;&amp;quot; and &amp;quot;&amp;gt;&amp;quot; brackets. Additionally, if the nickname you are using is registered to the account you're authenticating to, you may omit the username portion of the command and just supply your password.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;Can I have more than one account?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;Unless you exist in two parallel universes at once, unfortunately no. To protect the integrity of the system, our policy is one person, one account. For those wanting to register multiple IRC nicknames, you can do so by using N's REGNICK command, which links them to your account.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;When do accounts and nicknames expire?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;First, please keep in mind that accounts and IRC nicknames are two different entities, while it is possible to register IRC nicknames to your DareNET account.&lt;br /&gt;
&lt;br /&gt;
That said, we do not expire accounts. However, we do consider IRC nicknames expired after 30 days without use (this is done automagically). Nicknames which are at least two weeks old, and which were last used less than two hours after their creation may also be considered expired. These limits do not apply to staff-reserved nicknames, which are allocated and dropped as needed. Also, if the nickname you want to register is the same as someone's account name, or someone's alternate nickname, and it's the only alternate nickname they have, we may be reluctant to drop it, even if it's expired.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;How do you know the last time an IRC nickname was used?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;We know this only as a result of your authenticating/identifying to N when you connect to the network. If you don't identify, we'll have no way to know that your nickname is in use, and it will eventually expire.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;How can I take over a registered nickname that has not been used in a long time?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;Nicknames which are considered expired are automatically dropped after 60 days. Any other nicknames that are considered expired are not dropped on a regular basis. We do drop them when we notice them and, if you ask a support agent in #support, we'll be happy to manually drop the one you want so that you can re-register it.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;I registered my nickname and now someone else has it. Did someone steal it? How do I get it back?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;To keep your registered nickname, you must continue to use it. If you don't sign onto the network for at least 60 days, or you don't identify to N for at least 60 days, the nickname is considered expired, and someone can ask to have it dropped. When a nickname has been dropped and picked up by some other user, we can't take it back from them. That would be unfair to the user who picked it up.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;My account was deleted, why?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;DareNET takes a firm stance against users who violate our [[Policy:Acceptable Use Policy|Acceptable Use Policy]]. This is in order to protect the integrity of our system for the good of our community. Normally we'll issue warnings and/or suspend the account first; however, if the abuse was severe enough, then it will warrant an account removal.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;Why was my DareNET account suspended?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;There are a variety of reasons an account may be suspended or terminated. The most common reason is repeated violation of the Acceptable Use Policy. For severe abuse, it is possible for an account to be terminated on a first offense, such as predatory behavior or spam. Individuals whose accounts have been terminated are prohibited from creating new accounts. If a new account is discovered, it too may be terminated without warning.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;How do I reset my password and make sure it’s secure?&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;You can reset your password by using N's RESETPASS or PASSWORD commands on IRC. When choosing a new password, be sure to use a different password than you use for other sites or services, made up of a complex string of numbers, letters, and punctuation marks that is at least six characters in length. Do not use words found in the dictionary.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5 class=&amp;quot;faqentry expArrow&amp;quot;&amp;gt;I am not receiving the email to reset my password.&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;faqentrya&amp;quot;&amp;gt;Please follow the steps below to resolve this issue:&lt;br /&gt;
&lt;br /&gt;
* Check your email application's spam or junk folder or filter.&lt;br /&gt;
* Please note that some emails may be blocked by your ISP (internet service provider).&lt;br /&gt;
&lt;br /&gt;
If you're still having trouble after the above steps, please submit a report [http://www.darenet.org/forum/sendmessage.php here], or join [http://webchat.darenet.org?channels=support #Support] for further assistance.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/How_to_close_my_account%3F</id>
		<title>How to close my account?</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/How_to_close_my_account%3F"/>
				<updated>2012-10-11T17:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can close your DareNET account yourself by using N's UNREGISTER command. Please use &amp;lt;code&amp;gt;/NS HELP UNREGISTER&amp;lt;/code&amp;gt; for more information.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can request to have your DareNET account closed by contacting support@darenet.org. Please keep in mind that you'll need to email us from the email address associated with your DareNET account.&lt;br /&gt;
&lt;br /&gt;
[[Category:Abuse and Policy]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/How_to_change_my_account_name</id>
		<title>How to change my account name</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/How_to_change_my_account_name"/>
				<updated>2012-10-11T17:46:05Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Having an identity crisis? First make sure the new account name is not already in use. You can do that by using the following command: &amp;lt;code&amp;gt;/NS ACCOUNTINFO *accountname&amp;lt;/code&amp;gt;. Please note the asterisk (*). Then you can request a change to your account name by joining #Support and stating your request, or by e-mailing support@darenet.org. Make sure to email us from the email address associated with your DareNET account.&lt;br /&gt;
&lt;br /&gt;
[[Category:Abuse and Policy]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V</id>
		<title>V</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V"/>
				<updated>2012-10-11T17:45:28Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;V allows you to set and manage custom titles for your account. For a list of available titles, visit [http://www.darenet.org/titles http://www.darenet.org/titles]&lt;br /&gt;
&lt;br /&gt;
NOTE: You may only change your title once every 14 days.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
V may be accessed in the following ways:&lt;br /&gt;
&lt;br /&gt;
* /msg V &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* /msg V@services.darenet.org &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* /hostserv &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* /hs &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the purpose of this document, we will be using the first two methods listed, as some IRC clients do not readily support server-side aliases without additional setup and/or client commands. However, you can choose to use any of the above methods.&lt;br /&gt;
&lt;br /&gt;
==User Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/accept|ACCEPT]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Accept a group custom host invitation.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/pending|PENDING]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View pending custom host invitations.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/title|TITLE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set a custom title for your account.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/deny|DENY]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Deny a group custom host invitation.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/random|RANDOM]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set a random title for your account.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Group Contact Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/invite|INVITE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Send a custom host invitation for your group.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/uninvite|UNINVITE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Cancel a pending invitation for your group.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:All]] [[Category:IRC Services]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Login_On_Connect</id>
		<title>Login On Connect</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Login_On_Connect"/>
				<updated>2012-10-11T17:45:06Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup}}&lt;br /&gt;
&lt;br /&gt;
{{NeedUpdate}}&lt;br /&gt;
&lt;br /&gt;
=Login-on-Connect (LOC)=&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
&lt;br /&gt;
The Login-on-Connect (LOC) feature allows you to pre-login while connecting to DareNET. Using Login-on-Connect bypasses you from [http://www.darenet.org/rbl RBL] scans and hides your hostname before anyone can see your real IP address. We recommend everyone give it a try. &lt;br /&gt;
&lt;br /&gt;
To use Login-on-Connect, you must first have an DareNET N Account. Register for one here if you don't already have one. &lt;br /&gt;
&lt;br /&gt;
Login-on-connect uses the “server password” feature built into most IRC clients. All you do is put your specially formatted login information into the server password box like this:&lt;br /&gt;
&lt;br /&gt;
 username:password (your username, colon, your password)&lt;br /&gt;
&lt;br /&gt;
for example, my username is NiTeMaRe, and if my password was mysecretpass I would put the following into my password box:&lt;br /&gt;
&lt;br /&gt;
 NiTeMaRe:mysecretpass&lt;br /&gt;
&lt;br /&gt;
When you connect to DareNET using the new password, you should see a message like the following: &lt;br /&gt;
&lt;br /&gt;
 *** Attempting service login to N&lt;br /&gt;
 *** AUTHENTICATION SUCCESSFUL as NiTeMaRe&lt;br /&gt;
&lt;br /&gt;
==Client Specific Instructions:==&lt;br /&gt;
&lt;br /&gt;
Detailed instructions for [[loc-mirc|mIRC users]].&lt;br /&gt;
&lt;br /&gt;
Detailed instructions for [[loc-xchat|XChat users]].&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
*Make sure you can login the normal way to N: /ns auth username password&lt;br /&gt;
*If you get a message about /QUOTE PASS that means your username, or password is wrong, or maybe N is down?&lt;br /&gt;
*Some people reported having to close mIRC and re-open it before LOC started working.&lt;br /&gt;
*You no longer have to have a *@* host (default) set in N since LOC is now aware of your hostname.&lt;br /&gt;
*The 'server group' must be the string “DareNET” exactly. mIRC wont send the password if the name doesn't match what the server announces itself as.&lt;br /&gt;
*Try typing the password string into notepad so you can see it. Then paste it into the password box.&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/uninvite</id>
		<title>HostServ/uninvite</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/uninvite"/>
				<updated>2012-10-11T17:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/uninvite to V/uninvite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/uninvite]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/uninvite</id>
		<title>V/uninvite</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/uninvite"/>
				<updated>2012-10-11T17:44:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/uninvite to V/uninvite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/invite|INVITE]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;UNINVITE &amp;lt;group&amp;gt; &amp;lt;nickname|*account&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removes a pending group custom host invitation for the specified user.&lt;br /&gt;
&lt;br /&gt;
NOTE: you must be on the group's contact list to remove pending custom host invitations.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V UNINVITE darenet NiTeMaRe&lt;br /&gt;
| Removes NiTeMaRe's custom host invitation for the group ''darenet''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/uninvite</id>
		<title>V/uninvite</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/uninvite"/>
				<updated>2012-10-11T17:44:10Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/invite|INVITE]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;UNINVITE &amp;lt;group&amp;gt; &amp;lt;nickname|*account&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Removes a pending group custom host invitation for the specified user.&lt;br /&gt;
&lt;br /&gt;
NOTE: you must be on the group's contact list to remove pending custom host invitations.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V UNINVITE darenet NiTeMaRe&lt;br /&gt;
| Removes NiTeMaRe's custom host invitation for the group ''darenet''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/invite</id>
		<title>HostServ/invite</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/invite"/>
				<updated>2012-10-11T17:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/invite to V/invite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/invite]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/invite</id>
		<title>V/invite</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/invite"/>
				<updated>2012-10-11T17:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/invite to V/invite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/uninvite|UNINVITE]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;INVITE &amp;lt;group&amp;gt; &amp;lt;nickname|*account&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sends a group custom host invitation to the specified user. Custom group hosts are in the form of: &amp;lt;code&amp;gt;&amp;lt;account&amp;gt;.&amp;lt;title&amp;gt;.&amp;lt;group&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''&amp;lt;group&amp;gt;'' is the name of the group the invitation is for, and ''&amp;lt;title&amp;gt;'' is the custom title you would like to grant to the user.&lt;br /&gt;
&lt;br /&gt;
NOTE: you must be on the group's contact list to send custom host invitations.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V INVITE darenet *NiTeMaRe staff&lt;br /&gt;
| Sends a custom host invitation to the user who's account name is ''NiTeMaRe'' for the title ''staff''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/invite</id>
		<title>V/invite</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/invite"/>
				<updated>2012-10-11T17:43:47Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/uninvite|UNINVITE]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;INVITE &amp;lt;group&amp;gt; &amp;lt;nickname|*account&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sends a group custom host invitation to the specified user. Custom group hosts are in the form of: &amp;lt;code&amp;gt;&amp;lt;account&amp;gt;.&amp;lt;title&amp;gt;.&amp;lt;group&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where ''&amp;lt;group&amp;gt;'' is the name of the group the invitation is for, and ''&amp;lt;title&amp;gt;'' is the custom title you would like to grant to the user.&lt;br /&gt;
&lt;br /&gt;
NOTE: you must be on the group's contact list to send custom host invitations.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V INVITE darenet *NiTeMaRe staff&lt;br /&gt;
| Sends a custom host invitation to the user who's account name is ''NiTeMaRe'' for the title ''staff''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/random</id>
		<title>HostServ/random</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/random"/>
				<updated>2012-10-11T17:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/random to V/random&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/random]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/random</id>
		<title>V/random</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/random"/>
				<updated>2012-10-11T17:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/random to V/random&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/title|TITLE]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;RANDOM&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Randomly selects a title from the available titles list at [http://www.darenet.org/titles http://www.darenet.org/titles] and sets it for your account.&lt;br /&gt;
&lt;br /&gt;
NOTE: you can only change your title once every 14 days. For assistance, please join [http://www.darenet.org/webchat?channels=support #Support].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/random</id>
		<title>V/random</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/random"/>
				<updated>2012-10-11T17:43:11Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/title|TITLE]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;RANDOM&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Randomly selects a title from the available titles list at [http://www.darenet.org/titles http://www.darenet.org/titles] and sets it for your account.&lt;br /&gt;
&lt;br /&gt;
NOTE: you can only change your title once every 14 days. For assistance, please join [http://www.darenet.org/webchat?channels=support #Support].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/title</id>
		<title>HostServ/title</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/title"/>
				<updated>2012-10-11T17:42:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/title to V/title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/title]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/title</id>
		<title>V/title</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/title"/>
				<updated>2012-10-11T17:42:49Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/title to V/title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/random|RANDOM]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;TITLE &amp;lt;title&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sets a custom title for your account. A list of all available custom titles can be found at [http://www.darenet.org/titles http://www.darenet.org/titles]&lt;br /&gt;
&lt;br /&gt;
NOTE: you can only change your title once every 14 days. For assistance, please join [http://www.darenet.org/webchat?channels=support #Support].&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V TITLE loves&lt;br /&gt;
| Sets the title ''loves'' for your account, making your hidden host: &amp;lt;your-account-name-here&amp;gt;.loves.darenet&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/title</id>
		<title>V/title</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/title"/>
				<updated>2012-10-11T17:42:43Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/random|RANDOM]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;TITLE &amp;lt;title&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sets a custom title for your account. A list of all available custom titles can be found at [http://www.darenet.org/titles http://www.darenet.org/titles]&lt;br /&gt;
&lt;br /&gt;
NOTE: you can only change your title once every 14 days. For assistance, please join [http://www.darenet.org/webchat?channels=support #Support].&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V TITLE loves&lt;br /&gt;
| Sets the title ''loves'' for your account, making your hidden host: &amp;lt;your-account-name-here&amp;gt;.loves.darenet&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/deny</id>
		<title>HostServ/deny</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/deny"/>
				<updated>2012-10-11T17:42:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/deny to V/deny&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/deny]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/deny</id>
		<title>V/deny</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/deny"/>
				<updated>2012-10-11T17:42:16Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/deny to V/deny&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/accept|ACCEPT]]&amp;lt;br /&amp;gt;[[V/pending|PENDING]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;ACCEPT &amp;lt;group&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to deny a group custom host invitation. Where ''&amp;lt;group&amp;gt;'' is the name of the group you are denying the invitation for.&lt;br /&gt;
&lt;br /&gt;
To view a list of pending invitations for your account, you may use the [[V/pending|PENDING]] command.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V DENY darenet&lt;br /&gt;
| Denies a custom host invitation from the group ''DareNET''. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/deny</id>
		<title>V/deny</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/deny"/>
				<updated>2012-10-11T17:42:09Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/accept|ACCEPT]]&amp;lt;br /&amp;gt;[[V/pending|PENDING]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;ACCEPT &amp;lt;group&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to deny a group custom host invitation. Where ''&amp;lt;group&amp;gt;'' is the name of the group you are denying the invitation for.&lt;br /&gt;
&lt;br /&gt;
To view a list of pending invitations for your account, you may use the [[V/pending|PENDING]] command.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V DENY darenet&lt;br /&gt;
| Denies a custom host invitation from the group ''DareNET''. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/pending</id>
		<title>HostServ/pending</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/pending"/>
				<updated>2012-10-11T17:41:44Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/pending to V/pending&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/pending]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/pending</id>
		<title>V/pending</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/pending"/>
				<updated>2012-10-11T17:41:44Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/pending to V/pending&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/accept|ACCEPT]]&amp;lt;br /&amp;gt;[[V/deny|DENY]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;PENDING&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View a list of pending invitations for your account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/pending</id>
		<title>V/pending</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/pending"/>
				<updated>2012-10-11T17:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/accept|ACCEPT]]&amp;lt;br /&amp;gt;[[V/deny|DENY]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;PENDING&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View a list of pending invitations for your account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/HostServ/accept</id>
		<title>HostServ/accept</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/HostServ/accept"/>
				<updated>2012-10-11T17:41:08Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/accept to V/accept&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[V/accept]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/accept</id>
		<title>V/accept</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/accept"/>
				<updated>2012-10-11T17:41:08Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;moved HostServ/accept to V/accept&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/deny|DENY]]&amp;lt;br /&amp;gt;[[V/pending|PENDING]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;ACCEPT &amp;lt;group&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to accept a group custom host invitation. Where ''&amp;lt;group&amp;gt;'' is the name of the group you are accepting the invitation for.&lt;br /&gt;
&lt;br /&gt;
To view a list of pending invitations for your account, you may use the [[V/pending|PENDING]] command.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V ACCEPT darenet&lt;br /&gt;
| Accepts a custom host invitation from the group ''DareNET''. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V/accept</id>
		<title>V/accept</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V/accept"/>
				<updated>2012-10-11T17:41:00Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Related commands|[[V/deny|DENY]]&amp;lt;br /&amp;gt;[[V/pending|PENDING]]}}&amp;lt;div class=&amp;quot;cmdsyn&amp;quot;&amp;gt;ACCEPT &amp;lt;group&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used to accept a group custom host invitation. Where ''&amp;lt;group&amp;gt;'' is the name of the group you are accepting the invitation for.&lt;br /&gt;
&lt;br /&gt;
To view a list of pending invitations for your account, you may use the [[V/pending|PENDING]] command.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;80%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
| /msg V ACCEPT darenet&lt;br /&gt;
| Accepts a custom host invitation from the group ''DareNET''. &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;table align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;[Go Back]&amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/V</id>
		<title>V</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/V"/>
				<updated>2012-10-11T17:40:34Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HostServ allows you to set and manage custom titles for your account. For a list of available titles, visit [http://www.darenet.org/titles http://www.darenet.org/titles]&lt;br /&gt;
&lt;br /&gt;
NOTE: You may only change your title once every 14 days.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
V may be accessed in the following ways:&lt;br /&gt;
&lt;br /&gt;
* /msg V &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* /msg V@services.darenet.org &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* /hostserv &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* /hs &amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For the purpose of this document, we will be using the first two methods listed, as some IRC clients do not readily support server-side aliases without additional setup and/or client commands. However, you can choose to use any of the above methods.&lt;br /&gt;
&lt;br /&gt;
==User Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/accept|ACCEPT]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Accept a group custom host invitation.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/pending|PENDING]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;View pending custom host invitations.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/title|TITLE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set a custom title for your account.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/deny|DENY]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Deny a group custom host invitation.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/random|RANDOM]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Set a random title for your account.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Group Contact Commands==&lt;br /&gt;
{| class=&amp;quot;srvcscmd&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;font-size: 90%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/invite|INVITE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Send a custom host invitation for your group.&lt;br /&gt;
| style=&amp;quot;width: 310px;&amp;quot;|&amp;lt;span class=&amp;quot;cmd&amp;quot;&amp;gt;[[V/uninvite|UNINVITE]]&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;Cancel a pending invitation for your group.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:All]] [[Category:IRC Services]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Services_Usage</id>
		<title>Services Usage</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Services_Usage"/>
				<updated>2012-10-11T17:39:12Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Expand|text=page}}&lt;br /&gt;
&lt;br /&gt;
* [[NickServ CertFP Auth]]&lt;br /&gt;
* [[Topic Masking Guide|Guide to using ChanServ's topic masking feature]]&lt;br /&gt;
&lt;br /&gt;
'''Services Bots:'''&lt;br /&gt;
&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[G]]&lt;br /&gt;
* [[H]]&lt;br /&gt;
* [[N]]&lt;br /&gt;
* [[S]]&lt;br /&gt;
* [[V]]&lt;br /&gt;
* [[MemoServ]]&lt;br /&gt;
* [[SpamServ]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/loc-mirc</id>
		<title>loc-mirc</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/loc-mirc"/>
				<updated>2012-10-11T17:36:54Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Click View:Options from the mIRC menu, and select the “servers” option from the left box. Select DareNET from IRC Network, and click the “Edit” button. You will then see this: &lt;br /&gt;
&lt;br /&gt;
[[Image:Mirc_loc.png]]&lt;br /&gt;
&lt;br /&gt;
In the password box enter “/username/password” (without quotes).&lt;br /&gt;
&lt;br /&gt;
Note: Replace username and password with your real N username and password. Click “OK” to save the changes. Click “Connect To Server” and look for the authentication successful message.&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	<entry>
		<id>http://wiki.darenet.org/Can_I_have_more_than_one_account</id>
		<title>Can I have more than one account</title>
		<link rel="alternate" type="text/html" href="http://wiki.darenet.org/Can_I_have_more_than_one_account"/>
				<updated>2012-10-11T17:23:22Z</updated>
		
		<summary type="html">&lt;p&gt;Nitemare:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unless you exist in two parallel universes at once, unfortunately no. To protect the integrity of the system, our policy is one person, one account. For those wanting to register multiple IRC nicknames, you can do so by using N's REGNICK command, which links them to your account.&lt;br /&gt;
&lt;br /&gt;
[[Category:Abuse and Policy]]&lt;/div&gt;</summary>
		<author><name>Nitemare</name></author>	</entry>

	</feed>