DareNET IRCd Configuration/reference
Admin (Talk | contribs)
(Created page with '<pre> /* * doc/reference.conf - ircd-darenet Reference configuration file. * * Copyright (C) 2010 DareNET Development Team * * The configuration format consists of various b…')
Newer edit →
(Created page with '<pre> /* * doc/reference.conf - ircd-darenet Reference configuration file. * * Copyright (C) 2010 DareNET Development Team * * The configuration format consists of various b…')
Newer edit →
Revision as of 21:53, 14 February 2010
/* * doc/reference.conf - ircd-darenet Reference configuration file. * * Copyright (C) 2010 DareNET Development Team * * The configuration format consists of various blocks, each containing * name-value pairs, tags and/or string data. It is designed to be * easily readable by both human and ircd. * * A block consists of a block 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 stringd are surrounded by '"' double quotes. * * A sample block: * * blockname { * name = value; * name = "string"; * name = 123; * tag; * }; * * 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: * - C style multi-line * - C++ style single-line * - Shell style single-line * * IMPORTANT NOTES: * * When the configuration file is parsed, blocks are used in reverse order * than how they are listed here. This means you should start multiple * block definitions with the "fall through", and end with the most * detailed. * * class {} blocks MUST be specified before anything that uses them. That * means they must be defined before client {}, connect {} and operator {}. * * Times/durations are written as: * - a number in seconds (e.g., 60) * - 1 hours 30 minutes 10 seconds * - 1*60+20 * * Valid units of time: * decades, years, months, weeks, days, hours, minutes, seconds * * Valid units of size: * tbytes, gbytes, mbytes, kbytes, bytes * * All sizes and times should be specified as plural. */ ############################################################################## # General [REQUIRED] # # The General block defines information about the server itself. # It is required for the server to start. # # Old conf format equivalents # M:name:vhost:description::numeric general { /* name: the name of our server. */ name = "test.area.zone.darenet.org"; /* description: the description of our server. */ description = "ircd-darenet test server"; /* numric: the unqiue server numeric for our server. It must be a * digit between 0 and 4095, and is not updated on a rehash. */ numeric = 999; /* vhost: the IP to bind to when we connect outward to other servers. * It must contain either a * or a valid ipv4 address in dotted quad * notation. */ vhost = "192.169.0.1"; /* ssl_private_key: our ssl private key. */ ssl_private_key = "etc/ircd.key"; /* ssl_pem: file containing our ssl certificate and private key */ ssl_pem = "etc/ircd.pem"; }; # 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. # # There must be exactly one General block. ############################################################################## ############################################################################## # Admin [SUGGESTED] # # The Admin block defines information that can be retrieved with # the /ADMIN command. # # Old conf format equivalents # A:line1:line2:line3 admin { location = "DareNET - http://www.darenet.org"; location = "Infrastructure Team"; contact = "<infrastructure@darenet.org>"; }; # Not all lines are required. There may only be one Admin block. ############################################################################## ############################################################################## # Class [RECOMMENDED] # # The Class blocks define connection classes. All connections to the server # are associated with a "connection class", whether they be incoming or # outgoing (initiated by the server), be they clients or servers. # # Old conf format equivalents # Y:class:pingfreq::maxlinks:sendq (clients) # Y:class:pingfreq:connectfreq:maxlinks:sendq (servers) class { /* name: a name for the connection classes. */ name = "Users"; /* pingfreq: how often to PING idle connections. The time may be * specified as a number (in seconds), or by giving something like * 1 minutes 2 seconds, or 1*60+20. */ pingfreq = 1 minutes 30 seconds; /* sendq: send buffer limit (e.g., the amount of data allowed in * a client's queue before they are dropped. */ sendq = 160000; /* maxlinks: The maximum number of connections that may use this * class. May be between 0 and 4,000,000,000. */ maxlinks = 100; /* usermode: an optional list of user modes that should be set * upon the user while connecting. */ usermode = "+iw"; }; class { name = "Opers"; pingfreq = 1 minutes 30 seconds; sendq = 160000; maxlinks = 25; usermode = "+iw"; whox; }; class { name = "Server"; pingfreq = 1 minutes 30 seconds; /* connectfreq: this token applies only to servers, and specifies * the frequency that the server tries to auto connect. Setting this * to 0 will cause a server to attempt to connect repeatedly, with * no delay until the maxlinks condition is satisified (which is not * a good thing). */ connectfreq = 5 minutes; /* maxlinks: for server classes, specifies the maximum number of * servers to autoconnect to. This should be 0 for hubs, and 1 * for leafs. */ maxlinks = 0; sendq = 9000000; }; class { name = "Leaf_Server"; pingfreq = 1 minutes 30 seconds; connectfreq = 5 minutes; maxlinks = 1; sendq = 9000000; }; # 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 privs # be explicityly specified in the operator's Operator block. # # A "default" 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. # # There may be multiple Class blocks; at least one is recommended. ############################################################################## ############################################################################## # Client [RECOMMENDED] # # The Client blocks define the hosts client connections are sllowed from, # and places them into classes. While the server will start without a # Client block, it will not be usable. # # Old conf format equivalents # I:ipmask:passwd:hostmask:port:class client {