InspIRCd

From ArchWiki

InspIRCd (Inspire IRC daemon) is a modular and lightweight IRC daemon written in C++. As it is one of the few IRCd projects written from scratch, it avoids a number of design flaws and speed issues that plague other more established IRCd projects with the same or less features, such as UnrealIRCd 3. It is the IRCd used by the Chatspike IRC network.

Installing

Note: Before you begin, check that you do not have any user or group named inspircd as the package will create and run using this user privileges (for security reasons).

Install the inspircdAUR package.

Configuring

The configuration file /etc/inspircd/inspircd.conf is mandatory, XML-formatted and needs to be created when installing.

How you set your configuration file will depend a lot on your needs and system configuration, reason why there is no configuration file set by default.

Tip: You can use the example (and very well documented) configuration file located at /usr/share/inspircd/examples/inspircd.conf.example. Copy this file to /etc/inspircd/inspircd.conf, read and edit it carefully to fit your needs.

Its markup language format may be somewhat different of what most of the people is used to. The format of an instruction within the configuration file looks like the following:

<tagname variable="value">
Note: The example file has some <die value="anything here"> lines in the example file to make sure you read the entire thing. You must remove these entries otherwise the server will not start.

Make sure to set the pidfile to /var/run/inspircd/inspircd.pid, as explained in the package's install script.

Further information is available at the InspIRCd configuration wiki page.

Loading modules

By default, InspIRCd loads no modules. As every feature outside of RFC 1459 is actually a module, by loading no modules your ircd really will not do anything impressive. You can load modules by adding for instance:

<module name="m_silence.so">

This will load the m_silence module (which provides the somewhat standard SILENCE list facility). You must restart the daemon for changes to take effect. A list of the available modules is available at the InspIRCd modules wiki page.

Third-party modules

To install a third-party module, save the [module].cpp within [build-dir]/inspircd/src/inspircd/src/modules/ and continue the build process. If you have already built and installed InspIRCd and have the source files intact, compile the module with ./configure -modupdate; make and copy to: /usr/lib/inspircd/modules/.

Starting/Stopping the daemon

The factual accuracy of this article or section is disputed.

Reason: Restarting until the problems go away is not a recommended method of debugging (Discuss in Talk:InspIRCd)

Start or stop inspircd.service.

The first start fails sometimes so try restarting until you get no errors. After this you shall have no further problems. The reason behind this is because of security reasons the daemon does not run as root as you normally would see, so the script must ensure that the user irc has permission to write/read the pid and log files.

External links