2.0/Atheme and InspIRCd

From the makers of InspIRCd.
(Redirected from Atheme and InspIRCd)
Jump to: navigation, search
2.0 Documentation 3.0 Documentation

Getting Started

To get Atheme working with InspIRCd, you must first download Atheme from the Atheme website. You should download the latest stable release (6.0.7 as of the latest update to this page), Untar the archive, and run
./configure && make && make install
to install Atheme.


Open up atheme/etc/atheme.conf.example and save it as atheme.conf. Now you must edit the file so it works correctly with inspircd. When configuring Atheme, you must ensure that you load the correct protocol module, as shown in the example below:

loadmodule "protocol/inspircd12";

Link Blocks

Your next step should be to add the link blocks, bind blocks, and uline blocks to your InspIRCd server. Here are some examples of correctly formatted link blocks for a services server:

<bind address="" port="7252" type="servers">

<link name="services-dev.chatspike.net"

<uline server="services-dev.chatspike.net">

The bind block tells the server to open up that port and set it to listen to servers only. The link block gives permmision to your services package to connect to your IRCd. The uline allows services to have extra powers servers normally don't get. Make sure the bind port and the port in the link name is the same.

After you add the link blocks, you must change atheme.conf to match you link blocks. Look in the server info block. Make sure the name matches the name you put in your inspircd.conf. Then look into the uplink section. Put your server name in quotes where it tells you to. Change the host to where you want services to connect (if its on the same machine as your IRCd, keep it as localhost). Then change the password and port to what you put in your link block.


You must load the following modules in InspIRCd for Atheme to work:

<module name="m_services_account.so">
<module name="m_spanningtree.so">
<module name="m_svshold.so">
<module name="m_deaf.so">

Optionally, the following modules may enhance services support:

<module name="m_globops.so">
<module name="m_cban.so">
<module name="m_operchans.so">
<module name="m_redirect.so">
<module name="m_chghost.so">
<module name="m_chanprotect.so">
<module name="m_blockcolor.so">
<module name="m_banexception.so">
<module name="m_inviteexception.so">
<module name="m_cloaking.so">
<module name="m_knock.so">
<module name="m_halfop.so">
<module name="m_noctcp.so">
<module name="m_nokicks.so">
<module name="m_nonotice.so">
<module name="m_nonicks.so">
<module name="m_allowinvite.so">
<module name="m_censor.so">
<module name="m_hidechans.so">
<module name="m_servprotect.so">
<module name="m_stripcolor.so">

Also, the m_alias.so module is highly useful (but optional) for redirecting commands to services automatically.

Once you are finished configuring, rehash InspIRCd (/rehash) and start Atheme (go into atheme/bin and run the atheme-services program).

Working example

Everything but the essentials are skipped, so you still have to fill out both configuration files properly. This example highlights what needs to be set in order for Atheme and InspIRCd to link! The colours indicate that these needs to have the same value. So if you change one, you need to change all of the same colour.


<server name="irc.example.net"
        description="example network"

<bind address="" port="7001" type="servers">

<uline server="services.example.net">

<link name="services.example.net"


<module name="m_chanprotect.so">
<module name="m_halfop.so">
<module name="m_services_account.so">
<module name="m_deaf.so">
<module name="m_spanningtree.so">

# Highly recommended
<module name="m_globops.so">
<module name="m_cban.so">
<module name="m_svshold.so">
<module name="m_hidechans.so">
<module name="m_servprotect.so">
<module name="m_chghost.so">
<module name="m_namesx.so">
<module name="m_uhnames.so">


loadmodule "modules/protocol/inspircd12";

serverinfo {
    name = "services.example.net";
    netname = "chat";

uplink "irc.example.net" {
        host = "";
        password = "password";
        port = 7001;