$MyINFO
Материал из MyDC's Wiki
Команда протокола NMDC.
Синтаксис
$MyINFO $ALL {ник} {описание}{тэг}$ ${соедиенние}{магический_байт}${email}${шара}$|
Направление команды
- Клиент ---> Хаб
- Хаб ---> Клиент
Описание
- Данная команда отправляется клиентом на хаб и хабом всем клиентам и содержит всю основную информацию о клиенте.
- Эта команда является частью рукопожатия между клиентом и хабом. Посылается клиентом на хаб после получения команды $Hello. Клиент также отсылает эту команду время от времени, а также когда какой-либо из параметров этой команды изменится. Любая, как правило изменённая, отсылка этой команды транслируется хабом всем клиентам с характеристикой NoHello.
Описание параметров команды
- {ник} — ник пользователя (без пробелов).
- {описание} — описание пользователя. Поле, определяемое самим пользователем. Клиенты автоматически к описанию добавляют в конце тэг. Вообще говоря, тэг является необязательным элементом, однако тэг содержит важные параметры, которые помогают хабу общаться с клиентом. Одним из важнейших параметров является режим. При помощи режима хаб определяет, как клиент будет взаимодействовать с ним и с другими клиентами.
- {тэг} — автоматически добавляемый клиентом тэг. Общий вид любого тэга:
<{имя_клиента} V:{версия_клиента},M:{режим},H:{хабы},S:{слоты},{ограничители}>
- Вообще говоря, параметры не обязательно должны быть в тэге именно в такой последовательности. Такая последовательность просто является общепринятой и некоторые клиенты любую другую последовательность параметров могут воспринимать неправильно.
Несколько примеров различных видов тэгов
- {имя_клиента} — имя, которое определяет тот или иной клиент.
- {версия_клиента} — версия, под которой выпущен клиент.
- {режим} — режим клиента. Может принимать значения: 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.
- Типы статусов (коды ASCII-символов для данного статуса):
- normal (1, 16, 17, 32);
- normal away (2, 3, 18, 19);
- server (4, 5, 12, 13, 20, 21, 28, 29);
- server away (6, 7, 14, 15, 22, 23, 30, 31);
- fireball (8, 9, 24, 25);
- fireball away (10, 11, 26, 27).
- Статус server используется, когда клиент пробыл на хабе больше 2 часов, расшарил больше 2 ГБ и имеет отдачу свыше 200 МБ.
- Статус fireball используется, когда с клиента скачивают со скоростью, превышающей 100 КБ/с.
- Клиент Greylink и его производные используют старшие биты этого байта для хранения информации о поле пользователя.
- {email} — 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
В параметрах данной команды символы $ и | недопустимы!