Free, portable and lightweight Internet Relay Chat server
Clone or download
alexbarton Implement new configuration option "MaxPenaltyTime" (#251)
This option configures the maximum penalty time increase in seconds, per
penalty event. Set to -1 for no limit (the default), 0 to disable
penalties altogether. ngIRCd doesn't use penalty increases higher than 2
seconds during normal operation, so values higher than 1 rarely make

Disabling (or reducing) penalties can greatly speed up "make check" runs
for example, see below, but are mostly a debugging feature and normally
not meant to be used on production systems!

Some example timings running "make check" from my macOS workstation:

- MaxPenaltyTime not set: 4:41,79s
- "MaxPenaltyTime = 1":   3:14,71s
- "MaxPenaltyTime = 0":     25,46s

Closes #249.
Latest commit 456eea6 Nov 28, 2018


                     ngIRCd - Next Generation IRC Server

               (c)2001-2018 Alexander Barton and Contributors.
               ngIRCd is free software and published under the
                   terms of the GNU General Public License.

                                -- README --

I. Introduction

ngIRCd is a free, portable and lightweight Internet Relay Chat server for
small or private networks, developed under the GNU General Public License
(GPL; please see the file COPYING for details). It is simple to configure,
can cope with dynamic IP addresses, and supports IPv6 as well as SSL. 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 be a
better name :-)

Please see the INSTALL document for installation and upgrade information!

II. Status

ngIRCd should be quite feature complete and stable to be used as daemon in
real world IRC networks.

It is not the goal of ngIRCd to implement all the nasty behaviors of the
original ircd, but to implement most of the useful commands and semantics
specified by the RFCs that are used by existing clients.

III. Features (or: why use ngIRCd?)

- Well arranged (lean) configuration file.
- Simple to build, install, configure, and maintain.
- Supports IPv6 and SSL.
- Can use PAM for user authentication.
- Lots of popular user and channel modes are implemented.
- Supports "cloaking" of users.
- No problems with servers that have dynamic IP addresses.
- Freely available, modern, portable and tidy C source.
- Wide field of supported platforms, including AIX, A/UX, FreeBSD, HP-UX,
  IRIX, Linux, Mac OS X, NetBSD, OpenBSD, Solaris, and Windows with Cygwin.
- ngIRCd is being actively developed since 2001.

IV. Documentation

More documentation can be found in the "doc/" directory and the homepage of
ngIRCd: <>.

V. Download

The homepage of the ngIRCd is <>; you will find
the newest information about the ngIRCd and the most recent ("stable")
releases there.

Visit our source code repository at GitHub if you are interested in the
latest development version: <>.

VI. Problems, Bugs, Patches

Please don't hesitate to contact us if you encounter problems:

- On IRC: <irc://>
- Via the mailing list: <>

See <> for details.

If you find bugs in ngIRCd (which will be there most probably ...), please
report them to our issue tracker at GitHub:

- Bug tracker: <>
- Patches, "pull requests": <>

There you can read about known bugs and limitations, too.