Репорты об ошибках старых версий, архив темы ошибок текущей версии хаба |
Здравствуйте, гость ( Вход | Регистрация )
Репорты об ошибках старых версий, архив темы ошибок текущей версии хаба |
4.10.2009, 17:49
Сообщение
#61
|
|
Постоялец Группа: Пользователи Сообщений: 462 Регистрация: 20.10.2008 Пользователь №: 843 Спасибо сказали: 15 раз |
Цитата Берется пингер хабов что заходит на хаб и смотрит все его параметры, немного переделывается чтобы с ником после которого идут цифры увеличивающиеся на единицу, бот заходил с частотой 10 штук в секунду на хаб, при чем он не отключается, и таким вот образом мы набираем искуственно юзеров-ботов на хаб. Это теория. А практика? Есть ли готовое программное решение? |
|
|
4.10.2009, 21:45
Сообщение
#62
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Когда пользователь сам отключается от хаба, он отправляет на хаб своего рода пустое сообщение, однако, бывают случаи, когда пользователь принудительно отключается (обрыв связи). В таком случае, пользователь не отсылает на хаб ничего. И тогда, если пользователю не будут отсылаться ни какие сообщения, то проверить онлайн он или нет, нельзя. Так вот для того, чтобы пользователи, с которыми была разорвана связь не висели на хабе, хаб периодически пингует всех пользователей (отправляет им пустые команды) и если команда не дошла до адресата, то отключает такого пользователя. Поэтому параметр iStartPing - это количество секунд, через которое, после входа на хаб, начнётся пинг пользователя, а параметр iPingInterval - это интервал (тоже в сек), через который будет пинговаться пользователь.
Кстати говоря, со стороны клиентов на хаб также периодически поступают пустые команды. Смысл их отсылки такой же - проверка онлайн состояния хаба. |
|
|
29.12.2009, 23:01
Сообщение
#63
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
СУПЕР! Итак, начнем тестирование... Запуск без луа прошел успешно, закинув библиотеку в папку получил вот такое после запуска:
Цитата Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: rushub.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 4b390a23 Имя модуля с ошибкой: ntdll.dll Версия модуля с ошибкой: 6.1.7600.16385 Отметка времени модуля с ошибкой: 4a5bdadb Код исключения: c0000005 Смещение исключения: 00052b79 Версия ОС: 6.1.7600.2.0.0.256.1 Код языка: 1049 Дополнительные сведения 1: 0a9e Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789 Дополнительные сведения 3: 0a9e Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789 Запуск от имени администратора и попытка выставить совместимость с ХРюшей тоже не помогла, ошибка та же, в чем косяк? Винда седьмая... Попробовал посмотреть системный лог хаба, он окзался пустым, полез в настройки, нашел некоторые что не описаны в первом посту Цитата <Item Name="iMaxErrLevel">2</Item> <Item Name="iMaxLevel">0</Item> для любопытства выставил эти настройки в 10000, в лог написалось немного, вот содержимое: Цитата [Tue Dec 29 22:58:34 2009] (3) cPluginList: Open plugin dir: C:/RusHub/plugins/ Это сильно плохо? И работает ли все у вас?[Tue Dec 29 22:58:34 2009] (3) cPluginList: Plugin file name: . [Tue Dec 29 22:58:34 2009] (3) cPluginList: Plugin file name: .. [Tue Dec 29 22:58:34 2009] (3) cPluginList: Plugin file name: lua51.dll [Tue Dec 29 22:58:34 2009] (3) cPluginList: Attempt loading plugin: C:/RusHub/plugins/lua51.dll [Tue Dec 29 22:58:34 2009] (4) tcHashMap: Added: 3645847146 Спасибо за проделанную работу, Илюх, думаю мир дц будет обожать тебя за твое творение!!! |
|
|
2.1.2010, 4:18
Сообщение
#64
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
не пойму а как выставить права админа?
|
|
|
2.1.2010, 4:39
Сообщение
#65
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Отловленные баги при работе с луа:
- функция Core.SendToUID при том что она получает 3 аргумента, отправляет сообщение в чат без ника - такое чувство что что-то отваливается когда происходит ошибка при загрузке скрипта, при этом функция перезагрузки скриптов не возвращает ошибку, приходится перезапускать хаб чтобы он перезапустил скрипты. - креш при вызове Core.GetScript с параметром выключенного скрипта, из-за этого невозможно запустить выключенный скрипт (в смысле сделать проверку на включенность скрипта), лог в файле system1.log: Раскрывающийся текст Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: rushub.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 4b3aabde Имя модуля с ошибкой: lua51.dll Версия модуля с ошибкой: 0.0.0.0 Отметка времени модуля с ошибкой: 4b3aabf6 Код исключения: c0000005 Смещение исключения: 000056f8 Версия ОС: 6.1.7600.2.0.0.256.1 Код языка: 1049 Дополнительные сведения 1: 0a9e Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789 Дополнительные сведения 3: 0a9e Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789 Что хочется видеть в апи: - совсем не ясный параметр iByte в функции Core.GetUser(UID/sNick, iByte), либо объяснений по этому параметру, либо нормальной функции - изменение настроек хаба через луа, хотя бы имени хаба и топика - совместить функции Core.SendToNick(sTo, sData, sNick, sFrom) и Core.SendToUID(UID, sData, sNick, sFrom) - может будет удобней если будет парситься майинфо юзеров - и конечно же расширения апи Хабыч, тут нет профилей, они реализуются скриптами, я написал пробную версию подобного скрипта с минимумом функций, лежит оно здесь: FirstRusHubBot
Прикрепленные файлы
|
|
|
2.1.2010, 18:41
Сообщение
#66
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
alex82, спасибо за скрипт. Я почти не сомневался, что хаб сможет цеплять практически все стандартные библиотеки lua. Что касается названия lua51.dll, то для удобства могу изменить его на lua.dll. Просто для подключения стандартной библиотеки для работы с mysql (
Nickolya, спасибо за обнаружение багов. По поводу функции Core.SendToUID, то про этот баг я знал, в ближайшее время исправлю. По поводу бага с функцией перезагрузки, можно по-подробнее? Пример скрипта? По поводу бага с функцией Core.GetScript, - исправлю в ближайшее время. Объяснения по параметру iByte функции Core.GetUser: С помощью данного параметра мы указываем какие поля мы хотим видеть в таблице, которую вернёт эта функция. Параметр является числом, в котором зашифрованы биты полей. Например: мы хотим в таблице пользователя видеть следующие поля: sNick, sIP, iProfile, sMyINFO. Для этого мы смотрим какие биты отвечают за эти поля: Цитата 2^0 - ник (sNick) 2^1 - ip (sIP) 2^3 - профиль (iProfile) 2^4 - MyINFO строка (sMyINFO) За эти поля отвечают биты: 0, 1, 3 и 4. Складываем: 2^0 + 2^1 + 2^3 + 2^4 = 27 Пишем код: Код local tUser = Core.GetUser(UID, 27) Таблица tUser будет содержать нужные нам поля (sNick, sIP, iProfile, sMyINFO). Теперь для чего это нужно? Это является оптимальным вариантом подачи данных в lua. То есть, заносим в таблицу только то, что мы собираемся использовать, ни больше и не меньше. Сравнение с птохой: в птохе всегда определены 4 поля в таблице пользователя (sNick, sIP, uptr и iProfile), а остальные поля можно занести в таблицу используя либо функцию Core.GetUserAllData, которая занесёт в таблицу все поля, либо функцию Core.GetUserData(tUser, nValueId), которая за один вызов будет заносит один параметр. Поэтому в птохе не оптимальная реализация, так как либо все параметры заноси в таблицу, либо делай несколько вызовов функции Core.GetUserData для занесения необходимых параметров, при этом 4 первоначальных поля в таблице также могут бестолку каждый раз заноситься в таблицу на каждом вызове того или иного события. В русхабе всё это реализовано функций Core.GetUser, которая является самым оптимальным вариантом, при сохранении всей возложенной не неё функциональности. Изменение настроек хаба через lua, также попытаюсь реализовать в ближайшее время. Совместить функции Core.SendToNick и Core.SendToUID - замечательная идея, так и сделаю. Наверное тогда стоит назвать функцию Core.SendToUser ? Готов реализовать парсинг MyINFO, действительно наверное это было бы удобнее. Тут вопрос: парсить ли тэг, или парсить всё кроме тэга? апи постепенно расширяется. Жду дельных идей. |
|
|
3.1.2010, 1:32
Сообщение
#67
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
с новой версией хаба пошли ошибки существующих уже скрипов. отписал про ошибки тут http://mydc.ru/topic2880.html
сорри. del |
|
|
3.1.2010, 1:34
Сообщение
#68
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
вместо функций Core.SendToUID и Core.SendToNick теперь функция Core.SendToUser
Просто заменяем эти функции на Core.SendToUser и всё будет работать. Core.SendToUser теперь общая функция отсылки данных пользователю как по нику так и по идентификатору UID. |
|
|
3.1.2010, 2:07
Сообщение
#69
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
сейчас вообще дело не понятно. luaerr пустой, луа плагин стоит и скрипты вообще не пашут.
да что такое!! не понятный глюк был хаб ребутнул пару раз и всё норм. |
|
|
3.1.2010, 2:27
Сообщение
#70
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
Цитата [02:38:33] *** Соединение с 10.99.55.231... [02:38:33] *** Соединён [02:38:49] <RusHub> Этот хаб работает под управлением RusHub 2.0.3 (Время работы: 14 мин. 51 сек. / Юзеров: 0). Убрал скрипт - соединяется за 5 секунд Цитата [02:40:30] *** Соединение с 10.99.55.231... [02:40:30] *** Соединён [02:40:35] <RusHub> Этот хаб работает под управлением RusHub 2.0.3 (Время работы: 43 сек. / Юзеров: 0). |
|
|
3.1.2010, 2:54
Сообщение
#71
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Цитата Убрал скрипт - соединяется за 5 секунд у меня и с ним [02:53:18] **** Соединение с rushub.myftp.org:1111 ... [02:53:19] **** Соединён [02:53:19] <RusHub> Этот хаб работает под управлением RusHub 2.0.3 (Время работы: 12 мин. 25 сек. / Юзеров: 1). [02:53:19] **** Пароль отправлен... [02:53:19] <RusHub> |
|
|
3.1.2010, 3:14
Сообщение
#72
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Соединяться должно мгновенно. Открой CDM отладчик, и посмотри получение команд с хаба, возможно тупит клиент, а не хаб.
|
|
|
3.1.2010, 17:01
Сообщение
#73
|
|
Developer Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза |
Команда $kick не работает. Просто напишет
Цитата <Админ> is kicking test because: test И всё, пользователь как сидел на хабе, так и сидит. А также мне, как админу не показываются ИП адреса пользователей на хабе. Также было б неплохо сделать команду смены топика, как это например сделано в PtokaX: !topic Имя топика |
|
|
4.1.2010, 23:46
Сообщение
#74
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Попробовал почистить основную тему, все ошибки старых версий сложил сюда, если что не так - выслушаю ваши правки.
|
|
|
5.1.2010, 5:23
Сообщение
#75
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Итак, в этой теме давайте выкладывать найденные баги русхаба.
Я пожалуй начну, точнее уточню ранее упомянутое, теперь более-менее разобрался в чем дело, ошибка подобного рода: Код [Tue Jan 05 05:08:32 2010] C:/Server/RusHub/scripts/FirstRusHubBot/cmds.lua:231: nesting of [[...]] is deprecated near '[' [Tue Jan 05 05:08:57 2010] C:/Server/RusHub/scripts/FirstRusHubBot.lua:177: attempt to call method 'lower2' (a nil value) Т.е. получается что если при запуске скрипта выходит ошибка, скрипт перестает выполнять код дальше, метод lower2 как раз подгружается строкой ниже загрузки файла cmds.lua Код tScriptCmds = dofile(sThisScriptDir.."cmds.lua") Это так и должно быть? В скрипте возвращается true в функции OnError. Тут мне кажется надо сделать так, что если в скрипте критическая ошибка, на уровне синтаксиса и загружать его дальше нельзя, тогда останавливать скрипт вне зависимости от того что мы возвращаем в функции ошибки, т.к. скрипт уже не работоспособен.dofile(sThisScriptDir.."functions.lua") Может я придираюсь, но есть еще один момент, когда хаб работает, кидаем ему в папку скриптов еще один скрипт, перезагружаем его, нам говорится что все хорошо, но вот тут же выполняющаяся функция показа скриптов только что добавленный скрипт не видит, при последующем просмотре списка все нормально. |
|
|
5.1.2010, 14:24
Сообщение
#76
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Если в скрипте есть синтаксическая ошибка, то скрипт по любому должен останавливаться.
Другое дело где происходит ошибка. Если ошибка происходит в каком-то событии, то тут скрипт уже считается загруженным и получается, что это ошибка выполнения, и тут будет играть роль то, какое значение возвращает событие OnError. 1) Скрипт загружен без ошибок, а ошибка появляется уже после загрузки (во время выполнения события OnStartup): Код function OnStartup() tScriptCmds = dofile(sThisScriptDir.."cmds.lua") dofile(sThisScriptDir.."functions.lua") ... end 2) Скрипт загрузится с ошибкой (ещё до выполнения события OnStartup) и должен быть мгновенно остановлен: Код tScriptCmds = dofile(sThisScriptDir.."cmds.lua") dofile(sThisScriptDir.."functions.lua") function OnStartup() ... end То есть тут чисто работа lua интерпретатора. Вообще говоря, в отличии от птохи, я сделал так, что все api функции определяются в скрипте ещё до загрузки самого скрипта, поэтому, фактически надобность в функции OnStartup отпадает, то есть эту функцию можно использовать лишь как действия после успешного запуска скрипта. Может я придираюсь, но есть еще один момент, когда хаб работает, кидаем ему в папку скриптов еще один скрипт, перезагружаем его, нам говорится что все хорошо, но вот тут же выполняющаяся функция показа скриптов только что добавленный скрипт не видит, при последующем просмотре списка все нормально. Цитата перезагружаем его Что перезагружаем? Хаб или скрипт?Из за того, что нельзя перезагрузить текущий скрипт, который на данный момент выполняется (это связано с тем, что интерпретатор должен закончит свою работу) перезагрузка работает следующим образом:
Кстати, в птохе тоже самое происходит. Просто видимо никто не замечал))) |
|
|
5.1.2010, 18:00
Сообщение
#77
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Что перезагружаем? Хаб или скрипт? Все скрипты мы перегружаемКстати, в птохе тоже самое происходит. Просто видимо никто не замечал))) Видимо да, я просто сделал так что после перегрузки скриптов мы автоматически получаем их список, видимо придется сделать задержку в долю секунды чтобы скрипт выполнил свою задачу, перегрузил скрипты и уже кинул правильный список скриптов, вот маленькое пояснение всей этой дилеме: имеем мы скриптыЦитата <RusHubBot> *** Скрипты: затем в папку со скриптами кидаем скрипт pinger.lua, выполняем операцию перезагрузки скриптов:№ 01 [ вкл ] FirstRusHubBot.lua (163 Кб) № 02 [ выкл ] AntiSpam.lua *** Общее использование памяти скриптами: 163 Кб *** Папка, содержащая скрипты: C:/Server/RusHub/scripts/ Цитата <RusHubBot> *** Nickolya, скрипты были успешно перезапущены! и видим что тут ничего не добавлено, теперь смотрим список скриптов еще раз и уже видим <RusHubBot> *** Скрипты: № 01 [ вкл ] FirstRusHubBot.lua (128 Кб) № 02 [ выкл ] AntiSpam.lua *** Общее использование памяти скриптами: 128 Кб *** Папка, содержащая скрипты: C:/Server/RusHub/scripts/ Цитата <RusHubBot> *** Скрипты: № 01 [ вкл ] FirstRusHubBot.lua (167 Кб) № 02 [ выкл ] AntiSpam.lua № 03 [ вкл ] pinger.lua (25 Кб) *** Общее использование памяти скриптами: 192 Кб *** Папка, содержащая скрипты: C:/Server/RusHub/scripts/ В принципе я понял почему так. Вопрос в том как лучше сделать, переделать мне сам вывод с задержкой чтобы выводилась правильная информация, или же по логике все-таки лучше изменить алгоритмы в самом хабе? Что тебе нравится и проще, о автор? |
|
|
5.1.2010, 18:12
Сообщение
#78
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
В хабе я ничего сделать не смогу, так как нельзя перезагрузить скрипт, который работает, поэтому нужно делать задержку.
А зачем делать перезагрузку всех скриптов? Ведь есть функция загрузки определённого скрипта, которая выполняется мгновенно. |
|
|
13.1.2010, 16:25
Сообщение
#79
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Что хочется видеть в апи: - совсем не ясный параметр iByte в функции Core.GetUser(UID/sNick, iByte), либо объяснений по этому параметру, либо нормальной функции - изменение настроек хаба через луа, хотя бы имени хаба и топика - совместить функции Core.SendToNick(sTo, sData, sNick, sFrom) и Core.SendToUID(UID, sData, sNick, sFrom) - может будет удобней если будет парситься майинфо юзеров - и конечно же расширения апи Готов реализовать парсинг MyINFO, действительно наверное это было бы удобнее. Тут вопрос: парсить ли тэг, или парсить всё кроме тэга? Парсинг MyINFO строки скорее всего не будет реализован в хабе. Главная причина: способность изменять команды налету (при помощи функции Core.SetCmd). Хотя может и наоборот стоит парсить даже после использования функции Core.SetCmd. Тут стоит подумать как будет эффективнее. По поводу остальных пунктов из цитаты, то вроде всё ясно и реализовано. На очереди реализация возможности отправки всех ip адресов "избранным" и функция регистрации ботов. Спасибо за внимание |
|
|
14.1.2010, 14:15
Сообщение
#80
|
|
МЕДВЕД =) Группа: Пользователи Сообщений: 187 Регистрация: 6.8.2008 Пользователь №: 332 Спасибо сказали: 4 раза |
Код [14:08:27] <ПАДОНАГ> ETax работает на софте RusHub 2.0.7 (Время работы: 8 мин. 32 сек. / Юзеров: 31). [14:08:27] *** Пароль отправлен... [14:08:27] fixx$ETax$$ [14:08:27] <ПАДОНАГ> Добро пожаловать на ETax! [14:08:27] fixx$ETax$$ - вот такая штука выскочила после того, как я (fixx), зарегистрировал пользователя ETax администратором, и Перезашел ETax (Все делал на одном клиенте) Уж незнаю баг ли это, а если баг, то скрипта или хаба..., но при втором перезаходе это пропало. Настучал вот, на всякий пожарный. =) |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
ВАЖНО: Описание Eximius и публикация новых версий Eximius |
14 | Saymon21 | 23 220 | 2.10.2011, 16:59 Посл. сообщение: Артём | |
Анимированные смайлы для FGlink и GreyLink последних версий. Новая редакция, и упаковка в dll-файл |
14 | TiGRpp | 25 066 | 23.8.2010, 21:08 Посл. сообщение: Alexey | |
От: Репорты об ошибках старых версий От темы с ID: 2908 |
0 | fixx | 4 650 | 14.1.2010, 11:30 Посл. сообщение: fixx | |
Фильтрация Старых Клиентов | 10 | Derk_B_P | 14 341 | 10.6.2009, 0:52 Посл. сообщение: Derk_B_P | |
Универсальный Скрипт Совместимости Двух Версий Api | 1 | Setuper | 8 417 | 12.11.2008, 12:21 Посл. сообщение: Setuper |
|
Сейчас: 27.11.2024, 1:54 |