1 ########################################################################
3 # --------------------------- #
4 # InspIRCd Configuration File #
5 # --------------------------- #
7 ##################################||####################################
9 ##################################||####################################
11 # This is an example of the config file for InspIRCd. #
12 # Change the options to suit your network #
14 # Last updated on : 01/05/2004 #
15 # Written by : CC (cc@backchat.co.za) #
16 # Updated by : BlackDeathX (james@dreamirc.org) #
17 ########################################################################
21 #-#-#-#-#-#-#-#-#-#-#-#- SERVER DESCRIPTION -#-#-#-#-#-#-#-#-#-#-#-#-
23 # Here is where you enter the information about your server. #
25 # Syntax is as follows: #
26 # <server name="server.name" #
27 # description="Server Description" #
28 # network="MyNetwork"> #
31 <server name="penguin.omega.org.za"
32 description="Waddle World"
36 #-#-#-#-#-#-#-#-#-#-#-#- ADMIN INFORMATION -#-#-#-#-#-#-#-#-#-#-#-#
38 # Describes the Server Administrator's real name, nick #
39 # and email address. #
41 # Syntax is as follows: #
42 # <admin name="real name" #
44 # email="email@address.com"> #
47 <admin name="Johnny Casino"
49 email="cc@monkeynut.co.za">
52 #-#-#-#-#-#-#-#-#-#-#-#- PORT CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
54 # Enter the port and address bindings here. #
56 # bind address - specifies which the address which ports bind #
57 # port - opens an unused port #
58 # type - can be 'clients' or 'servers'. The clients type is #
59 # a standard tcp based socket, the servers type is a #
60 # also a TCP based connection but of a different #
62 # default - if the port type is 'servers' then this can be #
63 # specified. If set to 'yes', it indicates that this #
64 # port is the default route for all /connect commands.#
65 # if you do not bind your default route to an #
66 # external ip, or all ip's, you may have connection #
69 # Leaving address empty binds to all available interfaces #
71 # Syntax is as follows: #
73 # <bind address="ip number" port="port" type="clients"> #
74 # <bind address="ip number" port="port" type="servers"> #
75 # <bind address="ip number" port="port" type="servers" default="yes"> #
78 <bind address="" port="6660" type="clients">
79 <bind address="" port="7000" type="servers" default="yes">
80 <bind address="" port="7001" type="servers">
83 #-#-#-#-#-#-#-#-#-#- DIE/RESTART CONFIGURATION -#-#-#-#-#-#-#-#-#-#-
85 # You can configure the passwords here which you wish to use for #
86 # the die and restart commands. Only trusted ircops who will #
87 # need this ability should know the die and restart password. #
89 # Syntax is as follows: #
90 # <power diepass="die password" restartpass="restart password" #
91 # pause="secs before dying"> #
94 <power diepass="diepass" restartpass="restartpass" pause="2">
97 #-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-
99 # This is where you can configure which connections are allowed #
100 # and denied access onto your server. #
101 # The password is optional. #
102 # You may have as many of these as you require. #
103 # To allow/deny all connections use a * #
105 # Syntax is as follows: #
106 # <connect allow="ip or host"> #
107 # <connect allow="ip or host" password="blahblah"> #
108 # <connect allow="ip or host" password="blah" timeout="10"> #
109 # <connect allow="ip or host" timeout="blah" flood="5"> #
110 # <connect allow="ip or host" threshold="8" pingfreq="120"> #
111 # <connect allow="ip or host" sendq="99999" revcq="696969"> #
112 # <connect deny="ip or host"> #
114 # You may optionally include timeout="x" on any allow line, which #
115 # specifies the amount of time given before an unknown connection #
116 # is closed if USER/NICK/PASS are not given. This value is in secs #
118 # You may also optionally include a flood="x" line which indicates #
119 # the number of lines a user may place into their buffer at once #
120 # before they are disconnected for excess flood. The default is to #
121 # DISABLE this feature. A recommended value is 10. A counter is #
122 # maintained for each user which is reset every 'threshold' seconds #
123 # and specifying this threshold value with threshold="X" indicates #
124 # how often the counter is reset. For example, with flood="5" and #
125 # threshold="8", the user may not send more than 5 lines in 8 secs. #
127 # You may optionally specify the sendq size and ping frequency of #
128 # each connect:allow line using the pingfreq="X" and sendq="X" #
129 # settings as shown in the full example below. #
130 # The ping frequency is specified in seconds, and the sendq size #
131 # in bytes. It is recommended, although not enforced, that you #
132 # should never set your sendq size to less than 8k. Send Queues are #
133 # dynamically allocated and can grow as needed up to the maximum #
136 # The optional recvq value is the maximum size which users in this #
137 # group may grow their receive queue to. This is recommended to be #
138 # kept pretty low compared to the sendq, as users will always #
139 # recieve more than they send in normal circumstances. The default #
140 # if not specified is 4096. #
142 # IMPORTANT NOTE, CALL THE CONFUSION POLICE! #
143 # The sendq is the data waiting to be sent TO THE USER. #
144 # The recvq is the data being received FROM THE USER. #
145 # The names sendq and recvq are from the SERVER'S PERSPECTIVE not #
146 # that of the user... Just to clear up any confusion or complaints #
147 # that these are backwards :p #
150 <connect allow="196.12.*" password="secret">
151 <connect allow="*" timeout="60" flood="10" timeout="60" pingfreq="120" sendq="262144" recvq="4096">
153 <connect deny="69.254.*">
156 #-#-#-#-#-#-#-#-#-#-#-#- CLASS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
158 # Classes are a group of commands which are grouped together #
159 # and given a unique name. They used to define which commands #
160 # are available to certain types of Operators. #
162 # Syntax is as follow: #
163 # <class name="name" commands="oper commands"> #
166 <class name="Shutdown" commands="DIE RESTART REHASH">
167 <class name="ServerLink" commands="CONNECT SQUIT">
168 <class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE SHUN">
169 <class name="OperChat" commands="WALLOPS CHATOPS">
170 <class name="HostCloak" commands="SETHOST SETIDENT SETNAME">
173 #-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-#
175 # This is where you specify which types of operators you have on #
176 # your server, as well as the commands they are allowed to use. #
177 # This works alongside with the classes specified above. #
179 # type name - a name for the combined class types #
180 # classes - specified above, used for flexibility for the #
181 # server admin to decide on which operators get #
183 # host - hostmask operators will recieve on oper-up #
185 # Syntax is as follows: #
186 # <type name="name" classes="class name" host="oper hostmask"> #
189 <type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za">
190 <type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za">
191 <type name="LocalOp" classes="OperChat BanControl HostCloak" host="local.omega.org.za">
192 <type name="Helper" classes="HostCloak" host="helper.omega.org.za">
195 #-#-#-#-#-#-#-#-#-#-#- OPERATOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
197 # Opers are defined here. This is a very important section. #
198 # Remember to only make operators out of truthworthy people. #
200 # name - oper name, best to use lower-case #
201 # password - password to oper-up, #
202 # encryption not yet available #
203 # host - host of client allowed to oper-up, more hostmasks #
204 # seperated by spaces, wildcards accepted #
205 # type - specified above, defines the kind of operator #
207 # Syntax is as follows: #
208 # <oper name="login" #
210 # host="hostmask@of.oper" #
211 # type="oper type"> #
220 #-#-#-#-#-#-#-#-#-#-#- SERVER LINK CONFIGURATION -#-#-#-#-#-#-#-#-#-#
222 # Defines which servers can link to this one, and which servers this #
223 # server may create outbound links to. #
225 # name - The name is the canocial name of the server, it does #
226 # not have to resolve - but it is expected to be sent in #
227 # the remote servers connection info. #
228 # ipaddr - Valid host or ip address for remote server. * #
229 # port - Valid listening UDP port for remote server. #
230 # sendpass - Password to send to create an outbound connection to #
232 # recvpass - Password to receive to accept an inbound connection #
233 # from this server. #
235 # to u:line a server (give it extra privilages required for running #
236 # services, Q, etc) you must include the <uline server> tag as shown #
237 # in the example below. You can have as many of these as you like. #
239 # WARNING: Unlike other ircds, u:lining a server allows ALL users on #
240 # that server to operoverride modes. This should only be used for #
241 # services and protected oper servers! #
243 # IMPORTANT NOTE: When specifying the ip address and/or host, the #
244 # server software will prioritize RESOLVED hostnames above ip #
245 # addresses, so for example if your target server resolves to a.b.com #
246 # you MUST put a.b.com into your link block, and NOT the IP address #
247 # of a.b.com. The system uses reverse resolution. #
250 <link name="hub.penguin.org"
251 ipaddr="penguin.box.com"
253 sendpass="outgoing!password"
254 recvpass="incoming!password">
256 <link name="services.antarctic.com"
260 recvpass="polarbears">
262 <uline server="services.antarctic.com">
266 #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
268 # These options let you define the path to your motd and rules #
272 <files motd="/home/cc/inspircd-1.0/conf/inspire.motd"
273 rules="/home/cc/inspircd-1.0/conf/inspire.rules">
275 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
277 # Define your DNS server address here. InspIRCd has its own resolver #
278 # and you must define this otherwise nobody's host will resolve. The #
279 # timeout value is in seconds. #
282 <dns server="127.0.0.1" timeout="5">
284 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# PID FILE -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
286 # Define the path to the PID file here. The PID file can be used to #
287 # rehash the ircd from the shell or to terminate the ircd from the #
288 # shell using shell scripts, perl scripts etc, and to monitor the #
289 # ircd's state via cron jobs. #
292 <pid file="/path/to/inspircd.pid">
294 #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
296 # Use these tags to customise the ban limits on a per channel basis. #
297 # the tags are read from top to bottom, and any tag found which #
298 # matches the channels name applies the banlimit to that channel. #
299 # It is advisable to put an entry with the channel as '*' at the #
300 # bottom of the list. If none are specified or no maxbans tag is #
301 # matched, the banlist size defaults to 64 entries. #
304 <banlist chan="#morons" limit="128">
305 <banlist chan="*" limit="69">
307 #-#-#-#-#-#-#-#-#-#-#- DISABLED COMMANDS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
309 # This tag is optional, and specifies one or more commands which are #
310 # not available to non-operators. For example you may wish to disable #
311 # NICK and prevent non-opers from changing their nicknames. #
312 # Note that any disabled commands take effect only after the user has #
313 # 'registered' (e.g. after the initial USER/NICK/PASS on connection) #
314 # so for example disabling NICK will not cripple your network. #
316 # <disabled commands="TOPIC MODE"> #
320 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#- RTFM LINE -#-#-#-#-#-#-#-#-#-#-#-#-#-#
322 # Just remove this... Its here to make you read ALL of the config #
325 <die value="And god came down from the heavens and smote down the noob.">
329 #-#-#-#-#-#-#-#-#-#-#-#-#- SERVER OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
331 # Settings to define which features are useable on your server. #
333 # prefixquit - a prefix for a client's quit message #
334 # loglevel - specifies what detail of messages to log in the #
335 # log file. You may select from debug, verbose, #
336 # default, sparse and none. #
337 # allowhalfop - allows the +h channel mode #
338 # noservices - If noservices is true, yes, or 1, then the first #
339 # user into a channel gets founder status. This is #
340 # only useful on networks running the m_chanprotect #
341 # module without services. #
342 # netbuffersize - size of the buffer used to receive data from #
343 # clients. The ircd may only read() this amount #
344 # of text in one go at any time. (OPTIONAL) #
345 # maxwho - The maximum number of results returned by a /WHO #
346 # query. This is to prevent /WHO being used as a #
347 # spam vector or means of flooding an ircd. The #
348 # default is 128, it is not recommended to raise it #
349 # above 1024. Values up to 65535 are permitted. #
351 <options prefixquit="Quit: "
353 netbuffersize="10240"
360 #-#-#-#-#-#-#-#-#-#-#-#-#- MODULE OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
362 # These tags define which modules will be loaded on startup by your #
363 # server. Add modules without any paths. When you make your ircd #
364 # using the 'make' command, all compiled modules will be moved into #
365 # the folder you specified when you ran ./configure. The module tag #
366 # automatically looks for modules in this location. #
368 <module name="m_foobar.so">
370 #-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
372 # Optional - If you specify to use the m_filter.so module, then #
373 # specfiy below the path to the filter.conf file. #
375 <filter file="/path/to/inspircd/filter.conf">
378 #-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
380 # Optional - If you specify to use the m_helpop.so module, then #
381 # specify below the path to the helpop.conf file. #
383 <helpop file="/path/to/inspircd/helpop.conf">
386 #-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
388 # Optional - If you specify to use the m_randquotes.so module, then #
389 # specify below the path to the randquotes.conf file. #
391 <randquote file="/path/to/inspircd/randquotes.conf">
393 #-#-#-#-#-#-#-#-#-#-#-#-#-#- BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
395 # The ban tags define nick masks, host masks and ip ranges which are #
396 # banned from your server. All details in these tags are local to #
400 # badip lines ban an ip range (same as a zline) #
402 # ipmask - The ip range to ban (wildcards possible) #
403 # reason - Reason to display when disconnected #
405 # badnick lines ban a nick mask (same as a qline) #
407 # nick - Nick mask to ban (wildcards possible) #
408 # reason - Reason to display on /NICK #
410 # badhost lines ban a user@host mask (same as a kline) #
412 # host - ident@hostname (wildcards possible) #
413 # reason - Reason to display on disconnection #
415 # exception lines define a hostmask that is excempt from [kzg]lines #
417 # host - ident@hostname (wildcards possible) #
418 # reason - Reason, shown only in /stats e #
421 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
423 <badnick nick="ChanServ" reason="Reserved For Services">
424 <badnick nick="NickServ" reason="Reserved For Services">
425 <badnick nick="OperServ" reason="Reserved For Services">
426 <badnick nick="MemoServ" reason="Reserved For Services">
428 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
429 <badhost host="*@localhost" reason="No irc from localhost!">
431 <exception host="*@ircop.host.com" reason="Opers hostname">
433 #-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
435 # If you have the m_alias.so module loaded, you may also define #
436 # aliases as shown below. They are commonly used to provide shortcut #
437 # commands to services, however they are not limited to jsut this use.#
438 # An alias tag requires the following values to be defined in it: #
440 # text - The text to detect at the start of the line, #
441 # must be at the start of the line to trigger the #
442 # alias. May contain spaces, but case insensitive. #
443 # replace - The text to replace 'text' with. Usually this #
444 # will be "PRIVMSG ServiceName :" or similar. #
445 # requires - If you provide a value for 'requires' this means #
446 # the given nickname MUST be online for the alias #
447 # to successfully trigger. If they are not, then #
448 # the user receives a 'no such nick' 401 numeric. #
449 # uline - Defining this value with 'yes', 'true' or '1' #
450 # will ensure that the user given in 'requires' #
451 # must also be on a u-lined server, as well as #
452 # actually being on the network. If the user is #
453 # online, but not on a u-lined server, then an #
454 # oper-alert is sent out as this is possibly signs #
455 # of a user trying to impersonate a service. #
458 <alias text="NICKSERV" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
459 <alias text="CHANSERV" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
460 <alias text="NS" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
461 <alias text="CS" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
463 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
465 # You should already know what to do here :) #
467 <die value="All l33t noobs must edit their configs.">
470 #########################################################################
472 # -InspIRCd Development and Coding Team- #
475 #########################################################################