ngIRCd - the "next generation" IRC daemon
ngircd [ Options ]
ngIRCd is a free, portable and lightweight Internet Relay Chat server for small or private networks, developed under the GNU General Public License (GPL).
The server is quite easy to configure, can handle dynamic IP addresses, and optionally supports IDENT, IPv6 connections, SSL-protected links, and PAM for user authentication as well as character set conversion for legacy clients. The server has been written from scratch and is not based on the "forefather", the daemon of the IRCNet.
The name ngIRCd means next-generation IRC daemon, which is a little bit exaggerated: lightweight Internet Relay Chat server most probably would have been a better name :-)
Currently supported platforms include AIX, A/UX, FreeBSD, HP-UX, Hurd, IRIX, Linux, Mac OS X, Minix, NetBSD, OpenBSD, Solaris, and Windows with Cygwin. As ngIRCd relies on UNIX standards and uses GNU automake and GNU autoconf there are good chances that it also supports other UNIX-based operating systems as well.
By default ngIRCd logs diagnostic and informational messages using the syslog mechanism, or writes directly to the console when running in the foreground (see below).
The default behavior of ngircd is to read its standard configuration file (see below), to detach from the controlling terminal and to wait for clients.
You can use these options to modify this default:
- -f file, --config file
- Use file as configuration file.
- -n, --nodaemon
- Don't fork a child and don't detach from controlling terminal. All log messages go to the console and you can use CTRL-C to terminate the server.
- -p, --passive
- Disable automatic connections to other servers. You can use the IRC command CONNECT later on as IRC Operator to link this ngIRCd to other servers.
- -t, --configtest
- Read, validate and display the configuration; then exit.
- -V, --version
- Output version information and exit.
- -h, --help
- Display a brief help text and exit.
The daemon understands the following signals:
It's wise to use "ngircd --configtest" to validate the configuration file after changing it.
When ngIRCd is compiled with debug code, that is, its source code has been ./configure'd with "--enable-debug" and/or "--enable-sniffer" (witch enables debug mode automatically as well), you can use two more command line options and two more signals to debug problems with the daemon itself or IRC clients:
- -d, --debug
- Enable debug mode and log extra messages.
- -s, --sniffer
- Enable IRC protocol sniffer, which logs all sent and received IRC commands to the console/syslog. This option requires that ngIRCd has been ./configure'd with "--enable-sniffer" and enables debug mode automatically, too.
Alexander Barton, <email@example.com>
Florian Westphal, <firstname.lastname@example.org>