diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-10-07 18:34:27 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-10-07 18:34:27 +0000 |
commit | 47c0968a171aecda1b6cd697541516da7810e26c (patch) | |
tree | 84ecc4b311621434c312f5e081d2f52096adf0ab /conf/inspircd.conf.example | |
parent | de6551f6350206c036b7a91b1b13c8d1a523e522 (diff) |
Add jdhore's nicer config files with better readable comments, thanks tons! :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10627 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'conf/inspircd.conf.example')
-rw-r--r-- | conf/inspircd.conf.example | 395 |
1 files changed, 39 insertions, 356 deletions
diff --git a/conf/inspircd.conf.example b/conf/inspircd.conf.example index fc8c1962c..ede4a5d4e 100644 --- a/conf/inspircd.conf.example +++ b/conf/inspircd.conf.example @@ -22,6 +22,9 @@ # # # $Id$ # # # +# If you would like more detailed options, but a slightly more # +# painful configuration, please see inspircd.conf.example.old # +# # # ____ _ _____ _ _ ____ _ _ _ # # | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # # | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # @@ -39,45 +42,42 @@ # # ######################################################################## +#-#-#-#-#-#-#-#-#-# INCLUDE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# This optional tag allows you to include another config file # +# allowing you to keep your configuration tidy. The configuration # +# file you include will be treated as part of the configuration file # +# which includes it, in simple terms the inclusion is transparent. # +# # +# All paths to config files are relative to the directory of the main # +# config file inspircd.conf, unless the filename starts with a forward# +# slash (/) in which case it is treated as an absolute path. # +# # +# You may also include an executable file, in which case if you do so # +# the output of the executable on the standard output will be added # +# to your config at the point of the include tag. # +# # +# Syntax is as follows: # +#<include file="file.conf"> # +#<include executable="/path/to/executable parameters"> # +# # + #-#-#-#-#-#-#-#-#-#-#-#- SERVER DESCRIPTION -#-#-#-#-#-#-#-#-#-#-#-#- # # # Here is where you enter the information about your server. # # # -# Syntax is as follows: # -# # -# <server name="server.name" # -# description="Server Description" # -# id="serverid" # -# network="MyNetwork"> # -# # -# The server name should be a syntactically valid hostname, with at # -# least one '.', and does not need to resolve to an IP address. # -# # -# The description is freeform text. Remember you may put quotes in # -# this field by escaping it using \". # -# # -# The network field indicates the network name given in on connect # -# to clients. It is used by many clients such as mIRC to select a # -# perform list, so it should be identical on all servers on a net # -# and should not contain spaces. # -# # -# The server ID is optional, and if omitted automatically calculated # -# from the server name and description. This is similar in # -# in behaviour to the server id on ircu and charybdis ircds. # -# You should only need to set this manually if there is a collision # -# between two server ID's on the network. The server ID must be # -# three digits or letters long, of which the first digit must always # -# be a number, and the other two letters may be any of 0-9 and A-Z. # -# For example, 3F9, 03J and 666 are all valid server IDs, and A9D, # -# QFX and 5eR are not. Remember, in most cases you will not need to # -# even set this value, it is calculated for you from your server # -# name and description. Changing these will change your auto- # -# generated ID. # -# # - -<server name="penguin.omega.org.za" + +<server + # name: Hostname of your server. Does not need to be valid. + name="penguin.omega.org.za" + + # description: Server description. Spaces are allowed. description="Waddle World" + + # network: Network name given on connect to clients. + # Should be the same on all servers on the network and + # not contain spaces. network="Omega"> @@ -199,26 +199,6 @@ <power diepass="" restartpass="" pause="2"> -#-#-#-#-#-#-#-#-#-# INCLUDE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#-# -# # -# This optional tag allows you to include another config file # -# allowing you to keep your configuration tidy. The configuration # -# file you include will be treated as part of the configuration file # -# which includes it, in simple terms the inclusion is transparent. # -# # -# All paths to config files are relative to the directory of the main # -# config file inspircd.conf, unless the filename starts with a forward# -# slash (/) in which case it is treated as an absolute path. # -# # -# You may also include an executable file, in which case if you do so # -# the output of the executable on the standard output will be added # -# to your config at the point of the include tag. # -# # -# Syntax is as follows: # -#<include file="file.conf"> # -#<include executable="/path/to/executable parameters"> # -# # - #-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # # This is where you can configure which connections are allowed # @@ -366,310 +346,13 @@ ipv4clone="32" ipv6clone="128"> -#-#-#-#-#-#-#-#-#-#-#-#- CLASS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#- -# # -# Classes are a group of commands which are grouped together and # -# given a unique name. They're used to define which commands # -# are available to certain types of Operators. # -# # -# Syntax is as follows: # -# # -# <class name="name" commands="oper commands" # -# usermodes="allowed oper only usermodes" # -# chanmodes="allowed oper only channelmodes"> # -# # -# The name value indicates a name for this class. # -# The commands value indicates a list of one or more commands that # -# are allowed by this class (see also 'READ THIS BIT' below). # -# The usermodes and chanmodes values indicate lists of usermodes and # -# channel modes this oper can execute. This only applies to modes # -# that are marked oper-only such as usermode +Q and channelmode +O. # -# ____ _ _____ _ _ ____ _ _ _ # -# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # -# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # -# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # -# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # -# # -# You are not forced to give these classes the names given below. # -# You can create your own named classes, if you want, in fact that # -# is the whole idea of this system! # -# # -# Note: It is possible to make a class which covers all available # -# commands. To do this, specify commands="*". This is not really # -# recommended, as it negates the whole purpose of the class system, # -# however it is provided for fast configuration (e.g. in test nets) # -# # - -<class name="Shutdown" commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOAD" usermodes="*" chanmodes="*"> -<class name="ServerLink" commands="CONNECT SQUIT RCONNECT MKPASSWD MKSHA256" usermodes="*" chanmodes="*"> -<class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE" usermodes="*" chanmodes="*"> -<class name="OperChat" commands="WALLOPS GLOBOPS SETIDLE SPYLIST SPYNAMES" usermodes="*" chanmodes="*"> -<class name="HostCloak" commands="SETHOST SETIDENT SETNAME CHGHOST CHGIDENT" usermodes="*" chanmodes="*"> - - -#-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-# -# # -# This is where you specify which types of operators you have on # -# your server, as well as the commands they are allowed to use. # -# This works alongside with the classes specified above. # -# # -# type name - A name for the combined class types. # -# a type name cannot contain spaces, however if you # -# put an _ symbol in the name, it will be translated # -# to a space when displayed in a WHOIS. # -# # -# classes - Specified above, used for flexibility for the # -# server admin to decide on which operators get # -# what commands. Class names are case sensitive, # -# separate multiple class names with spaces. # -# # -# host - Optional hostmask operators will receive on oper-up. # -# # -# Syntax is as follows: # -# # -# <type name="name" classes="class names" host="oper hostmask"> # -# # -# ____ _ _____ _ _ ____ _ _ _ # -# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # -# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # -# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # -# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # -# # -# You are not forced to give these types the names given below. # -# You can create your own named types, if you want, in fact that # -# is the whole idea of this system! # -# # - -<type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za"> -<type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za"> -<type name="Helper" classes="HostCloak" host="helper.omega.org.za"> - - -#-#-#-#-#-#-#-#-#-#-#- OPERATOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# -# # -# Opers are defined here. This is a very important section. # -# Remember to only make operators out of trust worthy people. # -# # -# name - Oper name, this is case sensitive, so it is best to # -# use lower-case. # -# # -# password - Password to oper-up, also case sensitive. # -# encryption is supported via modules. You may load # -# modules for MD5 or SHA256 encryption, and if you do, # -# this value will be a hash value, otherwise put a # -# plaintext password in this value. # -# # -# host - Hosts of client allowed to oper-up. # -# wildcards accepted, separate multiple hosts with a # -# space. You may also specify CIDR IP addresses. # -# # -# fingerprint - When using the m_ssl_oper_cert.so module, you may # -# specify a key fingerprint here. This can be obtained # -# using the /fingerprint command whilst the module is # -# loaded, or from the notice given to you when you # -# connect to the ircd using a client certificate, # -# and will lock this oper block to only the user who # -# has that specific key/certificate pair. # -# this enhances security a great deal, however it # -# requires that opers use clients which can send ssl # -# client certificates, if this is configured for that # -# oper. Note that if the m_ssl_oper.so module is not # -# loaded, and/or one of m_ssl_openssl or m_ssl_gnutls # -# is not loaded, this configuration option has no # -# effect and will be ignored. # -# # -# type - Defines the kind of operator. This must match a type # -# tag you defined above, and is case sensitive. # -# # -# Syntax is as follows: # -# <oper name="login" # -# password="pass" # -# host="hostmask@of.oper" # -# fingerprint="hexsequence" # -# type="oper type"> # -# # - -<oper name="Brain" - password="s3cret" - host="ident@dialup15.isp.com *@localhost *@server.com *@3ffe::0/16" - type="NetAdmin"> - - -#-#-#-#-#-#-#-#-#-#-#- SERVER LINK CONFIGURATION -#-#-#-#-#-#-#-#-#-# -# # -# Defines which servers can link to this one, and which servers this # -# server may create outbound links to. # -# # -# name - The name is the canonical name of the server, does # -# not have to resolve - but it is expected to be set # -# in the remote servers connection info. # -# # -# ipaddr - Valid host or IP address for remote server. These # -# hosts are resolved on rehash, and cached, if you # -# specify a hostname; so if you find that your server # -# is still trying to connect to an old IP after you # -# have updated your DNS, try rehashing and then # -# attempting the connect again. # -# # -# port - The TCP port for the remote server. # -# # -# sendpass - Password to send to create an outbound connection # -# to this server. # -# # -# recvpass - Password to receive to accept an inbound connection # -# from this server. # -# # -# autoconnect - Sets the server to autoconnect. Where x is the num. # -# (optional) of seconds between attempts. e.g. 300 = 5 minutes. # -# # -# transport - If defined, this is a transport name implemented by # -# another module. Transports are layers on top of # -# plaintext connections, which alter them in certain # -# ways. Currently the three supported transports are # -# 'openssl' and 'gnutls' which are types of SSL # -# encryption, and 'zip' which is for compression. # -# If you define a transport, both ends of the # -# connection must use a compatible transport for the # -# link to succeed. OpenSSL and GnuTLS are link- # -# compatible with each other. # -# # -# statshidden - When using m_spanningtree.so for linking. you may # -# set this to 'yes', and if you do, the IP address/ # -# hostname of this connection will NEVER be shown to # -# any opers on the network. In /stats c its address # -# will show as *@<hidden>, and during CONNECT and # -# inbound connections, it's IP will show as <hidden> # -# UNLESS the connection fails (e.g. due to a bad # -# password or servername) # -# # -# allowmask - When this is defined, it indicates a range of IP # -# addresses to allow for this link (You may use CIDR # -# or wildcard form for this address). # -# e.g. if your server is going to connect to you from # -# the range 1.2.3.1 through 1.2.3.255, put 1.2.3.0/24 # -# into this value. If it is not defined, then only # -# the ipaddr field of the server shall be allowed. # -# # -# failover - If you define this option, it must be the name of a # -# different link tag in your configuration. This # -# option causes the ircd to attempt a connection to # -# the failover link in the event that the connection # -# to this server fails. For example, you could define # -# two hub uplinks to a leaf server, and set an # -# american server to autoconnect, with a european # -# hub as its failover. In this situation, your ircd # -# will only try the link to the european hub if the # -# american hub is unreachable. NOTE that for the # -# intents and purposes of this option, an unreachable # -# server is one which DOES NOT ANSWER THE CONNECTION. # -# If the server answers the connection with accept(), # -# EVEN IF THE CREDENTIALS ARE INVALID, the failover # -# link will not be tried! Failover settings will also # -# apply to autoconnected servers as well as manually # -# connected ones. # -# # -# timeout - If this is defined, then outbound connections will # -# time out if they are not connected within this many # -# seconds. If this is not defined, the default of ten # -# seconds is used. # -# # -# bind - If you specify this value, then when creating an # -# outbound connection to the given server, the IP you # -# place here will be bound to. This is for multi- # -# homed servers which may have multiple IP addresses. # -# if you do not define this value, the first IP that # -# is not empty or localhost from your <bind> tags # -# will be bound to. This is usually acceptable, # -# however if your server has multiple network cards # -# then you may have to manually specify the bind # -# value instead of leaving it to automatic binding. # -# you can usually tell if you need to set this by # -# looking for the error 'Could not assign requested # -# address' in your log when connecting to servers. # -# # -# hidden - If this is set to true, yes, or 1, then the server # -# is completely hidden from non-opers. It does not # -# show in /links and it does not show in /map. Also, # -# any servers which are child servers of this one # -# in the network will *also* be hidden. Use with # -# care! You can use this to 'mask off' sections of # -# the network so that users only see a small portion # -# of a much larger net. It should NOT be relied upon # -# as a security tool, unless it is being used for # -# example to hide a non-client hub, for which clients # -# do not have an IP address or resolvable hostname. # -# # -# To u:line a server (give it extra privileges required for running # -# services, Q, etc) you must include the <uline server> tag as shown # -# in the example below. You can have as many of these as you like. # -# # -# WARNING: Unlike other ircds, u:lining a server allows ALL users on # -# that server to operoverride modes. This should only be used for # -# services and protected oper servers! # -# # -# ------------------------------------------------------------------- # -# # -# NOTE: If you have built your server as an IPv6 server, then when a # -# DNS lookup of a server's host occurs, AAAA records (IPv6) are # -# prioritised over A records (IPv4). Therefore, if the server you are # -# connecting to has both an IPv6 IP address and an IPv4 IP address in # -# its DNS entry, the IPv6 address will *always* be selected. To # -# change this behaviour simply specify the IPv4 IP address rather # -# than the hostname of the server. # -# # -# ------------------------------------------------------------------- # -# # -# ____ _ _____ _ _ ____ _ _ _ # -# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # -# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # -# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # -# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # -# # -# If you want to link servers to InspIRCd you must load the # -# m_spanningtree.so module! Please see the modules list below for # -# information on how to load this module! If you do not load this # -# module, server links will NOT work! # -# # -# Also, if you define any transports, you must load the modules for # -# these transports BEFORE you load m_spanningtree, e.g. place them # -# above it in the configuration file. Currently this means the three # -# modules m_ssl_gnutls, m_ziplinks and m_ssl_openssl, depending on # -# which you choose to use. # -# # - -<link name="hub.penguin.org" - ipaddr="penguin.box.com" - port="7000" - allowmask="69.58.44.0/24" - autoconnect="300" - failover="hub.other.net" - timeout="15" - transport="gnutls" - bind="1.2.3.4" - statshidden="no" - hidden="no" - sendpass="outgoing!password" - recvpass="incoming!password"> - -<link name="services.antarctic.com" - ipaddr="localhost" - port="7000" - allowmask="127.0.0.0/8" - sendpass="penguins" - recvpass="polarbears"> - - -#-#-#-#-#-#-#-#-#-#-#-#- ULINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# -# This tag defines a ulined server. A U-Lined server has special # -# permissions, and should be used with caution. Services servers are # -# usually u-lined in this manner. # -# # -# The 'silent' value, if set to yes, indicates that this server should# -# not generate quit and connect notices, which can cut down on noise # -# to opers on the network. # -# # -<uline server="services.antarctic.com" silent="yes"> +# This file has all the information about oper classes, types and o:lines. +# You *MUST* edit it. +<include file="opers.conf.example"> +# This file has all the information about server links and ulined servers. +# You *MUST* edit it if you intend to link servers. +<include file="links.conf.example"> #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-# # # |