]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/inspircd.conf.example
added sendq stuff, see example config
[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 allow="ip or host" threshold="8" pingfreq="120">     #
111 #       <connect allow="ip or host" sendq="99999">                    #
112 #       <connect deny="ip or host">                                   #
113 #                                                                     #
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  #
117 #                                                                     #
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. #
126 #                                                                     #
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    #
134 #   size specified.                                                   #
135 #                                                                     #
136
137 <connect allow="196.12.*"  password="secret">
138 <connect allow="*" timeout="60" flood="10" timeout="60" pingfreq="120" sendq="131072">
139
140 <connect deny="69.254.*">
141
142
143 #-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
144 #                                                                     #
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.                      #
148 #                                                                     #
149 #  Syntax is as follow:                                               #
150 #       <class name="name" commands="oper commands">                  #
151 #                                                                     #
152
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">
158
159
160 #-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#
161 #                                                                     #
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.            #
165 #                                                                     #
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         #
169 #               what commands                                         #
170 #  host       - hostmask operators will recieve on oper-up            #
171 #                                                                     #
172 #  Syntax is as follows:                                              #
173 #       <type name="name" classes="class name" host="oper hostmask">  #
174 #                                                                     #
175
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">
180
181
182 #-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
183 #                                                                     #
184 #   Opers are defined here. This is a very important section.         #
185 #   Remember to only make operators out of truthworthy people.        #
186 #                                                                     #
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          #
193 #                                                                     #
194 #  Syntax is as follows:                                              #
195 #       <oper name="login"                                            #
196 #             password="pass"                                         #
197 #             host="hostmask@of.oper"                                 #
198 #             type="oper type">                                       #
199 #                                                                     #
200
201 <oper   name="cc"
202         password="s3cret"
203         host="*@*"
204         type="NetAdmin">
205
206
207 #-#-#-#-#-#-#-#-#-#-#-  SERVER LINK CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
208 #                                                                     #
209 # Defines which servers can link to this one, and which servers this  #
210 # server may create outbound links to.                                #
211 #                                                                     #
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    #
218 #             this server.                                            #
219 # recvpass  - Password to receive to accept an inbound connection     #
220 #             from this server.                                       #
221 #                                                                     #
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.    #
225 #                                                                     #
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!                                #
229 #                                                                     #
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.                     #
235 #                                                                     #
236
237 <link name="hub.penguin.org"
238         ipaddr="penguin.box.com"
239         port="7000"
240         sendpass="outgoing!password"
241         recvpass="incoming!password">
242
243 <link name="services.antarctic.com"
244         ipaddr="localhost"
245         port="7000"
246         sendpass="penguins"
247         recvpass="polarbears">
248
249 <uline server="services.antarctic.com">
250
251
252
253 #-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
254 #                                                                     #
255 #   These options let you define the path to your motd and rules      #
256 #   files.                                                            #
257 #                                                                     #
258
259 <files  motd="/home/cc/inspircd-1.0/conf/inspire.motd"
260         rules="/home/cc/inspircd-1.0/conf/inspire.rules">
261
262 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
263 #                                                                     #
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.                                        #
267 #                                                                     #
268
269 <dns server="127.0.0.1" timeout="5">
270
271 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#  PID FILE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
272 #                                                                     #
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.                                         #
277 #                                                                     #
278
279 <pid file="/path/to/inspircd.pid">
280
281 #-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
282 #                                                                     #
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.                   #
289 #                                                                     #
290
291 <banlist chan="#morons" limit="128">
292 <banlist chan="*" limit="69">
293
294 #-#-#-#-#-#-#-#-#-#-#-  DISABLED COMMANDS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
295 #                                                                     #
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.        #
302 #                                                                     #
303 #         <disabled commands="TOPIC MODE">                            #
304 #                                                                     #
305
306
307 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
308 #                                                                     #
309 #   Just remove this... Its here to make you read ALL of the config   #
310 #   file options ;)                                                   #
311
312 <die value="And god came down from the heavens and smote down the noob.">
313
314
315
316 #-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
317 #                                                                     #
318 #   Settings to define which features are useable on your server.     #
319 #                                                                     #
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.      #
337
338 <options prefixquit="Quit: "
339          loglevel="default"
340          netbuffersize="10240"
341          maxwho="128"
342          noservices="0"
343          allowhalfop="yes">
344
345
346
347 #-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
348 #                                                                     #
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.                  #
354
355 <module name="m_foobar.so">
356
357 #-#-#-#-#-#-#-#-#-#-#-  FILTER  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
358 #                                                                     #
359 # Optional - If you specify to use the m_filter.so module, then       #
360 # specfiy below the path to the filter.conf file.                     #
361
362 <filter file="/path/to/inspircd/filter.conf">
363
364
365 #-#-#-#-#-#-#-#-#-#-#-#-  HELPOP  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
366 #                                                                     #
367 # Optional - If you specify to use the m_helpop.so module, then       #
368 # specify below the path to the helpop.conf file.                     #
369
370 <helpop file="/path/to/inspircd/helpop.conf">
371
372
373 #-#-#-#-#-#-#-#-#-#-  RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
374 #                                                                     #
375 # Optional - If you specify to use the m_randquotes.so module, then   #
376 # specify below the path to the randquotes.conf file.                 #
377
378 <randquote file="/path/to/inspircd/randquotes.conf">
379
380 #-#-#-#-#-#-#-#-#-#-#-#-#-#-  BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
381 #                                                                     #
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     #
384 # Your server.                                                        #
385 #                                                                     #
386 #                                                                     #
387 # badip lines ban an ip range (same as a zline)                       #
388 #                                                                     #
389 # ipmask       -          The ip range to ban (wildcards possible)    #
390 # reason       -          Reason to display when disconnected         #
391 #                                                                     #
392 # badnick lines ban a nick mask (same as a qline)                     #
393 #                                                                     #
394 # nick         -          Nick mask to ban (wildcards possible)       #
395 # reason       -          Reason to display on /NICK                  #
396 #                                                                     #
397 # badhost lines ban a user@host mask (same as a kline)                #
398 #                                                                     #
399 # host         -          ident@hostname (wildcards possible)         #
400 # reason       -          Reason to display on disconnection          #
401 #                                                                     #
402 # exception lines define a hostmask that is excempt from [kzg]lines   #
403 #                                                                     #
404 # host         -          ident@hostname (wildcards possible)         #
405 # reason       -          Reason, shown only in /stats e              #
406 #                                                                     #
407
408 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
409
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">
414
415 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
416 <badhost host="*@localhost" reason="No irc from localhost!">
417
418 <exception host="*@ircop.host.com" reason="Opers hostname">
419
420 #-#-#-#-#-#-#-#-#-#-#-  ALIAS DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
421 #                                                                     #
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:     #
426 #                                                                     #
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.       #
443 #                                                                     #
444
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">
449
450 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
451 #                                                                     #
452 #   You should already know what to do here :)                        #
453
454 <die value="All l33t noobs must edit their configs.">
455
456
457 #########################################################################
458 #                                                                       #
459 #                -InspIRCd Development and Coding Team-                 #
460 #                          www.inspircd.org                             #
461 #                                                                       #
462 #########################################################################