ngIRCd - the "next generation" IRC daemon
is a free, portable and lightweight Internet Relay Chat server for
small or private networks, developed under the GNU General Public License
(GPL). It is easy to configure, can cope with dynamic IP addresses, and
supports IPv6, SSL-protected connections as well as PAM for authentication. It
is written from scratch and not based on the original IRCd.
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
By default ngIRCd logs diagnostic and informational messages using the syslog
mechanism, or writes directly to the console when running in the foreground
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
- -t, --configtest
- Read, validate and display the configuration; then
- -V, --version
- Output version information and exit.
- -h, --help
- Display a brief help text and exit.
The system wide default configuration
Default "message of the day"
The daemon understands the following signals:
- Shut down all connections and terminate the daemon.
- Shut down all listening sockets, re-read the configuration
file and re-initialize the daemon.
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.
- Toggle debug mode on and off during runtime.
- Dump internal server state to the console/syslog when debug
mode is on (use command line option --debug or signal USR1).
Alexander Barton, <email@example.com>
Florian Westphal, <firstname.lastname@example.org>