RFC 1459, IRC : Table of contents


                      Internet Relay Chat Protocol

Status of This Memo

   This memo defines an Experimental Protocol for the Internet
   community.  Discussion and suggestions for improvement are requested.
   Please refer to the current edition of the "IAB Official Protocol
   Standards" for the standardization state and status of this protocol.
   Distribution of this memo is unlimited.

Abstract

   The IRC protocol was developed over the last 4 years since it was
   first implemented as a means for users on a BBS to chat amongst
   themselves.  Now it supports a world-wide network of servers and
   clients, and is stringing to cope with growth. Over the past 2 years,
   the average number of users connected to the main IRC network has
   grown by a factor of 10.

   The IRC protocol is a text-based protocol, with the simplest client
   being any socket program capable of connecting to the server.

Table of Contents

1. INTRODUCTION 
1.1 Servers 
1.2 Clients 
1.2.1 Operators 
1.3 Channels 
1.3.1 Channel Operators 
2. THE IRC SPECIFICATION 
2.1 Overview 
2.2 Character codes 
2.3 Messages 
2.3.1 Message format in 'pseudo' BNF 
2.4 Numeric replies 
3. IRC Concepts 
3.1 One-to-one communication 
3.2 One-to-many 
3.2.1 To a list 
3.2.2 To a group (channel) 
3.2.3 To a host/server mask 
3.3 One to all 

3.3.1 Client to Client 
3.3.2 Clients to Server 
3.3.3 Server to Server 
4. MESSAGE DETAILS 
4.1 Connection Registration 
4.1.1 Password message 
4.1.2 Nickname message 
4.1.3 User message 
4.1.4 Server message 
4.1.5 Operator message 
4.1.6 Quit message 
4.1.7 Server Quit message 
4.2 Channel operations 
4.2.1 Join message 
4.2.2 Part message 
4.2.3 Mode message 
4.2.3.1 Channel modes 
4.2.3.2 User modes 
4.2.4 Topic message 
4.2.5 Names message 
4.2.6 List message 
4.2.7 Invite message 
4.2.8 Kick message 
4.3 Server queries and commands 
4.3.1 Version message 
4.3.2 Stats message 
4.3.3 Links message 
4.3.4 Time message 
4.3.5 Connect message 
4.3.6 Trace message 
4.3.7 Admin message 
4.3.8 Info message 
4.4 Sending messages 
4.4.1 Private messages 
4.4.2 Notice messages 
4.5 User-based queries 
4.5.1 Who query 
4.5.2 Whois query 
4.5.3 Whowas message 
4.6 Miscellaneous messages 
4.6.1 Kill message 
4.6.2 Ping message 
4.6.3 Pong message 
4.6.4 Error message 
5. OPTIONAL MESSAGES 
5.1 Away message 
5.2 Rehash command 
5.3 Restart command 

5.4 Summon message 
5.5 Users message 
5.6 Operwall command 
5.7 Userhost message 
5.8 Ison message 
6. REPLIES 
6.1 Error Replies 
6.2 Command responses 
6.3 Reserved numerics 
7. Client and server authentication 
8. Current Implementations Details 
8.1 Network protocol: TCP 
8.1.1 Support of Unix sockets 
8.2 Command Parsing 
8.3 Message delivery 
8.4 Connection 'Liveness' 
8.5 Establishing a server-client connection 
8.6 Establishing a server-server connection 
8.6.1 State information exchange when connecting 
8.7 Terminating server-client connections 
8.8 Terminating server-server connections 
8.9 Tracking nickname changes 
8.10 Flood control of clients 
8.11 Non-blocking lookups 
8.11.1 Hostname (DNS) lookups 
8.11.2 Username (Ident) lookups 
8.12 ConGfiguration file 
8.12.1 Allowing clients to connect 
8.12.2 Operators 
8.12.3 Allowing servers to connect 
8.12.4 Administrivia 
8.13 Channel membership 
9. Current problems 
9.1 Scalability 
9.2 Labels 
9.2.1 Nicknames 
9.2.2 Channels 
9.2.3 Servers 
9.3 Algorithms 
10. Support and availability 
11. Authors' Addresses