]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/inspircd.conf.example
Updated documentation of <connect> tags at request of Strike
[user/henk/code/inspircd.git] / docs / inspircd.conf.example
1 ########################################################################
2 #                                                                      #
3 #                     ---------------------------                      #
4 #                     InspIRCd Configuration File                      #
5 #                     ---------------------------                      #
6 #                                                                      #
7 ##################################||####################################
8                                  #||#
9 ##################################||####################################
10 #                                                                      #
11 #         This is an example of the config file for InspIRCd.          #
12 #             Change the options to suit your network                  #
13 #                                                                      #
14 #                 Last updated on : 01/05/2004                         #
15 #                 Written by      : CC  (cc@backchat.co.za)            #
16 #                 Updated by      : BlackDeathX (james@dreamirc.org)   #
17 ########################################################################
18
19
20
21 #-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-
22 #                                                                     #
23 #   Here is where you enter the information about your server.        #
24 #                                                                     #
25 #  Syntax is as follows:                                              #
26 #     <server name="server.name"                                      #
27 #      description="Server Description"                               #
28 #      network="MyNetwork">                                           #
29 #                                                                     #
30
31 <server name="penguin.omega.org.za"
32         description="Waddle World"
33         network="Omega">
34
35
36 #-#-#-#-#-#-#-#-#-#-#-#-   ADMIN INFORMATION   -#-#-#-#-#-#-#-#-#-#-#-#
37 #                                                                     #
38 #   Describes the Server Administrator's real name, nick              #
39 #   and email address.                                                #
40 #                                                                     #
41 #  Syntax is as follows:                                              #
42 #       <admin name="real name"                                       #
43 #              nick="nick name"                                       #
44 #              email="email@address.com">                             #
45 #                                                                     #
46
47 <admin  name="Johnny Casino"
48         nick="CC"
49         email="cc@monkeynut.co.za">
50
51
52 #-#-#-#-#-#-#-#-#-#-#-#-   PORT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
53 #                                                                     #
54 #   Enter the port and address bindings here.                         #
55 #                                                                     #
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      #
61 #                 format.                                             #
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   #
67 #                 problems.                                           #
68 #                                                                     #
69 #  Leaving address empty binds to all available interfaces            #
70 #                                                                     #
71 #  Syntax is as follows:                                              #
72 #                                                                     #
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"> #
76 #                                                                     #
77
78 <bind address="" port="6660" type="clients">
79 <bind address="" port="7000" type="servers" default="yes">
80 <bind address="" port="7001" type="servers">
81
82
83 #-#-#-#-#-#-#-#-#-#-  DIE/RESTART CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-
84 #                                                                     #
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.       #
88 #                                                                     #
89 #  Syntax is as follows:                                              #
90 #       <power diepass="die password" restartpass="restart password"  #
91 #        pause="secs before dying">                                   #
92 #                                                                     #
93
94 <power diepass="diepass" restartpass="restartpass" pause="2">
95
96
97 #-#-#-#-#-#-#-#-#-#-  CONNECTIONS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-
98 #                                                                     #
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 *                             #
104 #                                                                     #
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">                                   #
111 #                                                                     #
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  #
115 #                                                                     #
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.                  #
120
121
122 <connect allow="196.12.*"  password="secret">
123 <connect allow="*" timeout="60" flood="10">
124
125 <connect deny="69.254.*">
126
127
128 #-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
129 #                                                                     #
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.                      #
133 #                                                                     #
134 #  Syntax is as follow:                                               #
135 #       <class name="name" commands="oper commands">                  #
136 #                                                                     #
137
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">
143
144
145 #-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#
146 #                                                                     #
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.            #
150 #                                                                     #
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         #
154 #               what commands                                         #
155 #  host       - hostmask operators will recieve on oper-up            #
156 #                                                                     #
157 #  Syntax is as follows:                                              #
158 #       <type name="name" classes="class name" host="oper hostmask">  #
159 #                                                                     #
160
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">
165
166
167 #-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
168 #                                                                     #
169 #   Opers are defined here. This is a very important section.         #
170 #   Remember to only make operators out of truthworthy people.        #
171 #                                                                     #
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          #
178 #                                                                     #
179 #  Syntax is as follows:                                              #
180 #       <oper name="login"                                            #
181 #             password="pass"                                         #
182 #             host="hostmask@of.oper"                                 #
183 #             type="oper type">                                       #
184 #                                                                     #
185
186 <oper   name="cc"
187         password="s3cret"
188         host="*@*"
189         type="NetAdmin">
190
191
192 #-#-#-#-#-#-#-#-#-#-#-  SERVER LINK CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
193 #                                                                     #
194 # Defines which servers can link to this one, and which servers this  #
195 # server may create outbound links to.                                #
196 #                                                                     #
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    #
203 #             this server.                                            #
204 # recvpass  - Password to receive to accept an inbound connection     #
205 #             from this server.                                       #
206 #                                                                     #
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.    #
210 #                                                                     #
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!                                #
214 #                                                                     #
215
216 <link name="hub.penguin.org"
217         ipaddr="12.34.56.78"
218         port="7000"
219         sendpass="outgoing!password"
220         recvpass="incoming!password">
221
222 <link name="services.antarctic.com"
223         ipaddr="98.76.54.32"
224         port="7000"
225         sendpass="penguins"
226         recvpass="polarbears">
227
228 <uline server="services.antarctic.com">
229
230
231
232 #-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
233 #                                                                     #
234 #   These options let you define the path to your motd and rules      #
235 #   files.                                                            #
236 #                                                                     #
237
238 <files  motd="/home/cc/inspircd-1.0/conf/inspire.motd"
239         rules="/home/cc/inspircd-1.0/conf/inspire.rules">
240
241 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
242 #                                                                     #
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.                                        #
246 #                                                                     #
247
248 <dns server="127.0.0.1" timeout="5">
249
250 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#  PID FILE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
251 #                                                                     #
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.                                         #
256 #                                                                     #
257
258 <pid file="/path/to/inspircd.pid">
259
260 #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
261 #                                                                     #
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.                   #
268 #                                                                     #
269
270 <banlist chan="#morons" limit="128">
271 <banlist chan="*" limit="69">
272
273 #-#-#-#-#-#-#-#-#-#-#-  DISABLED COMMANDS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
274 #                                                                     #
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.        #
281 #                                                                     #
282 #         <disabled commands="TOPIC MODE">                            #
283 #                                                                     #
284
285
286 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
287 #                                                                     #
288 #   Just remove this... Its here to make you read ALL of the config   #
289 #   file options ;)                                                   #
290
291 <die value="And god came down from the heavens and smote down the noob.">
292
293
294
295 #-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
296 #                                                                     #
297 #   Settings to define which features are useable on your server.     #
298 #                                                                     #
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.      #
316
317 <options prefixquit="Quit: "
318          loglevel="default"
319          netbuffersize="10240"
320          maxwho="128"
321          noservices="0"
322          allowhalfop="yes">
323
324
325
326 #-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
327 #                                                                     #
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.                  #
333
334 <module name="m_foobar.so">
335
336 #-#-#-#-#-#-#-#-#-#-#-  FILTER  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
337 #                                                                     #
338 # Optional - If you specify to use the m_filter.so module, then       #
339 # specfiy below the path to the filter.conf file.                     #
340
341 <filter file="/path/to/inspircd/filter.conf">
342
343
344 #-#-#-#-#-#-#-#-#-#-#-#-  HELPOP  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
345 #                                                                     #
346 # Optional - If you specify to use the m_helpop.so module, then       #
347 # specify below the path to the helpop.conf file.                     #
348
349 <helpop file="/path/to/inspircd/helpop.conf">
350
351
352 #-#-#-#-#-#-#-#-#-#-  RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
353 #                                                                     #
354 # Optional - If you specify to use the m_randquotes.so module, then   #
355 # specify below the path to the randquotes.conf file.                 #
356
357 <randquote file="/path/to/inspircd/randquotes.conf">
358
359 #-#-#-#-#-#-#-#-#-#-#-#-#-#-  BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
360 #                                                                     #
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     #
363 # Your server.                                                        #
364 #                                                                     #
365 #                                                                     #
366 # badip lines ban an ip range (same as a zline)                       #
367 #                                                                     #
368 # ipmask       -          The ip range to ban (wildcards possible)    #
369 # reason       -          Reason to display when disconnected         #
370 #                                                                     #
371 # badnick lines ban a nick mask (same as a qline)                     #
372 #                                                                     #
373 # nick         -          Nick mask to ban (wildcards possible)       #
374 # reason       -          Reason to display on /NICK                  #
375 #                                                                     #
376 # badhost lines ban a user@host mask (same as a kline)                #
377 #                                                                     #
378 # host         -          ident@hostname (wildcards possible)         #
379 # reason       -          Reason to display on disconnection          #
380 #                                                                     #
381 # exception lines define a hostmask that is excempt from [kzg]lines   #
382 #                                                                     #
383 # host         -          ident@hostname (wildcards possible)         #
384 # reason       -          Reason, shown only in /stats e              #
385 #                                                                     #
386
387 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
388
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">
393
394 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
395 <badhost host="*@localhost" reason="No irc from localhost!">
396
397 <exception host="*@ircop.host.com" reason="Opers hostname">
398
399 #-#-#-#-#-#-#-#-#-#-#-  ALIAS DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
400 #                                                                     #
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:     #
405 #                                                                     #
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.       #
422 #                                                                     #
423
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">
429
430 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
431 #                                                                     #
432 #   You should already know what to do here :)                        #
433
434 <die value="All l33t noobs must edit their configs.">
435
436
437 #########################################################################
438 #                                                                       #
439 #                -InspIRCd Development and Coding Team-                 #
440 #                          www.inspircd.org                             #
441 #                                                                       #
442 #########################################################################