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 number"> #
107 # <connect allow="ip number" password="blahblah"> #
108 # <connect allow="ip number" password="blah" timeout="10"> #
109 # <connect allow="ip number" timeout="blah" flood="5"> #
110 # <connect deny="ip number"> #
112 # You may optionally include timeout="x" on any allow line, which #
113 # specifies the amount of time given before an unknown connection #
114 # is closed if USER/NICK/PASS are not given. This value is in secs #
116 # You may also optionally include a flood="x" line which indicates #
117 # the number of lines a user may place into their buffer at once #
118 # before they are disconnected for excess flood. The default is to #
119 # DISABLE this feature. A recommended value is 10. #
122 <connect allow="196.12.*" password="secret">
123 <connect allow="*" timeout="60" flood="10">
125 <connect deny="69.254.*">
128 #-#-#-#-#-#-#-#-#-#-#-#- CLASS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-
130 # Classes are a group of commands which are grouped together #
131 # and given a unique name. They used to define which commands #
132 # are available to certain types of Operators. #
134 # Syntax is as follow: #
135 # <class name="name" commands="oper commands"> #
138 <class name="Shutdown" commands="DIE RESTART REHASH">
139 <class name="ServerLink" commands="CONNECT SQUIT">
140 <class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE SHUN">
141 <class name="OperChat" commands="WALLOPS CHATOPS">
142 <class name="HostCloak" commands="SETHOST SETIDENT SETNAME">
145 #-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-#
147 # This is where you specify which types of operators you have on #
148 # your server, as well as the commands they are allowed to use. #
149 # This works alongside with the classes specified above. #
151 # type name - a name for the combined class types #
152 # classes - specified above, used for flexibility for the #
153 # server admin to decide on which operators get #
155 # host - hostmask operators will recieve on oper-up #
157 # Syntax is as follows: #
158 # <type name="name" classes="class name" host="oper hostmask"> #
161 <type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za">
162 <type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za">
163 <type name="LocalOp" classes="OperChat BanControl HostCloak" host="local.omega.org.za">
164 <type name="Helper" classes="HostCloak" host="helper.omega.org.za">
167 #-#-#-#-#-#-#-#-#-#-#- OPERATOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
169 # Opers are defined here. This is a very important section. #
170 # Remember to only make operators out of truthworthy people. #
172 # name - oper name, best to use lower-case #
173 # password - password to oper-up, #
174 # encryption not yet available #
175 # host - host of client allowed to oper-up, more hostmasks #
176 # seperated by spaces, wildcards accepted #
177 # type - specified above, defines the kind of operator #
179 # Syntax is as follows: #
180 # <oper name="login" #
182 # host="hostmask@of.oper" #
183 # type="oper type"> #
192 #-#-#-#-#-#-#-#-#-#-#- SERVER LINK CONFIGURATION -#-#-#-#-#-#-#-#-#-#
194 # Defines which servers can link to this one, and which servers this #
195 # server may create outbound links to. #
197 # name - The name is the canocial name of the server, it does #
198 # not have to resolve - but it is expected to be sent in #
199 # the remote servers connection info. #
200 # ipaddr - Valid ip address for remote server. #
201 # port - Valid listening UDP port for remote server. #
202 # sendpass - Password to send to create an outbound connection to #
204 # recvpass - Password to receive to accept an inbound connection #
205 # from this server. #
207 # to u:line a server (give it extra privilages required for running #
208 # services, Q, etc) you must include the <uline server> tag as shown #
209 # in the example below. You can have as many of these as you like. #
211 # WARNING: Unlike other ircds, u:lining a server allows ALL users on #
212 # that server to operoverride modes. This should only be used for #
213 # services and protected oper servers! #
216 <link name="hub.penguin.org"
219 sendpass="outgoing!password"
220 recvpass="incoming!password">
222 <link name="services.antarctic.com"
226 recvpass="polarbears">
228 <uline server="services.antarctic.com">
232 #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
234 # These options let you define the path to your motd and rules #
238 <files motd="/home/cc/inspircd-1.0/conf/inspire.motd"
239 rules="/home/cc/inspircd-1.0/conf/inspire.rules">
241 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
243 # Define your DNS server address here. InspIRCd has its own resolver #
244 # and you must define this otherwise nobody's host will resolve. The #
245 # timeout value is in seconds. #
248 <dns server="127.0.0.1" timeout="5">
250 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# PID FILE -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
252 # Define the path to the PID file here. The PID file can be used to #
253 # rehash the ircd from the shell or to terminate the ircd from the #
254 # shell using shell scripts, perl scripts etc, and to monitor the #
255 # ircd's state via cron jobs. #
258 <pid file="/path/to/inspircd.pid">
260 #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
262 # Use these tags to customise the ban limits on a per channel basis. #
263 # the tags are read from top to bottom, and any tag found which #
264 # matches the channels name applies the banlimit to that channel. #
265 # It is advisable to put an entry with the channel as '*' at the #
266 # bottom of the list. If none are specified or no maxbans tag is #
267 # matched, the banlist size defaults to 64 entries. #
270 <banlist chan="#morons" limit="128">
271 <banlist chan="*" limit="69">
273 #-#-#-#-#-#-#-#-#-#-#- DISABLED COMMANDS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
275 # This tag is optional, and specifies one or more commands which are #
276 # not available to non-operators. For example you may wish to disable #
277 # NICK and prevent non-opers from changing their nicknames. #
278 # Note that any disabled commands take effect only after the user has #
279 # 'registered' (e.g. after the initial USER/NICK/PASS on connection) #
280 # so for example disabling NICK will not cripple your network. #
282 # <disabled commands="TOPIC MODE"> #
286 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#- RTFM LINE -#-#-#-#-#-#-#-#-#-#-#-#-#-#
288 # Just remove this... Its here to make you read ALL of the config #
291 <die value="And god came down from the heavens and smote down the noob.">
295 #-#-#-#-#-#-#-#-#-#-#-#-#- SERVER OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
297 # Settings to define which features are useable on your server. #
299 # prefixquit - a prefix for a client's quit message #
300 # loglevel - specifies what detail of messages to log in the #
301 # log file. You may select from debug, verbose, #
302 # default, sparse and none. #
303 # allowhalfop - allows the +h channel mode #
304 # noservices - If noservices is true, yes, or 1, then the first #
305 # user into a channel gets founder status. This is #
306 # only useful on networks running the m_chanprotect #
307 # module without services. #
308 # netbuffersize - size of the buffer used to receive data from #
309 # clients. The ircd may only read() this amount #
310 # of text in one go at any time. (OPTIONAL) #
311 # maxwho - The maximum number of results returned by a /WHO #
312 # query. This is to prevent /WHO being used as a #
313 # spam vector or means of flooding an ircd. The #
314 # default is 128, it is not recommended to raise it #
315 # above 1024. Values up to 65535 are permitted. #
317 <options prefixquit="Quit: "
319 netbuffersize="10240"
326 #-#-#-#-#-#-#-#-#-#-#-#-#- MODULE OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
328 # These tags define which modules will be loaded on startup by your #
329 # server. Add modules without any paths. When you make your ircd #
330 # using the 'make' command, all compiled modules will be moved into #
331 # the folder you specified when you ran ./configure. The module tag #
332 # automatically looks for modules in this location. #
334 <module name="m_foobar.so">
336 #-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
338 # Optional - If you specify to use the m_filter.so module, then #
339 # specfiy below the path to the filter.conf file. #
341 <filter file="/path/to/inspircd/filter.conf">
344 #-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
346 # Optional - If you specify to use the m_helpop.so module, then #
347 # specify below the path to the helpop.conf file. #
349 <helpop file="/path/to/inspircd/helpop.conf">
352 #-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
354 # Optional - If you specify to use the m_randquotes.so module, then #
355 # specify below the path to the randquotes.conf file. #
357 <randquote file="/path/to/inspircd/randquotes.conf">
359 #-#-#-#-#-#-#-#-#-#-#-#-#-#- BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
361 # The ban tags define nick masks, host masks and ip ranges which are #
362 # banned from your server. All details in these tags are local to #
366 # badip lines ban an ip range (same as a zline) #
368 # ipmask - The ip range to ban (wildcards possible) #
369 # reason - Reason to display when disconnected #
371 # badnick lines ban a nick mask (same as a qline) #
373 # nick - Nick mask to ban (wildcards possible) #
374 # reason - Reason to display on /NICK #
376 # badhost lines ban a user@host mask (same as a kline) #
378 # host - ident@hostname (wildcards possible) #
379 # reason - Reason to display on disconnection #
381 # exception lines define a hostmask that is excempt from [kzg]lines #
383 # host - ident@hostname (wildcards possible) #
384 # reason - Reason, shown only in /stats e #
387 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
389 <badnick nick="ChanServ" reason="Reserved For Services">
390 <badnick nick="NickServ" reason="Reserved For Services">
391 <badnick nick="OperServ" reason="Reserved For Services">
392 <badnick nick="MemoServ" reason="Reserved For Services">
394 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
395 <badhost host="*@localhost" reason="No irc from localhost!">
397 <exception host="*@ircop.host.com" reason="Opers hostname">
399 #-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
401 # If you have the m_alias.so module loaded, you may also define #
402 # aliases as shown below. They are commonly used to provide shortcut #
403 # commands to services, however they are not limited to jsut this use.#
404 # An alias tag requires the following values to be defined in it: #
406 # text - The text to detect at the start of the line, #
407 # must be at the start of the line to trigger the #
408 # alias. May contain spaces, but case insensitive. #
409 # replace - The text to replace 'text' with. Usually this #
410 # will be "PRIVMSG ServiceName :" or similar. #
411 # requires - If you provide a value for 'requires' this means #
412 # the given nickname MUST be online for the alias #
413 # to successfully trigger. If they are not, then #
414 # the user receives a 'no such nick' 401 numeric. #
415 # uline - Defining this value with 'yes', 'true' or '1' #
416 # will ensure that the user given in 'requires' #
417 # must also be on a u-lined server, as well as #
418 # actually being on the network. If the user is #
419 # online, but not on a u-lined server, then an #
420 # oper-alert is sent out as this is possibly signs #
421 # of a user trying to impersonate a service. #
424 <alias text="NICKSERV" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
425 <alias text="CHANSERV" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
426 <alias text="NS ID" replace="PRIVMSG NickServ :identify" requires="NickServ" uline="yes">
427 <alias text="NS" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
428 <alias text="CS" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
430 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
432 # You should already know what to do here :) #
434 <die value="All l33t noobs must edit their configs.">
437 #########################################################################
439 # -InspIRCd Development and Coding Team- #
442 #########################################################################