Comparison Of Features
Contents
Introduction
This page indicates the differences in feature sets between the most popular IRCds, compared to InspIRCd. Each feature is compared against InspIRCd, as of the current version. This table is updated as new features are added to IRCd implementations. If you find any inaccuracies on this page please do not hesitate to contact us.
Feature table
This table lists the feature sets of each IRCd.
means the feature is supported,
means it is not supported or planned.
means the feature is implemented in the IRC server in question however the developers charge money for it, as an extra feature.
means the status of this feature is unknown to us.
User and channel modes
See Comparison Of Modes Available.
Protocol Compatibility
This table indicates the protocols supported by each of the above IRCds.
IRCd | Protocol Information |
InspIRCd | Dependent upon linking module. m_spanningtree.so implemements a custom protocol, with added influence from TS6, bahamut and ircu, as well as metadata. |
UnrealIRCd | A mixture of DreamForge and EFnet TS with SJOIN, extra user modes, SPAMFILTER, etc. |
Bahamut | EFnet TS5 with extensions |
Hybrid, Ratbox | EFnet TS5/TS6 [5] |
Charybdis | EFnet TS6 with extensions |
Services Support
This compares the compatibility from vendor branches.
Code Comparison
Feature | InspIRCd | Bahamut | Hybrid | Ratbox | Charybdis | UnrealIRCd |
Lines of code (approx) | 54000 | 71356 | 92824 | 67885 | 64639 | 120627 |
Unzipped size | 2.1mb | 4.9mb | 5.1mb | 3.7mb | 3.7mb | 13mb |
Percentage comments (approx) | 23% | 19% | 12% | 11% | 12% | 18% |
Notes
- The ability to assign abstract classes to a user, such as "netadmin".
- The ability for network staff to be denoted in a channel with a special prefix.
- The ability to have a mesh of servers instead of an acyclic distribution graph. In InspIRCd, this was supported before beta 5, it is planned to be re-implemented as a module in later versions.
- Encrypted links can either be through a context, or SSL.
- TS6 is not available in hybrid-7.0. Support is available in the 7.1 beta.
- Cygnus does not support bahamut 1.8.x.
- IRCServices support for this ircd is available through a third-party module.
- Tested and supported on solaris 10 only
- The ability to hot-swap the linking protocol via a dynamic module or restart, without recompiling or patching
- The ability to hot-swap the SSL support via dynamic modules, without recompiling or patching. In the case of InspIRCd, also without requiring a restart
- Multithreaded DNS is implemented only in 1.0.x and is not recommended for production use.
- OS X is only supported when compiled with Clang or GCC. LLVM-GCC is not supported due to breakages.
- On UnrealIRCd this is a compile time option, activated by editing a header file and uncommenting a #define statement.
- Not including using seperate forked processes, such as hybrid's servlink