The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog | Stats
Personal tools

ChatSpike Conversion

From the makers of InspIRCd.

Jump to: navigation, search
Historical Historical Material - Information posted here may be inaccurate as a result of being obsolete. This information is kept for historical reference purposes.


This page was written on 23rd February 2006, in preperation for the ChatSpike changeover from UnrealIRCd to InspIRCd 1.0. This document is preserved for historical purposes.

Summary

The time is fast approaching when ChatSpike will be switching from UnrealIRCd to InspIRCd - as has been the intended plan from InspIRCd's conception. InspIRCd has been designed from the ground up with the ultimate purpose of being used on ChatSpike - and the featureset has been implemented with this in mind.

Seeing as switching an ircd is never a simple task, especially on a medium-sized network like ChatSpike, this page has been written up to assist other networks to view the requirements and processes involved with the conversion, as well as providing a todo for involved staff members.

To Do

  • Ensure the following services modules are compatible with InspIRCd protocol, update as necessary (done --w00t)
  • Create configurations for all ChatSpike IRCds, complete with link blocks, oper blocks, etc. (done --Craig/Brain)
  • Write a module implementing safelist, so users [and opers] doing /list do not get flooded off (done, and waiting some core functionality and testing --w00t/Brain)
  • Add queueing to the server to server bursting to avoid lag during reconnecting parts of a network.
  • Configure bopm
  • Configure defender
  • Educate staff as to new commands, modes, and other options available

Services

ChatSpike uses IRCServices with many custom modifications. An ircd protocol module was enough to ensure that Services would work properly - our extensions were another matter. All had to be checked for ircd-specific protocol, such as SWHOIS, SVSMODE - in particular, inspircd is picky that commands come from a user, not a server.

Configuration

Configuration of all ircds took some time, and required additional tweaking after completion, for example it was found that flood limits weren't sufficient, and were upped to approximatly 30 commands in one second to allow for on-connect identification, ajoin, etc scripts.

Safelist

This is something that had not been considered until the ChatSpike test network went live - ~200 channels, and a user doing /list means that user gets hit by an excess sendq, as the ircd tries to send data to the user faster than they can grab it.

To overcome this, a module implementing a buffered /list has been written.