myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> User Mode Fixer, API 2 | Исправление режима подключения пользователя

Рейтинг 5 V
Теги
Нет тегов для показа
Enyby
сообщение 15.1.2012, 20:02
Сообщение #41


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




Название скрипта: User Mode Fixer
Версия скрипта: 2.05
Платформа: PtokaX
Версия API: API2
Автор: Enyby
Автор идеи: Meloun

Библиотека: Для работы скрипта требуется библиотека Lua Socket

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

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

Дополнительная информация:
  • Возможно будут наблюдаться приличные тормоза хаба, сразу после включения и после входа большого числа пользователей единовременно. Большого числа пользователей в активном режиме. Если все в пассиве, то тормозов не будет. Начиная с версии 1.06 с этим проблем нет.
  • Также возможны глюки при входе более чем 255 активных пользователей одновременно. Если будет потребность в этом скрипте на крупных хабах - перепишу на использование очереди с пулом сокетов, в этом случае проблем быть не должно. Начиная с версии 1.06 с этим проблем нет.
  • Скрипт игнорирует команды расширений NMDC протокола: TLS Шифрование и NAT Traversal. Если включено исправление IP и ника в командах, то они будут исправлены и в командах указанных расширений.


Совместимость с другими скриптами:
  • Совместим со скриптами фильтрации поиска. Такие скрипты должны быть выше в списке скриптов, чем данный скрипт. Фильтрация поиска должна осуществляться запретом обработки команд поиска.
  • Совместим со скриптами запрещающими соединение пользователей (команды ConnectToMe и RevConnectToMe). Такие скрипты должны быть выше в списке скриптов, чем данный скрипт.
  • Частично совместим со скриптами использующими бота хаба как пассивного клиента (подключение через RevConnectToMe к боту хаба). Для работы с такими скриптами потребуется указать использование отдельного бота в скрипте (sBotName = "UserModeFixer").
  • Частично совместим со скриптами, которые подменяют MyINFO. Совместим только при bFixMyINFO = false.
  • Несовместим со скриптами, которые подменяют или самостоятельно обрабатывают команды соединения пользователей (ConnectToMe и RevConnectToMe). Данные команды обработаны этим скриптом не будут. Никаких ошибок не будет, но необработанные команды могут работать неверно.
  • Несовместим со скриптами подменяющими поиск или же которые сами организуют поиск. Эти команды поиска не будут обработаны скриптом. Никаких ошибок не будет, но необработанные команды могут работать неверно.


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. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке Мои скрипты.
Go to the top of the page
+Quote Post
7 страниц V  < 1 2 3 4 5 > »   
Начать новую тему
Ответов
Enyby
сообщение 20.1.2012, 0:05
Сообщение #42


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




Ты не успел. Варианта два. Тренируйся в скорости снятия дампа или же увеличь 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://www.yougetsignal.com/tools/open-ports/ или http://www.digitalcoding.com/tools/open-port-check.html
Go to the top of the page
+Quote Post
rival
сообщение 20.1.2012, 10:40
Сообщение #43


Начинающий
*

Группа: Пользователи
Сообщений: 29
Регистрация: 11.1.2009
Из: Владивосток
Пользователь №: 1 774
Спасибо сказали: 5 раз




Раскрывающийся текст
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
Go to the top of the page
+Quote Post
Enyby
сообщение 20.1.2012, 11:18
Сообщение #44


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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

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


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 20.1.2012, 11:39
Сообщение #45


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Enyby, насколько я знаю, у юзера К@пит;-)шка интернет тормозным бывает часто..и очень тормозным.
Go to the top of the page
+Quote Post
rival
сообщение 20.1.2012, 13:40
Сообщение #46


Начинающий
*

Группа: Пользователи
Сообщений: 29
Регистрация: 11.1.2009
Из: Владивосток
Пользователь №: 1 774
Спасибо сказали: 5 раз




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


Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 21.1.2012, 2:09
Сообщение #47


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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.

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


Спасибо сказали:
Go to the top of the page
+Quote Post
rival
сообщение 21.1.2012, 11:44
Сообщение #48


Начинающий
*

Группа: Пользователи
Сообщений: 29
Регистрация: 11.1.2009
Из: Владивосток
Пользователь №: 1 774
Спасибо сказали: 5 раз




обнаружен побочный эффект: хаб стал стабильней,менее тормозной big_smile.gif
Go to the top of the page
+Quote Post
Enyby
сообщение 21.1.2012, 11:50
Сообщение #49


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




Возможные причины:
  • DDoS'еры ддосят себя.
  • Нет большой нагрузки бесконечными командами CTM от активов, которые совсем не активы.
  • Нет отправки RCTM от пассивов к активам, которые совсем не активы.


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

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

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

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

Если будут проблемы, их всегда можно будет включить.
Go to the top of the page
+Quote Post
SKIFI
сообщение 22.1.2012, 14:08
Сообщение #50


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 20.6.2010
Из: Калуга
Пользователь №: 7 111
Спасибо сказали: 4 раза




почему когда сделан проброс портов скрипт показывает режим пассив(переопределен)? он вобще актив показывает?))) удалил сие чудо из скриптов.. big_smile1.gif
Go to the top of the page
+Quote Post
Enyby
сообщение 22.1.2012, 14:20
Сообщение #51


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




Alex_lola, внимательно читай http://mydc.ru/ipb.html?showtopic=5112&...ost&p=41893, а потом присылай статистику с дампом.
Go to the top of the page
+Quote Post
SKIFI
сообщение 22.1.2012, 14:26
Сообщение #52


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 20.6.2010
Из: Калуга
Пользователь №: 7 111
Спасибо сказали: 4 раза




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


порты открыты. с закрытыми я не смог бы качать да и на хаб никто не зашел бы. фаервол настроен верно. дамп позже сделаю.. если будет желание заниматся этим чудом))
Go to the top of the page
+Quote Post
Enyby
сообщение 22.1.2012, 16:12
Сообщение #53


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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 секунд)


Спасибо сказали:
Go to the top of the page
+Quote Post
Damaks
сообщение 22.1.2012, 20:34
Сообщение #54


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 260
Регистрация: 1.6.2010
Пользователь №: 6 968
Спасибо сказали: 83 раза




Проработал скрипт более суток, все ограничения на хабе по шаре и пассивам были сняты. Можно с уверенностью сказать, что лишнюю нагрузку на хаб скрипт не создаёт, примерно такие же значения были и без скрипта. Память тоже не ест.
Обычная статистика на 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


Спасибо сказали:
Go to the top of the page
+Quote Post
AfLc
сообщение 22.1.2012, 23:32
Сообщение #55


Начинающий
*

Группа: Пользователи
Сообщений: 18
Регистрация: 18.5.2011
Из: Россия , Екатеринбург .
Пользователь №: 9 261
Спасибо сказали: 4 раза




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

Статистика для скрипта 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



Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 22.1.2012, 23:41
Сообщение #56


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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

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

ADD:
Не думайте, что это перестраховка. Вот уже вылезла одна проблема.

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


Спасибо сказали:
Go to the top of the page
+Quote Post
AfLc
сообщение 22.1.2012, 23:48
Сообщение #57


Начинающий
*

Группа: Пользователи
Сообщений: 18
Регистрация: 18.5.2011
Из: Россия , Екатеринбург .
Пользователь №: 9 261
Спасибо сказали: 4 раза




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


Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 23.1.2012, 2:24
Сообщение #58


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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


Спасибо сказали:
Go to the top of the page
+Quote Post
AfLc
сообщение 23.1.2012, 21:10
Сообщение #59


Начинающий
*

Группа: Пользователи
Сообщений: 18
Регистрация: 18.5.2011
Из: Россия , Екатеринбург .
Пользователь №: 9 261
Спасибо сказали: 4 раза




А для работы скрипта обязательно должна быть включена опция в ptokax " Строка тега"?
Go to the top of the page
+Quote Post
Enyby
сообщение 24.1.2012, 3:50
Сообщение #60


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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

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

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


Спасибо сказали:
Go to the top of the page
+Quote Post
Enyby
сообщение 25.1.2012, 8:55
Сообщение #61


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




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

Теперь немного о принципах работы скрипта.
Определение нерабочего актива основано на осуществлении подключения хаба к пользователю. Если же соединение не удалось установить, то пользователя считается неверным активом и устанавливается в пассив принудительно.
Какие с этим могут быть проблемы:
  • Если хаб не может подключиться по указанному адресу, это не всегда значит, что по указанному адресу не может подключиться другой IP адрес.
    Решение: Обычно вызвано фаерволом у пользователя, так что тут нужно смотреть его настройки и разрешать входящие соединения от IP хаба.
  • Если на сервере хаба запрещены исходящие соединения, например, фаерволом, то скрипт будет работать некорректно.
    Симптомы: В статистике скрипта число активных пользователей либо отсутствует, либо равно нулю.
    Решение: Или разрешаете исходящие соединения или не используете этот скрипт.
Go to the top of the page
+Quote Post

7 страниц V  < 1 2 3 4 5 > » 
Ответить в данную темуНачать новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: User Info 1.0 (русская Версия)
От темы с ID: 205
0 Sergey613 4 582 9.10.2012, 20:03 Посл. сообщение: Sergey613
No new Topic has attachmentsUser Info 1.0 (русская Версия)
API2 | Скрипт для просмотра информации о юзерах
26 dimetrius 39 098 28.12.2010, 17:54 Посл. сообщение: ProGeTTo
No New Posts запрос: User-Sity
Скрипт, выдающий город выделенного юзера
7 Uncle_Dif 11 717 1.9.2009, 20:20 Посл. сообщение: Jaska
No New Posts Topic has attachmentsPowersimple User Information 1.2
API1, API2 | Информация по IP и никам юзеров
5 NikseR 9 117 15.8.2009, 16:57 Посл. сообщение: Климент
Closed Fake User
2 West 7 480 27.11.2008, 19:28 Посл. сообщение: Svyat

 



RSS Сейчас: 23.11.2024, 0:34