added gnutls backend and moved backend code into new files
[ircu2.10.12-pk.git] / README
diff --git a/README b/README
index 9cff13a0f4f4fb1d2d9ca8df92a07426ba2294cc..e722967fe52ccee705680e096153c3e5f9971f13 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,7 @@
 
 
-       Welcome to ircu2.10.11, the Undernet IRC daemon
+       Welcome to ircu2.10.12, the Undernet IRC daemon
 
 
-Version u2.10.11 of the Undernet ircd incorporates many new features
+Version u2.10.12 of the Undernet ircd incorporates many new features
 over its predecessor, and we feel that using it will make you very
 happy indeed.
 
 over its predecessor, and we feel that using it will make you very
 happy indeed.
 
@@ -26,24 +26,23 @@ README.<platform> files.
 COMPATIBILITY
 
 This version of ircu will only work with servers that use the P10 protocol,
 COMPATIBILITY
 
 This version of ircu will only work with servers that use the P10 protocol,
-some of the new features will only work between ircu2.10.11 servers.
+some of the new features will only work between ircu2.10.12 servers.
 
 GENERAL PERFORMANCE HINTS
 
 
 GENERAL PERFORMANCE HINTS
 
-For platform-specific notes and hints, see the various README.<platform>
-files included in this distribution. The notes below apply to servers that
-will serve large numbers (thousands) of clients simultaneously. If your
-server serves a small amount of users, you will not really have to do much
-of anything about performance tuning.
+For platform-specific notes and hints, see the platform-specific
+sections below.  These notes apply to servers that will serve large
+numbers (thousands) of clients simultaneously.  If your server serves
+a small amount of users, the defaults should work well enough.
 
  - Run an OS that supports an asynchronous network event engine; currently
    these are FreeBSD (kqueue), and Solaris (/dev/poll); possibly other BSDs
    will also support kqueue. This will have a dramatic effect on performance.
  - Make things as lean as possible: Make your server dedicated to ircu,
    disable anything that is not neccesary, and build a custom kernel (where
 
  - Run an OS that supports an asynchronous network event engine; currently
    these are FreeBSD (kqueue), and Solaris (/dev/poll); possibly other BSDs
    will also support kqueue. This will have a dramatic effect on performance.
  - Make things as lean as possible: Make your server dedicated to ircu,
    disable anything that is not neccesary, and build a custom kernel (where
-   possible). 
- - Tune kernel parameters; see the various README.<platform> files as well
-   as your OS documentation for more information.
+   possible).
+ - Tune kernel parameters as described in the platform-specific
+   sections below.
  - With many clients connecting each second, ircu will be doing lots of DNS
    lookups. Make sure that the DNS server(s) in your /etc/resolv.conf are as
    close as possible, or run a local caching DNS server on your IRC server.
  - With many clients connecting each second, ircu will be doing lots of DNS
    lookups. Make sure that the DNS server(s) in your /etc/resolv.conf are as
    close as possible, or run a local caching DNS server on your IRC server.
@@ -59,10 +58,8 @@ INFORMATION HIDING
 
 As per undernet-admins CFV-165, this server contains code that will,
 by default, hide certain information from ordinary users. If you do
 
 As per undernet-admins CFV-165, this server contains code that will,
 by default, hide certain information from ordinary users. If you do
-not want this, please make sure you add -DINCLUDED_ircd_policy_h to
-CFLAGS prior to running ./configure, like in:
-
-> CFLAGS=-DINCLUDED_ircd_policy_h ./configure
+not want this, override the default "HIS" feature settings in your
+ircd.conf.
 
 MORE INFORMATION
 
 
 MORE INFORMATION
 
@@ -72,3 +69,72 @@ in the doc/ directory, as well as http://coder-com.undernet.org.
 For general information on the Undernet, vist http://www.undernet.org
 
 Happy IRCing!
 For general information on the Undernet, vist http://www.undernet.org
 
 Happy IRCing!
+
+RUNNING THIS SERVER ON LINUX
+
+If you run Linux 2.6 or above (or 2.4 with appropriate patches), ircu
+can use the epoll family of system calls for much more efficient
+checks of which connections are active.  Most pre-epoll systems will
+use 100% CPU with 2000 clients; with epoll, a server may use only a
+few percent of CPU with the same load.
+
+To handle that many connections, the ircd must be started with a high
+enough file descriptor resource.  Check your distribution's docs on
+how to set the global and per-user limits according to your expected
+load.
+
+RUNNING THIS SERVER ON FREEBSD
+
+When running on FreeBSD, ircu can make use of the kqueue() event engine, which
+results in much improved performance over the old poll()-based method. kqueue
+is included in the more recent 4.x releases of FreeBSD.
+
+In order for ircu to be able to serve many clients simultaneously, you need
+to increase the maximum allowable number of open files in the system. To do
+this, add commands such as the following during your system's boot sequence:
+
+sysctl -w kern.maxfiles=16384
+sysctl -w kern.maxfilesperproc=16384
+
+Unless you will be serving thousands of clients simultaneously, you will not
+need to do the following, unless of course you just can't stand having a
+system that is not optimized to its limits :)
+
+Build a custom kernel: Make your kernel as lean as possible by removing all
+drivers and options you will not need. The following parameters will affect
+performance, they are listed with suggested values only. For more information
+on what they do exactly, see FreeBSD's documentation.
+
+maxusers        2048
+options         NMBCLUSTERS=65535
+options         ICMP_BANDLIM
+
+Also, you may wish to run the following at system startup (from /etc/rc.local,
+or whichever other method you prefer):
+
+sysctl -w net.inet.tcp.rfc1323=1
+sysctl -w net.inet.tcp.delayed_ack=0
+sysctl -w net.inet.tcp.restrict_rst=1
+sysctl -w kern.ipc.maxsockbuf=2097152
+sysctl -w kern.ipc.somaxconn=2048
+
+Created by Sengaia <sengaia@undernet.org>, July 20 2002.
+
+RUNNING THIS SERVER ON SOLARIS
+
+When running on Solaris, ircu can make use of the /dev/poll event engine, which
+results in much improved performance over the old poll()-based method. Solaris
+versions 8 and 9 include /dev/poll out of the box, for Solaris 7 you will have
+to grab and install Patch-ID 106541-21.
+
+In order to increase the number of clients ircu can handle, add lines such as
+the following to /etc/system:
+
+* set hard limit on file descriptors
+set rlim_fd_max = 16384
+* set soft limit on file descriptors
+set rlim_fd_cur = 8192
+
+For more useful hints see http://www.sean.de/Solaris/soltune.html
+
+Created by Sengaia <sengaia@undernet.org> on July 20, 2002.