ngircd

Sep 2023

NAME

ngIRCd - the "next generation" IRC daemon

SYNOPSIS

ngircd [ Options ]

DESCRIPTION

ngIRCd is a free, portable and lightweight Internet Relay Chat (IRC) server for small or private networks, developed under the GNU General Public License (GPL).

The server is quite easy to configure and runs as a single-node server or can be part of a network of ngIRCd servers in a LAN or across the internet. It optionally supports the IPv6 protocol, SSL/TLS-protected client-server and server-server links, the Pluggable Authentication Modules (PAM) system for user authentication, IDENT requests, and character set conversion for legacy clients.

The name ngIRCd stands for next-generation IRC daemon, which is a little bit exaggerated: lightweight Internet Relay Chat server most probably would have been a better name :-)

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).

OPTIONS

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.

-y, --syslog

Write log messages to the syslog even when running in the foreground. This only makes sense when -n/--nodaemon was given on the command line before this option!

The following options prevent ngIRCd from starting regularly, but perform a specific action and then exit the daemon again:

-h, --help

Display a brief help text and exit.

-t, --configtest

Read, validate and display the configuration; then exit.

-V, --version

Output version information and exit.

FILES

/usr/local/etc/ngircd.conf

The system wide default configuration file.

/usr/local/etc/ngircd.motd

Default "message of the day" (MOTD).

SIGNALS

The daemon understands the following signals:

TERM

Shut down all connections and terminate the daemon.

HUP

Shut down all listening sockets, re-read the configuration file and re-initialize the daemon.

HINTS

It is always wise to use "ngircd --configtest" to validate the configuration of ngIRCd after making changes to the configuration files!

DEBUGGING

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:

Options:

-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.

Signals:

USR1

Toggle debug mode on and off during runtime.

USR2

Dump internal server state to the console/syslog when debug mode is on (use command line option --debug or signal USR1).

AUTHORS

Alexander Barton, <alex@barton.de>
Florian Westphal, <fw@strlen.de>

Homepage: http://ngircd.barton.de/

SEE ALSO

ngircd.conf(5), ircd(8)