Author: Kev <klmitch@mit.edu>
[ircu2.10.12-pk.git] / doc / example.conf
index 77da1d5036d9f4fe37e1a124077c91542db9d321..588bc76d1e74ef075fb5ce446c1b4a1e6ff78382 100644 (file)
@@ -69,14 +69,31 @@ A:The University of London:Undernet IRC server:IRC Admins <irc@london.ac.uk>
 # Take the following Y: lines only as a guide.
 # Y:<class>:<ping freq>:<connect freq>:<maximum links>:<sendq size>
 
+# <connect freq> applies only to servers, and specifies the frequency 
+# that the server tries to autoconnect. setting this to 0 will cause
+# the server to attempt to connect repeatedly with no delay until the 
+# <maximum links> condition is satisfied. This is a Bad Thing(tm).
+
+# <maximum links> has different meanings for clients and servers.
+# For clients, it is the total number of connections allowed for the class.
+# Thus, if it is set to 100, then up to 100 clients can connect in that class.
+
+# Auto-connecting
+# For servers, <maximum links> is the number of remote servers, in that class, that the
+# server will attempt to be connected to. The server will initiate auto connections
+# until it is connected to <maximum links> remote servers. This field DOES NOT limit
+# the total number of servers that can be manually connected.
+# To turn off auto connecting, <maximum links> should be set to 0.
+# Note that MAXIMUM_LINKS (defined in make config) sets a hard limit on the number
+# of servers that can be connected and still have the server attempt auto-connections.
+# It is usually set to 1, which means a server will not attempt auto connects with a server
+# already connected, regardless of how the Y:lines are set up.
+
 # Server classes: 90 = all your uplinks for who you do not wish to hub;
-# else in classes 80 and/or 70.
-# 50 = leaf servers (only used if your server is a hub)
+# 80 = leaf servers (only used if your server is a hub)
 
-Y:90:90:300:1:1700000
-Y:80:90:300:1:1700000
-Y:70:90:300:1:1700000
-Y:50:90:300:10:1700000
+Y:90:90:300:1:9000000
+Y:80:90:300:0:9000000
 
 # Client classes. 10 = locals; 2 = for all .net and .com that are not
 # in Europe; 1 = for everybody.
@@ -162,11 +179,15 @@ I:*@193.37.*::*@*.london.ac.uk::10
 # I:Resolved:1:*@*.swipnet.se::1
 # I:Resolved:2:*@dial??.*::1
 
+#
+# T:Lines
 #
 # It is possible to show a different Message of the Day to a connecting
 # client depending on its origin.
 # T:<hostmask>:<path to motd file>
-
+# or:
+# T:<classnumber>:<path to motd file>
+#
 # DPATH/net_com.motd contains a special MOTD where users are encouraged
 # to register their domains and get their own I: lines if they're in
 # Europe, or move to US.UnderNet.org if they're in the USA.
@@ -196,8 +217,7 @@ T:*.london.ac.uk:london.motd
 # it is not allowed to jupe others as well.
 
 U:Uworld.EU.undernet.org:EuWorld,E,protocol,StatServ,NoteServ,Undernet:*
-U:Uworld2.undernet.org:UWorld2,W,ChanSvr,ChanSaver,ChanServ,COM1,COM2,COM3,COM4:
-*
+U:Uworld2.undernet.org:UWorld2,W,ChanSvr,ChanSaver,ChanServ,COM1,COM2,COM3,COM4:*
 U:Uworld.undernet.org:Uworld,X,NickSvr,NickSaver,NickServ,LPT1,LPT2,AUX:*
 
 #
@@ -230,6 +250,11 @@ K:unixbox.flooder.co.uk:!kline/youflooded.txt:*luser
 # even if an IP address has a properly resolving host name.
 k:192.168.*:!klines/martians:*
 
+# Additionally, you may specify a hostmask prefixed with $R to indicate
+# a match should be performed against the "real-name" / "info" field
+# instead of the host/IP.
+K:$R*sub7*:"You are infected with a Trojan":*
+
 #
 # You probably want your server connected to other servers, so your users
 # have other users to chat with.
@@ -247,8 +272,10 @@ k:192.168.*:!klines/martians:*
 # allowed to connect.
 # C:<remote hostname or IP>:<password>:<remote server name>:<port>:<class>
 #
-# If the "port" field is omitted, the server will not attempt to
-# establish a link with that server ("not autoconnecting").
+# The "port" field defines the default port the server tries to connect
+# to if an operator uses /connect without specifying a port. This is also
+# the port used when the server attempts to auto-connect to the remote 
+# server. (See Y:lines for more informationa about auto-connects).
 
 # Our primary uplink.
 C:1.2.3.4:passwd:Amsterdam.NL.Eu.UnderNet.org:4400:90
@@ -315,11 +342,24 @@ O:*@*.cs.vu.nl:VRKLKuGKn0jLs:Niels::10
 # ports;
 # Undernet uses 4400 for server listener ports.
 # These are just hints, they are in no way official IANA or IETF policies.
+# IANA says we should use port 194, but that requires us to run as root, so
+# we don't do that.
+#
+# P:<hostmask>:<interface>:<[CS][H]>:<port number>
+#
+# The hostmask setting allows you to specify a range of IP addresses that
+# you will allow connections from. This should only contain IP addresses
+# and '*' if used. This field only uses IP addresses. This does not use
+# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
+# to specify anything other than numbers, dots and stars [0-9.*] will result
+# in the port allowing connections from anyone.
 #
 # The interface setting allows multiply homed hosts to specify which
 # interface to use on a port by port basis, if an interface is not specified
 # the default interface will be used. The interface MUST be the complete
 # IP address for a real hardware interface on the machine running ircd.
+# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
+# WILL bind to all interfaces - not what most people seem to expect.
 #
 # The [CS][H] field is an optional field to specify that a port is a
 # server port or a client port and whether it's hidden or not.
@@ -327,7 +367,7 @@ O:*@*.cs.vu.nl:VRKLKuGKn0jLs:Niels::10
 # If you want to hide a port from /stats p from non-opers follow the C
 # or S with an H
 #
-# P:<hostmask>:<interface>:<[CS][H]>:<client port number>
+# P:<hostmask>:<interface>:<[CS][H]>:<port number>
 #
 # This is a normal server port, you need to have at least one server
 # port defined if you want to connect your server to other servers.
@@ -338,12 +378,72 @@ P:::S:4400
 # The following are normal client ports
 P:::C:6667
 P::::6668
-P:*.nl:::6666
+P:192.168.*:::6666
 
 # This is a hidden client port, listening on the interface associated
 # with the IP address 168.8.21.107
 #P:*:168.8.21.107:CH:7000
 
+# [F:lines]
+# IRC servers have a large number of options and features.  Most of these
+# are set at compile time through the use of #define's--see "make config"
+# for more details--but we are working to move many of these into the
+# configuration file.  Feature lines are the hook we're using for this.
+#
+# F:<key>:<value>[:<value>[...]]
+#
+# Currently, the only defined value for <key> is "LOG," and it allows you
+# to customize the settings of the logging architecture.  You can set the
+# default logging facility to, say, local7 (F:LOG:LOCAL7), or set a log
+# file for one of the subsystems (F:LOG:GLINE:FILE:gline.log).  More than
+# one subsystem can log to the same file without danger of interleaving.
+#
+# The currently defined subsystems are SYSTEM, CONFIG, OPERMODE (used by
+# /opmode and /clearmode), GLINE, JUPE, WHO (used by /whox), NETWORK
+# (connects and disconnects), OPERKILL, SERVKILL, USER, OPER, OPERLOG,
+# USERLOG, RESOLVER, SOCKET, DEBUG, and OLDLOG.  You can set log files
+# for these subsystems to log to, or you can tell them to syslog their
+# data, or even send server notices.  You can do any of these in
+# combination, but you can't log to more than one file.  You can also set
+# minimum log levels per subsystem, if you wish.
+#
+# The format for LOG Feature lines is as follows:
+#
+# F:LOG:<facility>
+# F:LOG:<subsystem>:<type>[:<value>]
+#
+# The first sets the default facility for ircu to log to to <facility>.
+# Valid <facility> values are listed in the syslog(3) man page; just
+# remove the "LOG_" prefix.
+#
+# The list of subsystems is given above.  The valid values for <type> are
+# FILE, FACILITY, SNOMASK, and LEVEL, which respectively set the log file,
+# the syslog facility, a server notice mask value, and the minimum log
+# level.  If no <value> is given, or if <value> is empty, the default
+# value for that type is set.
+#
+# Valid <value>'s for the FACILITY type are the normal syslog values (with
+# the "LOG_" prefix removed) or the special values "NONE" (which specifies
+# that syslogging should not be attempted) and "DEFAULT" (which specifies
+# that the server-wide facility should be used); the default for all
+# subsystems is "NONE."
+#
+# Valid <value>'s for the SNOMASK type are OLDSNO, SERVKILL, OPERKILL,
+# HACK2, HACK3, UNAUTH, TCPCOMMON, TOOMANY, HACK4, GLINE, NETWORK,
+# IPMISMATCH, THROTTLE, OLDREALOP, and CONNEXIT, as well as the special
+# values NONE, which specifies that no server notices should be sent,
+# and DEBUG, which is only available if DEBUGMODE has been enabled.
+#
+# Valid <value>'s for the LEVEL type are CRIT, ERR, WARNING, NOTICE,
+# TRACE, INFO, and DEBUG.  Note that logs with level CRIT always result
+# in server notices to mask SNO_OLDSNO, and logs with level DEBUG always
+# send server notices to mask SNO_DEBUG.
+#
+# A couple of things to note: log settings are not reset to defaults prior
+# to a rehash; this means that if you delete F-lines and rehash, logs will
+# continue going to the same place.  Also, all subsystems are defaulted to
+# minimum log level INFO (or DEBUG if DEBUGMODE is #define'd).
+
 #
 # Well, you have now reached the end of this sample configuration file
 # If you have any questions, feel free to mail <doco-com@undernet.org>