Синтаксис:
$MyINFO $ALL [Ник] [Описание][Тэг]$ $[Соедиенние][Флаг]$[E-Mail]$[Шара]$|
Направление команды:
Клиент ---> Хаб
Хаб ---> Клиент
Описание:
Данная команда отправляется клиентом на хаб, и хабом всем клиентам, и содержит всю основную информацию о клиенте.
Описание параметров команды:
[Ник] — ник пользователя (без пробелов).
[Описание] — описание пользователя. Поле, определяемое самим пользователем. Клиенты автоматически к описанию добавляют в конце тэг. Вообще говоря, тэг является необязательным элементом, однако тэг содержит важные параметры, которые помогают хабу общаться с клиентом. Одним из важнейших параметров является режим. При помощи режима хаб определяет, как клиент будет взаимодействовать с ним и с другими клиентами.
[Тэг] — автоматически добавляемый клиентом тэг. Общий вид любого тэга: <[Имя_клиента] V:[Версия_клиента],M:[Режим],H:[Хабы],S:[Слоты],[Ограничители]>
Вообще говоря, параметры не обязательно должны быть в тэге именно в такой последовательности. Такая последовательность просто является общепринятой и некоторые клиенты любую другую последовательность параметров могут воспринимать неправильно.
Несколько примеров различных видов тэгов:
GreyLink | <gl++ V:x,M:x,H:x/y/z,S:x,L:x> |
PE Link | <pl++ V:x,M:x,H:x/y/z,S:x,L:x> |
AvaDC++ | <AvaDC V:x,M:x,H:x/y/z,S:x,L:x> |
GreyLinkDC++Mod | <GreylinkDC++ v:x,M:x,H:x/y/z,S:x,L:x> |
EiskaltDC++ | <EiskaltDC++ V:x,M:x,H:x/y/z,S:x> |
ApexDC++ | <ApexDC++ V:x,M:x,H:x/y/z,S:x,L:x> |
DC++ | <++ V:x,M:x,H:x/y/z,S:x,O:x> |
BCDC++ | <++ V:x,M:x,H:x/y/z,S:x,O:x,B:x> |
CZDC++ | <++ V:x,M:x,H:x/y/z,S:x,O:x,L:x> |
DC:Pro | <DC:PRO V:x,M:x,H:x/y/z,S:x,O:x,F:x/y> |
DC++k CDM | <++ V:x,M:x,H:x/y/z,S:x,O:x> |
DCDM++ | <++ V:x,M:x,H:x/y/z,S:x,O:x,B:x> |
DCGUI | <DCGUI V:x,M:x,H:x,S:x,L:x> |
iDC++ | <++ V:x,M:x,H:x/y/z,S:x,O:x> |
MS++V | <++ V:x,M:x,H:x/y/z,S:x,O:x,B:x> |
NMDC v2 | <DC V:x,M:x,H:x/y/z,S:x,O:x> |
oDC | <oDC V:x,M:x,H:x/y/z,S:x,O:x> |
PhantomDC | <++ V:x,M:x,H:x/y/z,S:x,O:x,B:x> |
PeerWebDC++ | <PWDC++ V:x,M:x,H:x/y/z,S:x> |
PeerWebDC++ | <PWSDC++ V:x,M:x,H:x/y/z,S:x> |
rmDC++ | <RMDC++ V:y,M:x,H:x/y/z,S:x,O:x,B:x,D:x> |
StrongDC++ | <StrgDC++ V:y,M:x,H:x/y/z,S:x,O:x,L:x> |
zDC++ | <++ V:x,M:x,H:x/y/z,S:x,O:x> |
Z++ | <Z++ V:x,M:x,H:x/y/z,S:x,L:x> |
LDC++ | <LDC++ V:x,M:x,H:x/y/z,S:x,L:x> |
FlylinkDC++ | <FlylinkDC++ V:x,M:x,H:x/y/z,S:x,L:x> |
RSX++ | <RSX++ V:x,M:x,H:x/y/z,S:x,L:x> |
zK++ | <zK++ V:x,M:x,H:x/y/z,S:x,L:x> |
UKCable++ | <UKC++ V:x,M:x,H:x/y/z,S:x,L:x> |
[Имя_клиента] — имя, которое определяет тот или иной клиент.
[Версия_клиента] — версия, под которой выпущен клиент.
[Режим] — режим клиента. Может принимать значения: A, P или иное (5). A — активное соединение с хабом, P — пассивное соединение с хабом, 5 — соединение через прокси–сервер SOCKS5
[Хабы] — хабы, на которых находится клиент. Параметр может иметь следующий формат: U/R/O, где U — число хабов, на которых данный пользователь является незарегистрированным, R — число хабов, на которых данный пользователь является зарегистрированным, O — число хабов, на которых пользователь яляется ОПератором.
[Слоты] — число свободных или полное число слотов в клиенте.
[Ограничители] — данный параметр является не обязательным. Он может содержать в себе несколько параметров. Всё зависит от того или иного клиента. Обычно данный параметр показывает ограничение скорости. Конкретные значения данного параметра не привожу, для тех, кто хочет узнать его значения, я привёл примеры тэгов различных клиентов (см. чуть выше)
[Соединение] — тип соединения с хабом (указывается либо тип соединения, либо скорость соединения). Устанавливается непосредственно пользователем клиента.
Типы соединений в клиенте NMDC1: 28.8Kbps, 33.6Kbps, 56Kbps, Satellite, ISDN, DSL, Cable, LAN(T1), LAN(T3).
Типы соединений в клиенте NMDC2: Modem, ISDN, Wireless, DSL, Cable, Satellite, LAN(T1), LAN(T3).
Новые типы (Мбит/c): 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100, 1000
[Флаг] — статус пользоателя (ascii символ). Этот символ ещё называют магическим байтом. При отсутствии принимает значение кода 0.
Первые 4 бита имеют следующее значение:
- normal (0, 1, 12, 13, 14, 15) (обычно 1, а не 0)
- normal away (2, 3)
- server (4, 5)
- server away (6, 7)
- fireball (8, 9)
- fireball away (10, 11)
Биты 5 и 6 указывают половую принадлежность пользователя
- 0 .. 31 — не указано
- 32 .. 63 — Муж
- 64 .. 95 — Жен
- 96 .. 127 — «Нас тут много»
Статус server используется, когда клиент пробыл на хабе больше 2 часов, расшарил больше 2 ГБ и имеет отдачу свыше 200 МБ.
Статус fireball используется, когда с клиента скачивают со скоростью, превышающей 100 КБ/с.
[E-Mail] — email адрес пользователя. Может отсутствовать (пустая строка). Как правило, хабы не проверяют содержимое этого поля. Это ещё одно поле, аналогичное описанию, которое пользователь заполняет на своё усмотрение
[Шара] — количество байт, которые расшарил пользователь. Этот параметр в любом случае должен приводиться к числу
Расшифровка буквенных обозначений тэга (на английском):
V: | Client Version. |
M: | Mode. |
H: | The number of Hubs the client is connected to. |
S: | Number of Slots open. |
O: | Open an extra slot if speed is below. |
B: | Upload Bandwidth limit in kb/s. |
L: | Upload bandwidth Limit. |
D: | Download bandwidth limit in kb/s. |
F: | Fraction download / upload. |
Возможные комбинации ограничителей:
- L:x
- O:x
- O:x,B:x
- O:x,B:x,D:x
- O:x,L:x
- O:x,F:x/y
Ограничители, ограничивающие скорость скачки:
- L:x
- B:x
- F:x/y
В параметрах данной команды символы $ и | не допустимы!
Эта команда является частью рукопожатия между клиентом и хабом. Посылается клиентом на хаб после получения команды $Hello. Клиент также отсылает эту команду время от времени, а также когда какой–либо из параметров этой команды изменится. Любая, как правило изменённая, отсылка этой команды транслируется хабом всем клиентам с характеристикой NoHello
Оригинал (by Setuper): http://mydc.ru/index.html?showtopic=915&view=findpost&p=6721