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"> #
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 #
137 <connect allow="196.12.*" password="secret">
138 <connect allow="*" timeout="60" flood="10" timeout="60" pingfreq="120" sendq="131072">
140 <connect deny="69.254.*">
143 #-#-#-#-#-#-#-#-#-#-#-#- CLASS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
145 # Classes are a group of commands which are grouped together #
146 # and given a unique name. They used to define which commands #
147 # are available to certain types of Operators. #
149 # Syntax is as follow: #
150 # <class name="name" commands="oper commands"> #
153 <class name="Shutdown" commands="DIE RESTART REHASH">
154 <class name="ServerLink" commands="CONNECT SQUIT">
155 <class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE SHUN">
156 <class name="OperChat" commands="WALLOPS CHATOPS">
157 <class name="HostCloak" commands="SETHOST SETIDENT SETNAME">
160 #-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-#
162 # This is where you specify which types of operators you have on #
163 # your server, as well as the commands they are allowed to use. #
164 # This works alongside with the classes specified above. #
166 # type name - a name for the combined class types #
167 # classes - specified above, used for flexibility for the #
168 # server admin to decide on which operators get #
170 # host - hostmask operators will recieve on oper-up #
172 # Syntax is as follows: #
173 # <type name="name" classes="class name" host="oper hostmask"> #
176 <type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za">
177 <type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za">
178 <type name="LocalOp" classes="OperChat BanControl HostCloak" host="local.omega.org.za">
179 <type name="Helper" classes="HostCloak" host="helper.omega.org.za">
182 #-#-#-#-#-#-#-#-#-#-#- OPERATOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
184 # Opers are defined here. This is a very important section. #
185 # Remember to only make operators out of truthworthy people. #
187 # name - oper name, best to use lower-case #
188 # password - password to oper-up, #
189 # encryption not yet available #
190 # host - host of client allowed to oper-up, more hostmasks #
191 # seperated by spaces, wildcards accepted #
192 # type - specified above, defines the kind of operator #
194 # Syntax is as follows: #
195 # <oper name="login" #
197 # host="hostmask@of.oper" #
198 # type="oper type"> #
207 #-#-#-#-#-#-#-#-#-#-#- SERVER LINK CONFIGURATION -#-#-#-#-#-#-#-#-#-#
209 # Defines which servers can link to this one, and which servers this #
210 # server may create outbound links to. #
212 # name - The name is the canocial name of the server, it does #
213 # not have to resolve - but it is expected to be sent in #
214 # the remote servers connection info. #
215 # ipaddr - Valid host or ip address for remote server. * #
216 # port - Valid listening UDP port for remote server. #
217 # sendpass - Password to send to create an outbound connection to #
219 # recvpass - Password to receive to accept an inbound connection #
220 # from this server. #
222 # to u:line a server (give it extra privilages required for running #
223 # services, Q, etc) you must include the <uline server> tag as shown #
224 # in the example below. You can have as many of these as you like. #
226 # WARNING: Unlike other ircds, u:lining a server allows ALL users on #
227 # that server to operoverride modes. This should only be used for #
228 # services and protected oper servers! #
230 # IMPORTANT NOTE: When specifying the ip address and/or host, the #
231 # server software will prioritize RESOLVED hostnames above ip #
232 # addresses, so for example if your target server resolves to a.b.com #
233 # you MUST put a.b.com into your link block, and NOT the IP address #
234 # of a.b.com. The system uses reverse resolution. #
237 <link name="hub.penguin.org"
238 ipaddr="penguin.box.com"
240 sendpass="outgoing!password"
241 recvpass="incoming!password">
243 <link name="services.antarctic.com"
247 recvpass="polarbears">
249 <uline server="services.antarctic.com">
253 #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
255 # These options let you define the path to your motd and rules #
259 <files motd="/home/cc/inspircd-1.0/conf/inspire.motd"
260 rules="/home/cc/inspircd-1.0/conf/inspire.rules">
262 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
264 # Define your DNS server address here. InspIRCd has its own resolver #
265 # and you must define this otherwise nobody's host will resolve. The #
266 # timeout value is in seconds. #
269 <dns server="127.0.0.1" timeout="5">
271 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# PID FILE -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
273 # Define the path to the PID file here. The PID file can be used to #
274 # rehash the ircd from the shell or to terminate the ircd from the #
275 # shell using shell scripts, perl scripts etc, and to monitor the #
276 # ircd's state via cron jobs. #
279 <pid file="/path/to/inspircd.pid">
281 #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
283 # Use these tags to customise the ban limits on a per channel basis. #
284 # the tags are read from top to bottom, and any tag found which #
285 # matches the channels name applies the banlimit to that channel. #
286 # It is advisable to put an entry with the channel as '*' at the #
287 # bottom of the list. If none are specified or no maxbans tag is #
288 # matched, the banlist size defaults to 64 entries. #
291 <banlist chan="#morons" limit="128">
292 <banlist chan="*" limit="69">
294 #-#-#-#-#-#-#-#-#-#-#- DISABLED COMMANDS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
296 # This tag is optional, and specifies one or more commands which are #
297 # not available to non-operators. For example you may wish to disable #
298 # NICK and prevent non-opers from changing their nicknames. #
299 # Note that any disabled commands take effect only after the user has #
300 # 'registered' (e.g. after the initial USER/NICK/PASS on connection) #
301 # so for example disabling NICK will not cripple your network. #
303 # <disabled commands="TOPIC MODE"> #
307 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#- RTFM LINE -#-#-#-#-#-#-#-#-#-#-#-#-#-#
309 # Just remove this... Its here to make you read ALL of the config #
312 <die value="And god came down from the heavens and smote down the noob.">
316 #-#-#-#-#-#-#-#-#-#-#-#-#- SERVER OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
318 # Settings to define which features are useable on your server. #
320 # prefixquit - a prefix for a client's quit message #
321 # loglevel - specifies what detail of messages to log in the #
322 # log file. You may select from debug, verbose, #
323 # default, sparse and none. #
324 # allowhalfop - allows the +h channel mode #
325 # noservices - If noservices is true, yes, or 1, then the first #
326 # user into a channel gets founder status. This is #
327 # only useful on networks running the m_chanprotect #
328 # module without services. #
329 # netbuffersize - size of the buffer used to receive data from #
330 # clients. The ircd may only read() this amount #
331 # of text in one go at any time. (OPTIONAL) #
332 # maxwho - The maximum number of results returned by a /WHO #
333 # query. This is to prevent /WHO being used as a #
334 # spam vector or means of flooding an ircd. The #
335 # default is 128, it is not recommended to raise it #
336 # above 1024. Values up to 65535 are permitted. #
338 <options prefixquit="Quit: "
340 netbuffersize="10240"
347 #-#-#-#-#-#-#-#-#-#-#-#-#- MODULE OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
349 # These tags define which modules will be loaded on startup by your #
350 # server. Add modules without any paths. When you make your ircd #
351 # using the 'make' command, all compiled modules will be moved into #
352 # the folder you specified when you ran ./configure. The module tag #
353 # automatically looks for modules in this location. #
355 <module name="m_foobar.so">
357 #-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
359 # Optional - If you specify to use the m_filter.so module, then #
360 # specfiy below the path to the filter.conf file. #
362 <filter file="/path/to/inspircd/filter.conf">
365 #-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
367 # Optional - If you specify to use the m_helpop.so module, then #
368 # specify below the path to the helpop.conf file. #
370 <helpop file="/path/to/inspircd/helpop.conf">
373 #-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
375 # Optional - If you specify to use the m_randquotes.so module, then #
376 # specify below the path to the randquotes.conf file. #
378 <randquote file="/path/to/inspircd/randquotes.conf">
380 #-#-#-#-#-#-#-#-#-#-#-#-#-#- BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
382 # The ban tags define nick masks, host masks and ip ranges which are #
383 # banned from your server. All details in these tags are local to #
387 # badip lines ban an ip range (same as a zline) #
389 # ipmask - The ip range to ban (wildcards possible) #
390 # reason - Reason to display when disconnected #
392 # badnick lines ban a nick mask (same as a qline) #
394 # nick - Nick mask to ban (wildcards possible) #
395 # reason - Reason to display on /NICK #
397 # badhost lines ban a user@host mask (same as a kline) #
399 # host - ident@hostname (wildcards possible) #
400 # reason - Reason to display on disconnection #
402 # exception lines define a hostmask that is excempt from [kzg]lines #
404 # host - ident@hostname (wildcards possible) #
405 # reason - Reason, shown only in /stats e #
408 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
410 <badnick nick="ChanServ" reason="Reserved For Services">
411 <badnick nick="NickServ" reason="Reserved For Services">
412 <badnick nick="OperServ" reason="Reserved For Services">
413 <badnick nick="MemoServ" reason="Reserved For Services">
415 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
416 <badhost host="*@localhost" reason="No irc from localhost!">
418 <exception host="*@ircop.host.com" reason="Opers hostname">
420 #-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
422 # If you have the m_alias.so module loaded, you may also define #
423 # aliases as shown below. They are commonly used to provide shortcut #
424 # commands to services, however they are not limited to jsut this use.#
425 # An alias tag requires the following values to be defined in it: #
427 # text - The text to detect at the start of the line, #
428 # must be at the start of the line to trigger the #
429 # alias. May contain spaces, but case insensitive. #
430 # replace - The text to replace 'text' with. Usually this #
431 # will be "PRIVMSG ServiceName :" or similar. #
432 # requires - If you provide a value for 'requires' this means #
433 # the given nickname MUST be online for the alias #
434 # to successfully trigger. If they are not, then #
435 # the user receives a 'no such nick' 401 numeric. #
436 # uline - Defining this value with 'yes', 'true' or '1' #
437 # will ensure that the user given in 'requires' #
438 # must also be on a u-lined server, as well as #
439 # actually being on the network. If the user is #
440 # online, but not on a u-lined server, then an #
441 # oper-alert is sent out as this is possibly signs #
442 # of a user trying to impersonate a service. #
445 <alias text="NICKSERV" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
446 <alias text="CHANSERV" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
447 <alias text="NS" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
448 <alias text="CS" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
450 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
452 # You should already know what to do here :) #
454 <die value="All l33t noobs must edit their configs.">
457 #########################################################################
459 # -InspIRCd Development and Coding Team- #
462 #########################################################################