InspIRCd
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
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.
/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">
<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
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.