Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Служебные скрипты [PtokaX] _ User Mode Fixer

Автор: Enyby 15.1.2012, 20:02

Название скрипта: User Mode Fixer
Версия скрипта: 2.05
Платформа: PtokaX
Версия API: API2
Автор: Enyby
Автор идеи: http://mydc.ru/index.html?showtopic=5097&view=findpost&p=41695

Библиотека: Для работы скрипта требуется библиотека http://mydc.ru/topic43.html

Описание: Скрипт предназначен для исправления режима подключения пользователей. Подменяет нерабочий актив на пассив в поиске и запросах на соединение.

Возможности скрипта:
При подключении нового пользователя, если он актив, то проверяется доступность порта для соединения. Если порт не доступен, то хаб переводит клиента в режим переопределенного пассива. В этом режиме поисковые команды преобразуются в пассивные, а CTM в RCTM.
При включении режима исправлений IP адресов и ников, скрипт исправляет команды с неверными данными. DDoS'еры получают DDoS на свой адрес, а обычные пользователи могут искать и качать даже с неверным внешним IP адресом и/или ненастроенном активе. Правда только как пассивы.

Дополнительная информация:



Совместимость с другими скриптами:

TODO list
  1. Сделать проверку на наличие на порту нужного DC клиента, так как там может быть случайно указан какой-то другой открытый порт. Увы, сокеты в луа не позволяют это выполнить с приемлимыми затратами.
  2. Сделать проверку активных (по присылаемому тэгу) клиентов не только при входе на хаб, но и периодически во время нахождения на хабе, так как за это время проброс портов может измениться. Да и не только он. Функция опциональна и должна быть отключаема. По дефолту включена. Интервал проверки должен задаваться отдельно. По умолчанию 1 час.
  3. Сделать проверку размера очереди. Если значение больше некоторого предела, то уведомлять операторов, возможно утечка в пуле или еще какие-то проблемы.

История версий
v2.05:
  • Реализована обработка отключения пользователей без вызова UserDisconnected.

v2.04:
  • Доработан отладочный вывод.

v2.03:
  • Добавлена дополнительная проверка для одного плавающего бага.

v2.02:
  • Доработан вывод ошибок
  • Добавлены дополнительные проверки
  • Доработана статистика

v2.01:
  • Исправлены дефолтные настройки

v2.00:
  • Ядро скрипта переписано заново
  • Своя система учета числа пользователей
  • Экономное расходование ресурсов пула

v1.13:
  • Улучшена и доработана статистика.
  • Исправлен баг, связанный с учетом отключений пользователей разных профилей
  • Добавлена опция отключения валидации через функцию PtokaX

v1.12:
  • Улучшена и доработана статистика.

v1.11:
  • Улучшена и доработана статистика.
  • Улучшена и доработана быстрая отладка.
  • Добавлена возможность использования пользовательского меню.
  • Добавлена возможность исправления тэгов пользователей.

v1.10:
  • Улучшена и доработана статистика.
  • Меню сделано зависимым от активных настроек скрипта.

v1.09:
  • Исправлена ошибка целостности.
  • Добавлено исправление целостности при ее нарушении.
  • Добавлена быстрая отладка.
  • Добавлена генерация репортов при валидации. Теперь репорты приходят адекватно.
  • Поддержка изменения режима подключения "на лету", без переподключения к хабу.

v1.08:
  • Переработан вывод статистики.
  • Добавлена опция валидации целостности.

v1.07:
  • Исправлен подсчет занятого пула.

v1.06:
  • Добавлена возможность исправления IP адресов и ников в командах.
  • Добавлена очередь с пулом.
  • Реализован мягкий старт скрипта. Никаких подвисаний на старте.
  • Добавлена возможность указания отдельного бота для скрипта.
  • Добавлена возможность ведения отладочного лога.

v1.05:
  • Исправлена ошибка двойной отсылки статистики.
  • Добавлены данные про хаб и ОС в статистику.

v1.04:
  • Исправлена ошибка в очищении таблицы сокетов.
  • Добавлена статистика.

v1.03:
  • Добавлена возможность игнорирования несовпадения IP адресов. Если она не включена - будет выкидывать с хаба с соответствующим сообщением.

v1.02:
  • Убрана возможность исправления IP. Потому как это только дополнительная нагрузка на хаб. Для работы этой опции нужно отключить встроенную защиту хаба от DDoS, что крайне опасно.

v1.01:
  • Добавлены проверки на предмет существования адресата CTM на хабе.
  • Добавлена возможность исправления CTM команд с неверным IP адресом. Полезна как дополнительная защита от DDoS и от кривых настроек активного режима у клиентов.
  • Добавлена возможность включить игнорирование несовпадения ников в CTM команде.
  • Содержит ошибки! В частности в 119 строке.

v1.00:
  • Первая версия. Публичный релиз.


 UserModeFixer_v2.05.lua ( 45.42 килобайт ) : 245
Предыдущие версии
 UserModeFixer_v2.04.lua ( 43.84 килобайт ) : 9

 UserModeFixer_v2.03.lua ( 43.82 килобайт ) : 8

 UserModeFixer_v2.02.lua ( 43.54 килобайт ) : 4

 UserModeFixer_v2.01.lua ( 43.38 килобайт ) : 11

 UserModeFixer_v2.00.lua ( 43.51 килобайт ) : 7

 UserModeFixer_v1.13.lua ( 37.61 килобайт ) : 9

 UserModeFixer_v1.12.lua ( 37 килобайт ) : 9

 UserModeFixer_v1.11.lua ( 36.22 килобайт ) : 14

 UserModeFixer_v1.10.lua ( 30.32 килобайт ) : 4

 UserModeFixer_v1.09.lua ( 28.82 килобайт ) : 7

 UserModeFixer_v1.08.lua ( 22.8 килобайт ) : 4

 UserModeFixer_v1.07.lua ( 19.95 килобайт ) : 5

 UserModeFixer_v1.06.lua ( 19.51 килобайт ) : 15

 UserModeFixer_v1.05.lua ( 12.38 килобайт ) : 9

 UserModeFixer_v1.04.lua ( 12.21 килобайт ) : 5

 UserModeFixer_v1.03.lua ( 6.88 килобайт ) : 18

 UserModeFixer_v1.02.lua ( 6.74 килобайт ) : 3

 UserModeFixer_v1.01.lua ( 7.13 килобайт ) : 2

 UserModeFixer_v1.00.lua ( 5.94 килобайт ) : 5

Предыдущие версии выложены, исключительно, для ознакомления с их исходным кодом. Это связано с тем, что я могу убрать из последней версии какой-то функционал, который вам может пригодится при написании своих скриптов. Если же вас интересует использование скрипта на своем хабе, настоятельно рекомендую использовать только последнюю версию. В старых версиях могут быть ошибки.


P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке http://mydc.ru/r/?http://inethub.olvi.net.ua/ftp/pub/Soft/Servers/DC%2B%2B/LUA%20scripts/Enyby/ http://mydc.ru/r/?ftp://inethub.olvi.net.ua/pub/Soft/Servers/DC++/LUA%20scripts/Enyby/.

Автор: Ameet 16.1.2012, 13:02

Хотел бы попробовать данный скрипт но у меня хаб намного больше, можно че-то для 3+к онлайна?

Автор: Enyby 16.1.2012, 13:15

На данный момент ситуация такая - при старте он проверяет всех пользователей сразу. Если их много, могут быть проблемы с одновременным подключением ко всем. Во-первых, это много коннектов, а, во-вторых, в реализации на windows socket_select используется битовые значения одного байта, а их 256.
Но по сути ничего страшного не произойдет, может просто определит кому-то пассив принудительно. Можно попробовать таймаут увеличить. Например, с 3 секунд до 15-20.
После старта может казаться что хаб завис, это нормально, оно пройдет. Сейчас неблокирующие сокеты. В случае блокирующих, подобные эффекты наблюдались на хабе с 160 пользователями. На данный момент скрипт работает на моем хабе, адрес которого в подписи. Сутки прошли - полет нормальный.
Основная проблема скрипта - старт. Если не хотите тяжелого старта, закомментируйте всю функцию OnStartup, тогда скрипт будет работать только для нововошедших пользователей.
После старта скрипт работает нормально и там проблем быть не должно.

Если совем будет туго, то я уже говорил, что перепишу на пул сокетов с очередью.

UPD:
Даже если на старте определит как переопределенный пассив, достаточно будет перезайти этим пользователям и ситуация нормализуется.

Еще одно. Скрипт потребляет неплохо память. На моем хабе это порядка 600 кб для 150 пользователей. Сейчас 130 кб на 116 человек. Прямой корреляции между числом пользователей и потреблением памяти не должно быть, скорее между числом переопределенных пассивов + нововошедших пользователей. Такж может влиять активность пользователей с переопределенным пассивом, так как скрипт берет на себя часть функций хаба.

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

Автор: Ksan 16.1.2012, 13:50

Enyby

Цитата
Если не хотите тяжелого старта, закомментируйте всю функцию OnStartup, тогда скрипт будет работать только для нововошедших пользователей.
Я думаю, это надо закомментить заранее в твоём скрипте уже в первом сообщении, или вовсе убрать и перезалить. Ведь особой необходимости нет, чтоб из-за этого скрипта перезапускать хаб, а при рестарте по иным причинам так и так всё пойдёт т ак, как при наличии функции OnStartup.
Цитата
Скрипт потребляет неплохо память. На моем хабе это порядка 600 кб для 150 пользователей. Сейчас 130 кб на 116 человек.
Это фигня, а не память, у меня стоит скрипт, занимающий несколько десятков мб памяти (UserInfoF12_api2.lua). big_smile.gif И ничего, хабу нипочём.
Цитата
[17:51:28] <MemBot> UserInfoF12_api2.lua = 57172.27 Kb.

Автор: Enyby 16.1.2012, 13:59

Это все мои догадки. Если действительно все будет так как я описал, кому надо - отключат. В следующей версии переделаю на пул. Больших хабов мало, а маленьких много. С маленькими все работает нормально.

Автор: LoT 16.1.2012, 19:56

Хм, вроде бы, работает, спасибо, полезная штука. Потестируем.

P.S. Еще бы тэг при этом менялся ;), а то смотришь список, видишь "активного" пользователя, а оно на самом деле... но это мелочи жизни)...

Автор: Enyby 17.1.2012, 2:00

Я думал над этим. Но это лишние проблемы. Во-первых, нагрузка. Во-вторых, нельзя отменить отсылку $MyInfo, можно только отослать второй раз исправленный вариант. В-третих, скрипт станет резко несовместимым с любыми скриптами изменяющими $MyInfo.

Но если так нужно и вас устраивает - могу сделать, никаких особых проблем нет.

PS
Если у вас установлены скрипты которые фильтруют поиск, то они должны быть выше этого скрипта, иначе они работать не будут. Но тут тоже есть ограничения. Данные скрипты должны или запрещать обработку поиска, вернув true в функции или пропускать для дальнейшей обработки. Если же происходит поиск посредством скрипта в обход обработки хаба, то такой поиск не будет перехвачен и обработан этим скриптом.
Тоже самое касается и комманд ConnectToMe (CTM) и RevConnectToMe (RCTM). Насчет последней есть еще одно дополнение. Все выше стоящие скрипты не должны запрещать или обрабатывать RCTM для бота хаба. Если у вас есть такие скрипты, то вам потребуется добавить отдельного бота для моего скрипта и указать его ник. Это довольно просто сделать. Если кому-то будет нужно - расскажу как.

ADD:
Хотелось бы видеть отзывы от тех кто поставил скрипт, особенно касательно хабов с большим онлайном. Более 256 пользователей онлайн на момент старта.

ADD:
Артём провел тест, за что ему спасибо. 1243 пользователя. Потребление памяти - 739 кб. Тормозов нет. Глюков тоже или же не замечены (возможно какой-то рабочий актив и переопределило в пассив, но этого точно сказать нельзя). Тестировалось на ОС Windows.

Автор: Littlemuk 17.1.2012, 7:28

Сужу по своей машине. Я за роутером. Каждый раз скрипт меня определял либо активом, либо пассивом. Это при запуске скрипта.
Кстати, у меня онлайн 300. При саааамом первом запуске хаб "подвис" на пару секунд. Последующие перезапуски скрипта - все ок.
ЗЫ Как можно отключить сообщение бота в чат?

Автор: Enyby 17.1.2012, 9:23

Отключить можно, причем достаточно просто.
Строка 158:

Код
    Core.SendToUser(tUser, "<"..sBot.."> Ваш IP: "..tUser.sIP.." Ваш режим: "..tMode[iMode]..".")

Добавьте перед ней два тире в начале:
Код
--    Core.SendToUser(tUser, "<"..sBot.."> Ваш IP: "..tUser.sIP.." Ваш режим: "..tMode[iMode]..".")

Но на самом деле, эти сообщения нормальны. Они приходят только при входе пользователя на хаб или при перезапуске скрипта. В штатной ситуации он не должен перезапускаться по 100 раз на дню. Поэтому это сообщение будет у пользователя один раз за все время его каждого посещения.
Это сообщение сделано для знающих, чтобы они видя, что у них переопределенный пассив, могли настроить у себя нормально актив.

ADD:
Подправил информацию в первом посте.

ADD:
Littlemuk, если у тебя скачет определение пассива и актива, то это плохо. Скрипт видимо глючит. Но это только в моменты его рестарта. В дальнейшем крайне маловероятно, что на хаб войдет более 256 активных пользователей одновременно. Это будет исправлено в следующей верссии (5 пункт TODO).

ADD:
Littlemuk, а какая у тебя OS? Windows?

Автор: Kingston 17.1.2012, 10:32

Linux Debian, Ptokax 0.4.1.2, онлайн 300+
При запуске: секунд 20 подвис, потом сообщение: пассив (переопределен), при этом поиск не работает.
После перезахода Ваш режим: пассив (переопределен), но поиск уже работает. Это у одного клиента, у другого клиента, с этой же сети, поиск не работает.

Автор: Enyby 17.1.2012, 10:35

Других скриптов, модифицирующих поиск нет?
Странно, что поиск не работает. Он должен в любом случае работать, даже если детекция режима прошла неверно. Сколько раз проверяли поиск?

Автор: Littlemuk 17.1.2012, 11:10

Винда 7ка х64
Народ начал жаловаться на отсутствие поиска. Жалобы от пассивов. Других скриптов модифицирующих поиск нет.

Автор: Enyby 17.1.2012, 11:43

Крайне странно. В работу обычных пассивов скрипт не вмешивается. Хаб интернет? Если да, то сообщите адрес, я зайду потестирую.

У меня сейчас включен скрипт (в подписи адрес хаба), только что зашел полным пассивом, написало что у меня обычный пассив, не переопределенный, и поиск работает.

Автор: Kingston 17.1.2012, 12:24

Enyby, несколько раз проверяли. с другой сети и с инета пользователи. у одного ищет после перезахода, у кого то без перезахода. а режим пишется пассив (переопределен), у тех с кто проверял.
есть скрипт NetworkSeparation.lua с заданными диапазонами сетей, но он не влияет на поиск в пределах одной сети, и не мешает скрипту, наверное.

Автор: Enyby 17.1.2012, 12:31

Вот это "наверное", очень под вопросом.

Посмотрел код NetworkSeparation_v1.3.1___API_2_____by_Nickolya___.lua - конфликтов не вижу. Правда скрипт может блокировать поисковые результаты пассивного поиска, если включено разделение сетей. Так что лучше его выключать на обкатке, чтобы было яснее, какой из скриптов виноват.

Автор: Kingston 17.1.2012, 12:59

Проблема оказалась в нем, сейчас все работает, определяется режим верно, и поиск работает. Хороший скрипт!
Все забывал показать сколько памяти кушает скрипт: UserModeFixer_v1.03.lua (4621 kB) при этом онлайн 450+

Автор: Enyby 17.1.2012, 13:57

Новая версия 1.04. Теперь есть статистика. У кого какие-то проблемы - включаете расширенную статистику и присылаете ее сюда.
Также приветствуется расширенная статистика с крупных хабов, это поможет улучшить скрипт в дальнейшем.

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

ADD:
Пример статистики. Снято с моего хаба.

Код
    Статистика для скрипта User Mode Fixer v1.04

    Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = true
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

    Статистика:
MaxOnlineFixedPassive = 9
MaxOnlinePassive = 35
+SendRCTMforBot = 82
MinWaitSocket = 0
WaitCTM = 0
OnlineActive = 63
MinOnlineFixedPassive = 1
MaxOnlineActive = 68
OnlinePassive = 34
MaxWaitSocket = 65
OnlineFixedPassive = 8
MinOnlineActive = 1
MaxWaitCTM = 73
+FixedSearch = 8
+OtherCTMForBot = 3
MinOnlinePassive = 1
MinWaitCTM = 0
+ValidCTMForBot = 78
WaitSocket = 0

    Статус:
#tClientSockets = 0
#tActiveToPassive = 8
#tClientConnect = 0
#tActiveToPassive = 0
#tSocketNick = 0
MemoryUsage = 870 KB

Автор: Kingston 17.1.2012, 14:37

247 строка лишняя, отсылается дважды стата

Автор: Артём 17.1.2012, 14:42

Enyby

Код
[14:41:55] <Big-eyed>
    Статистика для скрипта User Mode Fixer v1.04

    Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = false
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

    Статистика:
OnlinePassive = 262
OnlineActive = 263
OnlineFixedPassive = 188
WaitCTM = 0
WaitSocket = 0

    Статус:
#tClientSockets = 0
#tActiveToPassive = 188
#tClientConnect = 0
#tActiveToPassive = 0
#tSocketNick = 0
MemoryUsage = 3857 KB

719 юзеров на хабе

Автор: Enyby 17.1.2012, 14:45

Исправил. Залил версию 1.05.

ADD:
Артём, если не трудно, сделай, пожалуйста, тоже самое, но с "bDetailedStats = true". Это в коде скрипта меняется в начале.

Автор: Артём 17.1.2012, 14:49

Enyby

Статистика
Код
[14:47:29] <Big-eyed>
    Статистика для скрипта User Mode Fixer v1.04

    Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

    Статистика:
MaxOnlineFixedPassive = 335
MaxOnlinePassive = 274
+SendRCTMforBot = 449
MinWaitSocket = 0
WaitCTM = 47
OnlineActive = 64
+BlockedCTM = 13
MinOnlineFixedPassive = 1
MaxOnlineActive = 64
OnlinePassive = 274
MaxWaitSocket = 394
OnlineFixedPassive = 333
+ValidCTMForBot = 401
+BlockedCTMForIP = 1
+FixedSearch = 12
MinOnlinePassive = 1
MinWaitCTM = 1
MinOnlineActive = 1
MaxWaitCTM = 449
WaitSocket = 2

    Статус:
#tClientSockets = 2
    188.134.82.91:5051
    46.247.231.210:19629
#tActiveToPassive = 333
#tClientConnect = 47
#tActiveToPassive = 2
#tSocketNick = 4
MemoryUsage = 3631 KB


Ещё раз
Код
[14:51:09] <Big-eyed> Статистика успешно очищена.
[14:51:13] <Big-eyed>
    Статистика для скрипта User Mode Fixer v1.04

    Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

    Статистика:
MaxOnlineFixedPassive = 380
MaxOnlinePassive = 274
+SendRCTMforBot = 0
MinWaitSocket = 0
WaitCTM = 0
OnlineActive = 62
+BlockedCTM = 35
MinOnlineFixedPassive = 1
MaxOnlineActive = 66
OnlinePassive = 263
MaxWaitSocket = 394
OnlineFixedPassive = 363
+OtherCTMForBot = 0
+FixedCTM = 4
+ValidCTMForBot = 0
+BlockedCTMForIP = 0
+FixedSearch = 8
MinOnlinePassive = 1
MinWaitCTM = 0
MinOnlineActive = 1
MaxWaitCTM = 449
WaitSocket = 0

    Статус:
#tClientSockets = 0
#tActiveToPassive = 363
#tClientConnect = 0
#tActiveToPassive = 0
#tSocketNick = 0
MemoryUsage = 4748 KB

[14:51:13] <Big-eyed>
    Статистика для скрипта User Mode Fixer v1.04

    Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

    Статистика:
MaxOnlineFixedPassive = 380
MaxOnlinePassive = 274
+SendRCTMforBot = 0
MinWaitSocket = 0
WaitCTM = 0
OnlineActive = 62
+BlockedCTM = 35
MinOnlineFixedPassive = 1
MaxOnlineActive = 66
OnlinePassive = 263
MaxWaitSocket = 394
OnlineFixedPassive = 363
+OtherCTMForBot = 0
+FixedCTM = 4
+ValidCTMForBot = 0
+BlockedCTMForIP = 0
+FixedSearch = 8
MinOnlinePassive = 1
MinWaitCTM = 0
MinOnlineActive = 1
MaxWaitCTM = 449
WaitSocket = 0

    Статус:
#tClientSockets = 0
#tActiveToPassive = 363
#tClientConnect = 0
#tActiveToPassive = 0
#tSocketNick = 0
MemoryUsage = 4748 KB

Автор: Damaks 17.1.2012, 16:36

Проверил у себя только что.

Цитата
[16:28:56] Скрипт запущен.
[16:31:26] UserModeFixer_v1.05.lua перезапущен (включил детальную статистику, стату очистил)

Статистика 16:32:54 (около 1130 юзеров)
[16:32:54] <СолнышкО>
Статистика для скрипта User Mode Fixer v1.05

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MaxOnlineActive = -1
OnlinePassive = 5
MaxOnlinePassive = 5
+SendRCTMforBot = 1
MinWaitCTM = 0
+ValidCTMForBot = 0
WaitCTM = 1
MinWaitSocket = 1
MinOnlineActive = -16
+BlockedCTMForIP = 0
OnlineActive = -16
+BlockedRCTM = 4
MaxWaitSocket = 7
MaxWaitCTM = 2
MinOnlinePassive = 1
WaitSocket = 7

Статус:
#tClientSockets = 7
92.82.94.110:1803
188.134.66.48:6620
79.114.50.53:1177
159.224.119.166:1089
92.125.30.158:22001
10.251.140.177:54357
10.70.13.216:25647
#tActiveToPassive = 0
#tClientConnect = 1
#tActiveToPassive = 7
#tSocketNick = 14
MemoryUsage = 228 KB

HubVersion = 0.4.1.2
OS = Windows_NT

Статистика 17:30:24 (около 1360 юзеров)
[17:30:24] <СолнышкО>
Статистика для скрипта User Mode Fixer v1.05

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MaxOnlinePassive = 72
+SendRCTMforBot = 606
MinWaitSocket = 1
WaitCTM = 10
OnlineActive = -264
MaxOnlineActive = -1
OnlinePassive = 69
MinOnlinePassive = -60
+OtherCTMForBot = 1
MinOnlineActive = -264
MaxWaitCTM = 12
MinWaitCTM = 0
+BlockedRCTM = 1041
+ValidCTMForBot = 514
+BlockedCTMForIP = 89
MaxWaitSocket = 278
WaitSocket = 278

Статус:
#tClientSockets = 278
92.82.94.110:1803
10.251.140.177:54357
91.219.101.84:7544
178.150.195.20:17506
10.71.10.236:25514
tcp{client}: 03D15AF2
95.84.61.188:6984
172.26.9.19:11597
10.100.7.96:1412
tcp{client}: 02E183EA
tcp{client}: 02E45D8A
10.193.122.111:5693
91.219.142.92:6286
89.23.207.106:59407
172.26.31.96:12168
213.141.150.91:2000
10.155.51.33:1672
78.106.0.30:6078
213.141.137.166:23288
95.27.184.229:49468
10.250.84.149:4980
178.151.131.107:1898
109.195.28.224:1766
176.215.118.121:3701
95.220.154.119:52026
tcp{client}: 03E764FA
188.25.58.171:49193
tcp{client}: 03BBDF92
176.195.119.150:4474
10.35.200.124:20200
176.14.140.240:14010
172.18.57.30:5353
10.147.32.23:8642
95.27.6.242:24140
77.108.206.63:49221
31.41.68.186:5342
94.242.170.14:7169
87.228.70.85:55111
tcp{client}: 03AE21B2
46.241.65.8:49205
89.169.28.44:3986
10.248.1.75:62694
89.169.28.44:3986
10.251.200.117:1211
91.202.21.54:5159
10.47.86.192:27482
87.79.113.174:53957
87.105.134.7:49279
79.164.138.158:1777
10.191.101.33:5281
78.97.139.71:30007
79.164.142.221:4777
213.149.2.174:5051
10.251.12.120:6645
10.154.23.121:24870
10.71.8.234:5091
10.71.16.17:24342
93.81.82.204:10649
109.86.174.73:5878
tcp{client}: 03DD7082
95.28.88.55:7360
95.28.209.67:19307
178.49.25.196:4000
89.222.134.146:10759
10.155.35.49:14036
10.194.5.50:17588
178.22.192.101:1043
10.230.116.57:22879
93.78.103.20:1648
31.128.130.22:6724
tcp{client}: 03EC9F92
10.35.245.196:27859
95.191.148.53:1234
172.18.22.149:31002
10.155.18.101:28681
109.106.152.31:5348
109.87.78.164:8806
94.45.162.5:22547
213.191.20.236:7296
79.140.25.198:62222
10.10.108.246:30942
92.125.30.158:22001
95.52.132.139:411
159.224.78.141:14688
178.166.138.145:2001
128.68.130.40:2428
tcp{client}: 03DAC01A
tcp{client}: 03ED900A
10.70.13.216:25647
95.69.175.108:1072
10.248.2.96:13177
62.80.196.98:6666
tcp{client}: 03E8086A
tcp{client}: 03D4F072
178.150.114.198:10265
10.250.137.146:30301
88.171.129.196:5555
109.86.185.205:49972
178.166.137.125:55447
109.124.27.128:21757
10.139.93.120:2931
84.240.38.230:52740
194.28.7.252:7105
95.84.13.12:2096
10.230.135.45:12821
89.208.232.214:49158
2.95.255.127:2622
82.114.229.143:5831
79.126.75.36:2643
10.71.65.171:14253
94.229.230.58:63315
46.73.21.122:4947
tcp{client}: 0281103A
10.70.40.21:28294
tcp{client}: 042A5CB2
95.27.27.151:63000
109.87.111.244:4945
109.171.29.36:53331
172.28.4.185:16010
176.195.67.30:49562
89.208.232.201:5871
93.80.238.52:2349
tcp{client}: 041D7EFA
78.110.156.145:3606
tcp{client}: 04272082
41.185.127.62:4251
109.86.195.119:1990
tcp{client}: 03E69882
92.248.213.250:30001
89.23.222.7:56398
10.189.22.74:21833
176.215.106.253:3445
10.71.50.239:20202
10.84.248.101:15202
89.178.182.211:4903
212.13.2.108:4510
79.148.210.110:441
62.33.34.125:24644
172.26.19.77:7206
188.168.78.120:2473
109.60.185.17:27150
85.174.173.140:7227
94.21.170.127:1323
tcp{client}: 043376F2
tcp{client}: 04343022
77.122.61.229:4307
94.242.144.106:2928
90.189.214.62:1234
95.129.61.70:9053
46.166.70.150:2402
95.139.133.15:30001
95.27.25.80:23810
tcp{client}: 042D101A
213.242.44.45:6789
178.165.102.230:50506
10.250.25.233:22486
10.251.209.226:19821
176.195.246.219:10262
tcp{client}: 02E16382
tcp{client}: 041F9062
172.27.105.210:3865
10.251.114.248:4345
95.139.142.155:5145
172.26.10.82:25663
10.159.44.15:31958
87.228.8.221:64491
172.26.57.22:10796
10.228.48.40:1757
92.127.9.48:30001
178.162.51.215:7597
89.179.7.192:5487
tcp{client}: 03B4E25A
46.180.110.72:13060
tcp{client}: 0433F0EA
10.170.169.114:1047
tcp{client}: 043963DA
79.172.104.117:16770
95.215.37.50:52644
94.19.18.247:49183
tcp{client}: 043C701A
tcp{client}: 04235082
89.207.221.253:5458
tcp{client}: 03F7CA5A
213.109.6.49:21
tcp{client}: 043CBDD2
93.100.147.123:3285
84.15.124.79:50737
10.68.118.162:49897
31.42.161.105:6464
188.187.46.211:29095
95.105.61.169:18103
78.155.207.89:55019
94.26.132.75:33555
95.105.78.53:49160
tcp{client}: 043F70A2
46.191.179.171:51538
tcp{client}: 043FC072
94.41.25.122:4955
tcp{client}: 04400142
tcp{client}: 02E0BAA2
tcp{client}: 044021AA
95.105.45.157:4492
tcp{client}: 03E6DE72
tcp{client}: 03E6FEDA
tcp{client}: 04226022
109.196.71.247:26640
tcp{client}: 04432982
93.100.98.215:3084
94.19.23.18:24647
tcp{client}: 0443901A
tcp{client}: 0443B082
94.242.48.68:49396
194.187.207.131:1144
178.140.229.22:54335
188.187.42.100:49912
94.26.143.90:25001
188.134.12.169:10736
tcp{client}: 042E001A
95.104.211.146:15628
188.134.28.47:22428
tcp{client}: 03E93EEA
178.162.119.143:60029
88.201.171.2:3141
188.93.29.148:19464
tcp{client}: 03E15F1A
82.114.244.239:5062
31.135.57.190:7566
tcp{client}: 02E13002
tcp{client}: 03D7A01A
176.53.232.86:21120
10.251.208.218:3114
95.105.1.45:23158
94.188.48.221:1506
213.21.30.175:49197
93.100.90.172:27549
10.139.132.22:4532
tcp{client}: 03D89B02
tcp{client}: 0428524A
93.80.74.250:6206
84.46.159.253:15746
188.134.28.62:3610
217.197.253.216:4304
10.193.20.161:19579
10.71.41.145:5997
tcp{client}: 041CF01A
10.139.169.69:5397
92.100.66.11:10001
93.92.118.11:3307
109.87.3.15:2624
46.73.203.14:58685
176.14.149.57:2000
95.220.150.158:11469
10.251.140.202:7786
10.71.20.29:1978
10.173.190.35:10622
94.27.92.91:3456
77.37.175.35:50966
tcp{client}: 0445C002
10.250.20.165:15939
10.250.173.250:12150
93.79.2.173:52109
95.139.202.1:4289
109.124.43.237:4416
188.134.66.48:6620
tcp{client}: 03C8101A
10.230.63.97:4243
10.230.147.250:6539
109.207.82.162:50397
95.139.254.179:30001
10.251.217.58:26244
79.118.0.110:2172
10.200.17.48:4501
172.18.68.210:25477
94.169.91.22:59068
31.40.69.221:3030
10.251.52.158:3304
93.100.186.67:1832
31.41.59.220:15143
#tActiveToPassive = 0
#tClientConnect = 8
#tActiveToPassive = 276
#tSocketNick = 554
MemoryUsage = 2781 KB

HubVersion = 0.4.1.2
OS = Windows_NT


upd: секцию OnStartup закомментировал с самого начала.

Автор: Артём 17.1.2012, 16:45

хм...

это список проксеров? big_smile.gif
Цитата
Статус:
#tClientSockets = 278
92.82.94.110:1803
10.251.140.177:54357
91.219.101.84:7544
178.150.195.20:17506
10.71.10.236:25514
tcp{client}: 03D15AF2
95.84.61.188:6984
172.26.9.19:11597
10.100.7.96:1412
tcp{client}: 02E183EA
tcp{client}: 02E45D8A
10.193.122.111:5693
91.219.142.92:6286
89.23.207.106:59407
172.26.31.96:12168
213.141.150.91:2000
10.155.51.33:1672
78.106.0.30:6078
213.141.137.166:23288
95.27.184.229:49468
10.250.84.149:4980
178.151.131.107:1898
109.195.28.224:1766
176.215.118.121:3701
95.220.154.119:52026
tcp{client}: 03E764FA
188.25.58.171:49193
tcp{client}: 03BBDF92
176.195.119.150:4474
10.35.200.124:20200
176.14.140.240:14010
172.18.57.30:5353
10.147.32.23:8642
95.27.6.242:24140
77.108.206.63:49221
31.41.68.186:5342
94.242.170.14:7169
87.228.70.85:55111
tcp{client}: 03AE21B2
46.241.65.8:49205
89.169.28.44:3986
10.248.1.75:62694
89.169.28.44:3986
10.251.200.117:1211
91.202.21.54:5159
10.47.86.192:27482
87.79.113.174:53957
87.105.134.7:49279
79.164.138.158:1777
10.191.101.33:5281
78.97.139.71:30007
79.164.142.221:4777
213.149.2.174:5051
10.251.12.120:6645
10.154.23.121:24870
10.71.8.234:5091
10.71.16.17:24342
93.81.82.204:10649
109.86.174.73:5878
tcp{client}: 03DD7082
95.28.88.55:7360
95.28.209.67:19307
178.49.25.196:4000
89.222.134.146:10759
10.155.35.49:14036
10.194.5.50:17588
178.22.192.101:1043
10.230.116.57:22879
93.78.103.20:1648
31.128.130.22:6724
tcp{client}: 03EC9F92
10.35.245.196:27859
95.191.148.53:1234
172.18.22.149:31002
10.155.18.101:28681
109.106.152.31:5348
109.87.78.164:8806
94.45.162.5:22547
213.191.20.236:7296
79.140.25.198:62222
10.10.108.246:30942
92.125.30.158:22001
95.52.132.139:411
159.224.78.141:14688
178.166.138.145:2001
128.68.130.40:2428
tcp{client}: 03DAC01A
tcp{client}: 03ED900A
10.70.13.216:25647
95.69.175.108:1072
10.248.2.96:13177
62.80.196.98:6666
tcp{client}: 03E8086A
tcp{client}: 03D4F072
178.150.114.198:10265
10.250.137.146:30301
88.171.129.196:5555
109.86.185.205:49972
178.166.137.125:55447
109.124.27.128:21757
10.139.93.120:2931
84.240.38.230:52740
194.28.7.252:7105
95.84.13.12:2096
10.230.135.45:12821
89.208.232.214:49158
2.95.255.127:2622
82.114.229.143:5831
79.126.75.36:2643
10.71.65.171:14253
94.229.230.58:63315
46.73.21.122:4947
tcp{client}: 0281103A
10.70.40.21:28294
tcp{client}: 042A5CB2
95.27.27.151:63000
109.87.111.244:4945
109.171.29.36:53331
172.28.4.185:16010
176.195.67.30:49562
89.208.232.201:5871
93.80.238.52:2349
tcp{client}: 041D7EFA
78.110.156.145:3606
tcp{client}: 04272082
41.185.127.62:4251
109.86.195.119:1990
tcp{client}: 03E69882
92.248.213.250:30001
89.23.222.7:56398
10.189.22.74:21833
176.215.106.253:3445
10.71.50.239:20202
10.84.248.101:15202
89.178.182.211:4903
212.13.2.108:4510
79.148.210.110:441
62.33.34.125:24644
172.26.19.77:7206
188.168.78.120:2473
109.60.185.17:27150
85.174.173.140:7227
94.21.170.127:1323
tcp{client}: 043376F2
tcp{client}: 04343022
77.122.61.229:4307
94.242.144.106:2928
90.189.214.62:1234
95.129.61.70:9053
46.166.70.150:2402
95.139.133.15:30001
95.27.25.80:23810
tcp{client}: 042D101A
213.242.44.45:6789
178.165.102.230:50506
10.250.25.233:22486
10.251.209.226:19821
176.195.246.219:10262
tcp{client}: 02E16382
tcp{client}: 041F9062
172.27.105.210:3865
10.251.114.248:4345
95.139.142.155:5145
172.26.10.82:25663
10.159.44.15:31958
87.228.8.221:64491
172.26.57.22:10796
10.228.48.40:1757
92.127.9.48:30001
178.162.51.215:7597
89.179.7.192:5487
tcp{client}: 03B4E25A
46.180.110.72:13060
tcp{client}: 0433F0EA
10.170.169.114:1047
tcp{client}: 043963DA
79.172.104.117:16770
95.215.37.50:52644
94.19.18.247:49183
tcp{client}: 043C701A
tcp{client}: 04235082
89.207.221.253:5458
tcp{client}: 03F7CA5A
213.109.6.49:21
tcp{client}: 043CBDD2
93.100.147.123:3285
84.15.124.79:50737
10.68.118.162:49897
31.42.161.105:6464
188.187.46.211:29095
95.105.61.169:18103
78.155.207.89:55019
94.26.132.75:33555
95.105.78.53:49160
tcp{client}: 043F70A2
46.191.179.171:51538
tcp{client}: 043FC072
94.41.25.122:4955
tcp{client}: 04400142
tcp{client}: 02E0BAA2
tcp{client}: 044021AA
95.105.45.157:4492
tcp{client}: 03E6DE72
tcp{client}: 03E6FEDA
tcp{client}: 04226022
109.196.71.247:26640
tcp{client}: 04432982
93.100.98.215:3084
94.19.23.18:24647
tcp{client}: 0443901A
tcp{client}: 0443B082
94.242.48.68:49396
194.187.207.131:1144
178.140.229.22:54335
188.187.42.100:49912
94.26.143.90:25001
188.134.12.169:10736
tcp{client}: 042E001A
95.104.211.146:15628
188.134.28.47:22428
tcp{client}: 03E93EEA
178.162.119.143:60029
88.201.171.2:3141
188.93.29.148:19464
tcp{client}: 03E15F1A
82.114.244.239:5062
31.135.57.190:7566
tcp{client}: 02E13002
tcp{client}: 03D7A01A
176.53.232.86:21120
10.251.208.218:3114
95.105.1.45:23158
94.188.48.221:1506
213.21.30.175:49197
93.100.90.172:27549
10.139.132.22:4532
tcp{client}: 03D89B02
tcp{client}: 0428524A
93.80.74.250:6206
84.46.159.253:15746
188.134.28.62:3610
217.197.253.216:4304
10.193.20.161:19579
10.71.41.145:5997
tcp{client}: 041CF01A
10.139.169.69:5397
92.100.66.11:10001
93.92.118.11:3307
109.87.3.15:2624
46.73.203.14:58685
176.14.149.57:2000
95.220.150.158:11469
10.251.140.202:7786
10.71.20.29:1978
10.173.190.35:10622
94.27.92.91:3456
77.37.175.35:50966
tcp{client}: 0445C002
10.250.20.165:15939
10.250.173.250:12150
93.79.2.173:52109
95.139.202.1:4289
109.124.43.237:4416
188.134.66.48:6620
tcp{client}: 03C8101A
10.230.63.97:4243
10.230.147.250:6539
109.207.82.162:50397
95.139.254.179:30001
10.251.217.58:26244
79.118.0.110:2172
10.200.17.48:4501
172.18.68.210:25477
94.169.91.22:59068
31.40.69.221:3030
10.251.52.158:3304
93.100.186.67:1832
31.41.59.220:15143

Автор: Enyby 17.1.2012, 16:49

Что-то все разом ринулись очищать статистику, перед тем как ее сюда постить. baffle.gif
Это совершенно бесполезное занятие. Во-первых, очистка ничего не делает, если не включена расширенная статистика, а, во-вторых, очистка сбрасывает только инкрементные параметры, например число отосланных команд того или иного типа.

Так что лучше не очищайте.

Damaks, насчет секции OnStartup - зря закомментировал. Скрипт будет работать только для нововошедших пользователей, эдакий мягкий старт. Ну смотри сам.

Просьба ко всем - если снимаете статистику, снимайте ее хотя бы через минут 5-10 после старта скрипта, поскольку до этого времени, в особенности в течение первой минуты, от нее пользы мало.

И да, длинные простыни лучше прятать под спойлер.

ADD:
Это список висящих коннектов, к активным пользователям. Хаб пытается ко всем ним подключиться.
А всякие "tcp{client}: 03C8101A" это признак того, что сокет совсем сильно умер и там связь разорвана уже.
Такая простыня возникла, как раз потому, что статистика была снята сразу после старта скрипта.

Автор: Damaks 17.1.2012, 16:51

Цитата(Enyby @ 17.1.2012, 17:46) *
Damaks, насчет секции OnStartup - зря закомментировал. Скрипт будет работать только для нововошедших пользователей, эдакий мягкий старт. Ну смотри сам

Не хочу, чтобы хаб подвисал. Часа работы для статистики хватит, чтобы понять как ведёт себя скрипт.

Не знаю, в скрипте ли дело, но когда хаб с включённым скриптом набрал 1300+ юзеров, сотню быстренько выкинуло с хаба, потом опять до 1300 набрал минут за 10.

Автор: Enyby 17.1.2012, 17:47

Хаб подвисает только на время старта скрипта. И то если много юзеров онлайн. Но на нет и суда нет. Ждите версию с пулом сокетов - там все нормально с этим будет.

ADD:
Скрипт увеличивает нагрузку на хаб и траффик, так как теперь все могут искать и зачастую через пассивный поиск.

ADD:
Тут сложились некотрые непонятки со сбором статистики. Разъясню, чтобы их не было.
Итак, статистика может быть собрана согласно двум сценариям.
Первый. Вы хотите мне помочь отладить скрипт.
Ваши действия:

  1. Стартуете скрипт.
  2. Через 5-10 минут через меню хаба вызываете статистику НЕ ОЧИЩАЯ ее.
  3. Присылаете мне.

Второй. Вы нашли какую-то ошибку. Например, какой-то файл находит, когда скрипт остановлен и не находит когда он запущен, а пользователь с этим файлом по прежнему на хабе.
Ваши действия:
  1. Стартуете скрипт.
  2. Через 5-10 минут через меню хаба вызываете очистку статистики.
  3. Сразу за этим выполняете ту команду которая у вас не работает или работает не так. В данном примере это поиск этого файла.
  4. Сразу после того, как вы убедились что команда отработала (например, для поиска, можно подождать минутку), через меню хаба вызываете статистику НЕ ОЧИЩАЯ ее.
  5. Присылаете мне.


Если вы в первом сценарии делали очистку, то это здорово мешает анализировать статистику, в особенности если она была сделана за 15 секунд, то снятия статистики.

Спасибо за понимание.

UPD:
И да, разумеется, статистика должна быть расширенной. т. е. в скрипте должно быть "bDetailedStats = true".

Автор: Littlemuk 17.1.2012, 18:26

Цитата(Enyby @ 17.1.2012, 12:43) *
Крайне странно. В работу обычных пассивов скрипт не вмешивается. Хаб интернет? Если да, то сообщите адрес, я зайду потестирую.

У меня сейчас включен скрипт (в подписи адрес хаба), только что зашел полным пассивом, написало что у меня обычный пассив, не переопределенный, и поиск работает.

Хаб локальный, но на внешку открыт по адресу dchub://littlemuk.no-ip.info
Цитата
[19:18:26] <•Жжжжжжук•> Ваш IP: 10.213.39.194 Ваш режим: пассив.
[19:18:34] *** Отключен
[19:18:34] *** Соединение с dchub://dc.astralan.ru ...
[19:18:34] *** Соединён
[19:18:35] *** Пароль отправлен…
[19:18:35] <•Жжжжжжук•> Этот хаб работает под управлением PtokaX DC Hub 0.4.1.2 (Время работы: 4 дней, 15 часов, 42 минут / Юзеры: 258)
[19:18:37] <•Жжжжжжук•> Ваш IP: 10.213.39.194 Ваш режим: актив.

Скрипт не рестартовал, просто перезашел.
Поставил скрипт v1.05 буду тестить big_smile.gif

Автор: Enyby 17.1.2012, 19:48

"актив" после "пассив", вообще быть не может, если не менять настройки клиента. Вот "пассив (переопределен)" и "актив" могут играть в чехарду.
Настройки в ДС менялись?

Автор: Littlemuk 17.1.2012, 20:34

Цитата
Настройки в ДС менялись?

Абсолютно ничего не делал. Просто перезашел. Это видно по времени. Заходи, потестишь big_smile.gif

Автор: LoT 17.1.2012, 20:46

Потестил слегка. Поставил его вчера вечером, вроде бы работает, но проконтролировать не мог, т.к. на работе был.

Поставил сегодня обновленную версию 1.05.
PtokaX 0.4.1.2c
Ubuntu Server

1. На момент запуска скрипта онлайн было около 470-480 человек, заметных на глаз тормозов (при старте) не было, но ручаться не буду, т.к. в чате в это время не общались
2. Протестил сам, заходил под разными режимами, каждый раз скрипт определял мой режим корректно, исправлял при случае правильно
3. Поиск в "переопредеоленном" режиме работал, выдача была такая же, как и при "родном" пассиве

Отчет скрипта после примерно 25 минут работы:

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.05

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bIgnoreInvalidIPInCTM = false
bIgnoreInvalidNickInCTM = false
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MaxOnlineFixedPassive = 52
MaxOnlinePassive = 200
+SendRCTMforBot = 378
MinWaitSocket = 0
WaitCTM = 0
OnlineActive = 248
+BlockedCTM = 359
MinOnlineFixedPassive = 1
MaxOnlineActive = 251
OnlinePassive = 185
MaxWaitSocket = 260
OnlineFixedPassive = 46
+FixedSearch = 152
+BlockedCTMForIP = 3
+FixedCTM = 48
MinOnlineActive = 1
MaxWaitCTM = 292
+OtherCTMForBot = 2
+BlockedRCTM = 1
MinOnlinePassive = 1
MinWaitCTM = 0
+ValidCTMForBot = 339
WaitSocket = 0

Статус:
#tClientSockets = 0
#tActiveToPassive = 45
#tClientConnect = 0
#tActiveToPassive = 0
#tSocketNick = 0
MemoryUsage = 250 KB

HubVersion = 0.4.1.2c


MemoryUsage вообще скачет в диапазоне 200-300Кб. В первые минуты запуска равнялся 2400-2800Кб



P.S. Одновременно были запущены скрипты: StatPX 1.06, Ekzekutor 3.0, block_words_4.0 (антимат), NoShareNoDownload (антилич), hub_commands_menu_api2, CollectorMagnets2.3, TriviaMod (игра Викторина), rss (FeedWatch), WhoIs. UserModeFixer был в самом низу списка.

Автор: Enyby 18.1.2012, 13:47

Новая версия 1.06. Шапка обновлена.

ADD:
Хотелось бы видеть статистику для крупных хабов. Новая версия как раз заточена под них.

ADD:
Возник вопрос по поводу совместимости данного скрипта с http://mydc.ru/topic1432.html.
Посмотрел скрипты версии 0.32, конфликтов не вижу. Проблем быть не должно.

Также, поскольку этот скрипт заставляет подключаться хаб к пользователям, могут быть дополнительные сообщения со стороны фаервола. В случае когда на хабе разрешены только входящие соединения, это приведет к переопределению всех активов на пассив. Стоит учитывать этот момент.

Сама по себе проверка на актив пользователя очень проста - хаб пытается подключится к клиенту на порт, указанный в команде подключения. Если попытка не успешна, то считается что это неверно настроенный актив. На самом деле причин можт быть масса и это следует понимать.

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

ADD:
Нужен текст справки о режимах, что они значат и как их настроить. Если у кого есть какие предложения и мысли - с радостью выслушаю.

ADD:
Новая версия 1.07. Шапка обновлена.

В этой версии исправлена ошибка работы с пулом. Была "утечка" ресурса пула, которая могла бы привести к тому, что скрипт перестал бы проверять новых пользователей.

ADD:
В режиме FIX для неверных IP адресов скрипт предоставляет дополнительную защиту от DDoS'еров, перенаправляя DDoS на его инициатора. Отключать защиту хаба при этом НЕ НУЖНО.

ADD:
Если кому-то хотелось бы увидеть этот скрипт на другой платформе или, может быть, на другом API - оставляйте тут отзывы, постараюсь, по свободе, что-то сделать.

Автор: Saymon21 18.1.2012, 13:55

Цитата
Если кому-то хотелось бы увидеть этот скрипт на другой платформе или, может быть, на другом API - оставляйте тут отзывы, постараюсь, по свободе, что-то сделать.

Предлагаю переписать под русхаб. Сделал бы сам, но других дел море... :(

Автор: Kingston 18.1.2012, 14:03

Debian 6, PtokaX 0.4.1.2, онлайн +500
Через 5-6 минут после запуска.

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.07

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
sDebugLog = nil
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 10
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MaxOnlineFixedPassive = 381
MaxOnlinePassive = 122
+SendRCTMforBot = 402
MinWaitCTM = 0
WaitCTM = 0
MinOnlineActive = 1
MaxOnlineActive = 18
+BlockedCTMToOffline = 27
OnlineActive = 18
MinQueue = 0
PoolSize = 0
MinWaitSocket = 0
MaxWaitSocket = 5
MinOnlineFixedPassive = 1
MaxQueue = 381
OnlinePassive = 121
MinOnlinePassive = 1
OnlineFixedPassive = 359
MinPoolSize = 0
+OtherCTMForBot = 357
+BlockedRCTMToOffline = 2
Queue = 0
+ValidCTMForBot = 20
MaxWaitCTM = 32
+FixedCTM = 12
+FixedCTMIP = 40
+BlockedCTMToPassive = 1352
MaxPoolSize = 32
+FixedSearch = 360
WaitSocket = 0

Статус:
#tClientSockets = 0
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 359
#tClientConnect = 0
#tClientConnect = 0
#tSocketNick = 0
MemoryUsage = 295 KB

HubVersion = 0.4.1.2
LuaVersion = Lua 5.1



UPD.
Другой хаб: Debian 6, PtokaX 0.4.2.0, онлайн ~50, в пассиве что то не ищет ничего.
Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.07

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
sDebugLog = nil
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 10
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MaxOnlineFixedPassive = 8
MaxOnlinePassive = 9
+SendRCTMforBot = 47
MinWaitSocket = 0
WaitCTM = 0
+FixedSearch = 1
OnlineActive = 35
MinQueue = 0
PoolSize = 0
+FixedSearchIP = 3
+BlockedCTMToPassive = 5
MinOnlineFixedPassive = 1
MaxQueue = 43
OnlinePassive = 9
MaxWaitSocket = 22
OnlineFixedPassive = 7
MinPoolSize = 0
+FixedCTM = 2
+FixedCTMIP = 1
Queue = 0
+ValidCTMForBot = 41
MaxWaitCTM = 32
MinOnlineActive = 1
MaxOnlineActive = 35
MinOnlinePassive = 1
MaxPoolSize = 32
MinWaitCTM = 0
WaitSocket = 0

Статус:
#tClientSockets = 0
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 7
#tClientConnect = 0
#tClientConnect = 0
#tSocketNick = 0
MemoryUsage = 443 KB

HubVersion = 0.4.2.0
LuaVersion = Lua 5.1

Автор: rival 18.1.2012, 15:41

Сейчас: 1180 юзеров За сеанс было: 1239
через 1 час после включения

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.07

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
sDebugLog = nil
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 64
iCheckInterval = 1000
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MaxOnlineFixedPassive = 314
MaxOnlinePassive = 531
+SendRCTMforBot = 1254
MinWaitSocket = 0
+BlockedCTMToOffline = 12
WaitCTM = 2
+FixedSearch = 1373
+OtherCTMForBot = 16
+FixedCTM = 1756
OnlineActive = 540
MinQueue = 0
PoolSize = 2
+BlockedRCTMToOffline = 230
+FixedSearchIP = 309
MinOnlineFixedPassive = 1
MaxQueue = 681
OnlinePassive = 332
MaxWaitSocket = 58
OnlineFixedPassive = 314
MinPoolSize = 0
+BlockedCTMToPassive = 5200
+FixedCTMIP = 2262
Queue = 0
+ValidCTMForBot = 884
MaxWaitCTM = 64
MinOnlineActive = 1
MaxOnlineActive = 589
MinOnlinePassive = 1
MaxPoolSize = 64
MinWaitCTM = 0
WaitSocket = 0

Статус:
#tClientSockets = 0
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 289
#tClientConnect = 2
#tClientConnect = 0
#tSocketNick = 0
MemoryUsage = 225 KB

HubVersion = 0.4.1.1
LuaVersion = Lua 5.1
OS = Windows_NT

Автор: Enyby 18.1.2012, 17:08

Новая версия 1.08.

Теперь возможно включать валидацию целостности. Не советую включать на боевом хабе и уходить. Если целостность будет нарушена операторы станут каждую секунду получать по 10 репортов об этом. Это отладочная опция, по умолчанию она отключена.

Теперь возможен еще один сценарий снятия статистики при проблемах. Третий. Это сценарий, когда у вас нарушается целостность. последовательность действий:

  1. Включаете валидацию целостности - "bValidate = true"
  2. Запускаете скрипт.
  3. Добаваетесь, чтобы в Оп чат начали приходить репорты.
  4. Снимаете статистику, НЕ ОЧИЩАЯ ее.
  5. Присылаете мне.
  6. После снятия статистики валидацию на скрипте можно отключить, чтобы она не досаждала, или вообще на время отключить скрипт.


У себя на хабе я буду постоянно в режиме валидации обкатывать, так что, думаю, проблем с этим не будет.

ADD:
Цитата(Kingston @ 18.1.2012, 13:03) *
Другой хаб: Debian 6, PtokaX 0.4.2.0, онлайн ~50, в пассиве что то не ищет ничего.

Адрес хаба, сюда или в ЛС. В статистике никакого криминала нет. Надо смотреть.

Автор: rival 19.1.2012, 0:01

Сейчас: 822юзеров
после запуска прошло25 мин,пришли репорты
Обнаружена утечка в tActiveToPassive. Утеряно 1.

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.08

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
sDebugLog = nil
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MinWaitCTM = 0
WaitCTM = 0
MaxWaitCTM = 32

MinOnlineActive = 1
OnlineActive = 300
MaxOnlineActive = 349

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 32

MinOnlinePassive = 1
OnlinePassive = 340
MaxOnlinePassive = 414

MinOnlineFixedPassive = 1
OnlineFixedPassive = 167
MaxOnlineFixedPassive = 167

MinQueue = 0
Queue = 0
MaxQueue = 405

MinWaitSocket = 0
WaitSocket = 0
MaxWaitSocket = 21

+OtherCTMForBot = 7
+FixedCTMIP = 484
+BlockedCTMToPassive = 721
+FixedSearch = 517
+ValidCTMForBot = 382
+BlockedCTMToOffline = 8
+FixedSearchIP = 30
+BlockedRCTMToOffline = 6
+SendRCTMforBot = 567
+FixedCTM = 465

Статус:
#tClientSockets = 0
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 166
#tWaitCTM = 0
#tClientConnect = 0
#tSocketNick = 0
MemoryUsage = 227 KB

HubVersion = 0.4.1.1
LuaVersion = Lua 5.1
OS = Windows_NT

Автор: Enyby 19.1.2012, 2:41

Знаю. 9 версия в разработке.

ADD:
Новая версия 1.09.

Автоматически восстанавливается целостность после ее нарушения.
Исправлено несколько багов нарушения целостности.
Созданы адекватные репорты при ошибках целостности. Теперь они не спамят со скоростью пулемета, хотя такие варианты все равно не исключены (например, если восстановление целостности не удалось).
Есть быстрый режим отладки, позволяющий отлаживать скрипт без особых тормозов. Вывод доступен из меню, а также автоматом дописывается в репорты.

ADD:
Теперь поддерживается изменение режима "на лету". При этом выдается такое же сообщение как и при входе. Для изменения достаточно изменить настройки клиента и все. Через некоторое время он обновит MyINFO.
Если же у пользователя постоянно пишет его режим - надо смотреть что у него с отсылаемым тэгом.

Автор: rival 19.1.2012, 23:46

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.09

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 50
sDebugLog = nil
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MinWaitCTM = 0
WaitCTM = 2
MaxWaitCTM = 32

MinPoolSize = 0
PoolSize = 2
MaxPoolSize = 32

MinOnlinePassive = 1
OnlinePassive = 489
MaxOnlinePassive = 542

MinOnlineFixedPassive = 1
OnlineFixedPassive = 395
MaxOnlineFixedPassive = 398

MinQueue = 0
Queue = 0
MaxQueue = 697

MinOnlineActive = 1
OnlineActive = 250
MaxOnlineActive = 593

MinWaitSocket = 0
WaitSocket = 0
MaxWaitSocket = 22

+OtherCTMForBot = 11
+FixedCTMIP = 10474
+BlockedRCTMBetweenPassive = 1517
+FixedSearchIP = 481
+BlockedRCTMToOffline = 387
+FixedSearch = 12676
+FixedCTM = 9729
+ValidCTMForBot = 679
+BlockedCTMToOffline = 54
+BlockedCTMToPassive = 29306
+SendRCTMforBot = 2789

Статус:
#tClientSockets = 0
#tUserMode = 1136
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 395
#tWaitCTM = 2
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 50
MemoryUsage = 414 KB

HubVersion = 0.4.1.1
LuaVersion = Lua 5.1
OS = Windows_NT

[00:58:09] <pozitiv> Ваш IP: **** Ваш режим: пассив (переопределен).
а по факту: активный

Автор: Enyby 19.1.2012, 23:49

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

Автор: rival 19.1.2012, 23:53

Раскрывающийся текст
49. 172.23.96.48 К@пит;-)шка A Wait CTM timeout

отредактировал

Автор: Enyby 20.1.2012, 0:05

Ты не успел. Варианта два. Тренируйся в скорости снятия дампа или же увеличь iFastDebugHistory до большего значения. Например до 100.
Чтобы быстро снять статистику, не ползая курсором по меню, достаточно написать в чат "!UMFShowFastDebug".
В логе быстрой отладки должен быть виден твой IP + ник. Ты сразу его увидишь, если у тебя подсвечивается свой ник в чате.
Пример, подобного вывода:

Код
20. 192.168.0.0 Enyby A in queue
21. 192.168.0.0 Enyby A RCTM to bot
22. 192.168.0.0 Enyby A Invalid IP in CTM: $ConnectToMe Совесть 82.0.0.0:0|
23. 192.168.0.0 Enyby A Processed CTM to bot: $ConnectToMe Совесть 82.0.0.0:0|
[...]
30. 192.168.0.0 Enyby A Connect timeout


ADD:
Советую для начала проверить на доступность свой порт руками. Делается это так:
В консоли пишем telnet свой_IP порт. Например: telnet 192.168.1.1 7777. потом жмем Энтер. Если висит строка подключения - порт закрыт. Если окно очистилось и курсор мигает - порт открыт.
Если все успешно, то все тоже самое делаем на сервере хаба. Если и там все тип топ, то изучаем фаервол на предмет запрета исходящих соединений для хаба. Если и тут все хорошо - ко мне с логом.

Если с телнетом тяжко, то в инете есть масса сервисов для тестирования открытости порта. Например, http://mydc.ru/r/?http://www.yougetsignal.com/tools/open-ports/ или http://mydc.ru/r/?http://www.digitalcoding.com/tools/open-port-check.html

Автор: rival 20.1.2012, 10:40

Раскрывающийся текст
11. 172.23.96.48 К@пит;-)шка A in queue
12. 172.23.96.48 К@пит;-)шка A RCTM to bot
62. 172.25.169.27 [KeepeR]1 A *disconnect user changed mode. from: A to: P $MyINFO $ALL [KeepeR]1 [14]<SharaDC V:r403,M:P,H:4/0/0,S:15>$ $100$$342043082308$|
63. 172.25.169.27 [KeepeR]1 A Fixed disconnected
64. 172.25.169.27 [KeepeR]1 nil clear user mode
65. 172.25.169.27 [KeepeR]1 P connected
66. 172.22.11.15 oldster-cynical A Fix Search: $Search 172.22.11.15:1559 F?T?0?9?TTH:V37B4LKASGFSR53JWITHSLRZTFWV4N7SGABN53I| to: $Search Hub:oldster-cynical F?T?0?9?TTH:V37B4LKASGFSR53JWITHSLRZTFWV4N7SGABN53I|
67. 95.54.182.50 maddog2k A Block CTM to Passive: $ConnectToMe Славич 95.54.182.50:30001|
68. 79.164.39.61 DeLor_CaI_I_Ia A Block CTM to Passive: $ConnectToMe Ифуч 79.164.39.61:5641|
69. 94.181.146.156 Faust A Block CTM to Passive: $ConnectToMe Sony-vaio 94.181.146.156:5275|
70. 128.74.134.117 VikMak A Block CTM to Passive: $ConnectToMe tols-di 128.74.134.117:23809|
71. 46.37.144.64 sabotage A Invalid IP in CTM: $ConnectToMe seek 172.29.75.5:6797|
72. 46.37.144.64 sabotage A Block CTM to Passive: $ConnectToMe seek 172.29.75.5:6797|
73. 172.25.197.16 Never@~X~ A Block CTM to Passive: $ConnectToMe SW2001 172.25.197.16:3027|
74. 81.7.92.14 renius A Fix CTM: $ConnectToMe denismega 81.7.92.14:2157| to: $RevConnectToMe renius denismega|
75. 109.126.39.113 avr-pozdnyak2 A Invalid IP in CTM: $ConnectToMe Ivan1983 172.29.2.43:10033|
76. 109.126.39.113 avr-pozdnyak2 A Fix CTM: $ConnectToMe Ivan1983 172.29.2.43:10033| to: $RevConnectToMe avr-pozdnyak2 Ivan1983|
77. 109.126.30.181 gangren A Invalid IP in CTM: $ConnectToMe Rapid 109.126.58.164:10031|
78. 109.126.30.181 gangren A Fix CTM: $ConnectToMe Rapid 109.126.58.164:10031| to: $RevConnectToMe gangren Rapid|
79. 172.16.194.13 [CATFISH} A Invalid IP in CTM: $ConnectToMe ((HUK)) 95.154.126.162:6469|
80. 172.16.194.13 [CATFISH} A Fix CTM: $ConnectToMe ((HUK)) 95.154.126.162:6469| to: $ConnectToMe ((HUK)) 172.16.194.13:6469|
81. 195.225.158.250 kotista A Fix Search: $Search 195.225.158.250:411 F?T?0?9?TTH:SWU7PHPX5TCIFLPGXGYH63U2TVCZB3MXCVBK7YA| to: $Search Hub:kotista F?T?0?9?TTH:SWU7PHPX5TCIFLPGXGYH63U2TVCZB3MXCVBK7YA|
82. 78.139.74.238 alexsp3860 A Block CTM to Passive: $ConnectToMe Sony-vaio 78.139.74.238:50123|
83. 128.74.134.117 VikMak A Block CTM to Passive: $ConnectToMe ВОВАН-81 128.74.134.117:23809|
84. 128.74.134.117 VikMak A Block CTM to Passive: $ConnectToMe Vatrus 128.74.134.117:23809|
85. 172.21.91.23 Benderan A Block CTM to Passive: $ConnectToMe Veroni4ka 172.21.91.23:4000|
86. 2.94.171.58 [lip]_хед A Fix Search: $Search 2.94.171.58:7964 F?T?0?9?TTH:NGVDSBYKZ54OJMLG7VJRLLFZYC5OP3THVQHXZ5A| to: $Search Hub:[lip]_хед F?T?0?9?TTH:NGVDSBYKZ54OJMLG7VJRLLFZYC5OP3THVQHXZ5A|
87. 188.255.106.144 toxas201 A Fix Search: $Search 188.255.106.144:6044 F?T?0?9?TTH:SVKUCUOTLUED4PGGCSVCNF6PHXF4EOJZOMJFYWA| to: $Search Hub:toxas201 F?T?0?9?TTH:SVKUCUOTLUED4PGGCSVCNF6PHXF4EOJZOMJFYWA|
88. 172.23.96.48 К@пит;-)шка A Wait CTM timeout
89. 172.16.33.80 Gori A Block CTM to Passive: $ConnectToMe z96z 172.16.33.80:45350|
90. 46.37.128.140 nnnnnn2339ll333 A Block CTM to Passive: $ConnectToMe [KeepeR]1 46.37.128.140:4027|
91. 109.195.185.33 [alt][rti]serba A Block CTM to Passive: $ConnectToMe Shura-Maior 109.195.185.33:7999|
92. 2.94.189.58 DiMoN999999 A Block CTM to Passive: $ConnectToMe djslash 2.94.189.58:2482|
93. 128.74.130.41 Skiff A Block CTM to Passive: $ConnectToMe quest1605 128.74.130.41:2000|
94. 188.134.46.97 Renn A Fix Search: $Search 10.184.120.43:1197 F?T?0?7?Универ| to: $Search Hub:Renn F?T?0?7?Универ|
95. 172.25.33.13 Sanchez2000 A Block CTM to Passive: $ConnectToMe Бабочка 172.25.33.13:5525|
96. 172.16.41.122 dimas A Invalid IP in CTM: $ConnectToMe dimas1 10.254.254.43:3151|
97. 172.16.41.122 dimas A Block CTM to Passive: $ConnectToMe dimas1 10.254.254.43:3151|
98. 172.16.41.122 dimas1 A Invalid IP in CTM: $ConnectToMe dimas 10.254.254.43:3151|
99. 172.16.41.122 dimas1 A Block CTM to Passive: $ConnectToMe dimas 10.254.254.43:3151|
100. 88.222.220.151 akras A Fix Search: $Search 88.222.220.151:2158 F?T?0?9?TTH:7UWM2LC6GT6N6C5M6NOMP752STR2O7BBLMUDAFI| to: $Search Hub:akras F?T?0?9?


курсор мигает - порт открыт(для TCP- порт клиента dc++)
а когда нахожусь на хабе,и переподключаю скрипт,пишет верно: актив

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v1.09

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 100
sDebugLog = nil
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100
iSelectTimeout = 0
iTimeout = 15
iConnectTimeout = 3

Статистика:
MinWaitCTM = 0
WaitCTM = 4
MaxWaitCTM = 32

MinOnlineActive = 0
OnlineActive = 90
MaxOnlineActive = 276

MinPoolSize = 0
PoolSize = 4
MaxPoolSize = 32

MinOnlinePassive = 0
OnlinePassive = 338
MaxOnlinePassive = 344

MinOnlineFixedPassive = 1
OnlineFixedPassive = 460
MaxOnlineFixedPassive = 463

MinQueue = 0
Queue = 0
MaxQueue = 329

MinWaitSocket = 0
WaitSocket = 0
MaxWaitSocket = 30

+OtherCTMForBot = 3
+FixedCTMIP = 11842
+BlockedRCTMBetweenPassive = 7201
+BlockedCTMToPassive = 56466
+FixedSearch = 26062
+FixedCTM = 9615
+ValidCTMForBot = 484
+BlockedCTMToOffline = 348
+BlockedRCTMToOffline = 678
+SendRCTMforBot = 4950
+FixedSearchIP = 820

Статус:
#tClientSockets = 0
#tUserMode = 892
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 460
#tWaitCTM = 4
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 100
MemoryUsage = 310 KB

HubVersion = 0.4.1.1
LuaVersion = Lua 5.1
OS = Windows_NT

танцы с разрешениями-запретами в фаерволе не помогла,думаю причина в кол-ве юзеров
Сейчас: 905

Автор: Enyby 20.1.2012, 11:18

rival, если речь идет о пользователе "К@пит;-)шка", то он не ответил командой CTM на RCTM своевременно.
Варианта тут два, или он не ответил вообще или же ответил позже таймаута iTimeout в 15 секунд.
В первом случае проблема на стороне клиента и хаб тут ничего сделать не может.
Во втором случае можно попробовать увеличить таймаут. Хотя, согласно статистике, число несвоевременных CTM запросов к боту очень мало: +OtherCTMForBot = 3. Это может говорить о двух вещах - такая проблема только у этого пользователя или же что верен первый вариант.
Поставь версию 1.10 и пришли заново статисику, после входа на хаб, там будут дополнительные параметры.

Вышла версия 1.10.
Ничего критичного, только улучшения статистики. Тем не менее весьма советую, так как намного легче разбираться что да почему.

Автор: Ksan 20.1.2012, 11:39

Enyby, насколько я знаю, у юзера К@пит;-)шка интернет тормозным бывает часто..и очень тормозным.

Автор: rival 20.1.2012, 13:40

local iCheckInterval = 500
пока что решило проблему,тестим далее ))
остальные настройки по-дефолту

Автор: Enyby 21.1.2012, 2:09

Ok. Подыму дефолт до 60 секунд.

ADD:
Кстати. Если на хабе присутствуют активные пользователи с неверными IP и включен режим исправлений команд, то при отключении скрипта (именно отключении, при перезапуске будет все нормально) их всех выкинет защита хаба от DDoS после первой же неверной команды. Так что после отключения скрипта число пользователей может уменьшаться.

ADD:
Составляется меню пользователя. Нужна ваша помощь.

Вот то, что накропал я:

Пункт меню 'Часто задаваемые вопросы'
1. При входе на хаб мне пишет "Ваш IP: xxx.xxx.xxx.xxx Ваш режим: xxxxxxxxx.". Что это такое?
Хаб сообщает вам ваши настройки текущего подключения, чтобы вы их видели, знали и могли исправить, если они не соответствуют тем, какими бы вы их хотели видеть.

2. Это сообщение кто-нибудь кроме меня видит?
Нет. Данное сообщение отправлено лично вам. Все остальные пользователи получают подобные сообщения, но со своими данными.

3. В сообщении указан не мой IP адрес! Мой IP совсем другой! Как такое может быть и что с этим делать?
В сообщении указан IP адрес, с которым вы вошли на хаб. Если он не соответствует IP адресу вашего компьютера, то вы находитесь за NAT или же используете прокси.
Делать ничего не нужно, все работает нормально.

4. Что означает "режим"?
Режим - это вид вашего подключения в сеть DC++. Он бывает двух видов "актив" и "пассив". В первом случае к вам могут присоединяться пользователи, а во втором случае - нет.
Лучшим является режим актива, поскольку вы можете качать со всех пользователей хаба. В пассиве же - только с тех пользователей, кто в активе. Так же в активном режиме лучше работает поиск.

5. Хорошо, режимов два, но в сообщении написано "пассив (переопределен)", как это понимать?
Активный режим предъявляет некоторые требования к пользователю, а именно:
- у него должен быть открыт порт для прямого подключения к нему других клиентов;
- IP адрес и порт должны быть доступны для подключения всех остальных пользователей.
Хаб выполняет, чтобы эти два пункта выполнялись для пользователей в активном режиме. Если проверка показала, что хотя бы один пункт не выполняется, то хаб сам переводит пользователя в пассивный режим.

6. Но пассивный режим это же плохо! Зачем тогда делать из активов пассивов?
Да, плохо. Но если вышеуказанные условия не выполняются, то активный режим еще хуже чем пассив: не работает ни поиск, ни скачивание с других пользователей. Именно поэтому режим и исправляется.

7. Я зашел на ваш хаб и тут работает поиск и скачивание, а на других хабах меня выкидывает с сообщением о неверном IP адресе. Почему?
На нашем хабе ваш IP адрес исправляется автоматически, а на остальных вам предлагают сделать это самостоятельно, настроив правильно свой DC++ клиент.

8. У меня рабочий актив, но при входе на хаб я вижу что меня переопределило в пассив, как мне сделать актив?
Вам нужно пробросить порт для того IP адреса, который вам пишет в сообщении. Номера портов указаны в настройках вашего DC++ клиента.

9. Чем отличается режимы "пассив" от "пассив (переопределен)" и какой лучше использовать?
Если вы точно знаете, что актив у вас не возможен, то тогда укажите в клиенте "пассив", это будет лучшим вариантом в данном случае.
Если вы можете настроить актив - настройте его. От этого вы будете только в выигрыше.
Практически эти режимы почти не отличаются, но при прочих равных условиях, предпочтительней режим "пассив":
- меньше нагрузка на хаб;
- меньше отсылаемых команд от вашего DC++ клиента;
- возможно некоторые пользователи, использующие расширения протокола NMDC смогут с вами соединиться.

10. У меня есть вопрос, но на него тут нет ответа? Что делать?
Обратитесь к одному из операторов хаба, он поможет вам найти нужные ответы.


Просьба подредактировать и/или дополнить желающим это меню. Возможно у вас на хабе пользователи что-то другое спрашивали.
Просьба принимать во внимание, что это меню должно быть максимально общим, так как будет дефолтным в скрипте. Все желающие смогут изменить его у себя как угодно.

ADD:
Новая версия 1.11.

Реализовано переопределение тэгов и пользовательское меню + мелкие фиксы.

Автор: rival 21.1.2012, 11:44

обнаружен побочный эффект: хаб стал стабильней,менее тормозной big_smile.gif

Автор: Enyby 21.1.2012, 11:50

Возможные причины:



На данный момент скрипт имеет статус релиза. Если у вас не было никаких проблем в течение недели, то можно поотключать отладку и детальную статистику, нагрузка должна стать еще меньше:
Код
local bValidate = false -- признак валидации целостности скрипта. относится к отладке, на боевой версии скрипта лучше отключать, на обкатке лучше включать

local bDetailedStats = false -- признак включения детальной статистики хаба, может создавать дополнительную нагрузку на хаб

local sDebugLog =  nil --"Debug.log" -- имя файла для вывода отладочного лога, если nil, то логирование отключено

local bFastDebug = false -- признак использования быстрой отладки, немного увеличивает расход памяти, но помогает разобраться при возникновении проблем

Если будут проблемы, их всегда можно будет включить.

Автор: Alex_lola 22.1.2012, 14:08

почему когда сделан проброс портов скрипт показывает режим пассив(переопределен)? он вобще актив показывает?))) удалил сие чудо из скриптов.. big_smile1.gif

Автор: Enyby 22.1.2012, 14:20

Alex_lola, внимательно читай http://mydc.ru/ipb.html?showtopic=5112&view=findpost&p=41893, а потом присылай статистику с дампом.

Автор: Alex_lola 22.1.2012, 14:26

Цитата(Enyby @ 22.1.2012, 15:20) *
Alex_lola, внимательно читай http://mydc.ru/ipb.html?showtopic=5112&view=findpost&p=41893, а потом присылай статистику с дампом.


порты открыты. с закрытыми я не смог бы качать да и на хаб никто не зашел бы. фаервол настроен верно. дамп позже сделаю.. если будет желание заниматся этим чудом))

Автор: Enyby 22.1.2012, 16:12

Alex_lola, у меня есть подозрение, что это вопрос настроек твоего компа/хаба/фаервола/проброса портов (лишнее можно вычеркнуть).
Вот тебе кусок одной статистики хаба с примерно 1500 пользователей:

Цитата
MinOnlineActive = 1
OnlineActive = 499
MaxOnlineActive = 499

Так что у других актив работает.

Кстати, вот еще немного информации из той статистики, теперь уже для всех. Может кому интересно будет.
Использование памяти:
Цитата
MinMemoryUsage = 201
MemoryUsage = 388
MaxMemoryUsage = 910

Число пассивных пользователей:
Цитата
MinOnlinePassive = 1
OnlinePassive = 580
MaxOnlinePassive = 593

Число пользователей с переопределенным пассивом:
Цитата
MinOnlineFixedPassive = 1
OnlineFixedPassive = 326
MaxOnlineFixedPassive = 329

Теперь польза от скрипта:
Цитата
+FixedCTMIP = 22898 -- число исправленных запросов на подключение из за неверного IP
+FixedSearch = 10344 -- число исправленных поисковых запросов
+FixedCTM = 11423 -- число исправленных запросов на подключение
+FixedSearchIP = 2390 -- число исправленных поисковых запросов из за неверного IP

Время работы скрипта - порядка 10 часов.

ADD:
Новая версия 1.12.
Улучшена и доработана статистика. Ничего критичного не менялось. Теперь в статистике можно видеть сколько времени работает скрипт, сколько времени собиралась расширенная статистика, (если она включена, конечно) и среднюю скорость появления событий расширенной статистики:
Цитата
Время сбора статистики = 43 с

+FixedCTMIP = 1 (0.023255813953488 в секунду или 1 за 43 секунд)
+SendFixedMyINFO = 20 (0.46511627906977 в секунду или 1 за 2.15 секунд)
+SendFixedMyINFOs = 3 (0.069767441860465 в секунду или 1 за 14.333333333333 секунд)
+FixedSearch = 2 (0.046511627906977 в секунду или 1 за 21.5 секунд)
+TrueCheckedActive = 127 (2.953488372093 в секунду или 1 за 0.33858267716535 секунд)
+ValidCTMForBot = 143 (3.3255813953488 в секунду или 1 за 0.3006993006993 секунд)
+BlockedCTMToPassive = 2 (0.046511627906977 в секунду или 1 за 21.5 секунд)
+SendRCTMforBot = 146 (3.3953488372093 в секунду или 1 за 0.29452054794521 секунд)
+TimeoutConnect = 16 (0.37209302325581 в секунду или 1 за 2.6875 секунд)

Автор: Damaks 22.1.2012, 20:34

Проработал скрипт более суток, все ограничения на хабе по шаре и пассивам были сняты. Можно с уверенностью сказать, что лишнюю нагрузку на хаб скрипт не создаёт, примерно такие же значения были и без скрипта. Память тоже не ест.

Обычная статистика на 2350 юзерах:
Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = false
bValidate = false
bFastDebug = false
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = false
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMa oolSize = 48
iCheckInterval = 100
iSelectTimeout = 0
iTimeout = 60
iConnectTimeout = 3

Статистика:
MinOnlineActive = 1
OnlineActive = 786
MaxOnlineActive = 786

MinOnlinePassive = 1
OnlinePassive = 1060
MaxOnlinePassive = 1125

MinMemoryUsage = 108
MemoryUsage = 483
MaxMemoryUsage = 1101

MinOnlineFixedPassive = 1
OnlineFixedPassive = 404
MaxOnlineFixedPassive = 1214

MinPoolSize = 0
PoolSize = 1
Ma oolSize = 48

MinWaitSocket = 0
WaitSocket = 0
MaxWaitSocket = 45

MinWaitCTM = 0
WaitCTM = 1
MaxWaitCTM = 47

MinQueue = 0
Queue = 0
MaxQueue = 99


Статус:
#tClientSockets = 0
#tUserMode = 2251
#tQueue = 0
#tQueueIndex = 0
#tActiveToPassive = 404
#tWaitCTM = 1
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 0

HubVersion = 0.4.1.2
LuaVersion = Lua 5.1
OS = Windows_NT

Автор: AfLc 22.1.2012, 23:32

Около дня вроде работает . Статистика - обычная.

Статистика для скрипта User Mode Fixer v1.11

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = false
bValidate = false
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100
iSelectTimeout = 0
iTimeout = 60
iConnectTimeout = 3

Статистика:
MinOnlineActive = 1
OnlineActive = 114
MaxOnlineActive = 204

MinOnlinePassive = 1
OnlinePassive = 131
MaxOnlinePassive = 221

MinMemoryUsage = 147
MemoryUsage = 266
MaxMemoryUsage = 683

MinOnlineFixedPassive = 1
OnlineFixedPassive = 60
MaxOnlineFixedPassive = 158

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 3

MinWaitSocket = 0
WaitSocket = 0
MaxWaitSocket = 28


Автор: Enyby 22.1.2012, 23:41

Очень советую, первое время, например, неделю, продержать скрипт с настройками:

Код
bDetailedStats = true
bValidate = true
bFastDebug = true

Поскольку, если что-то пойдет не так, а у вас будет bValidate = false, то вы об этом даже не узнаете. Если неделю все спокойно, тогда можно все повыключать и пусть себе работает.

ADD:
Не думайте, что это перестраховка. Вот уже вылезла одна http://mydc.ru/index.html?showtopic=5118&view=findpost&p=41975.

Кстати, для крупных хабов (более 1000 человек онлайна), советую менять значение iMaxPoolSize на большее. Например, 48 или 64. Тогда режим пользователей будет определяться быстрее.

Автор: AfLc 22.1.2012, 23:48

Всё включил как Вы сказали , через недельку напишу статистику .

Автор: Enyby 23.1.2012, 2:24

Новая версия 1.13.
Содержит критичное исправление.

Автор: AfLc 23.1.2012, 21:10

А для работы скрипта обязательно должна быть включена опция в ptokax " Строка тега"?

Автор: Enyby 24.1.2012, 3:50

Нет. Но скрипт в любом случае будет отсылать со строкой тэга.

ADD:
Выложил версию 2.00.
По большей части скрипт переписан заново. Должен быстрее работать на крупных хабах.

ADD:
Выложил версию 2.01.
Там дефолтные настройки чуть улучшены, а то я тестировал и забыл изменить.

Автор: Enyby 25.1.2012, 8:55

Кстати. Скрипт позволяет находиться на хабе и качать пользователям с весьма странными настройками актива. Например, видел как у одного пользователя во внешнем IP адресе актива стояла точка в конце. Т. е. он имел вид: "1.2.3.4.". И ничего. Все работало.
Хотя это, конечно, безобразие со стороны клиента, он должен проверять IP, при вводе в настройках, на валидность. Кстати грей, в этом плане, весьма хорош - он не отсылает не валидные IP адреса, хотя их можно спокойно внести в настройки.

Теперь немного о принципах работы скрипта.
Определение нерабочего актива основано на осуществлении подключения хаба к пользователю. Если же соединение не удалось установить, то пользователя считается неверным активом и устанавливается в пассив принудительно.
Какие с этим могут быть проблемы:


Автор: Marc 26.1.2012, 1:14

Enyby!
Хотелось бы вот что заметить в работе данного скрипта: если админ или модератор начнёт давать ссылки нескольким пользователям с адресом хаба, то на него также в конечном счёте будет распространяться врем бан...
Если, допустим, для модератора это ещё можно и оставить, и тогда админ сам примет решение, то вот для админа неожиданно попать в бан, а на него он также будет распространяться, несколько это некорректно такое действие скрипта...
Можно ли это учесть и как-то дополнить скрипт, чтобы админ не попадал в такую ситуацию? (просто может быть так, что админ сидит за другим компом и у него нет возможности сразу самого себя разбанить)

Автор: Enyby 26.1.2012, 1:16

О каком скрипте речь? Явно не о том, который обсуждается в данном топике.

Автор: Marc 26.1.2012, 1:32

речь о скрипте: UserModeFixer_v2.01.lua ( 43.38 килобайт )
админ по нему попал в бан)

Автор: Enyby 26.1.2012, 1:34

Приехали. Какой бан? Этот скрипт НЕ МОЖЕТ дать бан.
У меня есть подозрение что речь идет о http://mydc.ru/topic5122.html.

Автор: Marc 26.1.2012, 1:38

Enyby!
Сорри, прошу прощения, да речь шла о Defend PM!
Отвлекли меня тут разговорами...
Но я уже посмотрел, что Вы там уже внесли изменения в скрипт, именно те, что и были нужны!
Эх, так получилось, что не туда написал! Извините!

Автор: rival 26.1.2012, 15:53

иногда возникает ошибка
<Спикер> ...\scripts\UserModeFixer_v1.07.lua:981: attempt to index field '?' (a nil value)
stack traceback:
...\scripts\UserModeFixer_v1.07.lua:999: in function <...\scripts\UserModeFixer_v1.07.lua:998>

строка 981 >> if tUsers[tUser.sNick].bActive then
строка 999 >> Core.SendToOpChat(sErrorMsg.."\n"..debug.traceback())

на версию не обращай внимание,там свежая,просто чтоб список не обновлять,я в старом на новый(Версия скрипта: 2.01) замену кода сделал

Автор: Enyby 26.1.2012, 16:09

Цитата(rival @ 26.1.2012, 14:53) *
просто чтоб список не обновлять

Какой список?

В принципе за код с заменами я не отвечаю, ибо вы могли выпустить какую-то тонкость, не зная об этом.

Выложил версию 2.02.
Там добавлена дополнительная обработка ошибок и некоторые улучшения статистики.
Если будут снова ошибки, то будут со статистикой и отладкой.
Если в статистистике будет появляется параметр "+NilUser" - присылайте статистику с отладкой, будем разбираться.

Автор: rival 26.1.2012, 16:25

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v2.01

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 64
iCheckInterval = 100 мс
iSelectTimeout = 0 с
iTimeout = 60 с
iConnectTimeout = 3 с
Core.GetUsersCount() = 1149
#Core.GetOnlineUsers() = 1149

Статистика:
Время работы скрипта = 86301 с

MinMemoryUsage = 352
MemoryUsage = 717
MaxMemoryUsage = 5070

MinWaitCTM = 0
WaitCTM = 6
MaxWaitCTM = 593

MinPassive = 1
Passive = 466
MaxPassive = 502

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 359

MinForcedPassive = 1
ForcedPassive = 125
MaxForcedPassive = 162

MinInQueue = 0
InQueue = 0
MaxInQueue = 227

MinUsersCount = 1
UsersCount = 1149
MaxUsersCount = 1282

MinWaitConnect = 0
WaitConnect = 0
MaxWaitConnect = 359

MinActive = 1
Active = 552
MaxActive = 664

Время сбора статистики = 86301 с

+Connect = 7408 (0.085839098040579 в секунду или 1 за 11.649703023758 секунд)
+BlockedRCTMBetweenPassive = 1416 (0.016407689366288 в секунду или 1 за 60.947033898305 секунд)
+TimeoutWaitCTM = 1930 (0.02236358790744 в секунду или 1 за 44.715544041451 секунд)
+FixedSearchIP = 5701 (0.066059489461304 в секунду или 1 за 15.137870549026 секунд)
+SendRCTM = 12105 (0.14026488684952 в секунду или 1 за 7.1293680297398 секунд)
+Errors = 1 (1.1587351247378e-05 в секунду или 1 за 86301 секунд)
+ConnectTimeout = 1047 (0.012131956756005 в секунду или 1 за 82.426934097421 секунд)
+BlockedRCTMToOffline = 11488 (0.13311549112988 в секунду или 1 за 7.5122736768802 секунд)
+OtherCTMForBot = 118 (0.0013673074471906 в секунду или 1 за 731.36440677966 секунд)
+FixedSearch = 18712 (0.21682251654094 в секунду или 1 за 4.612067122702 секунд)
+FixedCTMIP = 75664 (0.87674534478164 в секунду или 1 за 1.1405820469444 секунд)
+SendFixedMyINFO = 30586 (0.35441072525231 в секунду или 1 за 2.8215850389067 секунд)
+BlockedCTMToPassive = 39266 (0.45498893407956 в секунду или 1 за 2.1978556511995 секунд)
+FixedCTM = 33861 (0.39235930058748 в секунду или 1 за 2.548684327102 секунд)
+SendFixedMyINFOs = 11859 (0.13741439844266 в секунду или 1 за 7.2772577789021 секунд)
+BlockedCTMToOffline = 3047 (0.035306659250762 в секунду или 1 за 28.323268788973 секунд)
+ChangedMyINFO = 3924 (0.045468766294713 в секунду или 1 за 21.993119266055 секунд)
+ConnectDone = 6356 (0.073649204528337 в секунду или 1 за 13.577879169289 секунд)

Статус:
#tClientSockets = 0
#tUsers = 1149
#tQueue = 0
#tQueueIndex = 0
#tForcedPassive = 125
#tWaitCTM = 6
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 30

HubVersion = 0.4.1.1
LuaVersion = Lua 5.1
OS = Windows_NT


Автор: Enyby 26.1.2012, 16:30

Нужна статистика + быстрая отладка (Fast Debug) сразу после возникновения ошибки. Если ее сейчас нет, то ставьте обновленную версию, она сама снимет все что надо в момент возникновения ошибки. Пришлете все это сюда.
А так сказать что-то трудно.

Хотя, скорее всего, уже ошибки не будет, а будет повявлятся параметр "+NilUser". В этом случае тоже статитистику неплохо бы.

Автор: rival 26.1.2012, 23:36

Раскрывающийся текст
[05:04:55] <Спикер> ...\scripts\UserModeFixer_v2.02.lua:981: attempt to index field '?' (a nil value)
stack traceback:
...\scripts\UserModeFixer_v2.02.lua:1002: in function <...\scripts\UserModeFixer_v2.02.lua:1000>

Статистика для скрипта User Mode Fixer v2.02

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 64
iCheckInterval = 250 мс
iSelectTimeout = 0 с
iTimeout = 60 с
iConnectTimeout = 3 с
Core.GetUsersCount() = 1056
#Core.GetOnlineUsers() = 1056

Статистика:
Время работы скрипта = 10753 с

MinMemoryUsage = 322
MemoryUsage = 567
MaxMemoryUsage = 5168

MinWaitCTM = 0
WaitCTM = 10
MaxWaitCTM = 604

MinPassive = 1
Passive = 428
MaxPassive = 514

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 309

MinForcedPassive = 1
ForcedPassive = 158
MaxForcedPassive = 363

MinInQueue = 0
InQueue = 0
MaxInQueue = 157

MinUsersCount = 1
UsersCount = 1056
MaxUsersCount = 1121

MinWaitConnect = 0
WaitConnect = 0
MaxWaitConnect = 309

MinActive = 1
Active = 460
MaxActive = 486

Время сбора статистики = 10753 с

+Connect = 2818 (0.2620664000744 в секунду или 1 за 3.8158268275373 секунд)
+BlockedRCTMBetweenPassive = 852 (0.079233702222636 в секунду или 1 за 12.620892018779 секунд)
+TimeoutWaitCTM = 1303 (0.12117548591091 в секунду или 1 за 8.2524942440522 секунд)
+FixedSearchIP = 521 (0.048451594903748 в секунду или 1 за 20.63915547025 секунд)
+SendRCTM = 4834 (0.44954896308007 в секунду или 1 за 2.2244517997518 секунд)
+Errors = 1 (9.2997303078211e-05 в секунду или 1 за 10753 секунд)
+ConnectTimeout = 500 (0.046498651539105 в секунду или 1 за 21.506 секунд)
+BlockedRCTMToOffline = 2723 (0.25323165628197 в секунду или 1 за 3.9489533602644 секунд)
+OtherCTMForBot = 30 (0.0027899190923463 в секунду или 1 за 358.43333333333 секунд)
+FixedSearch = 3040 (0.28271180135776 в секунду или 1 за 3.5371710526316 секунд)
+FixedCTMIP = 9416 (0.87566260578443 в секунду или 1 за 1.141992353441 секунд)
+SendFixedMyINFOs = 4481 (0.41672091509346 в секунду или 1 за 2.3996875697389 секунд)
+BlockedCTMToPassive = 5826 (0.54180228773366 в секунду или 1 за 1.8456917267422 секунд)
+FixedCTM = 4267 (0.39681949223473 в секунду или 1 за 2.5200374970705 секунд)
+SendFixedMyINFO = 5745 (0.53426950618432 в секунду или 1 за 1.8717145343777 секунд)
+BlockedCTMToOffline = 71 (0.006602808518553 в секунду или 1 за 151.45070422535 секунд)
+ChangedMyINFO = 1335 (0.12415139960941 в секунду или 1 за 8.0546816479401 секунд)
+ConnectDone = 2316 (0.21538175392914 в секунду или 1 за 4.6429188255613 секунд)

Статус:
#tClientSockets = 0
#tUsers = 1056
#tQueue = 0
#tQueueIndex = 0
#tForcedPassive = 158
#tWaitCTM = 10
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 30

HubVersion = 0.4.1.1
LuaVersion = Lua 5.1
OS = Windows_NT


FastDebug:
1. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe [irina916] 88.85.200.244:0|
2. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe [irina916] 88.85.200.244:0|
3. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe [irina916] 88.85.200.244:0|
4. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe benail 88.85.200.244:0|
5. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe benail 88.85.200.244:0|
6. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe benail 88.85.200.244:0|
7. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe benail 88.85.200.244:0|
8. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe 0883nic2 88.85.200.244:0|
9. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe 0883nic2 88.85.200.244:0|
10. 88.85.200.244 Ex1 true Block CTM to Passive: $ConnectToMe 0883nic2 88.85.200.244:0|
11. 95.27.68.172 9xPrototipx9 true Sended RCTM: $RevConnectToMe pozitiv 9xPrototipx9|
12. 95.27.68.172 9xPrototipx9 true real connect
13. 109.126.21.210 barada true Invalid IP in CTM: $ConnectToMe satneve 172.26.252.12:10031|
14. 109.126.21.210 barada true Fix CTM: $ConnectToMe satneve 172.26.252.12:10031| to: $ConnectToMe satneve 109.126.21.210:10031|
15. 109.126.21.210 barada true Invalid IP in CTM: $ConnectToMe satneve 172.26.252.12:10031|
16. 109.126.21.210 barada true Fix CTM: $ConnectToMe satneve 172.26.252.12:10031| to: $ConnectToMe satneve 109.126.21.210:10031|
17. 109.126.21.210 barada true Invalid IP in CTM: $ConnectToMe satneve 172.26.252.12:10031|
18. 109.126.21.210 barada true Fix CTM: $ConnectToMe satneve 172.26.252.12:10031| to: $ConnectToMe satneve 109.126.21.210:10031|
19. 188.187.12.37 [OZK]Rurulnew true Block RCTM to Offline: $RevConnectToMe [OZK]Rurulnew pozitiv|
20. 88.85.200.244 Ex1 true real disconnect
21. 2.93.233.15 kokonv true Fix Search: $Search 2.93.233.15:3271 F?T?0?9?TTH:6EBVO6XMF2NJ5HGTBNKSJZVN5C5ZWFEQW2KX2MI| to: $Search Hub:kokonv F?T?0?9?TTH:6EBVO6XMF2NJ5HGTBNKSJZVN5C5ZWFEQW2KX2MI|
22. 79.164.28.125 Ksilo true fixed MyINFO. from: $MyINFO $ALL Ksilo <StrgDC++ V:2.42,M:A,H:75/0/0,S:75>$ $10 $$182321811486$| to: $MyINFO $ALL Ksilo <StrgDC++ V:2.42,M:P,H:75/0/0,S:75>$ $10 $$182321811486$|
23. 2.93.90.197 [saratov]kseniy true Added in queue
24. 2.93.90.197 [saratov]kseniy true Connect done
25. 81.88.222.19 lysandrej true Block CTM to Passive: $ConnectToMe jenek25 81.88.222.19:28502|
26. 81.88.222.19 lysandrej true Block CTM to Passive: $ConnectToMe jenek25 81.88.222.19:28502|
27. 81.88.222.19 lysandrej true Block CTM to Passive: $ConnectToMe jenek25 81.88.222.19:28502|
28. 81.88.222.19 lysandrej true Block CTM to Passive: $ConnectToMe jenek25 81.88.222.19:28502|
29. 91.206.126.248 kinderhomjkdenis true Sended RCTM: $RevConnectToMe pozitiv kinderhomjkdenis|
30. 91.206.126.248 kinderhomjkdenis true real connect

Пожалуйста, пришлите данное сообщение на форум mydc.ru: http://mydc.ru/topic5112.html или же на почту: enyby@ya.ru

Line 981: if tUsers[tUser.sNick].bActive then
есть подозрение,ошибка вылазит при разрыве связи от провайдера,но выложить стоило,как пример

Автор: Enyby 27.1.2012, 0:18

Все это выглядит похоже на подключение юзера в обход UserConnected.
Или на присутствии на хабе юзера, который не выводится в общем списке.
Или на отсылке запроса на подключения юзеру находящемуся на невнятной стадии подключения. Это, кстати, возможно если кого-то часто кидает.
А так все это похоже на мистику.

Новая версия 2.03.
Добавил обработку этого бага.

Кстати, совет тем, у кого большой хаб. Если происходит медленный вход, то это может стать причиной отваливания юзеров по таймауту и переопределением в пассив. Чтобы этого не происходило - увеличиваем таймаут соединения с 3 секунд до приемлимых значений, например, 10 секунд. В тоже время можно попробовать уменьшить интервал вызова главного цикла с 100 мс до 10 мс.
На винде сделать интервал меньше 10 мс не получится в принципе, так как все что меньше, будет приводится к 10 мс. Это особенности реализации таймеров C++ на винде.
На линуксовой птоке используется своя реализация таймеров, работающая из принимающего цикла, так что там может быть все что угодно, но на крупных хабах, хотя бы 10 мс задержки между вызовами получить будет нереально, будет больше. А все потому что пользователей много и все обычно что-то шлют.

Автор: Ameet 27.1.2012, 10:31

Enyby,
ты о local iCheckInterval = 100 -- интервал в миллисекундах между проверками: таймаута RCTM, соединения, опроса сокетов и обработки очереди?
здесь ставить 10 мс?

Автор: Enyby 27.1.2012, 10:33

Да.

Автор: Ameet 27.1.2012, 11:19

онлайн почти 1к, вечером жду 3к+ посмотрим что будет

Ошибка
FatalError: Unknown user in WaitCTM

Статистика для скрипта User Mode Fixer v2.03

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100 мс
iSelectTimeout = 0 с
iTimeout = 60 с
iConnectTimeout = 3 с
Core.GetUsersCount() = 960
#Core.GetOnlineUsers() = 960

Статистика:
Время работы скрипта = 3775 с

MinMemoryUsage = 289
MemoryUsage = 466
MaxMemoryUsage = 1199

MinActive = 1
Active = 8
MaxActive = 11

MinWaitCTM = 0
WaitCTM = 7
MaxWaitCTM = 416

MinPassive = 1
Passive = 460
MaxPassive = 475

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 8

MinWaitConnect = 0
WaitConnect = 0
MaxWaitConnect = 8

MinInQueue = 0
InQueue = 0
MaxInQueue = 8

MinUsersCount = 1
UsersCount = 963
MaxUsersCount = 980

MinForcedPassive = 1
ForcedPassive = 488
MaxForcedPassive = 489

Время сбора статистики = 3775 с

+TimeoutWaitCTM = 782 (0.20715231788079 в секунду или 1 за 4.8273657289003 секунд)
+FixedSearchIP = 21 (0.0055629139072848 в секунду или 1 за 179.7619047619 секунд)
+SendFixedMyINFOs = 866 (0.22940397350993 в секунду или 1 за 4.3591224018476 секунд)
+FixedSearch = 6932 (1.8362913907285 в секунду или 1 за 0.54457587997692 секунд)
+SendFixedMyINFO = 7599 (2.0129801324503 в секунду или 1 за 0.49677589156468 секунд)
+FixedCTMIP = 143 (0.037880794701987 в секунду или 1 за 26.398601398601 секунд)
+ConnectedDuplicateUser = 16 (0.0042384105960265 в секунду или 1 за 235.9375 секунд)
+Connect = 21 (0.0055629139072848 в секунду или 1 за 179.7619047619 секунд)
+ChangedMyINFO = 17 (0.0045033112582781 в секунду или 1 за 222.05882352941 секунд)
+ConnectDone = 21 (0.0055629139072848 в секунду или 1 за 179.7619047619 секунд)
+SendRCTM = 881 (0.23337748344371 в секунду или 1 за 4.2849035187287 секунд)

Статус:
#tClientSockets = 0
#tUsers = 963
#tQueue = 0
#tQueueIndex = 0
#tForcedPassive = 488
#tWaitCTM = 7
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 30

HubVersion = 0.4.1.2
LuaVersion = Lua 5.1
OS = Windows_NT


FastDebug:
1. 95.24.97.42 shrek_SENSEY true fixed MyINFO. from: $MyINFO $ALL shrek_SENSEY [3]Бан за бан<FlylinkDC++ V:r501-beta69,M:A,H:30/0/0,S:15>$ $50 $$299286891763$| to: $MyINFO $ALL shrek_SENSEY [3]Бан за бан<FlylinkDC++ V:r501-beta69,M:P,H:30/0/0,S:15>$ $50 $$299286891763$|
2. 93.79.69.113 Kesh777 true fixed MyINFO. from: $MyINFO $ALL Kesh777 <SSQLite++ V:2.42.6834,M:A,H:9/0/0,S:9>$ $100$$26244272265$| to: $MyINFO $ALL Kesh777 <SSQLite++ V:2.42.6834,M:P,H:9/0/0,S:9>$ $100$$26244272265$|
3. 93.79.90.30 peer. false real disconnect
4. 93.79.3.114 Aviva true Sended RCTM: $RevConnectToMe #[Barabashka] Aviva|
5. 93.79.3.114 Aviva true real connect
6. 93.79.1.44 Таничка true Wait CTM timeout. Send to all fixed MyINFO: $MyINFO $ALL Таничка [15]<FlylinkDC++ V:r500-x64,M:P,H:12/0/0,S:15>$ $50$$11324788654$|
7. 46.118.235.200 Порнослоник true Fix Search: $Search 46.118.235.200:9113 F?T?0?9?TTH:NAYVMN33SPVZ3IZH4K6LJMSWYTI34YDK24S4NLI| to: $Search Hub:Порнослоник F?T?0?9?TTH:NAYVMN33SPVZ3IZH4K6LJMSWYTI34YDK24S4NLI|
8. 178.77.1.197 Season true Fix Search: $Search 178.77.1.197:1100 F?T?0?9?TTH:TPWR5SHZA5LKZREJW4U3VAVWOBJIHEX4AE2WINY| to: $Search Hub:Season F?T?0?9?TTH:TPWR5SHZA5LKZREJW4U3VAVWOBJIHEX4AE2WINY|
9. 93.79.56.93 Kubik true Fix Search: $Search 93.79.56.93:1426 F?T?0?9?TTH:QXVBVYIP2O565Z55XECWPAMC2B7F7OJYPDSBFLY| to: $Search Hub:Kubik F?T?0?9?TTH:QXVBVYIP2O565Z55XECWPAMC2B7F7OJYPDSBFLY|
10. 93.79.20.3 28serg26 true Fix Search: $Search 93.79.20.3:5280 F?T?0?9?TTH:NMOU4ACQ7EZAFUMI2CYNDAGQWAAGUV4FYDWTYII| to: $Search Hub:28serg26 F?T?0?9?TTH:NMOU4ACQ7EZAFUMI2CYNDAGQWAAGUV4FYDWTYII|
11. 93.79.58.169 hkgfkfkyfy true Fix Search: $Search 93.79.58.169:1026 F?T?0?9?TTH:ZM6H465RJNIJB5WKHJTU5QJWZQEKYE2KHFCSEIY| to: $Search Hub:hkgfkfkyfy F?T?0?9?TTH:ZM6H465RJNIJB5WKHJTU5QJWZQEKYE2KHFCSEIY|
12. 93.79.5.12 bodrov87 true Fix Search: $Search 93.79.5.12:2811 F?T?0?9?TTH:N4CNSCE2WQ2UIQLZM5YZ4NLQJWAE6RJVEG2EIJQ| to: $Search Hub:bodrov87 F?T?0?9?TTH:N4CNSCE2WQ2UIQLZM5YZ4NLQJWAE6RJVEG2EIJQ|
13. 93.79.61.253 matein84 true fixed MyINFO. from: $MyINFO $ALL matein84 [0]<FlylinkDC++ V:r404,M:A,H:17/0/0,S:15>$ $0.005$$50176080925$| to: $MyINFO $ALL matein84 [0]<FlylinkDC++ V:r404,M:P,H:17/0/0,S:15>$ $0.005$$50176080925$|
14. 93.79.95.116 Shutka true Fix Search: $Search 93.79.95.116:4839 F?T?0?9?TTH:R2ZSPFUS7P3WL336IV7E5T5JT6SLGSLQ7WIXYAI| to: $Search Hub:Shutka F?T?0?9?TTH:R2ZSPFUS7P3WL336IV7E5T5JT6SLGSLQ7WIXYAI|
15. 93.79.22.95 DONIC777 true fixed MyINFO. from: $MyINFO $ALL DONIC777 [14]<FlylinkDC++ V:r501-beta69-x64,M:A,H:12/0/0,S:15>$ $50$$18280318245$| to: $MyINFO $ALL DONIC777 [14]<FlylinkDC++ V:r501-beta69-x64,M:P,H:12/0/0,S:15>$ $50$$18280318245$|
16. 178.213.212.137 268310268310 true Fix Search: $Search 178.213.212.137:1320 F?T?0?9?TTH:OHV2OP7EKICPIPZ7TTQTLUB62H76JVIDM3Z4DYQ| to: $Search Hub:268310268310 F?T?0?9?TTH:OHV2OP7EKICPIPZ7TTQTLUB62H76JVIDM3Z4DYQ|
17. 93.79.1.44 Таничка true Fix Search: $Search 93.79.1.44:64411 F?T?0?9?TTH:LIDH2JDD7O24JUNZAIN7MKQKG3LDJHXBRLUVFWI| to: $Search Hub:Таничка F?T?0?9?TTH:LIDH2JDD7O24JUNZAIN7MKQKG3LDJHXBRLUVFWI|
18. 31.135.145.249 djulija false real connect
19. 77.122.76.182 Xomiak true fixed MyINFO. from: $MyINFO $ALL Xomiak <SSQLite++ V:2.42.6834,M:A,H:7/1/0,S:8>$ $0.01$$45037566398$| to: $MyINFO $ALL Xomiak <SSQLite++ V:2.42.6834,M:P,H:7/1/0,S:8>$ $0.01$$45037566398$|
20. 93.79.69.231 Lizass true Fix Search: $Search 93.79.69.231:7145 F?T?0?9?TTH:OJQ7NO7ISIVLOWX2PYU66OAVXWBJBPZEE3ONMFI| to: $Search Hub:Lizass F?T?0?9?TTH:OJQ7NO7ISIVLOWX2PYU66OAVXWBJBPZEE3ONMFI|
21. 93.79.89.112 jay-z true Wait CTM timeout. Send to all fixed MyINFO: $MyINFO $ALL jay-z <FlylinkDC++ V:(r384),M:P,H:6/0/0,S:15>$ $100$$30740732577$|
22. 93.79.1.16 123334 false real disconnect
23. 93.79.61.143 ромашка true Fix Search: $Search 93.79.61.143:1034 F?T?0?9?TTH:4Y2LLXHNEA3ZHQJB66D4HJERKT5OW5MAPNGG73Q| to: $Search Hub:ромашка F?T?0?9?TTH:4Y2LLXHNEA3ZHQJB66D4HJERKT5OW5MAPNGG73Q|
24. 95.106.56.163 Brixx true Sended RCTM: $RevConnectToMe #[Barabashka] Brixx|
25. 95.106.56.163 Brixx true real connect
26. 109.162.82.34 GooNiik1 true Fix Search: $Search 109.162.82.34:10060 F?T?0?9?TTH:BQCSVB7RTPPIUWYMPCKHVX5I52K4BBK4GAQA54Y| to: $Search Hub:GooNiik1 F?T?0?9?TTH:BQCSVB7RTPPIUWYMPCKHVX5I52K4BBK4GAQA54Y|
27. 195.222.88.147 впапоалyoj true Fix Search: $Search 195.222.88.147:30255 F?T?0?9?TTH:WRVVYDOA5XXS2MZUP33OGI2AXJ4X6JSU2SEQLBI| to: $Search Hub:впапоалyoj F?T?0?9?TTH:WRVVYDOA5XXS2MZUP33OGI2AXJ4X6JSU2SEQLBI|
28. 93.79.59.9 Маруся true Fix Search: $Search 93.79.59.9:30372 F?T?0?9?TTH:ZSHZB56N67S2DQ32O3QRJC2MJPCI6YN33L2ITFI| to: $Search Hub:Маруся F?T?0?9?TTH:ZSHZB56N67S2DQ32O3QRJC2MJPCI6YN33L2ITFI|
29. 176.8.210.184 _shaitan4eg_ true fixed MyINFO. from: $MyINFO $ALL _shaitan4eg_ [9]<FlylinkDC++ V:r501-beta69,M:A,H:18/0/0,S:15>$ $1000 $$162586421556$| to: $MyINFO $ALL _shaitan4eg_ [9]<FlylinkDC++ V:r501-beta69,M:P,H:18/0/0,S:15>$ $1000 $$162586421556$|
30. Text message: Unknown user in WaitCTM

Автор: rival 27.1.2012, 11:42

пробуй скрипт поставить выше/ниже других,и посмотри что будет, определяет пассив(принудительно),по факту - активный режим(я про себя) заходил
у тебя стоит скрипт который определяет страну и профиль пользователя в описании,весьма вероятная причина в работе этого скрипта

Автор: Enyby 27.1.2012, 12:04

Цитата(Ameet @ 27.1.2012, 10:19) *
+TimeoutWaitCTM = 782 (0.20715231788079 в секунду или 1 за 4.8273657289003 секунд)

Это плохой признак. Следует увеличить iTimeout. Поставьте 600 для начала.
Цитата(Ameet @ 27.1.2012, 10:19) *
+ConnectedDuplicateUser = 16 (0.0042384105960265 в секунду или 1 за 235.9375 секунд)

Это вообще очень круто.
В общем это вызов UserConnected для одного ника несколько раз, без UserDisconnected между вызовами.
Попробуйте остальные скрипты отрубить или поставить этот выше всех.
Выше не должно быть скриптов, которые возвращают return true в UserDisconnected, а ниже - скриптов, которые отключают юзера в UserConnected.

ADD:
Версия 2.04.
Улучшен отладочный вывод. Никаких критичных ихменений.

Ameet, ставь новую версию и присылай снова лог ошибки. Там будет чуть больше информации. Так же проверь другие скрипты на предмет совместимости с этим.

Автор: Ameet 27.1.2012, 12:21

Цитата(Enyby @ 27.1.2012, 12:04) *
Это плохой признак. Следует увеличить iTimeout. Поставьте 600 для начала.

Это вообще очень круто.
В общем это вызов UserConnected для одного ника несколько раз, без UserDisconnected между вызовами.
Попробуйте остальные скрипты отрубить или поставить этот выше всех.
Выше не должно быть скриптов, которые возвращают return true в UserDisconnected, а ниже - скриптов, которые отключают юзера в UserConnected.

ADD:
Версия 2.04.
Улучшен отладочный вывод. Никаких критичных ихменений.

Ameet, ставь новую версию и присылай снова лог ошибки. Там будет чуть больше информации. Так же проверь другие скрипты на предмет совместимости с этим.

Установил таймаут 600, что ещё бы ты посоветовал для большого онлайна?

Автор: rival 27.1.2012, 12:21

не успеваю обновлять big_smile.gif

Автор: Ameet 27.1.2012, 12:31

Цитата(rival @ 27.1.2012, 11:42) *
пробуй скрипт поставить выше/ниже других,и посмотри что будет, определяет пассив(принудительно),по факту - активный режим(я про себя) заходил
у тебя стоит скрипт который определяет страну и профиль пользователя в описании,весьма вероятная причина в работе этого скрипта

сейчас только выше стоит антиреклама и авто-сохранение

Автор: rival 27.1.2012, 12:33

вот теперь нормально определило

Автор: Enyby 27.1.2012, 12:45

Цитата(Ameet @ 27.1.2012, 11:21) *
что ещё бы ты посоветовал для большого онлайна?

iMaxPoolSize = 48
iCheckInterval = 10
iConnectTimeout = 10

Цифры примерные. Можешь сам с ними эксперементировать.

Проверь еще что:
Цитата
Несовместим со скриптами осуществлящими отключение пользователя в функциях (User|Op|Reg)Connected, когда эти скрипты находятся ниже этого скрипта в списке скриптов.



ADD:
Если антиреклама подменяет описания, могут быть проблемы. Но не критичные.

Тут что-то еще.

Автор: Ameet 27.1.2012, 12:52

Цитата(Enyby @ 27.1.2012, 12:45) *
iMaxPoolSize = 48
iCheckInterval = 10
iConnectTimeout = 10

Цифры примерные. Можешь сам с ними эксперементировать.

Проверь еще что:



ADD:
Если антиреклама подменяет описания, могут быть проблемы. Но не критичные.

Тут что-то еще.

то есть скрипт должен стоять ниже всех?

новая ошибка
FatalError: Unknown user in WaitCTM: July

Статистика для скрипта User Mode Fixer v2.04

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100 мс
iSelectTimeout = 0 с
iTimeout = 600 с
iConnectTimeout = 3 с
Core.GetUsersCount() = 1225
#Core.GetOnlineUsers() = 1225

Статистика:
Время работы скрипта = 1841 с

MinMemoryUsage = 538
MemoryUsage = 1689
MaxMemoryUsage = 6232

MinWaitCTM = 1
WaitCTM = 10
MaxWaitCTM = 600

MinPassive = 1
Passive = 575
MaxPassive = 577

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 556

MinWaitConnect = 0
WaitConnect = 0
MaxWaitConnect = 556

MinForcedPassive = 1
ForcedPassive = 305
MaxForcedPassive = 390

MinInQueue = 0
InQueue = 2
MaxInQueue = 556

MinUsersCount = 1
UsersCount = 1228
MaxUsersCount = 1232

MinActive = 1
Active = 336
MaxActive = 337

Время сбора статистики = 1841 с

+Connect = 851 (0.46224877783813 в секунду или 1 за 2.1633372502938 секунд)
+BlockedRCTMBetweenPassive = 3 (0.0016295491580663 в секунду или 1 за 613.66666666667 секунд)
+TimeoutWaitCTM = 4 (0.002172732210755 в секунду или 1 за 460.25 секунд)
+FixedSearchIP = 35 (0.019011406844106 в секунду или 1 за 52.6 секунд)
+ConnectTimeout = 415 (0.22542096686583 в секунду или 1 за 4.4361445783133 секунд)
+SendFixedMyINFOs = 500 (0.27159152634438 в секунду или 1 за 3.682 секунд)
+FixedSearch = 2218 (1.2047800108637 в секунду или 1 за 0.83002705139766 секунд)
+BlockedRCTMToOffline = 10 (0.0054318305268876 в секунду или 1 за 184.1 секунд)
+FixedCTMIP = 321 (0.17436175991309 в секунду или 1 за 5.7352024922118 секунд)
+SendFixedMyINFO = 3504 (1.9033134166214 в секунду или 1 за 0.525399543379 секунд)
+BlockedCTMToPassive = 2267 (1.2313959804454 в секунду или 1 за 0.81208645787384 секунд)
+FixedCTM = 1296 (0.70396523628463 в секунду или 1 за 1.420524691358 секунд)
+ConnectedDuplicateUser = 15 (0.0081477457903313 в секунду или 1 за 122.73333333333 секунд)
+ChangedMyINFO = 19 (0.010320478001086 в секунду или 1 за 96.894736842105 секунд)
+ConnectDone = 436 (0.2368278109723 в секунду или 1 за 4.2224770642202 секунд)
+SendRCTM = 885 (0.48071700162955 в секунду или 1 за 2.0802259887006 секунд)

Статус:
#tClientSockets = 0
#tUsers = 1228
#tQueue = 2
#tQueueIndex = 2
#tForcedPassive = 305
#tWaitCTM = 10
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 30

HubVersion = 0.4.1.2
LuaVersion = Lua 5.1
OS = Windows_NT


FastDebug:
1. 93.79.93.32 vitalikzl true fixed MyINFO. from: $MyINFO $ALL vitalikzl [14]<FlylinkDC++ V:r404-beta4-x64,M:A,H:12/0/0,S:15>$ $100$$15516121054$| to: $MyINFO $ALL vitalikzl [14]<FlylinkDC++ V:r404-beta4-x64,M:P,H:12/0/0,S:15>$ $100$$15516121054$|
2. 93.79.17.249 anrey21 true fixed MyINFO. from: $MyINFO $ALL anrey21 [4]<GreylinkDC++ v:1.9.7,M:A,H:11/0/0,S:5>$ $0.005$$0$| to: $MyINFO $ALL anrey21 [4]<GreylinkDC++ v:1.9.7,M:P,H:11/0/0,S:5>$ $0.005$$0$|
3. 195.182.202.253 maxim-243-1985 true fixed MyINFO. from: $MyINFO $ALL maxim-243-1985 [11]skm<FlylinkDC++ V:r405,M:A,H:9/0/0,S:15>$ $100$tatyana-23_85@mail.ru$129051343083$| to: $MyINFO $ALL maxim-243-1985 [11]skm<FlylinkDC++ V:r405,M:P,H:9/0/0,S:15>$ $100$tatyana-23_85@mail.ru$129051343083$|
4. 95.28.229.226 Kella true fixed MyINFO. from: $MyINFO $ALL Kella <StrgDC++ V:2.42,M:A,H:4/12/0,S:16>$ $1000 $tnv81@bk.ru$48686624431$| to: $MyINFO $ALL Kella <StrgDC++ V:2.42,M:P,H:4/12/0,S:16>$ $1000 $tnv81@bk.ru$48686624431$|
5. 93.79.3.133 Den true fixed MyINFO. from: $MyINFO $ALL Den [13]<FlylinkDC++ V:r500,M:A,H:20/0/0,S:15>$ $0.005 $Denis_sumy@mail.ru$12718145970$| to: $MyINFO $ALL Den [13]<FlylinkDC++ V:r500,M:P,H:20/0/0,S:15>$ $0.005 $Denis_sumy@mail.ru$12718145970$|
6. 93.79.3.162 syrvachev true fixed MyINFO. from: $MyINFO $ALL syrvachev [14]<FlylinkDC++ V:r500,M:A,H:12/0/0,S:15>$ $50$$38520574915$| to: $MyINFO $ALL syrvachev [14]<FlylinkDC++ V:r500,M:P,H:12/0/0,S:15>$ $50$$38520574915$|
7. 93.79.30.220 oper24 true fixed MyINFO. from: $MyINFO $ALL oper24 [15]<FlylinkDC++ V:r404-beta4,M:A,H:10/0/0,S:15>$ $100$$85873490362$| to: $MyINFO $ALL oper24 [15]<FlylinkDC++ V:r404-beta4,M:P,H:10/0/0,S:15>$ $100$$85873490362$|
8. 93.79.12.52 mazafaka true fixed MyINFO. from: $MyINFO $ALL mazafaka [14]<FlylinkDC++ V:r500,M:A,H:12/0/0,S:15>$ $50 $$24532097701$| to: $MyINFO $ALL mazafaka [14]<FlylinkDC++ V:r500,M:P,H:12/0/0,S:15>$ $50 $$24532097701$|
9. 93.79.50.156 Женя true fixed MyINFO. from: $MyINFO $ALL Женя [1]<gl++ V:0.51,M:A,H:8/0/0,S:2>$ $0.005$$218570416537$| to: $MyINFO $ALL Женя [1]<gl++ V:0.51,M:P,H:8/0/0,S:2>$ $0.005$$218570416537$|
10. 93.79.74.66 senen4ik81 true fixed MyINFO. from: $MyINFO $ALL senen4ik81 [13]big_smile.gif<FlylinkDC++ V:r500,M:A,H:12/0/0,S:15>$ $50$:)$124237769817$| to: $MyINFO $ALL senen4ik81 [13]big_smile.gif<FlylinkDC++ V:r500,M:P,H:12/0/0,S:15>$ $50$:)$124237769817$|
11. 93.79.28.125 MeRkA-VoRiwKa true fixed MyINFO. from: $MyINFO $ALL MeRkA-VoRiwKa [23][L:300KB]<FlylinkDC++ V:r407,M:A,H:13/0/0,S:25,L:300>$ $100 $$19147851037$| to: $MyINFO $ALL MeRkA-VoRiwKa [23][L:300KB]<FlylinkDC++ V:r407,M:P,H:13/0/0,S:25,L:300>$ $100 $$19147851037$|
12. 2.95.242.234 mari18 true fixed MyINFO. from: $MyINFO $ALL mari18 [12]FlylinkDC для Beeline<FlylinkDC++ V:(r385),M:A,H:10/0/0,S:15>$ $100 $marina83mail@rambler.ru$65859875250$| to: $MyINFO $ALL mari18 [12]FlylinkDC для Beeline<FlylinkDC++ V:(r385),M:P,H:10/0/0,S:15>$ $100 $marina83mail@rambler.ru$65859875250$|
13. 93.79.42.54 HitsMars true fixed MyINFO. from: $MyINFO $ALL HitsMars [14]xp athlon<FlylinkDC++ V:(r402),M:A,H:14/0/0,S:15>$ $100$$32638325654$| to: $MyINFO $ALL HitsMars [14]xp athlon<FlylinkDC++ V:(r402),M:P,H:14/0/0,S:15>$ $100$$32638325654$|
14. 93.79.66.68 alexandr_sumy true fixed MyINFO. from: $MyINFO $ALL alexandr_sumy [13]<FlylinkDC++ V:r500,M:A,H:8/0/0,S:15>$ $50 $$22438094720$| to: $MyINFO $ALL alexandr_sumy [13]<FlylinkDC++ V:r500,M:P,H:8/0/0,S:15>$ $50 $$22438094720$|
15. 93.79.62.112 GTX true fixed MyINFO. from: $MyINFO $ALL GTX [14]<FlylinkDC++ V:(r402),M:A,H:8/0/0,S:15>$ $0.005$$6758718054$| to: $MyINFO $ALL GTX [14]<FlylinkDC++ V:(r402),M:P,H:8/0/0,S:15>$ $0.005$$6758718054$|
16. 178.165.71.36 sokolptiza67 true fixed MyINFO. from: $MyINFO $ALL sokolptiza67 <ApexDC++ V:1.5.1,M:A,H:11/0/0,S:5>$ $100$$131585122923$| to: $MyINFO $ALL sokolptiza67 <ApexDC++ V:1.5.1,M:P,H:11/0/0,S:5>$ $100$$131585122923$|
17. 93.79.84.2 Mr.Bazuka true fixed MyINFO. from: $MyINFO $ALL Mr.Bazuka [13]<FglinkDC V:2.03,M:A,H:11/0/0,S:15>$ $100!$$228308109015$| to: $MyINFO $ALL Mr.Bazuka [13]<FglinkDC V:2.03,M:P,H:11/0/0,S:15>$ $100!$$228308109015$|
18. 178.162.94.80 Alex_Nice true fixed MyINFO. from: $MyINFO $ALL Alex_Nice [3]<gl++ V:5.57,M:A,H:32/5/0,S:6>$ $100$ $212599627564$| to: $MyINFO $ALL Alex_Nice [3]<gl++ V:5.57,M:P,H:32/5/0,S:6>$ $100$ $212599627564$|
19. 93.81.11.159 [beeline]ВЕТИК true fixed MyINFO. from: $MyINFO $ALL [beeline]ВЕТИК <++ V:0.699,M:A,H:7/0/0,S:15>$ $50$$26352804318$| to: $MyINFO $ALL [beeline]ВЕТИК <++ V:0.699,M:P,H:7/0/0,S:15>$ $50$$26352804318$|
20. 95.170.183.252 boomer true fixed MyINFO. from: $MyINFO $ALL boomer [20]<FlylinkDC++ V:(r386),M:A,H:13/0/0,S:20>$ $0.005$$19911036139$| to: $MyINFO $ALL boomer [20]<FlylinkDC++ V:(r386),M:P,H:13/0/0,S:20>$ $0.005$$19911036139$|
21. 93.79.110.171 Diana777 false *disconnect user changed mode. from: table: 0A9B50F0 to: true $MyINFO $ALL Diana777 [15]<FlylinkDC++ V:r500,M:A,H:10/0/0,S:15>$ $50$$10380719301$|
22. 93.79.110.171 Diana777 true Sended RCTM: $RevConnectToMe #[Barabashka] Diana777|
23. 94.198.217.161 snowkat true fixed MyINFO. from: $MyINFO $ALL snowkat [25]<FlylinkDC++ V:r407-x64,M:A,H:50/0/0,S:49>$ $100$$270041100753$| to: $MyINFO $ALL snowkat [25]<FlylinkDC++ V:r407-x64,M:P,H:50/0/0,S:49>$ $100$$270041100753$|
24. 93.79.90.4 SkRIPa4 true real disconnect
25. 93.79.110.171 Diana777 true Invalid IP in CTM: $ConnectToMe #[Barabashka] 93.79.4.22:1162|
26. 93.79.110.171 Diana777 true Added in queue
27. 93.79.22.112 Матадорик true Added in queue
28. 93.79.69.224 123409876 true Sended RCTM: $RevConnectToMe #[Barabashka] 123409876|
29. 93.79.69.224 123409876 true real connect
30. Text message: Unknown user in WaitCTM: July

Автор: Enyby 27.1.2012, 12:57

Попробуй выключить на время все другие скрипты и запустить этот. Если не будет вылетать, значит проблема в конфликте скриптов. Хоть ясность какая-то будет.

Скрипт не должен быть выше или ниже всех. Выше него не должно быть того, что будет перехватывать обработку подключений и прочего, а ниже - чтобы не нарушать последовательности. Например, если юзер вошел, то он должен выходить? Не правда ли? Но если ты в каком-то скрипте вызовыешь Core.Disconnect прямо в UserConnected, то UserDisconnected вызвано не будет, так как процедура входа еще не завершена. А все предыдущие скрипты будут думать, что юзер корректно вошел. И будут ждать его выхода. Естественно что не дождуться.

UPD:
Более того. Они будут получать nil вместо таблицы пользователя при вызове Core.GetUser(sNick). Вот эта ошибка у тебя и лезет.
Кстати, кроме тебя никто ее не прислал. Ни разу. Так что думаю дело в твоем наборе скриптов.

Автор: Ameet 27.1.2012, 13:13

Цитата(Enyby @ 27.1.2012, 12:57) *
Попробуй выключить на время все другие скрипты и запустить этот. Если не будет вылетать, значит проблема в конфликте скриптов. Хоть ясность какая-то будет.

Скрипт не должен быть выше или ниже всех. Выше него не должно быть того, что будет перехватывать обработку подключений и прочего, а ниже - чтобы не нарушать последовательности. Например, если юзер вошел, то он должен выходить? Не правда ли? Но если ты в каком-то скрипте вызовыешь Core.Disconnect прямо в UserConnected, то UserDisconnected вызвано не будет, так как процедура входа еще не завершена. А все предыдущие скрипты будут думать, что юзер корректно вошел. И будут ждать его выхода. Естественно что не дождуться.

UPD:
Более того. Они будут получать nil вместо таблицы пользователя при вызове Core.GetUser(sNick). Вот эта ошибка у тебя и лезет.
Кстати, кроме тебя никто ее не прислал. Ни разу. Так что думаю дело в твоем наборе скриптов.


вот сейчас такие у меня скрипты, я точно не знаю использует ли екзоуратор те функции что ты писал, но если Вы знаете пожалуйста подскажите.

Автор: Enyby 27.1.2012, 13:23

Нет у меня настроения экзектура ворошить. Давай ты все отключишь и проверишь. так будет быстрее всего.
saver - у меня работает. Конфликтов нет.
CountryTag - он ниже - конфликтов нет, но я бы его вообще вырубил, поскольку мой скрипт перехватывает часть Тэгов. И будут одни со странами, а другие без.
Unreg block - это непонятно что. Код в студию. Скорее всего он и колбасит.

Автор: Damaks 27.1.2012, 13:24

Ameet, меня неверно переопределяет

Цитата
[14:21:37] <#[Barabashka]> Ваш IP: 89.222.213.224 Ваш режим: пассив (принудительно).

Автор: Ameet 27.1.2012, 13:25

Цитата(Enyby @ 27.1.2012, 13:23) *
Нет у меня настроения экзектура ворошить. Давай ты все отключишь и проверишь. так будет быстрее всего.
saver - у меня работает. Конфликтов нет.
CountryTag - он ниже - конфликтов нет, но я бы его вообще вырубил, поскольку мой скрипт перехватывает часть Тэгов. И будут одни со странами, а другие без.
Unreg block - это непонятно что. Код в студию. Скорее всего он и колбасит.

тык
local sMsg=[[Сообщение о недоступности чата и лички незарегистрированному]]
function ChatArrival(tUser)
if tUser.iProfile == -1 then
Core.SendToUser(tUser,sMsg)
return true
end
end
ToArrival=ChatArrival


не думаю

Автор: rival 27.1.2012, 13:27

Цитата
CountryTag - он ниже - конфликтов нет, но я бы его вообще вырубил, поскольку мой скрипт перехватывает часть Тэгов. И будут одни со странами, а другие без.

склоняюсь к конфликту с этим скриптом

Автор: Ameet 27.1.2012, 13:28

Цитата(Damaks @ 27.1.2012, 13:24) *
Ameet, меня неверно переопределяет


когда я включаю скрипт меня тоже на принудительный пассив кидает почему-то

попутно выключил коунтри тег.

Автор: Enyby 27.1.2012, 13:35

Unreg block - все верно. Это не он.

Сейчас скрипт не работает? Захожу ничего не пишет и еще кидает с несовпадением адресов.

Автор: rival 27.1.2012, 13:40

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 64
iCheckInterval = 20 мс
iSelectTimeout = 0 с
iTimeout = 60 с
iConnectTimeout = 10 с

пробуй поставить такие настройки,у меня примерно такой же онлайн юзеров,что и у тебя,работает нормально

Автор: Enyby 27.1.2012, 13:44

О. Я еще артефакт углядел в статистике:

Цитата
Core.GetUsersCount() = 1225
#Core.GetOnlineUsers() = 1225

UsersCount = 1228

В скрипте количество юзеров больше на три, чем на хабе. Это плохой признак. Есть вероятность что это вызвано выходом юзеров без вызова UserDisconnected.

Автор: Ameet 27.1.2012, 13:48

Цитата(rival @ 27.1.2012, 13:40) *
Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = true
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = nil
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 64
iCheckInterval = 20 мс
iSelectTimeout = 0 с
iTimeout = 60 с
iConnectTimeout = 10 с

пробуй поставить такие настройки,у меня примерно такой же онлайн юзеров,что и у тебя,работает нормально

Спасибо, пока загрузил белье в машинку и подкрутил уровень а то танцевала вроде как дало опять ошибку ну я обновил жду опять...
остались со скриптов антиреклама, кантри стат , регистрация через мыло верли инфо,мотд и унрег блок

Автор: Damaks 27.1.2012, 13:56

Цитата(Ameet @ 27.1.2012, 14:28) *
когда я включаю скрипт меня тоже на принудительный пассив кидает почему-то

Зайди на GOLD-HUB, какой тебе режим напишет. У меня схожая проблема.

Автор: Enyby 27.1.2012, 13:59

Damaks,
[12:57:44] <СолнышкО> Ваш IP: *.*.*.* Ваш режим: пассив (принудительно).
Верно.
[12:58:15] <СолнышкО> Ваш IP: *.*.*.* Ваш режим: актив.
Тоже верно.

Два клиента с разными настройками.

Автор: Ameet 27.1.2012, 14:22

так походу дело в екзоураторе, как мне быть как решить проблему что бы и бот работал и данный скрипт, какие есть соображения?

Автор: Enyby 27.1.2012, 14:24

Ждать новую версию. big_smile.gif Сегодня постараюсь выпустить.

Автор: Ameet 27.1.2012, 14:26

Цитата(Enyby @ 27.1.2012, 14:24) *
Ждать новую версию. big_smile.gif Сегодня постараюсь выпустить.

будем с радостью ждать так как бот тоже мне нужен =)

Автор: Enyby 27.1.2012, 19:48

Новая версия 2.05.
По идее должна быть совместимость с экзекутором. А на деле - черт его знает.

Автор: LoT 28.1.2012, 15:30

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

Грешу на фичу изменения тэга, т.к. первый раз затык был на новой версии скрипта, где была реализована подобная функция (1.11, если не ошибаюсь), сейчас вот - 2.01.

Трабл заключается в том, что совершенно неожиданно хаб зависает (даже через консоль не отвечает). Соединние пользователя доходит до статуса "Соединен", и на этом все замерает.

Вот статистика хаба, примерно, за два часа до зависания:

Раскрывающийся текст
Статистика для скрипта User Mode Fixer v2.01

Настройки:
sCmdPrefix = 'UMF'
bDetailedStats = true
bValidate = false
bFastDebug = true
iFastDebugHistory = 30
sDebugLog = Debug.log
bFixMyINFO = true
iActionToInvalidIP = 1
iActionToInvalidNick = 1
iMaxPoolSize = 32
iCheckInterval = 100 мс
iSelectTimeout = 0 с
iTimeout = 60 с
iConnectTimeout = 3 с
Core.GetUsersCount() = 408
#Core.GetOnlineUsers() = 408

Статистика:
Время работы скрипта = 314215 с

MinMemoryUsage = 237
MemoryUsage = 573
MaxMemoryUsage = 3321

MinWaitCTM = 0
WaitCTM = 0
MaxWaitCTM = 310

MinPassive = 1
Passive = 173
MaxPassive = 230

MinPoolSize = 0
PoolSize = 0
MaxPoolSize = 266

MinForcedPassive = 1
ForcedPassive = 40
MaxForcedPassive = 53

MinInQueue = 0
InQueue = 0
MaxInQueue = 266

MinUsersCount = 1
UsersCount = 408
MaxUsersCount = 556

MinWaitConnect = 0
WaitConnect = 0
MaxWaitConnect = 266

MinActive = 1
Active = 195
MaxActive = 287

Время сбора статистики = 314215 с

+Connect = 8028 (0,025549384975256 в секунду или 1 за 39,139885401096 секунд)
+BlockedRCTMBetweenPassive = 15 (4,7738013780373e-05 в секунду или 1 за 20947,666666667 секунд)
+TimeoutWaitCTM = 481 (0,001530798975224 в секунду или 1 за 653,25363825364 секунд)
+FixedSearchIP = 1542 (0,0049074678166224 в секунду или 1 за 203,77107652399 секунд)
+SendRCTM = 8706 (0,027707143198129 в секунду или 1 за 36,091775786814 секунд)
+ConnectTimeout = 1336 (0,0042518657607052 в секунду или 1 за 235,19086826347 секунд)
+SendFixedMyINFOs = 14809 (0,047130149738237 в секунду или 1 за 21,217840502397 секунд)
+FixedCTMIP = 7391 (0,023522110656716 в секунду или 1 за 42,513191719659 секунд)
+FixedSearch = 19055 (0,060643190172334 в секунду или 1 за 16,489897664655 секунд)
+OtherCTMForBot = 88 (0,00028006301417819 в секунду или 1 за 3570,625 секунд)
+BlockedCTMToPassive = 18203 (0,057931670989609 в секунду или 1 за 17,261715101906 секунд)
+BlockedRCTMToOffline = 351 (0,0011170695224607 в секунду или 1 за 895,19943019943 секунд)
+FixedCTM = 20871 (0,066422672374011 в секунду или 1 за 15,055100378516 секунд)
+SendFixedMyINFO = 20010 (0,063682510383018 в секунду или 1 за 15,702898550725 секунд)
+BlockedCTMToOffline = 3 (9,5476027560747e-06 в секунду или 1 за 104738,33333333 секунд)
+ChangedMyINFO = 446 (0,0014194102764031 в секунду или 1 за 704,51793721973 секунд)
+ConnectDone = 6675 (0,021243416132266 в секунду или 1 за 47,0734082397 секунд)

Статус:
#tClientSockets = 0
#tUsers = 408
#tQueue = 0
#tQueueIndex = 0
#tForcedPassive = 40
#tWaitCTM = 0
#tClientConnect = 0
#tSocketNick = 0
#tFastDebugHistory = 30

HubVersion = 0.4.1.2c
LuaVersion = Lua 5.1


Файл Debug.log за несколько дней набрал веса в 17.4мбайта, если нужно, выложу часть (только сколько именно последних строк нужно???).

Другие активные скрипты (сверху вних):
Раскрывающийся текст
StatPX (статистика)
block_words (антимат)
Ekzekutor
hub_commands_menu
ban_me (типа шутки, самобан пользователя)
TriviaMod (игра Викторина)
FeedWatch (rss)
NoSharaNoDownload
WhoIs



Может, есть какие-нибудь идеи?

Автор: AfLc 28.1.2012, 18:15

Может виноват скрипт экзекутор?Из-за него уже проблемка была , выше .Попробовать скачать версию 2.05.

Автор: Enyby 28.1.2012, 22:53

LoT, пришли сюда последние 100 строк перед зависанием. Если во время зависания что-то писало - добавь эти строки и укажи где они.
Насчет экзекутора тебе уже сказали - совместимость с ним появилось только в версии 2.05.
А что зависает это очень странно. С сетью в это время ничего не происходило странного?
А так идей особых нет. Где-то скрипт зациклился. Или может в птоке что-то упало. Но последнее крайне маловероятно.

Автор: LoT 29.1.2012, 19:02

С хабом все было ок, с сетью, насколько я могу судить, тоже.
Да, про Экзекутора я здесь читал, но на втором хабе с точно таким же набором скриптов все работает без проблем.

Раскрывающийся текст
92.113.118.21 Vetal-M true Invalid IP in CTM: $ConnectToMe HubBot 92.113.65.19:1035|
92.113.118.21 Vetal-M true Added in queue
92.113.118.21 Vetal-M true Invalid IP in CTM: $ConnectToMe dunya_DZ 92.113.65.19:1035|
92.113.118.21 Vetal-M true Fix CTM: $ConnectToMe dunya_DZ 92.113.65.19:1035| to: $ConnectToMe dunya_DZ 92.113.118.21:1035|
92.113.118.21 Vetal-M true Connect done
109.189.189.195 [BBB]Johans100mBit true Sended RCTM: $RevConnectToMe HubBot [BBB]Johans100mBit|
109.189.189.195 [BBB]Johans100mBit true real connect
10.192.133.83 makarov.alex1998 true real disconnect
92.113.118.21 Vetal-M true Fix Search for IP: $Search 92.113.65.19:1037 F?T?0?9?TTH:I3ODC4KSNEB5N2NERNHZMT5WP3WGKEOANTHUYOI| to: $Search 92.113.118.21:1037 F?T?0?9?TTH:I3ODC4KSNEB5N2NERNHZMT5WP3WGKEOANTHUYOI|
10.192.127.137 [vlg4]efimkus true Fix CTM: $ConnectToMe S(rus) 10.192.127.137:4035| to: $RevConnectToMe [vlg4]efimkus S(rus)|
188.134.33.193 DJBOYKOFF true fixed MyINFO. from: $MyINFO $ALL DJBOYKOFF http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.42,M:A,H:69/8/0,S:90>$ $50$alexandrboykoff@mail.ru$7128156162737$| to: $MyINFO $ALL DJBOYKOFF http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.42,M:P,H:69/8/0,S:90>$ $50$alexandrboykoff@mail.ru$7128156162737$|
92.113.118.21 Vetal-M true real disconnect
10.78.159.13 KTO3JLECb true Fix CTM: $ConnectToMe БУРЖУЙ 10.78.159.13:1861| to: $RevConnectToMe KTO3JLECb БУРЖУЙ|
188.24.132.42 cri.rds true Sended RCTM: $RevConnectToMe HubBot cri.rds|
188.24.132.42 cri.rds true real connect
188.134.33.193 DJBOYKOFF true Block CTM to Passive: $ConnectToMe intelligent12345 188.134.33.193:22719|
188.24.132.42 cri.rds true Added in queue
188.24.132.42 cri.rds true Connect done
89.23.134.128 tango true Invalid IP in CTM: $ConnectToMe intelligent12345 178.216.181.64:2128|
89.23.134.128 tango true Fix CTM: $ConnectToMe intelligent12345 178.216.181.64:2128| to: $ConnectToMe intelligent12345 89.23.134.128:2128|
10.78.82.210 NeReVaDeN true Fix Search: $Search 10.78.82.210:19183 F?T?0?9?TTH:ZLR7WVH5BKY7AUONEEQQEJGRHYIH665SNSKKOZQ| to: $Search Hub:NeReVaDeN F?T?0?9?TTH:ZLR7WVH5BKY7AUONEEQQEJGRHYIH665SNSKKOZQ|
10.78.159.13 KTO3JLECb true Block CTM to Passive: $ConnectToMe Palati 10.78.159.13:1861|
188.134.41.154 LEINSSNIEL true Sended RCTM: $RevConnectToMe HubBot LEINSSNIEL|
188.134.41.154 LEINSSNIEL true real connect
188.134.41.154 LEINSSNIEL true Added in queue
10.12.79.234 [vlg4]lirik1958 true Invalid IP in CTM: $ConnectToMe dunya_DZ 78.106.129.211:22068|
10.12.79.234 [vlg4]lirik1958 true Fix CTM: $ConnectToMe dunya_DZ 78.106.129.211:22068| to: $ConnectToMe dunya_DZ 10.12.79.234:22068|
10.192.127.137 [vlg4]efimkus true Fix CTM: $ConnectToMe LEINSSNIEL 10.192.127.137:4035| to: $RevConnectToMe [vlg4]efimkus LEINSSNIEL|
31.148.100.119 snouk true fixed MyINFO. from: $MyINFO $ALL snouk <++ V:0.699,M:A,H:14/0/0,S:15>$ $50$fedek.geniy@mail.ru$13487555039$| to: $MyINFO $ALL snouk <++ V:0.699,M:P,H:14/0/0,S:15>$ $50$fedek.geniy@mail.ru$13487555039$|
77.39.103.237 -=SHAH=- false real disconnect
188.134.41.154 LEINSSNIEL true Connect timeout
188.134.41.154 LEINSSNIEL true Wait CTM timeout. Send to all fixed MyINFO: $MyINFO $ALL LEINSSNIEL http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.42,M:P,H:100/0/0,S:100>$ $100$Feitrich@yandex.ru$91454682729$|
10.12.79.234 [vlg4]lirik1958 true Fix Search for IP: $Search 78.106.129.211:25886 F?T?0?9?TTH:XOJNUPYYUMDXAVQJPGLX5QT2P6HWBTH4SJHKJXQ| to: $Search 10.12.79.234:25886 F?T?0?9?TTH:XOJNUPYYUMDXAVQJPGLX5QT2P6HWBTH4SJHKJXQ|
10.12.79.234 [vlg4]lirik1958 true Invalid IP in CTM: $ConnectToMe [vlg]Roman88811 78.106.129.211:22068|
10.12.79.234 [vlg4]lirik1958 true Fix CTM: $ConnectToMe [vlg]Roman88811 78.106.129.211:22068| to: $ConnectToMe [vlg]Roman88811 10.12.79.234:22068|
109.167.192.235 ЛЫСЫЙ true fixed MyINFO. from: $MyINFO $ALL ЛЫСЫЙ [15]<FlylinkDC++ V:r500,M:A,H:29/2/0,S:15>$ $1000 $$181992946145$| to: $MyINFO $ALL ЛЫСЫЙ [15]<FlylinkDC++ V:r500,M:P,H:29/2/0,S:15>$ $1000 $$181992946145$|
109.167.192.235 ЛЫСЫЙ true Fix Search: $Search 109.167.192.235:2777 F?T?0?9?TTH:VYBCZYM2EY4LNLWKSFY2NBBABMRKE3IBUTX6SSA| to: $Search Hub:ЛЫСЫЙ F?T?0?9?TTH:VYBCZYM2EY4LNLWKSFY2NBBABMRKE3IBUTX6SSA|
10.168.136.109 [vlg3]_JohnLord true Block CTM to Passive: $ConnectToMe marka 10.168.136.109:2000|
10.12.79.234 [vlg4]lirik1958 true Invalid IP in CTM: $ConnectToMe Alex-EAA 78.106.129.211:22068|
10.12.79.234 [vlg4]lirik1958 true Fix CTM: $ConnectToMe Alex-EAA 78.106.129.211:22068| to: $ConnectToMe Alex-EAA 10.12.79.234:22068|
10.168.175.134 Loki false real disconnect
95.221.123.243 Щйюопреяйёдюь true fixed MyINFO. from: $MyINFO $ALL Щйюопреяйёдюь много всего<StrgDC++ V:2.30,M:A,H:88/0/0,S:88>$ $100$$0$| to: $MyINFO $ALL Щйюопреяйёдюь много всего<StrgDC++ V:2.30,M:P,H:88/0/0,S:88>$ $100$$0$|
188.134.33.193 DJBOYKOFF true Block CTM to Passive: $ConnectToMe RWSVANDA 188.134.33.193:22719|
188.134.33.193 DJBOYKOFF true Block CTM to Passive: $ConnectToMe [s]31TDNN 188.134.33.193:22719|
10.192.196.130 KoromyslO true Invalid IP in CTM: $ConnectToMe dunya_DZ 2.93.68.58:37787|
10.192.196.130 KoromyslO true Fix CTM: $ConnectToMe dunya_DZ 2.93.68.58:37787| to: $ConnectToMe dunya_DZ 10.192.196.130:37787|
89.23.134.128 tango true Fix Search for IP: $Search 178.216.181.64:4605 F?T?0?9?TTH:YBSLFXYOJG5QQEBO3B3QXFL2MGNLS4XQWCXBWNY| to: $Search 89.23.134.128:4605 F?T?0?9?TTH:YBSLFXYOJG5QQEBO3B3QXFL2MGNLS4XQWCXBWNY|
92.39.96.93 svyazist true Sended RCTM: $RevConnectToMe HubBot svyazist|
92.39.96.93 svyazist true real connect
92.39.96.93 svyazist true Added in queue
188.134.33.193 DJBOYKOFF true Block CTM to Passive: $ConnectToMe vchs 188.134.33.193:22719|
10.12.79.234 [vlg4]lirik1958 true Invalid IP in CTM: $ConnectToMe Alex-EAA 78.106.129.211:22068|
10.12.79.234 [vlg4]lirik1958 true Fix CTM: $ConnectToMe Alex-EAA 78.106.129.211:22068| to: $ConnectToMe Alex-EAA 10.12.79.234:22068|
92.39.96.93 svyazist true Connect done
10.78.159.13 KTO3JLECb true Fix Search: $Search 10.78.159.13:1092 F?T?0?9?TTH:5FYBQFYYT56O6VSBTAAOLFTLKCXT6N4FPA232OQ| to: $Search Hub:KTO3JLECb F?T?0?9?TTH:5FYBQFYYT56O6VSBTAAOLFTLKCXT6N4FPA232OQ|
10.78.159.13 KTO3JLECb true Fix CTM: $ConnectToMe GlaM 10.78.159.13:1861| to: $RevConnectToMe KTO3JLECb GlaM|
178.35.162.40 Alex_kot true Invalid IP in CTM: $ConnectToMe Alex-EAA 94.233.83.164:1316|
178.35.162.40 Alex_kot true Fix CTM: $ConnectToMe Alex-EAA 94.233.83.164:1316| to: $ConnectToMe Alex-EAA 178.35.162.40:1316|
10.192.127.137 [vlg4]efimkus true Block CTM to Passive: $ConnectToMe Palati 10.192.127.137:4035|
147.32.115.197 X77 true fixed MyINFO. from: $MyINFO $ALL X77 <ApexDC++ V:1.5.0,M:A,H:100/0/0,S:1>$ $0.1$$0$| to: $MyINFO $ALL X77 <ApexDC++ V:1.5.0,M:P,H:100/0/0,S:1>$ $0.1$$0$|
188.134.46.116 чайники true fixed MyINFO. from: $MyINFO $ALL чайники http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.41,M:A,H:67/0/0,S:67>$ $100$$90803204533$| to: $MyINFO $ALL чайники http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.41,M:P,H:67/0/0,S:67>$ $100$$90803204533$|
10.192.134.250 (Егор) true Sended RCTM: $RevConnectToMe HubBot (Егор)|
10.192.134.250 (Егор) true real connect
10.192.134.250 (Егор) true Added in queue
10.192.134.250 (Егор) true Connect done
10.168.190.158 Palati true Block CTM to Passive: $ConnectToMe ironDDD 10.168.190.158:29208|
10.168.190.158 Palati true fixed MyINFO. from: $MyINFO $ALL Palati [15]Ecnovides@mail.ru<FlylinkDC++ V:r501-beta69-x64,M:A,H:1/1/0,S:15>$ $50 $$927860843720$| to: $MyINFO $ALL Palati [15]Ecnovides@mail.ru<FlylinkDC++ V:r501-beta69-x64,M:P,H:1/1/0,S:15>$ $50 $$927860843720$|
193.169.32.8 e4tgfshtjujs true real disconnect
188.134.60.36 andrei11 true fixed MyINFO. from: $MyINFO $ALL andrei11 http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.41,M:A,H:17/0/0,S:17>$ $1000$$41812999485$| to: $MyINFO $ALL andrei11 http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.41,M:P,H:17/0/0,S:17>$ $1000$$41812999485$|
109.189.189.195 [BBB]Johans100mBit true Wait CTM timeout. Send to all fixed MyINFO: $MyINFO $ALL [BBB]Johans100mBit <++ V:0.790,M:P,H:48/0/0,S:3>$ $100$$0$|
95.25.29.155 [glv]igor1956 true fixed MyINFO. from: $MyINFO $ALL [glv]igor1956 <ApexDC++ V:1.5.1,M:A,H:8/2/0,S:3>$ $100 $$63218541114$| to: $MyINFO $ALL [glv]igor1956 <ApexDC++ V:1.5.1,M:P,H:8/2/0,S:3>$ $100 $$63218541114$|
93.81.199.107 gly2 true fixed MyINFO. from: $MyINFO $ALL gly2 [4]<FlylinkDC++ V:r500-beta133-x64,M:A,H:2/2/0,S:15>$ $100 $$84432213736$| to: $MyINFO $ALL gly2 [4]<FlylinkDC++ V:r500-beta133-x64,M:P,H:2/2/0,S:15>$ $100 $$84432213736$|
10.192.127.137 [vlg4]efimkus true Fix CTM: $ConnectToMe S(rus) 10.192.127.137:4035| to: $RevConnectToMe [vlg4]efimkus S(rus)|
188.134.33.193 DJBOYKOFF true fixed MyINFO. from: $MyINFO $ALL DJBOYKOFF http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.42,M:A,H:68/8/0,S:90>$ $50$alexandrboykoff@mail.ru$7128156162737$| to: $MyINFO $ALL DJBOYKOFF http://mydc.ru/r/?http://dcclub.zet&lt;StrgDC++ V:2.42,M:P,H:68/8/0,S:90>$ $50$alexandrboykoff@mail.ru$7128156162737$|
10.192.133.208 intelligent12345 false real disconnect
10.78.159.13 KTO3JLECb true Fix CTM: $ConnectToMe БУРЖУЙ 10.78.159.13:1861| to: $RevConnectToMe KTO3JLECb БУРЖУЙ|
10.78.159.13 KTO3JLECb true Block CTM to Passive: $ConnectToMe Palati 10.78.159.13:1861|
10.12.79.234 [vlg4]lirik1958 true Invalid IP in CTM: $ConnectToMe dunya_DZ 78.106.129.211:22068|
10.12.79.234 [vlg4]lirik1958 true Fix CTM: $ConnectToMe dunya_DZ 78.106.129.211:22068| to: $ConnectToMe dunya_DZ 10.12.79.234:22068|
10.78.159.13 KTO3JLECb true Block CTM to Passive: $ConnectToMe Palati 10.78.159.13:1861|
10.78.159.13 KTO3JLECb true Fix CTM: $ConnectToMe GlaM 10.78.159.13:1861| to: $RevConnectToMe KTO3JLECb GlaM|
10.78.159.13 KTO3JLECb true Fix CTM: $ConnectToMe aexa 10.78.159.13:1861| to: $RevConnectToMe KTO3JLECb aexa|
10.192.127.137 [vlg4]efimkus true Block CTM to Passive: $ConnectToMe LEINSSNIEL 10.192.127.137:4035|
10.12.79.234 [vlg4]lirik1958 true Invalid IP in CTM: $ConnectToMe [vlg]Roman88811 78.106.129.211:22068|
10.12.79.234 [vlg4]lirik1958 true Fix CTM: $ConnectToMe [vlg]Roman88811 78.106.129.211:22068| to: $ConnectToMe [vlg]Roman88811 10.12.79.234:22068|
31.129.192.65 про true Sended RCTM: $RevConnectToMe HubBot про|
31.129.192.65 про true real connect
109.167.192.235 ЛЫСЫЙ true fixed MyINFO. from: $MyINFO $ALL ЛЫСЫЙ [15]<FlylinkDC++ V:r500,M:A,H:30/3/0,S:15>$ $1000 $$181992946145$| to: $MyINFO $ALL ЛЫСЫЙ [15]<FlylinkDC++ V:r500,M:P,H:30/3/0,S:15>$ $1000 $$181992946145$|
10.168.136.109 [vlg3]_JohnLord true Block CTM to Passive: $ConnectToMe marka 10.168.136.109:2000|
10.78.82.210 NeReVaDeN true Fix CTM: $ConnectToMe [vlg]zimnuk 10.78.82.210:16218| to: $RevConnectToMe NeReVaDeN [vlg]zimnuk|
31.129.192.65 про true Added in queue
10.78.159.13 KTO3JLECb true Fix Search: $Search 10.78.159.13:1092 F?T?0?9?TTH:TVOPRFPVYVLBQH3ZF2ZDRLDBACXOJEZBTSO5INI| to: $Search Hub:KTO3JLECb F?T?0?9?TTH:TVOPRFPVYVLBQH3ZF2ZDRLDBACXOJEZBTSO5INI|
92.61.64.206 МИХА1974 false Passive connected
92.61.64.206 МИХА1974 false real connect
188.134.33.193 DJBOYKOFF true Block CTM to Passive: $ConnectToMe RWSVANDA 188.134.33.193:22719|
95.221.123.243 Щйюопреяйёдюь true fixed MyINFO. from: $MyINFO $ALL Щйюопреяйёдюь много всего<StrgDC++ V:2.30,M:A,H:89/0/0,S:89>$ $100$$0$| to: $MyINFO $ALL Щйюопреяйёдюь много всего<StrgDC++ V:2.30,M:P,H:89/0/0,S:89>$ $100$$0$|
31.129.192.65 про true Connect timeout
31.129.192.65 про true Wait CTM timeout. Send to all fixed MyINFO: $MyINFO $ALL про [kht] user<++ V:0.791,M:P,H:33/18/1,S:3>$ $100$user@kht$136434730754$|
10.168.190.244 макс34 false Passive connected
10.168.190.244 макс34 false real connect
188.134.33.193 DJBOYKOFF true Block CTM to Passive: $ConnectToMe [s]31TDNN 188.134.33.193:22719|
10.192.196.130 KoromyslO true Invalid IP in CTM: $ConnectToMe dunya_DZ 2.93.68.58:37787|
10.192.196.130 KoromyslO true Fix CTM: $ConnectToMe dunya_DZ 2.93.68.58:37787| to: $ConnectToMe dunya_DZ 10.192.196.130:37787|
4.79.231.188 avatr false Passive connected
4.79.231.188 avatr false real connect

Автор: Enyby 30.1.2012, 10:45

Сложно сказать. Причин я не вижу. В логе ничего особого нет. Может быть это из-за отладки в файл, коллапс и произошел. Дисковые операции не самые быстрые. Именно по этой причине я перешел на быструю отладку.

Автор: LoT 30.1.2012, 20:03

Ок, прикручу, наверно, на днях версию 2.05. Потестим с ней. Ибо скрипт полезный, не хочется отказываться)

Автор: Sergey613 8.10.2012, 14:24

Синтаксис [string "--[[#######################################..."]:153: attempt to index global 'SetMan' (a nil value)

Автор: Enyby 11.10.2012, 16:41

Какая версия скрипта? Какая версия птоки?

Автор: Alexey 11.10.2012, 16:53

Лучше спроси, был ли включен хаб при запуске скрипта?

Автор: dj hoodo 13.10.2012, 1:35

Ubuntu 10.10 PtokaX DC Hub 0.4.1.2
мои действия: скачал скрипт из шапки 2.05.
закинул в папку скрипты хаба.
зашел на хаб через PXControl и включил скрипт.
симптомы: захожу клиентом на хаб,
[00:24:26] *** Соединение с dchub://dj-hoodo.triolan.com.ua...
[00:24:26] *** Соединён.
и все big_smile.gif ждал минут 5 ] *** Пароль послан
еще через 3 минуты пускает на хаб, но никаких сообщений о режимах нет.
В меню хаба есть менюшка скрипта, но на действия ответа нет...
Пытаюсь вырубить скрипт из клиента, ответа нет, сообщения в чат не проходят (видать хаб висит)
через PXControl вырубить тоже нельзя, он тоже висит. рестарт хаба не помог, пришлось вынуть скрипт из папки и ребутать сервер.
Где посмотреть статистику скрипта, чтоб увидить что произошло?
в логах скриптов ничего такого нет

Автор: Артём 13.10.2012, 9:48

Цитата(dj hoodo @ 13.10.2012, 1:35) *
симптомы: захожу клиентом на хаб,
[00:24:26] *** Соединение с ...
[00:24:26] *** Соединён.
и все big_smile.gif ждал минут 5 ] *** Пароль послан
еще через 3 минуты пускает на хаб, но никаких сообщений о режимах нет.
В меню хаба есть менюшка скрипта, но на действия ответа нет...
Пытаюсь вырубить скрипт из клиента, ответа нет, сообщения в чат не проходят (видать хаб висит)
через PXControl вырубить тоже нельзя, он тоже висит. рестарт хаба не помог, пришлось вынуть скрипт из папки и ребутать сервер.
Где посмотреть статистику скрипта, чтоб увидить что произошло?
в логах скриптов ничего такого нет

Было похожее ( OS: Linux 3.0.6-gentoo (i686) ). Только при онлайне 180 + (почему-то именно 180 и выше) хаб зависал, меню работало, скрипт при входе сообщал о режиме, все скрипты отключались, оставлял только этот скрипт, но всё равно хаб висел... пришлось убрать скрипт :( , а на венде работал этот скрипт при 1500 юзерах отлично

Автор: dj hoodo 13.10.2012, 9:54

у меня в момент испытания было 400+юзеров. мож ему PXControl не нравится? кто пробывал?

Автор: Sergey613 13.10.2012, 10:50

Цитата(Enyby @ 11.10.2012, 17:41) *
Какая версия скрипта? Какая версия птоки?

UserModeFixer_v2.05.lua
Версия птохи ниже...

Автор: Артём 14.10.2012, 0:32

Цитата(dj hoodo @ 13.10.2012, 9:54) *
у меня в момент испытания было 400+юзеров. мож ему PXControl не нравится? кто пробывал?

PXControl не причём, у меня эта проблема (зависание) появилось после перехода на линукс (на венде без проблем всё было, даже при 1500+ юзерах)... не знаю в чём именно, хаб виснет если даже скрипт этот один работает, но что есть, то есть confuse.gif

Автор: Enyby 14.10.2012, 13:14

В линуксе попробуйте покрутить параметр

Цитата
local iMaxPoolSize = 32 -- максимальный размер пула активных сокетов, при малых значениях будет медленно тестировать режим, при больших - неверно его определять
-- примерный диапазон значений 32 - 256
в сторону меньших значений.

Sergey613, скорее всего вы стартовали скрипт, когда хаб был не запущен. Это так?

Автор: KCAHDEP 6.1.2013, 12:04

Цитата(Артём @ 13.10.2012, 10:48) *
Было похожее ( OS: Linux 3.0.6-gentoo (i686) ). Только при онлайне 180 + (почему-то именно 180 и выше) хаб зависал, меню работало, скрипт при входе сообщал о режиме, все скрипты отключались, оставлял только этот скрипт, но всё равно хаб висел... пришлось убрать скрипт :( , а на венде работал этот скрипт при 1500 юзерах отлично

1 в 1 ситуация, скрипт 2.05 ubuntu 12.04 ptoka 0.4.1.2 что делать так и не понял, скрипт стартовал при включенном хабе, так и не разобрался, очень хороший скрипт но пришлось отключить, никто не решил проблему?

Автор: Bearserk 9.1.2013, 21:40

Скрипт проверен на ХАБе при 10000+ юзеров.
Жрёт очень много памяти, благо железо мощное (проц двухъядерный, 4 гига оперативы, инет 100 Мбит, локалка гиг, Ptokax 0.5.0.0). До запуска скрипта процессор использовался на 20-30%, при скрипте 60-70%.
Порядка 4000 юзеров отвалилось в первые 30 сек., половина списков файлов перестали открываться, ЧАТ стал тормозить до 10-ти сек, личка до 5-ти сек.

Автор: MIKHAIL 13.1.2013, 21:30

Имею: PtokaX v0.4.0.0, UMF v2.05.
При старте скрипта пишет:

[21:22] Syntax UserModeFixer_v2.05.lua:283: attempt to call field 'GetScript' (a nil value)
[21:22] Syntax UserModeFixer_v2.05.lua:283: attempt to call field 'GetScript' (a nil value)

При рефреше скрипт втягивается в работу. Меню для ОПа нет.


Подскажите, как решить проблему для PtokaX v0.4.0.0 (на PtokaX v0.4.1.2 всё ОК).

Автор: Alexey 13.1.2013, 23:40

Скрипт использует функцию ScriptMan.GetScript, которая появилась в PtokaX только с версии 0.4.1.0.
Обнови птоку.

Автор: Yamakasi 17.6.2015, 2:01

привет, не пашет скрипт(((
на PtokaX 0.5.0.3 with Lua 5.3.0 Win64 GUI
стоит UserModeFixer_v2.05.lua
кто даст решение?

Цитата
Синтаксис C:\0.5.0.0-Lua5.2.1-x64\scripts\libs\socket.lua:19: attempt to index a boolean value (local '_M')

заменил на это http://mydc.ru/index.html?showtopic=43&view=findpost&p=46358 тоже не пашет!

всё, вопрос снимается, спасибо большое, это решение http://mydc.ru/index.html?showtopic=43&view=findpost&p=46837

Автор: Setup 14.9.2015, 4:41

Есть возможность добавить исключения в данный скрипт? То есть, диапазоны IP или ники пользователей, которых скрипт не будет обрабатывать.
Для чего это нужно? Сижу рядом с хабом в одной локалке, на хаб прокинуты одни порты, мне другие. И моё соединение скрипт тоже исправляет, присваивая мне локальный IP вместо внешнего, и в итоге я на своём хабе только не могу качать.))
Спасибо за понимание.

Автор: Tsd 24.9.2016, 12:30

Цитата(Setup @ 14.9.2015, 4:41) *
Есть возможность добавить исключения в данный скрипт? То есть, диапазоны IP или ники пользователей, которых скрипт не будет обрабатывать.
Для чего это нужно? Сижу рядом с хабом в одной локалке, на хаб прокинуты одни порты, мне другие. И моё соединение скрипт тоже исправляет, присваивая мне локальный IP вместо внешнего, и в итоге я на своём хабе только не могу качать.))
Спасибо за понимание.


Присоединяюсь. Вместе со скриптом PXControl "палит" ник PXControl`a в списке пользователей, данный скрипт стоИт ниже.