The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog
Personal tools
InspIRCd - 10,000 revisions reached!

IRCServices 5.x and InspIRCd

From the makers of InspIRCd.

Jump to: navigation, search


Contents

Getting Started

To make IRCServices 5 work with InspIRCd, you must first get our services module from our SVN page, Here. Next, download ircservies from the IRCServices website (the latest version -- our protocol module requires you to use at least 5.0.48) untar it, move inspircd.c and inspircd10.c into the modules/protocol directory, and overwrite modules/protocol/Makefile with the Makefile.new from the tarball.

Run configure for ircservices as follows:

./configure


Note: As of IRCServices 5.1a5, InspIRCd is supported directly by IRCServices, which means that our own inspircd.c file is optional, and already included as part of the IRCServices tarball.

You should not use our own version of the module in 5.1, and instead report bugs with it to the author, Andrew Church.

Modifying the Makefile

Once configure is complete and makefiles have been written, change to the modules/protocol directory and open the makefile in your favourite editor:

cd modules/protocol
nano Makefile

You should change the makefile to match the Makefile.new which is given in the tarball for our ircservices module. You may be able to just cp it over the top, or you may have to merge the changes in by hand.

Configuration

You can now safely change to the base directory of ircservices and run make (or gmake if you are using FreeBSD). After running make, run make install as normal. Remember that if you are using BSD you will probably need to use gmake instead (GNU make) When configuring ircservices, you must ensure that you load the correct protocol module, as shown in the example below:

LoadModule protocol/inspircd

The inspircd module currently requires no configuration entries in modules.conf.

Link Blocks

Your next step should be to add the link 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"
      ipaddr="127.0.0.1"
      port="7252"
      sendpass="XXXXX"
      recvpass="XXXXX">

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


Remember to set recvpass and sendpass correctly to match your ircservices configuration.

Modules

You will also need to ensure you load certain modules to use ircservices. Because ircservices currently makes assumptions that the feature set of an ircd is static (whereas the feature set of inspircd is totally dynamic) your chosen options must match that the ircservices program assumes (sorry about this folks, my hands are tied -- feel free to edit the inspircd.c to suit your tastes, i will accept modified versions) the modules you require to make ircservices work correctly at current (unless someone submits modified inspircd.c files) are:

<module name="m_globops.so">
<module name="m_services.so">
<module name="m_spanningtree.so">

Optionally, the following modules may enhance services support:

<module name="m_operchans.so">
<module name="m_redirect.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_noctcp.so">
<module name="m_nokicks.so">
<module name="m_nonotice.so">
<module name="m_nonicks.so">
<module name="m_noinvite.so">
<module name="m_censor.so">
<module name="m_stripcolor.so">

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

Once all this is done, simply rehash your InspIRCd server with the /REHASH command, fire up ircservices, and you're good to go!