myDC.ru

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

 

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

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


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

Группа: Пользователи
Сообщений: 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  « < 3 4 5 6 7 >  
Начать новую тему
Ответов
Enyby
сообщение 27.1.2012, 12:45
Сообщение #82


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

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




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

iMaxPoolSize = 48
iCheckInterval = 10
iConnectTimeout = 10

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

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



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

Тут что-то еще.
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 12:52
Сообщение #83


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




Цитата(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
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 12:57
Сообщение #84


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

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




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

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

UPD:
Более того. Они будут получать nil вместо таблицы пользователя при вызове Core.GetUser(sNick). Вот эта ошибка у тебя и лезет.
Кстати, кроме тебя никто ее не прислал. Ни разу. Так что думаю дело в твоем наборе скриптов.
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 13:13
Сообщение #85


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




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

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

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

Прикрепленный файл  ______.PNG ( 5.24 килобайт ) Кол-во скачиваний: 0

вот сейчас такие у меня скрипты, я точно не знаю использует ли екзоуратор те функции что ты писал, но если Вы знаете пожалуйста подскажите.
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 13:23
Сообщение #86


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

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




Нет у меня настроения экзектура ворошить. Давай ты все отключишь и проверишь. так будет быстрее всего.
saver - у меня работает. Конфликтов нет.
CountryTag - он ниже - конфликтов нет, но я бы его вообще вырубил, поскольку мой скрипт перехватывает часть Тэгов. И будут одни со странами, а другие без.
Unreg block - это непонятно что. Код в студию. Скорее всего он и колбасит.
Go to the top of the page
+Quote Post
Damaks
сообщение 27.1.2012, 13:24
Сообщение #87


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

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




Ameet, меня неверно переопределяет
Цитата
[14:21:37] <#[Barabashka]> Ваш IP: 89.222.213.224 Ваш режим: пассив (принудительно).
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 13:25
Сообщение #88


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




Цитата(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


не думаю
Go to the top of the page
+Quote Post
rival
сообщение 27.1.2012, 13:27
Сообщение #89


Начинающий
*

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




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

склоняюсь к конфликту с этим скриптом
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 13:28
Сообщение #90


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




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


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

попутно выключил коунтри тег.
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 13:35
Сообщение #91


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

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




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

Сейчас скрипт не работает? Захожу ничего не пишет и еще кидает с несовпадением адресов.
Go to the top of the page
+Quote Post
rival
сообщение 27.1.2012, 13:40
Сообщение #92


Начинающий
*

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




Настройки:
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 с

пробуй поставить такие настройки,у меня примерно такой же онлайн юзеров,что и у тебя,работает нормально
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 13:44
Сообщение #93


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

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




О. Я еще артефакт углядел в статистике:
Цитата
Core.GetUsersCount() = 1225
#Core.GetOnlineUsers() = 1225

UsersCount = 1228

В скрипте количество юзеров больше на три, чем на хабе. Это плохой признак. Есть вероятность что это вызвано выходом юзеров без вызова UserDisconnected.
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 13:48
Сообщение #94


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




Цитата(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 с

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

Спасибо, пока загрузил белье в машинку и подкрутил уровень а то танцевала вроде как дало опять ошибку ну я обновил жду опять...
остались со скриптов антиреклама, кантри стат , регистрация через мыло верли инфо,мотд и унрег блок
Go to the top of the page
+Quote Post
Damaks
сообщение 27.1.2012, 13:56
Сообщение #95


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

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




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

Зайди на GOLD-HUB, какой тебе режим напишет. У меня схожая проблема.
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 13:59
Сообщение #96


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

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




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

Два клиента с разными настройками.
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 14:22
Сообщение #97


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




так походу дело в екзоураторе, как мне быть как решить проблему что бы и бот работал и данный скрипт, какие есть соображения?
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 14:24
Сообщение #98


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

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




Ждать новую версию. big_smile.gif Сегодня постараюсь выпустить.
Go to the top of the page
+Quote Post
Ameet
сообщение 27.1.2012, 14:26
Сообщение #99


Активный участник
***

Группа: Пользователи
Сообщений: 73
Регистрация: 5.1.2009
Из: Украина, г. Сумы
Пользователь №: 1 684
Спасибо сказали: 0 раз




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

будем с радостью ждать так как бот тоже мне нужен =)
Go to the top of the page
+Quote Post
Enyby
сообщение 27.1.2012, 19:48
Сообщение #100


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

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




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


Спасибо сказали:
Go to the top of the page
+Quote Post
LoT
сообщение 28.1.2012, 15:30
Сообщение #101


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 3.6.2009
Пользователь №: 3 496
Спасибо сказали: 6 раз




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

Грешу на фичу изменения тэга, т.к. первый раз затык был на новой версии скрипта, где была реализована подобная функция (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



Может, есть какие-нибудь идеи?
Go to the top of the page
+Quote Post

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

Collapse

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

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

 



RSS Сейчас: 18.4.2024, 14:16