# $Id: ircd.conf,v 1.10 2003/10/28 09:19:15 cyan Exp $
#
# ircd.conf - Synchronet IRCd default configuration file by Randy Sommerfeld.
#
# *** The format of this file is very similar to that of the configuration file
#     used by Bahamut and other IRC daemons out there.  You should be able to
#     take a Bahamut ircd.conf and allow Synchronet IRCd use it as-is, other
#     configs will need a little editing, first.
#
# *** If you're new to IRC or configuring the IRCd, please read the enclosed
#     comments very carefully.  Wrong configuration options in this file will
#     destabalize your server, or at worst crash the IRCd.  You've been warned.
#
# *** Unlike the traditional ircd, which reads the configuration file from the
#     bottom up, we read this file from the top down.
#
# *** This file supports some basic tokens.  The supported tokens are:
#
#	SYSTEM_HOST_NAME	Your system hostname as defined in scfg
#	SYSTEM_NAME		Your BBS name as defined in scfg
#	SYSTEM_QWKID		Your QWKID as defined in scfg
#	VERSION_NOTICE		The short form Synchronet version notice
#
########## M:Line ## Required ## Compatibility: 'IP' unused
#	This line configures what your server name and description are set to.
# If you're running the IRCd standalone from jsexec, you can also define what
# port it uses to accept connections on, also.  If you're connecting to the
# Synchronet IRC Network, your server name must be your 'qwkid.synchro.net'
# hostname, and that host must point to the IP address that the IRCd will be
# running on.
#
# M:hostname:ip(Unused):description:port
#
M:SYSTEM_QWKID.synchro.net:*:SYSTEM_NAME:6667
#
########## A:Line ## Required ## Compatibility: FULL
#	This line defines what sort of information is returned when a user uses
# the /ADMIN command.  It's intended to provide some sort of useful information
# about who runs the server.  By default, it'll display some information about
# your BBS.  The final string MUST be a valid contact email address.
#
# A:line1:line2:contact email
#
A:SYSTEM_NAME (SYSTEM_QWKID):VERSION_NOTICE:Sysop- <sysop@SYSTEM_HOST_NAME>
#
########## Y:Line ## Suggested ## Compatibility: FULL
#	Y:Lines allow you to define 'IRC classes' that are assigned to users
# and servers when they connect.  It allows you to choose how long a connection
# can idle before the server sends a PING, how often your IRCd will attempt to
# auto-connect to uplink servers, the maximum number of clients allowed per
# IRC class, and the maximum 'sendq' that a user can have before they get
# disconnected for having excessive amounts of data waiting to be pushed.
#
# Y:class number:ping frequency:connect frequency:maximum links:sendq
#
#Class 1: Normal users coming in from the net
Y:1:120:0:100:1000000
#Class 2: Users coming in from the local BBS
Y:2:30:0:100:1000000
#Class 10: IRC operators
Y:10:400:0:100:2000000
#Class 30: Leaf->Hub connections
Y:30:60:300:1:15000000
#Class 40: Hub->Hub connections
Y:40:90:60:10:20000000
#Class 50: Hub->QWK Master connections
Y:50:90:60:1:20000000
#
########## I:Line ## Required ## Compatibility: FULL
#	When a regular user connects, the IRCd will match them against this
# list of I:Lines until it finds a match.  The IRCd will stop searching when it
# finds a match, so you'll want to list your most exclusive lines first, and
# then the most generic line last.  You may also define that a particular
# password be required to connect for certain hosts, or that they connect to
# a particular port.  Matching users will be thrown into a particular IRC
# class as defined by the above Y:Lines.
#
# I:ip mask:password:hostmask:port:irc class
#
#BBS users
I:*@127.0.0.1::*@SYSTEM_QWKID.synchro.net::2
#everyone else
I:*@*::*@*::1
#
########## O:Line ## Optional ## Compatibility: EXTENDED
#	These define who will be able to use the /OPER command to gain special
# IRC operator access to your server.  This should not be done lightly, as an
# operator can cause considerable damage to the network, thus care should be
# taken to secure these lines as much as possible.  In particular, if the user
# is registered with the BBS, you shouldn't use wildcards in the username
# portion so that they're forced to ident via their BBS password, and then
# via their defined /OPER password.
#	Several flags may be used to greater fine-tune the type of access that
# each operator has.  Note that if you're only a leaf server on the Synchronet
# IRC network, your access will be limited to the equivalent of an 'o' flag.
#
#	FLAG	COMMAND			NOTES
#	r	/REHASH
#	R	/RESTART
#	D	/DIE
#	g	/GLOBOPS
#	w	/WALLOPS
#	l	/LOCOPS
#	c	/SQUIT + /CONNECT	Can only SQUIT or CONNECT locally.
#	C	/SQUIT + /CONNECT	SQUIT or CONNECT servers globally.
#	k	/KILL			Can only KILL locally.
#	K	/KILL			Allow global kills.
#	b	/KLINE
#	B	/UNKLINE
#	n	/NOTICE $servername	Global messages to local server only.
#	N	/NOTICE $*.synchro.net	Allow messages across whole network.
#	A	-- Unavailable in Synchronet IRCd as of latest version --
#	a	-- Unavailable in Synchronet IRCd as of latest version --
#	u	UMODE +c		Operator can see client cons/discons
#	f	-- Unavailable in Synchronet IRCd as of latest version --
#	F	-- Unavailable in Synchronet IRCd as of latest version --
#	s	/CHATOPS
#	X	/DEBUG + /EVAL
#	o	"Local Operator" which is inclusive of flags: rgwlckbBnuf
#	O	"Global Operator" which is inclusive of flags: oCKNs
#	S	Check password against the BBS system password.
#
#	Note that the flags 'R', 'D', and 'X' do not appear in any of 'o' or
# 'O', and must be explicitly defined.  Note that /DEBUG and /EVAL (the 'X'
# flag) are particuarily dangerous commands and should not be enabled unless
# you're sure of what you're doing.  The 'S' flag is a special flag which will
# check against the BBS system password instead of the defined O:Line password.
#
#	A user who successfully uses the /OPER command will be assigned their
# new IRC class as defined by the relevant Y:Line.  A user who does not
# succeed in an /OPER attempt will have that attempt logged and broadcast
# locally.
#
# O:hostmask:password:nick:flags:irc class
#
O:*@SYSTEM_QWKID.synchro.net:*:Sysop:OS:10
O:bbsuser@*.somebbs.com:mypa$$word:Joe:o:10
#
########## U:Line ## Optional ## Compatibility: FULL
#	A U:Line is a special kind of line that defines which servers on the
# network are allowed to send unchecked MODE commands among other 'special'
# services commands (AKILL, et al).  If you're linking to the Synchronet IRC
# this must be set to 'services.synchro.net'.  Otherwise it should be set to
# whichever server will be hosting 'services' such as ChanServ, MemoServ,
# NickServ, or similar.
#
# U:server name:*:*
#
U:services.synchro.net:*:*
#
########## X:Line ## Optional ## Compatibility: FULL
#	This is a simple line that adds an extra parameter (a password) to the
# /DIE and /RESTART commands respectively.  This is in addition to the regular
# IRC operator requirement and the relevant 'D' and 'R' flags on the O:Line.
#
# X:die password:restart password
#
#X:diepass:restartpass
#
########## C:Line + N:Line ## Optional ## Compatibility: EXTENDED
#	These lines define what servers you will be connecting to (C:Line) and
# receiving connections from (N:Line).  C and N:Lines must always occur in
# pairs, even if you'll only ever be connecting in one direction.  If you
# define a port on the C:Line, the IRCd will use the relevant IRC class (as
# defined on Y:Lines above) to auto-connect at the configured interval. N:Lines
# which have '*' as a password won't allow inbound connections.
#
# 	Synchronet IRCd also supports certain flags on the N:Line for
# determining certain types of behaviour.
#
#	FLAG	DESCRIPTION
#	q	Use the relevant server's local QWK password to authenticate.
#	w	The server is a QWK-master, or is downlink to one.
#	k	Contact the QWK-master for authentication when this connects.
#
# C:hostname or ip address:password:server name:port:irc class
# N:hostname or ip address:password:server name:flags:irc class
#
##If you'd like to link to the Synchronet IRC network, make sure your QWK-id is
# registered with vert, and that you have dyndns.js working so that the host
# 'qwk.synchro.net' (where qwk = your qwk-id) points to your IP address.  Then,
# uncomment these two lines below and replace 'QWK_PASSWORD' with your QWK
# password.  Issue the /rehash command (or restart Synchronet), and the ircd
# will auto-connect to vert.  DO NOT replace the '*' in the N:Line password
# field with anything else, leave it simply as '*'.  This is because a QWK
# uplink won't echo your QWK password back to you, it simply returns a '*'.
# This is also important to block any incoming servers (which will never
# happen on a dynamic QWK connect.)
#C:vert.synchro.net:QWK_PASSWORD:*.synchro.net:6667:30
#N:vert.synchro.net:*:*.synchro.net::30
#                   ^-Leave this asterik alone if you're using QWK to connect.
#
##This is an example vanilla C/N pair
#C:rrx.synchro.net:password:rrx.synchro.net::30
#N:rrx.synchro.net:password:rrx.synchro.net::30
#
########## K:Line ## Optional ## Compatibility: CUSTOM
#	These are the infamous K:Lines (or 'kill' lines) which let you decide
# what hostmasks should be banned from your server.  The format of this command
# differs from the standard ircd's, and 'kline.conf' (as per Bahamut 1.4) is
# not supported at this time.
#
# K:banmask:reason
#
K:*.whitehouse.gov:Obviously bogus domain.
K:~root@*:For your protection, don't IRC as root.
#K:~*@*:Only users who have registered with the BBS may connect
#
########## Q:Line ## Suggested ## Compatibility: FULL
#	Q:Lines allow you to restrict what nicknames may be used on your
# server.  If you're linking to the Synchronet IRC Network, these Q:Lines as
# defined are required.  A user trying to /NICK over to these nicknames or
# register with a nick that matches a mask here will be given the reason as
# defined for having their change request denied.
#
# Q:*:reason:nickmask
#
Q:*:Reserved for Services:*Serv
Q:*:Reserved for Services:Global
Q:*:Reserved for Operators:IRCop
Q:*:Reserved for Sysop:Sysop
#
########## Z:Line ## Optional ## Compatibility: FULL
#	This is to be considered a 'last resort' type of line that will ban
# users from your server based on IP address only.  The users will be dropped
# from the server as fast as possible without any processing having been done.
# This is useful if you're being DOS attacked from a certain IP or range.
# Be careful with Z:Lines, as you cuold possibly be banning servers wishing to
# connect to you.
#
# Z:ipmask:reason:*
#
Z:0.0.0.0:Obviously bogus IP address:*
#
########## H:Line ## Optional ## Compatibility: EXTENDED
#	This line has a special meaning for the Synchronet IRCd, in particular
# it defines which servers are considered to be 'full hubs' and have the
# responsibility of managing synchronization and control issues.  Hubs are also
# allowed to have servers connect 'behind' them.  The 'server name' must be
# the full servername without wildcards -- note that an IRC server name is not
# its hostname.  Typically this will be in the form of 'qwkid.synchro.net'.
#
# H:servermask permitted behind:*:server name
#
H:*:*:vert.synchro.net
H:*:*:cvs.synchro.net
H:*:*:rob.synchro.net
H:*:*:freebsd.synchro.net
H:*:*:rrx.synchro.net
#An example H:Line which would allow france.synchro.net to connect only *.fr
#servers to the network.
#H:*.fr:*:france.synchro.net
#
########## P:Line ## Optional ## Compatibility: FULL
#	This is a simple type of line that tells the IRCd to listen on
# additional ports other than what was defined on the M:Line (if you're running
# from jsexec) or inside the Synchronet services configuration.  One port per
# line.
#
# P:*:*:*:port
#
#P:*:*:*:7000
#P:*:*:*:6666
#
########## E:Line ## UNSUPPORTED ## Compatibility: UNSUPPORTED
#	This is an 'exemption' line which will allow users to slip through
# K:Lines.  These should be as specific as possible.
# Currently, E:Lines are unsupported by the Synchronet IRCd.
#
# E:hostmask:*:username mask
#
#E:*.shawcable.net:*:cyan
#
########## F:Line ## UNSUPPORTED ## Compatibility: UNSUPPORTED
#	Another exemtion line, this is virtually identical to an E:Line except
# that an F:Line will also bypass the defined IRC class limits in addition to
# allowing a user to slip through a K:Line.
# Currently, F:Lines are unsupported by the Synchronet IRCd.
#
# F:hostmask:*:username mask
#
#F:*.synchro.net:*:*digtlman
#
########## T:Line ## UNSUPPORTED ## Compatibility: UNSUPPORTED
#	A simple line that defines the hostname where proxy scans will
# originate from.  A message is displayed to the user upon connect containing
# the URL as defined here pointing them towards more information.
# The http:// is automatically prefixed on the defined URL.
# Currently, T:Lines are unsupported by the Synchronet IRCd.
#
# T:hostname:url
#
#T:rrx.synchro.net:www.synchro.net/proxyscan
#
##EOF##
