Author: beware
[ircu2.10.12-pk.git] / doc / readme.features
1 Many of the old compile-time options are now configured through the
2 server configuration file, ircd.conf.  This file is intended to
3 document each of these features.  Logging, although also configured
4 through the use of F-lines, is documented in doc/readme.log.  NOTE
5 THAT THESE NAMES ARE CASE SENSITIVE!  Values are not case sensitive
6 unless stated otherwise in the documentation for that feature.
7
8 DOMAINNAME
9  * Type: string
10  * Default: picked by ./configure from /etc/resolv.conf
11
12 This option allows you to specify what you consider to be "local."  It
13 is only used for statistics.  When you issue the IRC command /STATS w,
14 the server will respond with statistics of how many clients have been
15 connecting to your server in the last minute, hour and day.  It will
16 give these statistics for all connections (including the servers), all
17 clients (from anywhere) and also for clients whose hostname ends on
18 the domain you specify here.  So if you are an ISP and you want to
19 know what the client load from your own domain is, specify that domain
20 here.  If you are unsure what to do, then it isn't really important
21 what you give here, just don't give an empty string.  A good guess is
22 the last two parts of your own hostname (i.e., if your hostname is
23 foo.bar.nowhere.org, specify "nowhere.org").  Note that the string you
24 give should NOT start with a "." and you should not use quotes.
25
26 RELIABLE_CLOCK
27  * Type: boolean
28  * Default: FALSE
29
30 You should really ONLY specify "TRUE" here when your system clock is
31 stable and accurate at all times (within a few seconds).  If you are
32 running ntpdate on a regular basis, or an equivalent like xntpd, to
33 keep your system clock synchronized over the network, then you might
34 have an accurate clock.  However, this is not guaranteed; for example,
35 it is known that xntpd gives unstable results on Linux in some cases.
36 Note that an unstable clock is worse then an clock that has a constant
37 offset, because the servers attempt to correct for a constant offset,
38 but do not correct jumps of your system clock!  In general you SHOULD
39 be running ntpdate or equivalent AND make sure it works when you run a
40 production server on Undernet.  Otherwise leave your clock alone and
41 specify "FALSE" here.  If unsure specify "FALSE"!
42
43 BUFFERPOOL
44  * Type: integer
45  * Default: 27000000
46
47 This specifies the maximum amount of RAM that your server will
48 allocate for buffering sendQs.  Small leafs can use a value as little
49 as 1000000, while large HUBs need to specify a value as high as
50 20000000.  If you run out of memory, clients and/or servers are
51 dropped with the error "Buffer allocation error"; then you will have
52 to increase this number (and install more RAM if appropriate).  If you
53 want a more educated guess for this value then realize that any value
54 is good if you _really_ would rather drop servers and clients than
55 allocate more memory; this will be the case when there is the danger
56 you may run out of memory for other allocations.  Even if you run the
57 daemon on a dedicated machine, specifying all of the RAM you have is a
58 bad thing, because running out of memory is a lot worse than dropping
59 clients in a controlled way; if possible you should have memory left
60 for all the internal structures (channels, clients, ban lists, receive
61 buffers) at all times.  On average, clients seem to use 150 bytes of
62 sendQ, but at peak moments this can easily increase to 2032 bytes per
63 client (sendQs are allocated in chunks of 2032 bytes).  The maximum
64 possible amount that can be allocated for sendQs is the number of
65 connected clients times whatever you specified as the maximum sendQ in
66 your Y: lines in the ircd.conf file.  That value will likely be larger
67 then the amount of RAM you have.  The educated guess I talked about
68 earlier would be "number of clients" times * 2048 bytes + "size of
69 net.burst" * n, where "n" is 1 for leafs and up to 5 for HUBs.  The
70 "size of net.burst" is about 125 bytes per online client (on the whole
71 network).  For large HUBs with 4000 clients on a network with 30,000
72 users, this results in 27 Mb.  Leafs could use 12 Mb.  Of course you
73 can use less when you have less than 4000 local clients.  This value
74 is in bytes.
75
76 HAS_FERGUSON_FLUSHER
77  * Type: boolean
78  * Default: FALSE
79
80 If you have a server with a lot of resources available, this option
81 will cause the server to attempt to flush its internal buffers before
82 dropping clients during a net break.  Don't define this if you don't
83 know for certain; if you're not careful this can end up rebooting
84 FreeBSD boxes.  For more information, refer to freebsd.txt, also in
85 this directory.
86
87 CLIENT_FLOOD
88  * Type: integer
89  * Default: 1024
90
91 Currently, everything that a client sends to a server is read by the
92 server and stored in a buffer (the clients receive queue).  The server
93 will process messages from this queue one by one (running over all
94 clients each time).  When a client sends new messages faster they get
95 processed, and the size of its receive buffer reaches this value, the
96 client is dropped with the error "Excess flood."  A reasonable value
97 is 1024 bytes.  The maximum size is 8000 bytes.
98
99 SERVER_PORT
100  * Type: integer
101  * Default: 4400
102
103 When an IRC operator attempts a connect to another server, he or she
104 may not know which port the connect should go to.  In this server
105 version, that operator may use the special port 0, in which case the
106 server will take the port from the C-line.  If no port is specified in
107 the C-line, however, the port specified by this option will be used
108 instead.
109
110 NODEFAULTMOTD
111  * Type: boolean
112  * Default: TRUE
113
114 Every time a client connects to your server, the full Message of the
115 Day (as specified by the T-lines or by the file specified by the MPATH
116 option) is sent to the client.  The server sends the Message of the
117 Day even though many clients permit the user to ignore it.  Many users
118 never read the message of the day anyway, making it a huge waste of
119 bandwidth.  If you specify "TRUE" here, then the server won't send the
120 MOTD to the client by default; instead, it will only tell the client
121 when the MOTD was last changed, and give instructions on how to obtain
122 it by typing /MOTD.
123
124 MOTD_BANNER
125  * Type: string
126  * Default: NULL
127
128 If you enable NODEFAULTMOTD, this specifies a one-line banner to be sent
129 to the client in addition to the instructions mentioned above.
130
131 PROVIDER
132  * Type: string
133  * Default: NULL
134
135 This string as added to the 001 numeric prefixed with "via" before the nick.
136 It's used for providing promotional space to providers as per CFV-202
137
138 KILL_IPMISMATCH
139  * Type: boolean
140  * Default: FALSE
141
142 When a client connects to your server, the IP address of the client is
143 reverse-resolved to obtain a hostname.  Then that hostname is resolved
144 to an IP address and compared with the IP address of the client.  If
145 they don't match, the client will appear with the IP address instead
146 of the hostname, unless KILL_IPMISMATCH is "TRUE," in which case the
147 client is simply disconnected.
148
149 IDLE_FROM_MSG
150  * Type: boolean
151  * Default: TRUE
152
153 The IRC command WHOIS gives an idle time for clients.  If you want
154 this idle time to be set to zero only when the client sends a PRIVMSG,
155 then you should specify "TRUE" here.  If you specify "FALSE," then the
156 idle time will be nullified on all messages except the server
157 PING/PONG.
158
159 HUB
160  * Type: boolean
161  * Default: FALSE
162
163 All servers of an IRC "network" are connected in a "tree" (no loops).
164 Servers that are only connected to one other server (called the
165 "uplink") are called "leafs"; servers that are connected to more than
166 one other server are called HUBs.  If you specify "FALSE" here then
167 your server will prevent itself from accidentally connecting to two
168 servers at once, thus keeping servers in poor network locations from
169 routing traffic.  Note that on Undernet, all newly linked servers are
170 linked as leafs during their test phase, and should specify "FALSE"
171 here.
172
173 WALLOPS_OPER_ONLY
174  * Type: boolean
175  * Default: FALSE
176
177 Setting this option removes the ability for clients that are not IRC
178 operators to see wallops messages.
179
180 NODNS
181  * Type: boolean
182  * Default: FALSE
183
184 If you are playing with the server off-line, and no DNS is available,
185 then long delays occur before the server starts up because it tries to
186 resolve the name given on the M-line (which usually isn't given in
187 /etc/hosts) and for each connecting client.  If you specify "TRUE"
188 here, then a call to gethostbyname() will be done only for the real
189 hostname, and the server will not try to resolve clients that connect
190 to "localhost."  Note that other calls to gethostbyname() are still
191 done if you use VIRTUAL_HOST; also note that the server still tries to
192 resolve clients that connect to the real IP address of the server.
193
194 RANDOM_SEED
195  * Type: string
196  * Default: none
197
198 When a client connects, the server sends the client a "cookie,"
199 consisting of a random number.  The client must return the cookie to
200 the server verbatim.  This is done to prevent IP spoofing.  The cookie
201 is generated by a pseudorandom number generator included in ircd.
202 This generator must be seeded with a phrase that is kept secret, to
203 ensure that the numbers it generates are not easily guessed.  The
204 value given to RANDOM_SEED may be a string of any length.  It should
205 not contain any characters that are considered special by the
206 configuration file system, such as ":" or "#"; the string should be at
207 least 8 characters long, but longer strings are better.  The
208 RANDOM_SEED may not be retrieved online.
209
210 DEFAULT_LIST_PARAM
211  * Type: string
212  * Default: none
213
214 The LIST command takes a single optional argument.  If given, that
215 argument is either a channel or a filter.  If that argument is not
216 given, then by default, /LIST will list all channels on the network.
217 Needless to say, this can generate a large amount of data on large
218 networks with many channels, as well as chewing up a lot of CPU time.
219 Server administrators can therefore set a default filter to be applied
220 to the channel list if the optional argument to LIST is omitted.
221
222 NICKNAMEHISTORYLENGTH
223  * Type: integer
224  * Default: 800
225
226 This value specifies the length of the nick name history list, which
227 is used for /WHOWAS and some nickname chasing in /KILL and /KICK.  It
228 uses about 300 to 400 bytes per entry.  Note that at a net break, so
229 many client disappear that the whole "whowas" list is refreshed a few
230 times (unless you make it rather large).  A reasonable value is "total
231 number of clients" / 25.
232
233 HOST_HIDING
234  * Type: boolean
235  * Default: TRUE
236
237 This selects whether local users can set umode +x, thus allowing them
238 to hide their hostname if they have also registered with a channel
239 service (i.e. they have the ACCOUNT flag set).
240
241 HIDDEN_HOST
242  * Type: string
243  * Default: users.undernet.org
244
245 This selects the suffix for the hidden hostmask (see HOST_HIDING).
246
247 HIDDEN_IP
248  * Type: string
249  * Default: 127.0.0.1
250
251 This selects a fake IP to be shown on /USERIP and /WHO %i when the
252 target has a hidden host (see HOST_HIDING).
253
254 AUTOHIDE
255  * Type: boolean
256  * Default: TRUE
257
258 If enabled, local users get umode +x by default when they connect.
259
260 CONNEXIT_NOTICES
261  * Type: boolean
262  * Default: FALSE
263
264 This feature controls the generation of server notices when a user
265 connects to or disconnects from the server.  Enabling this feature may
266 have a performance impact.
267
268 KILLCHASETIMELIMIT
269  * Type: integer
270  * Default: 30
271
272 If a user changes his or her nickname just before an operator issues a
273 /KILL, the /KILL will be changed to follow the user the operator
274 intended to get.  This option specifies the time limit, in seconds,
275 for this nickname change; if the user changed his or her nickname more
276 than this many seconds ago, the /KILL will not be changed.  Don't
277 change this unless you really need to.
278
279 MAXCHANNELSPERUSER
280  * Type: integer
281  * Default: 10
282
283 This is the maximum number of channels a user can be in at a time.
284 The "mandatory" value on Undernet is currently 10.  Since it only
285 influences the local server when you decrease it, its up to you to
286 decide if you want to use a smaller value.  Do not use a larger value
287 however, because it DOES cost more memory and bandwidth on all other
288 servers when you allow users to join more channels simultaneously.
289 One of the most important reasons to choose a smaller value is the
290 fact that the "GUI" clients tend to stay on every channel they join
291 (they aren't bothered by flooding in other channels).  It DOES take
292 your bandwidth however to send all those messages for 10 different
293 channels to all your users.
294
295 AVBANLEN
296  * Type: integer
297  * Default: 40
298
299 This is the expected average ban mask length.  Leave it at 40.
300
301 MAXBANS
302  * Type: integer
303  * Default: 30
304
305 This is the maximum number of bans a user may set on a given channel.
306
307 MAXSILES
308  * Type: integer
309  * Default: 15
310
311 This is the maximum number of masks a user can silence at a time.  The
312 silence command allows users to filter messages directed at them from
313 certain users or domains, at the source server.  Increasing this
314 number allows users to use up more memory with inefficient use of the
315 command.  If you're not sure, don't change this.
316
317 HANGONGOODLINK
318  * Type: integer
319  * Default: 300
320
321 Often the net breaks for a short time and it is useful to try to
322 reestablish the same connection faster than CONNECTFREQUENCY would
323 allow, but to keep from trying again on a bad connection, we require
324 that the connection be open for a certain minimum time. The
325 recommended value is 300 seconds.
326
327 HANGONRETRYDELAY
328  * Type: integer
329  * Default: 10
330
331 When attempting to quickly reestablish a connection to a good link, we
332 give the net a few seconds to calm down. This time must be long enough
333 for the other end to also notice that the connection is broken. The
334 recommended value is 10 seconds.
335
336 CONNECTTIMEOUT
337  * Type: integer
338  * Default: 90
339
340 Number of seconds to wait for a connect(2) call to complete.  NOTE:
341 this must be at *LEAST* 10.  When a client connects, it has
342 CONNECTTIMEOUT - 10 seconds for its host to respond to an ident lookup
343 query and for a DNS lookup to complete. It is recommended that you not
344 change this value, but if you do, consider the fact that users whose
345 clients do not support NOSPOOF will have to type /QUOTE PING <big
346 number> before registration.
347
348 TIMESEC
349  * Type: integer
350  * Default: 60
351
352 This is the maximum idle time for the server. If no messages are
353 received in TIMESEC seconds, PINGFREQUENCY and CONNECTFREQUENCY are
354 checked.  Recommended value is 60 seconds.
355
356 MAXIMUM_LINKS
357  * Type: integer
358  * Default: 1
359
360 This is the maximum number of links for the built-in client class 0.
361 Leave this value at 1.
362
363 PINGFREQUENCY
364  * Type: integer
365  * Default: 120
366
367 If the daemon doesn't receive anything from any of its links within
368 PINGFREQUENCY seconds, then the it will attempt to check for an active
369 link with a PING message.  If no reply is received within
370 (PINGFREQUENCY * 2) seconds, then the connection will be closed.  This
371 value may be overridden by a Y-line in "ircd.conf" if the connection's
372 I- or C-line in "ircd.conf" assigns a specific class to the connection
373 (recommended).
374
375 CONNECTFREQUENCY
376  * Type: integer
377  * Default: 600
378
379 This is the default frequency that the server attempts to reconnect
380 with its uplink server if it is set to auto connect to it. Note that
381 this value is overridden by a Y-line in ircd.conf if the C-lines in
382 ircd.conf assign a specific class to the connection (recommended).
383
384 DEFAULTMAXSENDQLENGTH
385  * Type: integer
386  * Default: 40000
387
388 This is the default value of the maximum sendQ length of Y-line
389 classes (see doc/example.conf for details on Y-lines).  You will
390 probably always override this value in your "ircd.conf" with the
391 Y-lines.  The given value used to be an often used value for client
392 sendQs.
393
394 GLINEMAXUSERCOUNT
395  * Type: integer
396  * Default: 20
397
398 G-lines that affect too many users have to be set with a special
399 command, to prevent accidental G-lines of large blocks of users.  This
400 feature sets that particular threshold.
401
402 MPATH
403  * Type: string
404  * Default: "ircd.motd"
405
406 MPATH is the filename (relative to DPATH) or the full path of the
407 "Message of the Day" file.  The contents of this file will be sent to
408 every client that connects to the server, after registration.
409
410 RPATH
411  * Type: string
412  * Default: "remote.motd"
413
414 RPATH is the filename (relative to DPATH) or the full path of the
415 "Remote Message of the Day" file.  The contents of this file will be
416 sent to every remote client that issues a /MOTD <your server name>.
417 Only the first three lines are sent, so you might want to keep that in
418 mind while writing the file.
419
420 PPATH
421  * Type: string
422  * Default: "ircd.pid"
423
424 PPATH is the filename (relative to DPATH) or the full path of the
425 "PID" file.  It is used for storing the server's process ID so that a
426 ps(1) isn't necessary.
427
428 VIRTUAL_HOST
429  * Type: boolean
430  * Default: FALSE
431
432 This option is only needed when you wish to run multiple IRC servers
433 on the same machine, and they must share at least one port.  This will
434 require having multiple IP addresses for the machine that will be
435 hosting the servers.  If you specify "TRUE" here, you can cause the
436 server to bind to one of these IP addresses.  Use the second field of
437 the M-line (the "password" field) to specify the IP address.  If you
438 are unsure, stick with "FALSE."
439
440 TOS_SERVER
441  * Type: integer
442  * Default: 0x08
443
444 This option is used to specify the type of service that will be
445 requested for connections to other servers.  The value may be given as
446 a hexadecimal integer.
447
448 TOS_CLIENT
449  * Type: integer
450  * Default: 0x08
451
452 This option is used to specify the type of service that will be
453 requested for connections to users.  The value may be given as a
454 hexadecimal integer.
455
456 POLLS_PER_LOOP
457  * Type: integer
458  * Default: 200
459
460 Some of the engines used by the event interface get a number of events
461 from the kernel at once.  Since the number retrieved can impact
462 performance, it can be tuned by modifying this value.  The engines
463 enforce a lower limit of 20.
464
465 CRYPT_OPER_PASSWORD
466  * Type: boolean
467  * Default: TRUE
468
469 In order to allow certain users to become IRC operators, they must
470 authenticate themselves with a password.  This password is matched
471 against an O-line in the "ircd.conf" configuration file; see
472 doc/example.conf for more details.  If you specify "TRUE" here, you
473 must use the crypted form of these passwords in your "ircd.conf" file.
474 Since compromises of the "ircd.conf" file have happened in the past,
475 you are highly encouraged to use this option.  You can find a program
476 called "mkpasswd" in the tools directory that will allow you to
477 generate crypted passwords.
478
479 OPER_NO_CHAN_LIMIT
480  * Type: boolean
481  * Default: TRUE
482
483 If this option is set to "TRUE," IRC operators may join as many
484 channels as they need to.  This is primarily intended to permit
485 administrators to run a channel service for local ("&") channels.
486
487 OPER_MODE_LCHAN
488  * Type: boolean
489  * Default: TRUE
490
491 If this option is set to "TRUE," IRC operators may change the channel
492 modes on local ("&") channels.  This is primarily intended to permit
493 administrators to run a channel service for local channels.
494
495 OPER_WALK_THROUGH_LMODES
496  * Type: boolean
497  * Default: FALSE
498
499 If this option is set to "TRUE," IRC operators may join local ("&")
500 channels regardless of any restrictive modes, including bans.  This
501 requires giving the special password "OVERRIDE."  This is primarily
502 intended to permit administrators to run a channel service for local
503 channels.
504
505 NO_OPER_DEOP_LCHAN
506  * Type: boolean
507  * Default: FALSE
508
509 If this option is set to "TRUE," IRC operators may not be deopped on
510 local ("&") channels.  This is primarily intended to permit
511 administrators to run a channel service for local channels.
512
513 SHOW_INVISIBLE_USERS
514  * Type: boolean
515  * Default: TRUE
516
517 If you specify "TRUE" here, then your (local) IRC Operators will be
518 able to see all local invisible users (clients connected to your own
519 server).  This should be used only for investigating instances of
520 abuse; make sure your operators do not use this for spying on
521 individuals.
522
523 SHOW_ALL_INVISIBLE_USERS
524  * Type: boolean
525  * Default: TRUE
526
527 If you specify "TRUE" here, then your global IRC Operators will be
528 able to see ALL invisible users.  This should be used only for
529 investigating instances of abuse; make sure your operators do not use
530 this for spying on individuals.
531
532 UNLIMIT_OPER_QUERY
533  * Type: boolean
534  * Default: FALSE
535
536 A /WHO command can sometimes return several hundred lines of
537 information.  To reduce the flood potential, the output is truncated.
538 By setting this option to "TRUE," when an IRC Operator uses /WHO, the
539 output will not be truncated, no matter how much data is returned.
540
541 LOCAL_KILL_ONLY
542  * Type: boolean
543  * Default: FALSE
544
545 If this option is set to "TRUE," operators of this server may only
546 KILL clients directly connected to this server.  Operators will not be
547 able to issue KILLs for clients on other servers.  Some networks may
548 require that this be turned on for newly linking servers.
549
550 CONFIG_OPERCMDS
551  * Type: boolean
552  * Default: FALSE
553
554 For u2.10.11, several new oper-only features have been added that
555 involve changes to the server<->server protocol.  Until the entire
556 network is running the new version, these features cannot be enabled.
557 This configuration option provides a single switch to prevent the use
558 of these features until the entire network has been upgraded.  It is
559 not required that all servers set this to "TRUE" in order for the
560 features to be used.
561
562 OPER_KILL
563  * Type: boolean
564  * Default: TRUE
565
566 This selects whether global IRC operators on this server are permitted
567 to issue the /KILL command.
568
569 OPER_REHASH
570  * Type: boolean
571  * Default: TRUE
572
573 This selects whether global IRC operators on this server are permitted
574 to issue the /REHASH command.
575
576 OPER_RESTART
577  * Type: boolean
578  * Default: TRUE
579
580 This selects whether global IRC operators on this server are permitted
581 to issue the /RESTART command.
582
583 OPER_DIE
584  * Type: boolean
585  * Default: TRUE
586
587 This selects whether global IRC operators on this server are permitted
588 to issue the /DIE command.
589
590 OPER_GLINE
591  * Type: boolean
592  * Default: TRUE
593
594 This selects whether global IRC operators on this server are permitted
595 to issue global G-lines.
596
597 OPER_LGLINE
598  * Type: boolean
599  * Default: TRUE
600
601 This selects whether global IRC operators on this server are permitted
602 to issue local G-lines.
603
604 OPER_JUPE
605  * Type: boolean
606  * Default: TRUE
607
608 This selects whether global IRC operators on this server are permitted
609 to issue global jupes.
610
611 OPER_LJUPE
612  * Type: boolean
613  * Default: TRUE
614
615 This selects whether global IRC operators on this server are permitted
616 to issue local jupes.
617
618 OPER_OPMODE
619  * Type: boolean
620  * Default: TRUE
621
622 This selects whether global IRC operators on this server are permitted
623 to use /OPMODE and /CLEARMODE on ordinary ("#") channels.
624
625 OPER_LOPMODE
626  * Type: boolean
627  * Default: TRUE
628
629 This selects whether global IRC operators on this server are permitted
630 to use /OPMODE and /CLEARMODE on local ("&") channels.
631
632 OPER_FORCE_OPMODE
633  * Type: boolean
634  * Default: TRUE
635
636 This selects whether global IRC operators on this server are permitted
637 to override Q-lines set for /OPMODE and /CLEARMODE on ordinary ("#") channels
638
639 OPER_FORCE_LOPMODE
640  * Type: boolean
641  * Default: TRUE
642
643 This selects whether global IRC operators on this server are permitted
644 to override Q-lines set for /OPMODE and /CLEARMODE on local ("&") channels
645
646 OPER_BADCHAN
647  * Type: boolean
648  * Default: FALSE
649
650 This selects whether global IRC operators on this server are permitted
651 to issue global BADCHANs.  USE OF THIS ON THE UNDERNET IS STRICTLY
652 REGULATED BY THE UNDERNET ADMINISTRATION.
653
654 OPER_LBADCHAN
655  * Type: boolean
656  * Default: FALSE
657
658 This selects whether global IRC operators on this server are permitted
659 to issue local BADCHANs.  USE OF THIS ON THE UNDERNET IS STRICTLY
660 REGULATED BY THE UNDERNET ADMINISTRATION.
661
662 OPER_SET
663  * Type: boolean
664  * Default: FALSE
665
666 This selects whether global IRC operators on this server are permitted
667 to use the /SET command to set various feature values.
668
669 OPERS_SEE_IN_SECRET_CHANNELS
670  * Type: boolean
671  * Default: TRUE
672
673 If you specify "TRUE" here, then your global IRC Operators will be
674 able to see who is on a specified secret channel, without joining
675 themselves.  This can be used to make a reasonable judgment in the
676 case of a "channel takeover" being reported, while the channel is set
677 invite-only.  See doc/readme.who for more details.
678
679 OPER_WIDE_GLINE
680  * Type: boolean
681  * Default: TRUE
682
683 This selects whether global IRC operators on this server are permitted
684 to use the /GLINE command with the ! flag to force slightly wide
685 G-lines to be set.
686
687 OPER_LIST_CHAN 
688  * Type: boolean
689  * Default: TRUE
690
691 This selects whether global IRC operators are permitted to list secret 
692 (+s) channels.
693
694 LOCOP_KILL
695  * Type: boolean
696  * Default: TRUE
697
698 This selects whether local IRC operators are permitted to use the
699 /KILL command on local clients.
700
701 LOCOP_REHASH
702  * Type: boolean
703  * Default: TRUE
704
705 This selects whether local IRC operators are permitted to use the
706 /REHASH command.
707
708 LOCOP_RESTART
709  * Type: boolean
710  * Default: FALSE
711
712 This selects whether local IRC operators are permitted to use the
713 /RESTART command.
714
715 LOCOP_DIE
716  * Type: boolean
717  * Default: FALSE
718
719 This selects whether local IRC operators are permitted to use the /DIE
720 command.
721
722 LOCOP_LGLINE
723  * Type: boolean
724  * Default: TRUE
725
726 This selects whether local IRC operators are permitted to issue local
727 G-lines.
728
729 LOCOP_LJUPE
730  * Type: boolean
731  * Default: TRUE
732
733 This selects whether local IRC operators are permitted to issue local
734 jupes.
735
736 LOCOP_LOPMODE
737  * Type: boolean
738  * Default: TRUE
739
740 This selects whether local IRC operators are permitted to use /OPMODE
741 and /CLEARMODE on local ("&") channels.
742
743 LOCOP_FORCE_LOPMODE
744  * Type: boolean
745  * Default: TRUE
746
747 This selects whether local IRC operators on this server are permitted
748 to override Q-lines set for /OPMODE and /CLEARMODE on local ("&") channels
749
750 LOCOP_LBADCHAN
751  * Type: boolean
752  * Default: FALSE
753
754 This selects whether local IRC operators are permitted to issue local
755 BADCHANs.  USE OF THIS ON THE UNDERNET IS STRICTLY REGULATED BY THE
756 UNDERNET ADMINISTRATION.
757
758 LOCOP_SET
759  * Type: boolean
760  * Default: FALSE
761
762 This selects whether local IRC operators are permitted to use the /SET
763 command to set various feature values.
764
765 LOCOP_SEE_IN_SECRET_CHANNELS
766  * Type: boolean
767  * Default: FALSE
768
769 If you specify "TRUE" here, then your local IRC Operators will be
770 able to see who is on a specified secret channel, without joining
771 themselves.  This can be used to make a reasonable judgment in the
772 case of a "channel takeover" being reported, while the channel is set
773 invite-only.  See doc/readme.who for more details.
774
775 LOCOP_WIDE_GLINE
776  * Type: boolean
777  * Default: FALSE
778
779 This selects whether local IRC operators are permitted to use the
780 /GLINE command with the ! flag to force slightly wide G-lines to be
781 set.
782
783 LOCOP_LIST_CHAN
784  * Type: boolean
785  * Default: FALSE
786  
787 This selects whether local IRC operators are permitted to list secret 
788 (+s) channels.
789
790 HIS_MAP
791  * Type: boolean
792  * Default: TRUE
793
794 As per UnderNet CFV-165, this removes /MAP from users.
795
796 HIS_SNOTICES
797  * Type: boolean
798  * Default: TRUE
799
800 As per UnderNet CFV-165, this removes server notices from users.
801  
802 HIS_SNOTICES_OPER_ONLY
803  * Type: boolean
804  * Default: TRUE
805
806 As per UnderNet CFV-165, this removes server notices from users.
807  
808 HIS_DESYNCS
809  * Type: boolean
810  * Default: TRUE
811
812 As per UnderNet CFV-165, this removes server wallops from users.
813
814 HIS_DEBUG_OPER_ONLY
815  * Type: boolean
816  * Default: TRUE
817
818 As per UnderNet CFV-165, this removes server wallops from users.
819
820 HIS_WALLOPS
821  * Type: boolean
822  * Default: TRUE
823
824 As per UnderNet CFV-165, this removes operator wallops from users.
825
826 HIS_LINKS
827  * Type: boolean
828  * Default: TRUE
829
830 As per UnderNet CFV-165, this removes /LINKS from users.
831
832 HIS_TRACE
833  * Type: boolean
834  * Default: TRUE
835
836 As per UnderNet CFV-165, this removes /TRACE from users.
837
838 HIS_STATS_l
839  * Type: boolean
840  * Default: TRUE
841
842 As per UnderNet CFV-165, this removes /STATS l from users.
843
844 HIS_STATS_c
845  * Type: boolean
846  * Default: TRUE
847
848 As per UnderNet CFV-165, this removes /STATS c from users.
849
850 HIS_STATS_g
851  * Type: boolean
852  * Default: TRUE
853
854 As per UnderNet CFV-165, this removes /STATS g from users.
855
856 HIS_STATS_h
857  * Type: boolean
858  * Default: TRUE
859
860 As per UnderNet CFV-165, this removes /STATS h from users.
861
862 HIS_STATS_k
863  * Type: boolean
864  * Default: TRUE
865
866 As per UnderNet CFV-165, this removes /STATS k from users.
867
868 HIS_STATS_f
869  * Type: boolean
870  * Default: TRUE
871
872 As per UnderNet CFV-165, this removes /STATS f from users.
873
874 HIS_STATS_i
875  * Type: boolean
876  * Default: TRUE
877
878 As per UnderNet CFV-165, this removes /STATS i from users.
879
880 HIS_STATS_j
881  * Type: boolean
882  * Default: TRUE
883
884 As per UnderNet CFV-165, this removes /STATS j from users.
885
886 HIS_STATS_M
887  * Type: boolean
888  * Default: TRUE
889
890 As per UnderNet CFV-165, this removes /STATS M from users.
891
892 HIS_STATS_m
893  * Type: boolean
894  * Default: TRUE
895
896 As per UnderNet CFV-165, this removes /STATS m from users.
897
898 HIS_STATS_o
899  * Type: boolean
900  * Default: TRUE
901
902 As per UnderNet CFV-165, this removes /STATS o from users.
903
904 HIS_STATS_p
905  * Type: boolean
906  * Default: TRUE
907
908 As per UnderNet CFV-165, this removes /STATS p from users.
909
910 HIS_STATS_q
911  * Type: boolean
912  * Default: TRUE
913  
914 As per UnderNet CFV-165, this removes /STATS q from users.
915
916 HIS_STATS_r
917  * Type: boolean
918  * Default: TRUE
919
920 As per UnderNet CFV-165, this removes /STATS r from users.
921
922 HIS_STATS_d
923  * Type: boolean
924  * Default: TRUE
925
926 As per UnderNet CFV-165, this removes /STATS d from users.
927
928 HIS_STATS_e
929  * Type: boolean
930  * Default: TRUE
931
932 As per UnderNet CFV-165, this removes /STATS e from users.
933
934 HIS_STATS_t
935  * Type: boolean
936  * Default: TRUE
937
938 As per UnderNet CFV-165, this removes /STATS t from users.
939
940 HIS_STATS_T
941  * Type: boolean
942  * Default: TRUE
943
944 As per UnderNet CFV-165, this removes /STATS T from users.
945
946 HIS_STATS_u
947  * Type: boolean
948  * Default: FALSE
949
950 As per UnderNet CFV-165, this allows users to perform /STATS u.
951
952 HIS_STATS_U
953  * Type: boolean
954  * Default: TRUE
955
956 As per UnderNet CFV-165, this removes /STATS U from users.
957
958 HIS_STATS_v
959  * Type: boolean
960  * Default: TRUE
961
962 As per UnderNet CFV-165, this removes /STATS v from users.
963
964 HIS_STATS_w
965  * Type: boolean
966  * Default: FALSE
967
968 As per UnderNet CFV-165, this allows users to perform /STATS w.
969
970 HIS_STATS_x
971  * Type: boolean
972  * Default: TRUE
973
974 As per UnderNet CFV-165, this removes /STATS x from users.
975
976 HIS_STATS_y
977  * Type: boolean
978  * Default: TRUE
979
980 As per UnderNet CFV-165, this removes /STATS y from users.
981
982 HIS_STATS_z
983  * Type: boolean
984  * Default: TRUE
985
986 As per UnderNet CFV-165, this removes /STATS z from users.
987
988 HIS_WHOIS_SERVERNAME
989  * Type: boolean
990  * Default: TRUE
991
992 As per UnderNet CFV-165, this removes server names in replies to /WHOIS.
993
994 HIS_WHOIS_IDLETIME
995  * Type: boolean
996  * Default: TRUE
997
998 As per UnderNet CFV-165, this removes idle time in replies to /WHOIS.
999
1000 HIS_WHO_SERVERNAME
1001  * Type: boolean
1002  * Default: TRUE
1003
1004 As per UnderNet CFV-165, this removes server names in replies to /WHO.
1005
1006 HIS_WHO_HOPCOUNT
1007  * Type: boolean
1008  * Default: TRUE
1009
1010 As per UnderNet CFV-165, this replaces hopcount to a static 3 in replies to /WHO.
1011
1012 HIS_BANWHO
1013  * Type: boolean
1014  * Default: TRUE
1015
1016 As per UnderNet CFV-165, this doesn't show which server set a ban.
1017
1018 HIS_KILLWHO
1019  * Type: boolean
1020  * Default: TRUE
1021
1022 As per UnderNet CFV-165, this doesn't show which server or oper performed a
1023 kill.
1024
1025 HIS_REWRITE
1026  * Type: boolean
1027  * Default: TRUE
1028
1029 As per UnderNet CFV-165, this remaps remote numerics to come from the local
1030 server.
1031
1032 HIS_REMOTE
1033  * Type: integer
1034  * Default: 1
1035
1036 As per UnderNet CFV-165, this disallows remote queries. (*sob!*)
1037
1038 HIS_NETSPLIT
1039  * Type: boolean
1040  * Default: TRUE
1041
1042 As per UnderNet CFV-165, this removes server names in net break sign-offs.
1043
1044 HIS_SERVERNAME
1045  * Type: string
1046  * Default: "*.undernet.org"
1047
1048 As per UnderNet CFV-165, this is the "name" of the server shown to users on a
1049 /WHOIS of another user.
1050
1051 HIS_SERVERINFO
1052  * Type: string
1053  * Default: "The Undernet Underworld"
1054
1055 As per UnderNet CFV-165, this is the "info" of the server shown to users on a
1056 /WHOIS of another user.
1057
1058 HIS_URLSERVERS        
1059  * Type: string 
1060  * Default: "http://www.undernet.org/servers.php"
1061
1062 As per UnderNet CFV-165, this is the URL shown to users when they do a /MAP or 
1063 /LINKS.
1064
1065 NETWORK
1066  * Type: string
1067  * Default: "UnderNet"
1068
1069 This defines the network name as reported in the 005 "supported features"
1070 numeric, and as used by the "Failed to deliver" message.
1071
1072 URL_CLIENTS
1073  * Type: string
1074  * Default: "ftp://ftp.undernet.org/pub/irc/clients"
1075
1076 This defines a URL that users may visit to find compatible IRC clients.