]> jfr.im git - irc/quakenet/snircd.git/blame - doc/readme.features
import of 2.10.12.07
[irc/quakenet/snircd.git] / doc / readme.features
CommitLineData
189935b1 1Many of the old compile-time options are now configured through the
2server configuration file, ircd.conf. This file is intended to
3document each of these features. Logging, although also configured
4through the use of Feature entries, is documented in doc/readme.log. NOTE
5THAT THESE NAMES ARE CASE SENSITIVE! Values are not case sensitive
6unless stated otherwise in the documentation for that feature.
7
8DOMAINNAME
9 * Type: string
10 * Default: picked by ./configure from /etc/resolv.conf
11
12This option allows you to specify what you consider to be "local." It
13is only used for statistics. When you issue the IRC command /STATS w,
14the server will respond with statistics of how many clients have been
15connecting to your server in the last minute, hour and day. It will
16give these statistics for all connections (including the servers), all
17clients (from anywhere) and also for clients whose hostname ends on
18the domain you specify here. So if you are an ISP and you want to
19know what the client load from your own domain is, specify that domain
20here. If you are unsure what to do, then it isn't really important
21what you give here, just don't give an empty string. A good guess is
22the last two parts of your own hostname (i.e., if your hostname is
23foo.bar.nowhere.org, specify "nowhere.org"). Note that the string you
24give should NOT start with a "." and you should not use quotes.
25
26RELIABLE_CLOCK
27 * Type: boolean
28 * Default: FALSE
29
30You should really ONLY specify "TRUE" here when your system clock is
31stable and accurate at all times (within a few seconds). If you are
32running ntpdate on a regular basis, or an equivalent like xntpd, to
33keep your system clock synchronized over the network, then you might
34have an accurate clock. However, this is not guaranteed; for example,
35it is known that xntpd gives unstable results on Linux in some cases.
36Note that an unstable clock is worse then an clock that has a constant
37offset, because the servers attempt to correct for a constant offset,
38but do not correct jumps of your system clock! In general you SHOULD
39be running ntpdate or equivalent AND make sure it works when you run a
40production server on Undernet. Otherwise leave your clock alone and
41specify "FALSE" here. If unsure specify "FALSE"!
42
43BUFFERPOOL
44 * Type: integer
45 * Default: 27000000
46
47This specifies the maximum amount of RAM that your server will
48allocate for buffering sendQs. Small leafs can use a value as little
49as 1000000, while large HUBs need to specify a value as high as
5020000000. If you run out of memory, clients and/or servers are
51dropped with the error "Buffer allocation error"; then you will have
52to increase this number (and install more RAM if appropriate). If you
53want a more educated guess for this value then realize that any value
54is good if you _really_ would rather drop servers and clients than
55allocate more memory; this will be the case when there is the danger
56you may run out of memory for other allocations. Even if you run the
57daemon on a dedicated machine, specifying all of the RAM you have is a
58bad thing, because running out of memory is a lot worse than dropping
59clients in a controlled way; if possible you should have memory left
60for all the internal structures (channels, clients, ban lists, receive
61buffers) at all times. On average, clients seem to use 150 bytes of
62sendQ, but at peak moments this can easily increase to 2032 bytes per
63client (sendQs are allocated in chunks of 2032 bytes). The maximum
64possible amount that can be allocated for sendQs is the number of
65connected clients times whatever you specified as the maximum sendQ in
66your Class blocks in the ircd.conf file. That value will likely be larger
67then the amount of RAM you have. The educated guess I talked about
68earlier would be "number of clients" times * 2048 bytes + "size of
69net.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
71network). For large HUBs with 4000 clients on a network with 30,000
72users, this results in 27 Mb. Leafs could use 12 Mb. Of course you
73can use less when you have less than 4000 local clients. This value
74is in bytes.
75
76HAS_FERGUSON_FLUSHER
77 * Type: boolean
78 * Default: FALSE
79
80If you have a server with a lot of resources available, this option
81will cause the server to attempt to flush its internal buffers before
82dropping clients during a net break. Don't define this if you don't
83know for certain; if you're not careful this can end up rebooting
84FreeBSD boxes. For more information, refer to freebsd.txt, also in
85this directory.
86
87CLIENT_FLOOD
88 * Type: integer
89 * Default: 1024
90
91Currently, everything that a client sends to a server is read by the
92server and stored in a buffer (the clients receive queue). The server
93will process messages from this queue one by one (running over all
94clients each time). When a client sends new messages faster they get
95processed, and the size of its receive buffer reaches this value, the
96client is dropped with the error "Excess flood." A reasonable value
97is 1024 bytes. The maximum size is 8000 bytes.
98
99SERVER_PORT
100 * Type: integer
101 * Default: 4400
102
103When an IRC operator attempts a connect to another server, he or she
104may not know which port the connect should go to. In this server
105version, that operator may use the special port 0, in which case the
106server will take the port from the Connect block. If no port is
107specified in the Connect block, however, the port specified by this
108option will be used instead.
109
110NODEFAULTMOTD
111 * Type: boolean
112 * Default: TRUE
113
114Every time a client connects to your server, the full Message of the
115Day (as specified by the Motd blocks or by the file specified by the MPATH
116option) is sent to the client. The server sends the Message of the
117Day even though many clients permit the user to ignore it. Many users
118never read the message of the day anyway, making it a huge waste of
119bandwidth. If you specify "TRUE" here, then the server won't send the
120MOTD to the client by default; instead, it will only tell the client
121when the MOTD was last changed, and give instructions on how to obtain
122it by typing /MOTD.
123
124MOTD_BANNER
125 * Type: string
126 * Default: NULL
127
128If you enable NODEFAULTMOTD, this specifies a one-line banner to be sent
129to the client in addition to the instructions mentioned above.
130
131PROVIDER
132 * Type: string
133 * Default: NULL
134
135This string as added to the 001 numeric prefixed with "via" before the nick.
136It's used for providing promotional space to providers as per CFV-202
137
138KILL_IPMISMATCH
139 * Type: boolean
140 * Default: FALSE
141
142When a client connects to your server, the IP address of the client is
143reverse-resolved to obtain a hostname. Then that hostname is resolved
144to an IP address and compared with the IP address of the client. If
145they don't match, the client will appear with the IP address instead
146of the hostname, unless KILL_IPMISMATCH is "TRUE," in which case the
147client is simply disconnected.
148
149IDLE_FROM_MSG
150 * Type: boolean
151 * Default: TRUE
152
153The IRC command WHOIS gives an idle time for clients. If you want
154this idle time to be set to zero only when the client sends a PRIVMSG,
155then you should specify "TRUE" here. If you specify "FALSE," then the
156idle time will be nullified on all messages except the server
157PING/PONG.
158
159HUB
160 * Type: boolean
161 * Default: FALSE
162
163All servers of an IRC "network" are connected in a "tree" (no loops).
164Servers that are only connected to one other server (called the
165"uplink") are called "leafs"; servers that are connected to more than
166one other server are called HUBs. If you specify "FALSE" here then
167your server will prevent itself from accidentally connecting to two
168servers at once, thus keeping servers in poor network locations from
169routing traffic. Note that on Undernet, all newly linked servers are
170linked as leafs during their test phase, and should specify "FALSE"
171here.
172
173WALLOPS_OPER_ONLY
174 * Type: boolean
175 * Default: FALSE
176
177Setting this option removes the ability for clients that are not IRC
178operators to see wallops messages.
179
180NODNS
181 * Type: boolean
182 * Default: FALSE
183
184If you are playing with the server off-line, and no DNS is available,
185then long delays occur before the server starts up because it tries to
186resolve the name given in the General block (which usually isn't given
187in /etc/hosts) and for each connecting client. If you specify "TRUE"
188here, then a DNS lookup will be done only for the real hostname, and
189the server will not try to resolve clients that connect to
190"localhost." Note that other DNS lookups are still done for outbound
191connections.
192
193RANDOM_SEED
194 * Type: string
195 * Default: none
196
197When a client connects, the server sends the client a "cookie,"
198consisting of a random number. The client must return the cookie to
199the server verbatim. This is done to prevent IP spoofing. The cookie
200is generated by a pseudorandom number generator included in ircd.
201This generator must be seeded with a phrase that is kept secret, to
202ensure that the numbers it generates are not easily guessed. The
203value given to RANDOM_SEED may be a string of any length. It should
204not contain any characters that are considered special by the
205configuration file system, such as ":" or "#"; the string should be at
206least 8 characters long, but longer strings are better. The
207RANDOM_SEED may not be retrieved online.
208
209DEFAULT_LIST_PARAM
210 * Type: string
211 * Default: none
212
213The LIST command takes a single optional argument. If given, that
214argument is either a channel or a filter. If that argument is not
215given, then by default, /LIST will list all channels on the network.
216Needless to say, this can generate a large amount of data on large
217networks with many channels, as well as chewing up a lot of CPU time.
218Server administrators can therefore set a default filter to be applied
219to the channel list if the optional argument to LIST is omitted.
220
221NICKNAMEHISTORYLENGTH
222 * Type: integer
223 * Default: 800
224
225This value specifies the length of the nick name history list, which
226is used for /WHOWAS and some nickname chasing in /KILL and /KICK. It
227uses about 300 to 400 bytes per entry. Note that at a net break, so
228many client disappear that the whole "whowas" list is refreshed a few
229times (unless you make it rather large). A reasonable value is "total
230number of clients" / 25.
231
232HOST_HIDING
233 * Type: boolean
234 * Default: TRUE
235
236This selects whether local users can set umode +x, thus allowing them
237to hide their hostname if they have also registered with a channel
238service (i.e. they have the ACCOUNT flag set).
239
240HIDDEN_HOST
241 * Type: string
242 * Default: users.undernet.org
243
244This selects the suffix for the hidden hostmask (see HOST_HIDING).
245
246HIDDEN_IP
247 * Type: string
248 * Default: 127.0.0.1
249
250This selects a fake IP to be shown on /USERIP and /WHO %i when the
251target has a hidden host (see HOST_HIDING).
252
253CONNEXIT_NOTICES
254 * Type: boolean
255 * Default: FALSE
256
257This feature controls the generation of server notices when a user
258connects to or disconnects from the server. Enabling this feature may
259have a performance impact.
260
261KILLCHASETIMELIMIT
262 * Type: integer
263 * Default: 30
264
265If a user changes his or her nickname just before an operator issues a
266/KILL, the /KILL will be changed to follow the user the operator
267intended to get. This option specifies the time limit, in seconds,
268for this nickname change; if the user changed his or her nickname more
269than this many seconds ago, the /KILL will not be changed. Don't
270change this unless you really need to.
271
272MAXCHANNELSPERUSER
273 * Type: integer
274 * Default: 10
275
276This is the maximum number of channels a user can be in at a time.
277The "mandatory" value on Undernet is currently 10. Since it only
278influences the local server when you decrease it, its up to you to
279decide if you want to use a smaller value. Do not use a larger value
280however, because it DOES cost more memory and bandwidth on all other
281servers when you allow users to join more channels simultaneously.
282One of the most important reasons to choose a smaller value is the
283fact that the "GUI" clients tend to stay on every channel they join
284(they aren't bothered by flooding in other channels). It DOES take
285your bandwidth however to send all those messages for 10 different
286channels to all your users.
287
288AVBANLEN
289 * Type: integer
290 * Default: 40
291
292This is the expected average ban mask length. Leave it at 40.
293
294MAXBANS
295 * Type: integer
9f8856e9 296 * Default: 45
189935b1 297
298This is the maximum number of bans a user may set on a given channel.
299
300MAXSILES
301 * Type: integer
302 * Default: 15
303
304This is the maximum number of masks a user can silence at a time. The
305silence command allows users to filter messages directed at them from
306certain users or domains, at the source server. Increasing this
307number allows users to use up more memory with inefficient use of the
308command. If you're not sure, don't change this.
309
310HANGONGOODLINK
311 * Type: integer
312 * Default: 300
313
314Often the net breaks for a short time and it is useful to try to
315reestablish the same connection faster than CONNECTFREQUENCY would
316allow, but to keep from trying again on a bad connection, we require
317that the connection be open for a certain minimum time. The
318recommended value is 300 seconds.
319
320HANGONRETRYDELAY
321 * Type: integer
322 * Default: 10
323
324When attempting to quickly reestablish a connection to a good link, we
325give the net a few seconds to calm down. This time must be long enough
326for the other end to also notice that the connection is broken. The
327recommended value is 10 seconds.
328
329CONNECTTIMEOUT
330 * Type: integer
331 * Default: 90
332
333Number of seconds to wait for a connect(2) call to complete. NOTE:
334this must be at *LEAST* 10. When a client connects, it has
335CONNECTTIMEOUT - 10 seconds for its host to respond to an ident lookup
336query and for a DNS lookup to complete. It is recommended that you not
337change this value, but if you do, consider the fact that users whose
338clients do not support NOSPOOF will have to type /QUOTE PING <big
339number> before registration.
340
341MAXIMUM_LINKS
342 * Type: integer
343 * Default: 1
344
345This is the maximum number of links for the built-in client class 0.
346Leave this value at 1.
347
348PINGFREQUENCY
349 * Type: integer
350 * Default: 120
351
352If the daemon doesn't receive anything from any of its links within
353PINGFREQUENCY seconds, then the it will attempt to check for an active
354link with a PING message. If no reply is received within
355(PINGFREQUENCY * 2) seconds, then the connection will be closed. This
356value may be overridden by a Class block in "ircd.conf" if the
357connection's Client or Connect block in "ircd.conf" assigns a specific
358class to the connection (recommended).
359
360CONNECTFREQUENCY
361 * Type: integer
362 * Default: 600
363
364This is the default frequency that the server attempts to reconnect
365with its uplink server if it is set to auto connect to it. Note that
366this value is overridden by a Class block in ircd.conf if the Connect
367entries in ircd.conf assign a specific class to the connection.
368
369DEFAULTMAXSENDQLENGTH
370 * Type: integer
371 * Default: 40000
372
373This is the default value of the maximum sendQ length of connection
374classes (see doc/example.conf for details on Class blocks). You will
375generally override this value in your "ircd.conf" with a Class block.
376
377GLINEMAXUSERCOUNT
378 * Type: integer
379 * Default: 20
380
381G-lines that affect too many users have to be set with a special
382command, to prevent accidental G-lines of large blocks of users. This
383feature sets that particular threshold.
384
385MPATH
386 * Type: string
387 * Default: "ircd.motd"
388
389MPATH is the filename (relative to DPATH) or the full path of the
390"Message of the Day" file. The contents of this file will be sent to
391every client that connects to the server, after registration.
392
393RPATH
394 * Type: string
395 * Default: "remote.motd"
396
397RPATH is the filename (relative to DPATH) or the full path of the
398"Remote Message of the Day" file. The contents of this file will be
399sent to every remote client that issues a /MOTD <your server name>.
400Only the first three lines are sent, so you might want to keep that in
401mind while writing the file.
402
403PPATH
404 * Type: string
405 * Default: "ircd.pid"
406
407PPATH is the filename (relative to DPATH) or the full path of the
408"PID" file. It is used for storing the server's process ID so that a
409ps(1) isn't necessary.
410
411TOS_SERVER
412 * Type: integer
413 * Default: 0x08
414
415This option is used to specify the type of service that will be
416requested for connections to other servers. The value may be given as
417a hexadecimal integer.
418
419TOS_CLIENT
420 * Type: integer
421 * Default: 0x08
422
423This option is used to specify the type of service that will be
424requested for connections to users. The value may be given as a
425hexadecimal integer.
426
427POLLS_PER_LOOP
428 * Type: integer
429 * Default: 200
430
431Some of the engines used by the event interface get a number of events
432from the kernel at once. Since the number retrieved can impact
433performance, it can be tuned by modifying this value. The engines
434enforce a lower limit of 20.
435
436CONFIG_OPERCMDS
437 * Type: boolean
438 * Default: FALSE
439
440Since u2.10.11, several new oper-only features have been added that
441involve changes to the server<->server protocol. This configuration
442option provides a single switch to prevent the use of these features
443until the entire network has been upgraded. It is not required that
444all servers set this to "TRUE" in order for the features to be used,
445as long as all servers are running u2.10.11 or above.
446
447HIS_MAP
448 * Type: boolean
449 * Default: TRUE
450
451As per UnderNet CFV-165, this removes /MAP from users.
452
453HIS_SNOTICES
454 * Type: boolean
455 * Default: TRUE
456
457As per UnderNet CFV-165, this removes server notices from users.
458
459HIS_SNOTICES_OPER_ONLY
460 * Type: boolean
461 * Default: TRUE
462
463As per UnderNet CFV-165, this removes server notices from users.
464
465HIS_DEBUG_OPER_ONLY
466 * Type: boolean
467 * Default: TRUE
468
469As per UnderNet CFV-165, this removes server wallops from users.
470
471HIS_WALLOPS
472 * Type: boolean
473 * Default: TRUE
474
475As per UnderNet CFV-165, this removes operator wallops from users.
476
477HIS_LINKS
478 * Type: boolean
479 * Default: TRUE
480
481As per UnderNet CFV-165, this removes /LINKS from users.
482
483HIS_TRACE
484 * Type: boolean
485 * Default: TRUE
486
487As per UnderNet CFV-165, this removes /TRACE from users.
488
489HIS_STATS_a
490 * Type: boolean
491 * Default: TRUE
492
493As per UnderNet CFV-165, this removes /STATS a from users.
494
189935b1 495HIS_STATS_c
496 * Type: boolean
497 * Default: TRUE
498
499As per UnderNet CFV-165, this removes /STATS c from users.
500
9f8856e9 501HIS_STATS_d
189935b1 502 * Type: boolean
503 * Default: TRUE
504
9f8856e9 505As per UnderNet CFV-165, this removes /STATS d from users.
189935b1 506
9f8856e9 507HIS_STATS_e
189935b1 508 * Type: boolean
509 * Default: TRUE
510
9f8856e9 511As per UnderNet CFV-165, this removes /STATS e from users.
189935b1 512
513HIS_STATS_f
514 * Type: boolean
515 * Default: TRUE
516
517As per UnderNet CFV-165, this removes /STATS f from users.
518
9f8856e9 519HIS_STATS_g
520 * Type: boolean
521 * Default: TRUE
522
523As per UnderNet CFV-165, this removes /STATS g from users.
524
189935b1 525HIS_STATS_i
526 * Type: boolean
527 * Default: TRUE
528
529As per UnderNet CFV-165, this removes /STATS i from users.
530
531HIS_STATS_j
532 * Type: boolean
533 * Default: TRUE
534
535As per UnderNet CFV-165, this removes /STATS j from users.
536
537HIS_STATS_J
538 * Type: boolean
539 * Default: TRUE
540
541As per UnderNet CFV-165, this removes /STATS J from users.
542
9f8856e9 543HIS_STATS_k
544 * Type: boolean
545 * Default: TRUE
546
547As per UnderNet CFV-165, this removes /STATS k from users.
548
549HIS_STATS_l
550 * Type: boolean
551 * Default: TRUE
552
553As per UnderNet CFV-165, this removes /STATS l from users.
554
555HIS_STATS_L
556 * Type: boolean
557 * Default: TRUE
558
559As per UnderNet CFV-165, this removes /STATS L from users.
560
189935b1 561HIS_STATS_M
562 * Type: boolean
563 * Default: TRUE
564
565As per UnderNet CFV-165, this removes /STATS M from users.
566
567HIS_STATS_m
568 * Type: boolean
569 * Default: TRUE
570
571As per UnderNet CFV-165, this removes /STATS m from users.
572
573HIS_STATS_o
574 * Type: boolean
575 * Default: TRUE
576
577As per UnderNet CFV-165, this removes /STATS o from users.
578
579HIS_STATS_p
580 * Type: boolean
581 * Default: TRUE
582
583As per UnderNet CFV-165, this removes /STATS p from users.
584
585HIS_STATS_q
586 * Type: boolean
587 * Default: TRUE
588
589As per UnderNet CFV-165, this removes /STATS q from users.
590
591HIS_STATS_r
592 * Type: boolean
593 * Default: TRUE
594
595As per UnderNet CFV-165, this removes /STATS r from users.
596
597HIS_STATS_R
598 * Type: boolean
599 * Default: TRUE
600
601As per UnderNet CFV-165, this removes /STATS R from users.
602
189935b1 603HIS_STATS_t
604 * Type: boolean
605 * Default: TRUE
606
607As per UnderNet CFV-165, this removes /STATS t from users.
608
609HIS_STATS_T
610 * Type: boolean
611 * Default: TRUE
612
613As per UnderNet CFV-165, this removes /STATS T from users.
614
615HIS_STATS_u
616 * Type: boolean
617 * Default: FALSE
618
619As per UnderNet CFV-165, this allows users to perform /STATS u.
620
621HIS_STATS_U
622 * Type: boolean
623 * Default: TRUE
624
625As per UnderNet CFV-165, this removes /STATS U from users.
626
627HIS_STATS_v
628 * Type: boolean
629 * Default: TRUE
630
631As per UnderNet CFV-165, this removes /STATS v from users.
632
633HIS_STATS_w
634 * Type: boolean
635 * Default: FALSE
636
637As per UnderNet CFV-165, this allows users to perform /STATS w.
638
639HIS_STATS_x
640 * Type: boolean
641 * Default: TRUE
642
643As per UnderNet CFV-165, this removes /STATS x from users.
644
645HIS_STATS_y
646 * Type: boolean
647 * Default: TRUE
648
649As per UnderNet CFV-165, this removes /STATS y from users.
650
651HIS_STATS_z
652 * Type: boolean
653 * Default: TRUE
654
655As per UnderNet CFV-165, this removes /STATS z from users.
656
9f8856e9 657HIS_STATS_IAUTH
658 * Type: boolean
659 * Default: TRUE
660
661As per UnderNet CFV-165, this disables /STATS IAUTH and
662/STATS IAUTHCONF from users.
663
189935b1 664HIS_WHOIS_SERVERNAME
665 * Type: boolean
666 * Default: TRUE
667
668As per UnderNet CFV-165, this removes server names in replies to /WHOIS.
669
670HIS_WHOIS_IDLETIME
671 * Type: boolean
672 * Default: TRUE
673
674As per UnderNet CFV-165, this removes idle time in replies to /WHOIS.
675
676HIS_WHO_SERVERNAME
677 * Type: boolean
678 * Default: TRUE
679
680As per UnderNet CFV-165, this removes server names in replies to /WHO.
681
682HIS_WHO_HOPCOUNT
683 * Type: boolean
684 * Default: TRUE
685
686As per UnderNet CFV-165, this replaces hopcount to a static 3 in
687replies to /WHO.
688
052b069e 689HIS_MODEWHO
690 * Type: boolean
691 * Default: TRUE
692
693As per UnderNet CFV-165, this doesn't show which server performed a channel
694mode change.
695
189935b1 696HIS_BANWHO
697 * Type: boolean
698 * Default: TRUE
699
700As per UnderNet CFV-165, this doesn't show which server set a ban.
701
702HIS_KILLWHO
703 * Type: boolean
704 * Default: TRUE
705
706As per UnderNet CFV-165, this doesn't show which server or oper performed a
707kill.
708
709HIS_REWRITE
710 * Type: boolean
711 * Default: TRUE
712
713As per UnderNet CFV-165, this remaps remote numerics to come from the local
714server.
715
716HIS_REMOTE
717 * Type: integer
718 * Default: 1
719
720As per UnderNet CFV-165, this disallows remote queries. (*sob!*)
721
722HIS_NETSPLIT
723 * Type: boolean
724 * Default: TRUE
725
726As per UnderNet CFV-165, this removes server names in net break sign-offs.
727
728HIS_WHOIS_LOCALCHAN
729 * Type: boolean
730 * Default: TRUE
731
732As per UnderNet CFV-165, this removes local channels in replies to /WHOIS.
733
734HIS_SERVERNAME
735 * Type: string
736 * Default: "*.undernet.org"
737
738As per UnderNet CFV-165, this is the "name" of the server shown to users on a
739/WHOIS of another user.
740
741HIS_SERVERINFO
742 * Type: string
743 * Default: "The Undernet Underworld"
744
745As per UnderNet CFV-165, this is the "info" of the server shown to users on a
746/WHOIS of another user.
747
748HIS_URLSERVERS
749 * Type: string
750 * Default: "http://www.undernet.org/servers.php"
751
752As per UnderNet CFV-165, this is the URL shown to users when they do a /MAP or
753/LINKS.
754
755NETWORK
756 * Type: string
757 * Default: "UnderNet"
758
759This defines the network name as reported in the 005 "supported features"
760numeric, and as used by the "Failed to deliver" message.
761
762URL_CLIENTS
763 * Type: string
764 * Default: "ftp://ftp.undernet.org/pub/irc/clients"
765
766This defines a URL that users may visit to find compatible IRC clients.
767
768NICKLEN
769 * Type: integer
9f8856e9 770 * Default: 12
189935b1 771
772This is the allowed length of the nickname length. It may not be
773larger than the NICKLEN #define, and should usually be the same
774length. The real purpose of this feature is to permit easy increases
775in nickname length for a network.
776
777IRCD_RES_RETRIES
778 * Type: integer
779 * Default: 2
780
781This is the number of attempts the irc daemon's resolver will have at
782trying to solicit a response from the DNS server.
783
784IRCD_RES_TIMEOUT
785 * Type: integer
786 * Default: 4
787
788When a DNS query is sent, the irc daemon's resolver will wait this many
789seconds for a reply. After this timeout has expired, it will retry again,
790for as many retries as IRCD_RES_RETRIES allows. This can be cut short by
791AUTH_TIMEOUT expiring.
792NOTE: Has no effect when using the adns resolver.
793
794AUTH_TIMEOUT
795 * Type: integer
796 * Default: 9
797
798This is the maximum number of seconds to wait for the ident lookup and
799the DNS query to succeed. On older (pre 2.10.11.06) servers this was
800hard coded to 60 seconds.
801
802IPCHECK_CLONE_LIMIT
803 * Type: integer
804 * Default: 4
805
806The number of times you are allowed to connect within IPCHECK_CLONE_PERIOD
807seconds before you are considered abusing the server and throttled.
808
809IPCHECK_CLONE_PERIOD
810 * Type: integer
811 * Default: 40
812
813The number of seconds you are allowed to connect IPCHECK_CLONE_LIMIT times
814within before you are considered abusing the server and throttled.
815For instance if you set IPCHECK_CLONE_LIMIT to 1, and IPCHECK_CLONE_PERIOD
816to 10, then a user is only allowed to connect once in 10s, if they connect
817again within 10s, then they are considered to be connecting too fast and
818they are throttled.
819
820IPCHECK_CLONE_DELAY
821 * Type: integer
822 * Default: 600
823
824The number of seconds grace after restarting the server before the throttle
825code kicks in. Even if a user connects repetitively during this period,
826they will never get throttled. This is so after a restart users on a
827multiuser box can all connect to a server simultaniously without being
828considered an attack.
829
830SOCKSENDBUF
831 * Type: integer
832 * Default: 61440
833
834The send window size used for connections to other servers.
835
836SOCKRECVBUF
837 * Type: integer
838 * Default: 61440
839
840The receive window size used for connections to other servers.
841
842ANNOUNCE_INVITES
843 * Type: boolean
844 * Default: FALSE
845
846If set, send RPL_ISSUEDINVITE (345) to a channel's operators to
847announce when someone is invited to the channel.
848
849LOCAL_CHANNELS
850 * Type: boolean
851 * Default: TRUE
852
853If set, allow users to create local channels.
854
855TOPIC_BURST
856 * Type: boolean
857 * Default: FALSE
858
859If set, send the current topic value and timestamp for channels during
860burst. This generally only makes sense for hubs to use, and it causes
861a large increase in net.burst size.
862
863CHANNELLEN
864 * Type: integer
865 * Default: 200
866
867This is the allowed length of locally created channels. It may not be
868larger than the CHANNELLEN #define. Like the NICKLEN feature, this is
869intended to ease changes in channel name length across a network.
052b069e 870
871OPLEVELS
872 * Type: boolean
873 * Default: TRUE
874
875This allows local users to set the +A and +U modes (admin and user
876passwords, respectively) on channels where they are marked as channel
877managers. This feature must be disabled until all servers on the
878network are able to interpret and handle these modes correctly.
879
880ZANNELS
881 * Type: boolean
882 * Default: TRUE
883
884This preserves empty channels with no admin password so that it is
885impractical to become the channel manager by clearing out the channel.
886It must be set to FALSE if there are both 2.10.11.x servers and
8872.10.12.y servers on the network where y < 4. It should be set to
888TRUE whenever the OPLEVELS features is TRUE.