Описание протокола NMDC

Материал из MyDC's Wiki

Перейти к: навигация, поиск

Структурированное описание протокола NeoModus Direct Connect (NMDC), под управлением которого, на сегодняшний день, работает подавляющее большинство хабов.

Содержание

О структуре команд

Все команды протокола начинаются с символа $. Исключение составляет команда сообщения чата, которая должна иметь следующую структуру:

<Ник> Сообщение|

При этом, данный синтаксис команды чата обязателен в направлении клиентхаб, в то время, как хаб может отсылать клиенту любые сообщения, не начинающиеся с символа $, и клиенты должны принимать такие сообщения, однако обработка таких сообщение не регламентирована протоколом (клиент может отображать такие сообщения как в чате, так и в статусной строке, или же вовсе игнорировать их).

Символы-разделители протокола: $, | и пробел. Протокол не имеет экранирующих символов, поэтому для отсылки символов $ и | в параметрах команд нужно использовать их HTML-коды: &#36; и &#124;

Строка сообщения разделяется на команды посредством символа |. Пример трёх команд, отосланных одной строкой:

$Cmd1 параметр|$Cmd2|$Cmd3 параметр1 параметр2$параметр3|

Взаимодействие хаб-клиент

$BadPass
$Close
$ConnectToMe
$ExtJSON
$ForceMove
$GetINFO
$GetNickList
$GetPass
$Hello
$HubIsFull
$HubName
$HubTopic
$Key
$Kick
$Lock
$LogedIn
$MyINFO

$MyPass
$MultiConnectToMe
$MultiSearch
$NickList
$OpForceMove
$OpList
$Quit
$RevConnectToMe
$Search
$SR
$Supports
$To
$UserCommand
$UserIP
$Version
$ValidateNick
$ValidateDenide

Взаимодействие клиент-клиент

$Cancel
$Canceled
$Direction
$Error
$Failed
$FileLength
$Get

$GetListLen
$Key
$Lock
$MaxedOut
$MyNick
$Ping
$Send

Взаимодействие хаб-хаб

$FeaturedNetworks
$ConnectToMe
$Search
$SR
$Up
$UpToo

Взаимодействие хаб-хаблист

$Key
$Lock
$Supports

Взаимодействие пингер-хаб

$BotINFO / $HubINFO
$Key
$Lock
$Supports

Команды характеристик

$ADCGET / $ADCSND
$BotList
$Capabilities
$FeaturedNetworks
$GetZBlock
$MCTo

$Sending
$UGetBlock
$UGetZBlock
$Z
$ZOn

Разное

TTH
Lock2Key

Известные характеристики

Хаб-Клиент

BotList
ClientID
DHT0
Feed
HubTopic
IN
MCTo
NoGetINFO
NoHello

OpPlus
QuickList
TTHSearch
UserCommand
UserIP2
ZLine
ZPipe0

IP64
IPv4

Клиент-Клиент

ADCGet
BZList
CHUNK
ClientID
GetCID
GetTestZBlock

GetZBlock
MiniSlots
TTHL
TTHF
XmlBZList
ZLIG

Последовательности команд

"Рукопожатие" между клиентом и хабом.

Общая последовательность входа на хаб.

С характеристикой QuickList

При регистрации в хаб-листе

Последовательность входа на хаб PtokaX

(последовательные команды могут отсылаться одной строкой, разделённой символом | )

При получении списка пользователей (GetNickList) на хабе PtokaX

Последовательность входа на хаб HeXHub

(последовательные команды могут отсылаться одной строкой, разделённой символом | )

См. также

Direct Connect

Ссылки

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
RusHub
Инструменты
Портал