]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/inspircd.conf.example
Added pid file support, and documentation for it
[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 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">                                    #
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
261 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
262 #                                                                     #
263 #   Just remove this... Its here to make you read ALL of the config   #
264 #   file options ;)                                                   #
265
266 <die value="And god came down from the heavens and smote down the noob.">
267
268
269
270 #-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
271 #                                                                     #
272 #   Settings to define which features are useable on your server.     #
273 #                                                                     #
274 #  prefixquit    - a prefix for a client's quit message               #
275 #  loglevel      - specifies what detail of messages to log in the    #
276 #                  log file. You may select from debug, verbose,      #
277 #                  default, sparse and none.                          #
278 #  allowhalfop   - allows the +h channel mode                         #
279 #  noservices    - If noservices is true, yes, or 1, then the first   #
280 #                  user into a channel gets founder status. This is   #
281 #                  only useful on networks running the m_chanprotect  #
282 #                  module without services.                           #
283 #  netbuffersize - size of the buffer used to receive data from       #
284 #                  clients. The ircd may only read() this amount      #
285 #                  of text in one go at any time. (OPTIONAL)          #
286 #  maxwho        - The maximum number of results returned by a /WHO   #
287 #                  query. This is to prevent /WHO being used as a     #
288 #                  spam vector or means of flooding an ircd. The      #
289 #                  default is 128, it is not recommended to raise it  #
290 #                  above 1024. Values up to 65535 are permitted.      #
291
292 <options prefixquit="Quit: "
293          loglevel="default"
294          netbuffersize="10240"
295          maxwho="128"
296          noservices="0">
297          allowhalfop="yes">
298
299
300
301 #-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
302 #                                                                     #
303 #  These tags define which modules will be loaded on startup by your  #
304 #  server. Add modules without any paths. When you make your ircd     #
305 #  using the 'make' command, all compiled modules will be moved into  #
306 #  the folder you specified when you ran ./configure. The module tag  #
307 #  automatically looks for modules in this location.                  #
308
309 <module name="m_foobar.so">
310
311 #-#-#-#-#-#-#-#-#-#-#-  FILTER  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
312 #                                                                     #
313 # Optional - If you specify to use the m_filter.so module, then       #
314 # specfiy below the path to the filter.conf file.                     #
315
316 <filter file="/path/to/inspircd/filter.conf">
317
318
319 #-#-#-#-#-#-#-#-#-#-#-#-  HELPOP  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
320 #                                                                     #
321 # Optional - If you specify to use the m_helpop.so module, then       #
322 # specify below the path to the helpop.conf file.                     #
323
324 <helpop file="/path/to/inspircd/helpop.conf">
325
326
327 #-#-#-#-#-#-#-#-#-#-  RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
328 #                                                                     #
329 # Optional - If you specify to use the m_randquotes.so module, then   #
330 # specify below the path to the randquotes.conf file.                 #
331
332 <randquote file="/path/to/inspircd/randquotes.conf">
333
334 #-#-#-#-#-#-#-#-#-#-#-#-#-#-  BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
335 #                                                                     #
336 # The ban tags define nick masks, host masks and ip ranges which are  #
337 # banned from your server. All details in these tags are local to     #
338 # Your server.                                                        #
339 #                                                                     #
340 #                                                                     #
341 # badip lines ban an ip range (same as a zline)                       #
342 #                                                                     #
343 # ipmask       -          The ip range to ban (wildcards possible)    #
344 # reason       -          Reason to display when disconnected         #
345 #                                                                     #
346 # badnick lines ban a nick mask (same as a qline)                     #
347 #                                                                     #
348 # nick         -          Nick mask to ban (wildcards possible)       #
349 # reason       -          Reason to display on /NICK                  #
350 #                                                                     #
351 # badhost lines ban a user@host mask (same as a kline)                #
352 #                                                                     #
353 # host         -          ident@hostname (wildcards possible)         #
354 # reason       -          Reason to display on disconnection          #
355 #                                                                     #
356
357 <badip ipmask="69.69.69.69" reason="No porn here thanks.">
358
359 <badnick nick="ChanServ" reason="Reserved For Services">
360 <badnick nick="NickServ" reason="Reserved For Services">
361 <badnick nick="OperServ" reason="Reserved For Services">
362 <badnick nick="MemoServ" reason="Reserved For Services">
363
364 <badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
365 <badhost host="*@localhost" reason="No irc from localhost!">
366
367 #-#-#-#-#-#-#-#-#-#-#-  ALIAS DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
368 #                                                                     #
369 # If you have the m_alias.so module loaded, you may also define       #
370 # aliases as shown below. They are commonly used to provide shortcut  #
371 # commands to services, however they are not limited to jsut this use.#
372 # An alias tag requires the following values to be defined in it:     #
373 #                                                                     #
374 # text        -      The text to detect at the start of the line,     #
375 #                    must be at the start of the line to trigger the  #
376 #                    alias. May contain spaces, but case insensitive. #
377 # replace     -      The text to replace 'text' with. Usually this    #
378 #                    will be "PRIVMSG ServiceName :" or similar.      #
379 # requires    -      If you provide a value for 'requires' this means #
380 #                    the given nickname MUST be online for the alias  #
381 #                    to successfully trigger. If they are not, then   #
382 #                    the user receives a 'no such nick' 401 numeric.  #
383 # uline       -      Defining this value with 'yes', 'true' or '1'    #
384 #                    will ensure that the user given in 'requires'    #
385 #                    must also be on a u-lined server, as well as     #
386 #                    actually being on the network. If the user is    #
387 #                    online, but not on a u-lined server, then an     #
388 #                    oper-alert is sent out as this is possibly signs #
389 #                    of a user trying to impersonate a service.       #
390 #                                                                     #
391
392 <alias text="NICKSERV" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
393 <alias text="CHANSERV" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
394 <alias text="NS ID" replace="PRIVMSG NickServ :identify" requires="NickServ" uline="yes">
395 <alias text="NS" replace="PRIVMSG NickServ :" requires="NickServ" uline="yes">
396 <alias text="CS" replace="PRIVMSG ChanServ :" requires="ChanServ" uline="yes">
397
398 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
399 #                                                                     #
400 #   You should already know what to do here :)                        #
401
402 <die value="All l33t noobs must edit their configs.">
403
404
405 #########################################################################
406 #                                                                       #
407 #                -InspIRCd Development and Coding Team-                 #
408 #                          www.inspircd.org                             #
409 #                                                                       #
410 #########################################################################