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 deny="ip or host"> #
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 host or 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! #
215 # IMPORTANT NOTE: When specifying the ip address and/or host, the #
216 # server software will prioritize RESOLVED hostnames above ip #
217 # addresses, so for example if your target server resolves to a.b.com #
218 # you MUST put a.b.com into your link block, and NOT the IP address #
219 # of a.b.com. The system uses reverse resolution. #
222 <link name="hub.penguin.org"
223 ipaddr="penguin.box.com"
225 sendpass="outgoing!password"
226 recvpass="incoming!password">
228 <link name="services.antarctic.com"
232 recvpass="polarbears">
234 <uline server="services.antarctic.com">
238 #-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
240 # These options let you define the path to your motd and rules #
244 <files motd="/home/cc/inspircd-1.0/conf/inspire.motd"
245 rules="/home/cc/inspircd-1.0/conf/inspire.rules">
247 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
249 # Define your DNS server address here. InspIRCd has its own resolver #
250 # and you must define this otherwise nobody's host will resolve. The #
251 # timeout value is in seconds. #
254 <dns server="127.0.0.1" timeout="5">
256 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# PID FILE -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
258 # Define the path to the PID file here. The PID file can be used to #
259 # rehash the ircd from the shell or to terminate the ircd from the #
260 # shell using shell scripts, perl scripts etc, and to monitor the #
261 # ircd's state via cron jobs. #
264 <pid file="/path/to/inspircd.pid">
266 #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
268 # Use these tags to customise the ban limits on a per channel basis. #
269 # the tags are read from top to bottom, and any tag found which #
270 # matches the channels name applies the banlimit to that channel. #
271 # It is advisable to put an entry with the channel as '*' at the #
272 # bottom of the list. If none are specified or no maxbans tag is #
273 # matched, the banlist size defaults to 64 entries. #
276 <banlist chan="#morons" limit="128">
277 <banlist chan="*" limit="69">
279 #-#-#-#-#-#-#-#-#-#-#- DISABLED COMMANDS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
281 # This tag is optional, and specifies one or more commands which are #
282 # not available to non-operators. For example you may wish to disable #
283 # NICK and prevent non-opers from changing their nicknames. #
284 # Note that any disabled commands take effect only after the user has #
285 # 'registered' (e.g. after the initial USER/NICK/PASS on connection) #
286 # so for example disabling NICK will not cripple your network. #
288 # <disabled commands="TOPIC MODE"> #
292 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#- RTFM LINE -#-#-#-#-#-#-#-#-#-#-#-#-#-#
294 # Just remove this... Its here to make you read ALL of the config #
297 <die value="And god came down from the heavens and smote down the noob.">
301 #-#-#-#-#-#-#-#-#-#-#-#-#- SERVER OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
303 # Settings to define which features are useable on your server. #
305 # prefixquit - a prefix for a client's quit message #
306 # loglevel - specifies what detail of messages to log in the #
307 # log file. You may select from debug, verbose, #
308 # default, sparse and none. #
309 # allowhalfop - allows the +h channel mode #
310 # noservices - If noservices is true, yes, or 1, then the first #
311 # user into a channel gets founder status. This is #
312 # only useful on networks running the m_chanprotect #
313 # module without services. #
314 # netbuffersize - size of the buffer used to receive data from #
315 # clients. The ircd may only read() this amount #
316 # of text in one go at any time. (OPTIONAL) #
317 # maxwho - The maximum number of results returned by a /WHO #
318 # query. This is to prevent /WHO being used as a #
319 # spam vector or means of flooding an ircd. The #
320 # default is 128, it is not recommended to raise it #
321 # above 1024. Values up to 65535 are permitted. #
323 <options prefixquit="Quit: "
325 netbuffersize="10240"
332 #-#-#-#-#-#-#-#-#-#-#-#-#- MODULE OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#
334 # These tags define which modules will be loaded on startup by your #
335 # server. Add modules without any paths. When you make your ircd #
336 # using the 'make' command, all compiled modules will be moved into #
337 # the folder you specified when you ran ./configure. The module tag #
338 # automatically looks for modules in this location. #
340 <module name="m_foobar.so">
342 #-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
344 # Optional - If you specify to use the m_filter.so module, then #
345 # specfiy below the path to the filter.conf file. #
347 <filter file="/path/to/inspircd/filter.conf">
350 #-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
352 # Optional - If you specify to use the m_helpop.so module, then #
353 # specify below the path to the helpop.conf file. #
355 <helpop file="/path/to/inspircd/helpop.conf">
358 #-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
360 # Optional - If you specify to use the m_randquotes.so module, then #
361 # specify below the path to the randquotes.conf file. #
363 <randquote file="/path/to/inspircd/randquotes.conf">
365 #-#-#-#-#-#-#-#-#-#-#-#-#-#- BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
367 # The ban tags define nick masks, host masks and ip ranges which are #
368 # banned from your server. All details in these tags are local to #
372 # badip lines ban an ip range (same as a zline) #
374 # ipmask - The ip range to ban (wildcards possible) #
375 # reason - Reason to display when disconnected #
377 # badnick lines ban a nick mask (same as a qline) #
379 # nick - Nick mask to ban (wildcards possible) #
380 # reason - Reason to display on /NICK #
382 # badhost lines ban a user@host mask (same as a kline) #
384 # host - ident@hostname (wildcards possible) #
385 # reason - Reason to display on disconnection #
387 # exception lines define a hostmask that is excempt from [kzg]lines #
389 # host - ident@hostname (wildcards possible) #
390 # reason - Reason, shown only in /stats e #
393 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
395 <badnick nick="ChanServ" reason="Reserved For Services">
396 <badnick nick="NickServ" reason="Reserved For Services">
397 <badnick nick="OperServ" reason="Reserved For Services">
398 <badnick nick="MemoServ" reason="Reserved For Services">
400 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
401 <badhost host="*@localhost" reason="No irc from localhost!">
403 <exception host="*@ircop.host.com" reason="Opers hostname">
405 #-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-#
407 # If you have the m_alias.so module loaded, you may also define #
408 # aliases as shown below. They are commonly used to provide shortcut #
409 # commands to services, however they are not limited to jsut this use.#
410 # An alias tag requires the following values to be defined in it: #
412 # text - The text to detect at the start of the line, #
413 # must be at the start of the line to trigger the #
414 # alias. May contain spaces, but case insensitive. #
415 # replace - The text to replace 'text' with. Usually this #
416 # will be "PRIVMSG ServiceName :" or similar. #
417 # requires - If you provide a value for 'requires' this means #
418 # the given nickname MUST be online for the alias #
419 # to successfully trigger. If they are not, then #
420 # the user receives a 'no such nick' 401 numeric. #
421 # uline - Defining this value with 'yes', 'true' or '1' #
422 # will ensure that the user given in 'requires' #
423 # must also be on a u-lined server, as well as #
424 # actually being on the network. If the user is #
425 # online, but not on a u-lined server, then an #
426 # oper-alert is sent out as this is possibly signs #
427 # of a user trying to impersonate a service. #
430 <alias text="NICKSERV" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
431 <alias text="CHANSERV" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
432 <alias text="NS" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
433 <alias text="CS" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
435 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
437 # You should already know what to do here :) #
439 <die value="All l33t noobs must edit their configs.">
442 #########################################################################
444 # -InspIRCd Development and Coding Team- #
447 #########################################################################