ngIRCd - Next Generation IRC Server (c)2001-2010 by Alexander Barton, alex@barton.de, http://www.barton.de/ ngIRCd is free software and published under the terms of the GNU General Public License. -- FAQ: Frequently Asked Questions -- I. General ~~~~~~~~~~ Q: Is it possible to link the ngIRCd with non-ngIRCd servers? A: Yes. ngIRCd is compatible to the original ircd used by IRCNet. Actually this is being tested with version 2.10.3p3. Please note that newer versions (2.11.x) aren't compatible any more! Q: Is there a homepage with further information and downloads? A: Yes. Please visit . Q: Why should I use ngIRCd instead of the original one? A: ngIRCd offers several benefits: no problems with dynamic IPs, easy to configure, open source (GPL), under active development. II. Compilation ~~~~~~~~~~~~~~~ Q: I did a "CVS checkout" but can't execute ./configure because the script is missing in the generated directory!? A: When using development versions via CVS, the configure script as well as the Makefile.in templates must be generated using GNU automake and GNU autoconf. To simplify this task run the ./autogen.sh script which will execute the required tools for you; then continue with executing the ./configure script as usual. Q: The ./autogen.sh script complains "aclocal: command not found". A: GNU automake is missing on your system but required for building CVS versions of ngIRCd. Install GNU automake 1.6 or later and try again. Q: The ./autogen.sh script stops with "autoheader: command not found". A: GNU autoconf is missing on your system but required for building CVS versions of ngIRCd. Install GNU autoconf 2.52 or later and try again. Q: The ./autogen.sh script fails and the message "automake: configure.in: AM_INIT_AUTOMAKE must be used" is displayed. A: Most probably you are using version 1.5 of GNU automake which seems to be incompatible to the build system of ngIRCd. Solution: upgrade to at least version 1.6 of GNU automake. (If you are using Debian 3.0 "Woody" you can try to downgrade to version 1.4 of GNU automake shipped with this distribution; it should work, too.) III. Runtime ~~~~~~~~~~~~ Q: Where is the log file located? A: ngIRCd does not write its own log file. Instead, ngIRCd uses syslog(3). Check the files in /var/log/ and/or consult the documentation for your system logger daemon. Q: I cannot connect to remote peers when I use the chroot option, the following is logged: "Can't resolve example.com: unknown error!". A: see next question blow ... Q: When running ngIRCd inside a chroot, no IP addresses can be translated in DNS names, errors like "Name or service not known" are logged. A: On Linux/glibc with chroot enabled you need to put some libraries inside the chroot as well, notably libnss_dns; maybe others. Unfortunately, even linking ngIRCd statically does not help this. So you can either copy all the required files into the chroot directory: $ mkdir -p ./chroot/etc ./chroot/lib $ cp -a /etc/hosts /etc/resolv.conf /etc/nsswitch.conf ./chroot/etc/ $ cp -a /lib/libresolv* /lib/libnss_* ./chroot/lib/ Or you can try to link ngIRCd against an other C library (like dietlibc) that doesn't depend on NSS modules and/or these files. Q: I have added an [Oper] section, how do i log on as IRC operator? A: You can use the /OPER command in your IRC client to become an IRC operator. ngIRCd will also log all OPER requests (using syslog), if OPER fails you can look there to determine why it did not work (bad password, unauthorized host mask, etc.) Q: I am an IRC operator, but MODE doesn't work! A: You need to set 'OperCanUseMode = yes' in ngircd.conf, then IRC operators can use the MODE command for changing modes even when they are not joined to the specific channel. IV. Bugs!? ~~~~~~~~~~ Q: Is there a list of known bugs and desired feature enhancements? A: Yes. Have a look at the bug tracking system (Bugzilla) for ngIRCd located at . There you can file bug reports and feature requests as well as search the bug database. Q: What should I do if I found a bug? A: Please file a bug report at ! The author of the particular component will be notified automagically :-)