Introduction

I have compiled this protocol documentation from various sources in hopes of creating a complete Direct Connect protocol reference.

Version 1.4
Last Update 05/07/03
The following users have contributed to this file.

Sid
aDe
Sedulus
David Marwood
Suxxx
Stefan Gorling
Sphinx

The Direct Connect network is composed of Hubs, Clients, and the HubListServer. Hubs listen on TCP port 411 and allow many clients to connect and exchange commands such as searches and chat messages. Essentially, hubs are a naming service and communication facilitator for clients. Clients store files and respond to searches against those files. The HubListServer acts as a naming service for all the hubs. All hubs register with the HubListServer and clients discover hubs by asking the HubListServer. Clients are run by users, each of whom has a nick (aka username).

The TCP data is a series of commands, each in the form of,

<command>|

The | indicates the end of a command and is not followed by a newline.

Certain users are designated as Ops by the hub and are able to issue certain commands not available to other users.


Introduction -- Introduction
Client2Client_Handshake -- Client to Client HandShake
Client2Server_Login -- Client to Server Login
Server2RegServer_HubRegistration -- Server to Hub Registration Server Communication
Command_Types_(client_to_client) -- Command Types (client to client)
Command_Types_(client_to_server) -- Command Types (client to server)
Command_Types_(server_to_server) -- Command Types (server to server)
Command_Types_(experimental) -- Command Types (experimental)
Appendix_A -- Converting a Lock into a Key
Appendix_B -- Creating a Lock