Спам инвайтов в каналы? NO MORE. Да здравствуют стримы  
Автор Сообщение

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Инфа 100% ?



28 мар 2012, 04:07
Профиль



<Oùt of Control>


Сервер: Outland
Рейтинг поля боя: 192
2х2: 1520
3х3: 2522
5х5: 864
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

молодцы :good



28 мар 2012, 10:56
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

good job :clap



28 мар 2012, 11:23
Профиль
Пилигрим

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Хочется выразить ребятам глубокую признательность.



28 мар 2012, 11:29
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

По поводу того почему я использовал LibAce3, дело в том что я не сторонник писать один и тот-же код по 100 раз, да и поддерживать аддон проще в этом случае т.к. я буду уверен что базовые функции всегда будут работать как и работали, достаточно обновить LibAce если что-то изменится... т.е. обычное устранение дублирования кода и небольшой запас на будущее если что-то нужно будет дописать, к примеру работу с профилями, или настройки

 

Ну и из состава LibAce3 используется только самое нужное мне, а не вся библиотека полностью... аддон в память занимает 110кб(когда он всего один, и нет LibAce3 установленной отдельно ), как по мне это довольно мало... многие игроки используют больше 1 аддона, которые тоже содержат LibAce3, а как вы знаете(?) библиотеки подгружаются только один раз, поэтому проблемы вообще нет в этом всем.



28 мар 2012, 11:33
Профиль



<Пони Слэйстейшн>


Сервер: Свежеватель Душ
2х2: 2201
3х3: 2323
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Это хорошие новости, но для упоротых ддосеров наверное надо будет ставить еще и увеличенный игнор лист 



28 мар 2012, 14:39
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

зачем?макс. кол-во персонажей на сервере 10 вроде бы) и при желании поспамить в очередной раз  ему придётся удалить старого персонажа и он автоматом удалится из игнор листа



28 мар 2012, 15:19
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Код:
local mrt = CreateFrame("frame", "mrt", UIParent)
mrt.DB = {}
mrt:RegisterEvent("ZONE_CHANGED_NEW_AREA")
mrt:RegisterEvent("CHANNEL_INVITE_REQUEST")
mrt:RegisterEvent("CHAT_MSG_CHANNEL_NOTICE")
mrt:RegisterEvent("CHAT_MSG_CHANNEL_NOTICE_USER")

mrt:SetScript("OnEvent", function(self, event, ...)
    if event == "CHANNEL_INVITE_REQUEST" then
        local chname, iname = ...
        DeclineInvite(chname)
        if mrt.DB[iname] == nil then
            mrt.DB[iname] = iname
            AddIgnore(iname)
        end
    elseif event == "CHAT_MSG_CHANNEL_NOTICE" or event == "CHAT_MSG_CHANNEL_NOTICE_USER" then
        local arg1, _, _, _, _, _, _, _, arg9 = ...
        if (arg1 == 'INVITE' or arg9 ~= '') then return true, ... else return false, ... end
    elseif event == "ZONE_CHANGED_NEW_AREA" then
        for k, v in pairs(mrt.DB) do DelIgnore(k) end
    end
end)
переработал и уменьшил. включено всегда (для простоты), если надо - верну возможность отключать. ACE нету, апдейты понадобятся нескоро :D



28 мар 2012, 15:24
Профиль



<Пони Слэйстейшн>


Сервер: Свежеватель Душ
2х2: 2201
3х3: 2323
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Noxxy писал(а):

зачем?макс. кол-во персонажей на сервере 10 вроде бы) и при желании поспамить в очередной раз  ему придётся удалить старого персонажа и он автоматом удалится из игнор листа

Затем, что можно и не удалять и спамить с кучи триал акков. Ну если так не будут делать, то не надо да



28 мар 2012, 15:29
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Fernir, Вы удалили код который нужен, т.е. автоудаление из игнорлиста по истечении времени, так-же мой аддно всегда знает кого добавил в игнор и почистит этот список даже после выхода из игры, т.к. хранит список в настройках клиента, а не в памяти.. для того чтобы заблокировать CHAT_MSG_CHANNEL_NOTICE и CHAT_MSG_CHANNEL_NOTICE_USER надо использовать ChatFrame_AddMessageEventFilter, так-же Вы забыли отключить стандартный обработчик инвайтов, а именно UIParent:UnregisterEvent("CHANNEL_INVITE_REQUEST"); ... ну и т.п. , мое мнение, от упрощения толку особо не будет.



28 мар 2012, 15:35
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

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



28 мар 2012, 15:44
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Не заметил ChatFrame_AddMessageEventFilter :blu

немного переделал: чистит список игнора от имен за сессию каждые 5 сек, почему-то хочется избавиться от Saved variables

Код:
local mrt = CreateFrame("frame", "mrt", UIParent)
mrt.DB = {}
mrt:RegisterEvent("ZONE_CHANGED_NEW_AREA")
mrt:RegisterEvent("CHANNEL_INVITE_REQUEST")
UIParent:UnregisterEvent("CHANNEL_INVITE_REQUEST")


local function filterFunc(self, event, ...)
    local arg1, _, _, _, _, _, _, _, arg9 = ...
    if (arg1 == 'INVITE' or arg9 ~= '') then return true, ... else return false, ... end
end

ChatFrame_AddMessageEventFilter('CHAT_MSG_CHANNEL_NOTICE', filterFunc)
ChatFrame_AddMessageEventFilter('CHAT_MSG_CHANNEL_NOTICE_USER', filterFunc)

mrt:SetScript("OnUpdate", function(self, elapsed)
    if not self.t then self.t = 0 end
    self.t = self.t + elapsed
    if self.t == 5000 then
        for k, v in pairs(mrt.DB) do DelIgnore(k) end
        self.t = 0
    end
end)

mrt:SetScript("OnEvent", function(self, event, ...)
    if event == "CHANNEL_INVITE_REQUEST" then
        local chname, iname = ...
        DeclineInvite(chname)
        if mrt.DB[iname] == nil then
            mrt.DB[iname] = iname
            AddIgnore(iname)
        end
    elseif event == "ZONE_CHANGED_NEW_AREA" then
        for k, v in pairs(mrt.DB) do DelIgnore(k) end
    end
end)

не совсем понял - почему нельзя использовать просто DeclineInvite?



28 мар 2012, 15:48
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

5 сек мало, надо больше, иначе при определенных обстоятельствах будет дропать с сервера при достаточной интенсивности атаки(и по моему elapsed в OnUpdate может быть любое, не только 1, и точно 5000 может не получится, поэтому "==" не ок ), DeclineInvite просто отклоняет приглашение, что создает нагрузку на клиент, в случае внесения в игнор блокировка происходит на стороне сервера, и клиенту инвайты просто не приходят.



28 мар 2012, 15:53
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Хмм, не знал, что отклонение приглашения создает такую нагрузку, это ж как надо спамить

Цитата:
Обратите внимание на.. UIParent:UnregisterEvent("CHANNEL_INVITE_REQUEST");
точно, добавил в предыдущий пост

 



28 мар 2012, 15:55
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

если ничего не путаю то 200-300req/s достаточно для дропа с сервера, при определенных условиях у меня FPS проседал на 15-20

 

PS: Вы уверены что это всегда работает? :)

Код:
if self.t == 5000 then
по моему тут надо ">=" или просто ">" ... т.к. elapsed в OnUpdate может быть любое, не только 1, и точно 5000 может не получится, поэтому "==" не ок


PS2: да, так и есть, Ваша проверка работать правильно не будет, там дробное число



28 мар 2012, 15:58
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

mrtime писал(а):
PS2: да, так и есть, Ваша проверка работать правильно не будет, там дробное число
писал 2 минуты на коленке, конечно же надо =>



28 мар 2012, 16:49
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Стареешь, Фер  ;)



28 мар 2012, 16:50
Профиль



<Мёртвая Хватка>


Сервер: Азурегос
2х2: 1766
3х3: 1794
1
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

Barion писал(а):

Стареешь, Фер  ;)

тупею и ленив стал безмерно ;D



28 мар 2012, 16:55
Профиль



<Имя Говорит Само за Себя>


Сервер: Гордунни
0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

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



28 мар 2012, 16:56
Профиль

0
Сообщение Спам инвайтов в каналы? NO MORE. Да здравствуют стримы

wit4er писал(а):

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

Исправить ошибки в существующем аддоне и улучшить его - намного проще чем писать всё с 0 и наделать своих ошибок Crazy



28 мар 2012, 16:59
Профиль WWW
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru