InspIRCd Spanning Tree (1.2)

From the makers of InspIRCd.
Jump to: navigation, search
Development Development Material - Information posted here is for developer reference only. This material is subject to possible change and will be technical in nature.


Introduction to the Spanning Tree protocol

This section will be expanded as we add to the protocol. Protocol changes will be generally backwards-compatible with previous major versions. Major version changes (e.g. 1.1 to 1.2) usually mean major protocol changes. Any changes to the protocol in minor releases will not usually break previous releases unless absolutely necessary (e.g. to fix an exploit or race condition).

Linking a server into an InspIRCd spanning tree is relatively straightforward for anyone who's handled IRC servers and their protocols before. InspIRCd's protocol is a UID/SID based protocol similar in behaviour to the TS6 protocol used by some other ircds (for example when merging channels and dealing with collisions).

Please note that the InspIRCd spanning tree protocol is not related in any way to the CISCO Spanning Tree Protocol used in local area networks. The name of our protocol comes from the mathematical name for the tree structure it represents, similar to the reason for their naming.

Protocol Documentation

Due to the advanced and detailed nature of the InspIRCd protocol, from 1.2 onwards it is split into multiple sections for easier searching and readability. Please choose the section you require from the list below:

  • Connecting a server - Guide to connecting two servers together, authentication mechanisms and handshake protocols.
  • Commands - A list of commands supported by the InspIRCd protocol, where such commands differ from standard RFCs.
  • UUIDs - A guide to UUIDs (Universally Unique Identifiers) used to identify users and servers.
  • Nickname Collision Handling - A guide to collision handling and prevention of unnecessary nickname collision kills in InspIRCd 1.2 and later.
  • Message Routing - A guide to message routing in the InspIRCd protocol
  • Server Types - A guide to different types of server in the InspIRCd protocol
  • Timestamp Synchronization - Keeping your clocks correct: Important for IRC as a whole.
  • Example Traffic - An example conversation between two InspIRCd 1.2 servers.