Редирект или отключение v1.1, v2.1.1, API2| Выбираем кого отключить, кого перенаправить, если маленькая шара |
Здравствуйте, гость ( Вход | Регистрация )
Редирект или отключение v1.1, v2.1.1, API2| Выбираем кого отключить, кого перенаправить, если маленькая шара |
12.12.2010, 3:36
Сообщение
#1
|
|
Продвинутый участник Группа: Пользователи Сообщений: 120 Регистрация: 25.5.2009 Пользователь №: 3 432 Спасибо сказали: 20 раз |
Название скрипта: Редирект или отключение
Версия скрипта: 1.1, 2.1.1 Версия API:API2 Автор: MaxFox Описание скрипта: Данный скрипт позволяет редиректить или просто отключать пользователей, если их шара мала, в зависимости от того, какому сегменту сети они принадлежат. Стандартными методами хаба вы можете установить порог шары и решить глобально, что делать с теми кто не расшарил необходимого объема, просто отключать или же перенаправлять куда вы хотите. Один минус так сказать... пингеры читают порог шары установленный стандартными методами хаба. но для меня это не принципиально. Вы можете добавить ники тех, кого не будет проверять на шару и будет пропускать на хаб в независимости от вашего ценза. RedirectorDisconnect_v1.1.lua ( 2.73 килобайт ) Кол-во скачиваний: 14 RedirectorDisconnect_v2.1.1.lua ( 3.41 килобайт ) Кол-во скачиваний: 28 Примечание: Если не хотите видеть никаких сообщений в опчат, закомментируйте или удалите все Core.SendToOpChat Дополнение: 2.1.1 Исправлен баг с промежутком времени пересекающим границу суток. Измене метод отключения от хаба. 2.1 Добавлено отключение юзеров в момент наступления новых ограничений. То есть, если в 9 утра, сидит человек с шарой меньше 1 гб, то его выключит или перенаправит в зависимости от его IP. Спасибо Nickolya, за идеи и небольшую оптимизацию кода. 2 - Добавлена динамическое ограничение по шаре, меняющееся в течении суток, используется время сервера, убедитесь в его правильности. В стандартных(моих) настройках скрипта Ограничения на доступ к хабу по шаре: с 2 до 9 - 0 Гб с 9 до 12 - 1 Гб с 12 до 15 - 3 Гб с 15 до 18 - 5 Гб с 18 до 23 - 10 ГБ с 23 до 2 - 7 Гб 1.1 - пофикшен баг с обработкой профилей, редиректились только незарегистрированные. Добавлена возможность управление профилями. |
|
|
12.12.2010, 3:42
Сообщение
#2
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Тему по правилам оформи!
|
|
|
12.12.2010, 3:47
Сообщение
#3
|
|
Продвинутый участник Группа: Пользователи Сообщений: 120 Регистрация: 25.5.2009 Пользователь №: 3 432 Спасибо сказали: 20 раз |
|
|
|
13.12.2010, 16:36
Сообщение
#4
|
|
Продвинутый участник Группа: Пользователи Сообщений: 176 Регистрация: 11.7.2008 Пользователь №: 171 Спасибо сказали: 182 раза |
К сожалению, у многих отключено автоматическое перенаправление. Поэтому редирект под вопросом.
|
|
|
13.12.2010, 17:16
Сообщение
#5
|
|
Продвинутый участник Группа: Пользователи Сообщений: 120 Регистрация: 25.5.2009 Пользователь №: 3 432 Спасибо сказали: 20 раз |
|
|
|
10.1.2011, 7:27
Сообщение
#6
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 13.3.2010 Пользователь №: 6 336 Спасибо сказали: 0 раз |
MaxFox
Макс, а можно отдельную версию без редиректов, диапазонов и проч.. Нужно только ограничение по шаре в зависимости от времени суток. Ну не силен я в луа )) Спасибо. |
|
|
10.1.2011, 20:25
Сообщение
#7
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Код ---------------------------------------------------------------
-- Скрипт редиректа всех, кроме IP внесенных ниже -- -- v1.1 Пофикшен небольшой баг с обработкой профилей, -- -- добавлена возможность исключение профилей из редиректа -- -- created by MaxFox -- --------------------------------------------------------------- --Ники Исключения tAviableNicks = { ["Ник"] = true, } --------------------------------------------------------------- function UserConnected(tUser) local iHour = tonumber(os.date"%H") if iHour >= 2 and iHour < 9 then iMinShare = 0 elseif iHour >= 9 and iHour < 12 then iMinShare = 1024^3 lMinShare = 1 -- эта переменная необходима для корректного вывода сообщений, дабы не менять везде одно и тоже. elseif iHour >= 12 and iHour < 15 then iMinShare = 3*1024^3 lMinShare = 3 elseif iHour >= 15 and iHour < 18 then iMinShare = 5*1024^3 lMinShare = 5 elseif iHour >= 18 and iHour <= 23 then iMinShare = 10*1024^3 lMinShare = 10 elseif iHour >= 23 and iHour <= 2 then iMinShare = 7*1024^3 lMinShare = 7 end if not tAviableNicks[tUser.sNick] and ((Core.GetUserValue(tUser, 16) or 0) < iMinShare) then Core.SendToUser(tUser, " *** Внимание!!! У вас мало шары. На данный момент необходимо от "..lMinShare.." Гб шары. Для того, что-бы ее увеличить зайдите Фаил->Настройки->Шара. Время сервера "..os.date("%X")..""") Core.Disconnect(tUser) -- Core.SendToOpChat("Юзер "..tUser.sNick.." IP "..tUser.sIP.." пытался войти на хаб.") end end RegConnected = UserConnected OpConnected = UserConnected |
|
|
11.1.2011, 18:17
Сообщение
#8
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 13.3.2010 Пользователь №: 6 336 Спасибо сказали: 0 раз |
Nickolya
Благодарю ! Последний вопрос, а операторов и выше он с любой шарой пропускает или нужно вбивать их ники тоже в список исключений ? |
|
|
11.1.2011, 20:40
Сообщение
#9
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
mishanspb, проверки по профилю в скрипте нет, поэтому будет ловить всех, кроме таблицы с никами-исключениями. Убрать проверку на пользователей с ключами можно просто удалив строку
Код OpConnected = UserConnected А удаление Код RegConnected = UserConnected приведет к отсутствию проверки у всех зарегистрированных юзеров без ключа.Если надо именно по профилям, то смотрим как это сделать в FAQ'е. |
|
|
13.1.2011, 11:46
Сообщение
#10
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 13.3.2010 Пользователь №: 6 336 Спасибо сказали: 0 раз |
А реально ли сделать так, чтобы при наступлении нужного часа он сам отрубал малошарных пользователей ?
Сейчас они так и висят до перезахода. |
|
|
15.1.2011, 4:56
Сообщение
#11
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Реально,
всё реально Код --------------------------------------------------------------- -- Скрипт редиректа всех, кроме IP внесенных ниже -- -- v1.1 Пофикшен небольшой баг с обработкой профилей, -- -- добавлена возможность исключение профилей из редиректа -- -- created by MaxFox -- --------------------------------------------------------------- -- Ники-исключения из проверки: tAviableNicks = { ["Ник"] = true, } -- Профили для проверки: tCheckProfiles = { [0] = false, [1] = false, [2] = false, [3] = true, [-1] = true, } --------------------------------------------------------------- function OnStartup() TmrMan.AddTimer(60000, "MakeLimit") sBot = SetMan.GetString(21) end function MakeLimit() local iHour = tonumber(os.date"%H") local gb = 1024^3 local was = iMinShare or false if iHour >= 2 and iHour < 9 then iMinShare = 0 elseif iHour >= 9 and iHour < 12 then iMinShare = 1*gb elseif iHour >= 12 and iHour < 15 then iMinShare = 3*gb elseif iHour >= 15 and iHour < 18 then iMinShare = 5*gb elseif iHour >= 18 and iHour <= 23 then iMinShare = 10*gb elseif iHour >= 23 or iHour <= 2 then -- поправил условие, а то "elseif iHour >= 23 and iHour <= 2 then" не будет true никогда iMinShare = 7*gb end if was and iMinShare ~= was then local t = Core.GetOnlineUsers() or {} for _, tUser in ipairs(t) do UserConnected(tUser) end end lMinShare = iMinShare/gb end MakeLimit() function UserConnected(tUser) if not tAviableNicks[tUser.sNick] and tCheckProfiles[tUser.iProfile] and ((Core.GetUserValue(tUser, 16) or 0) < iMinShare) then Core.SendToUser(tUser, "<"..sBot.."> *** Внимание!!! У вас мало шары. На данный момент необходимо от "..lMinShare.." Гб шары. Для того, что-бы ее увеличить зайдите Фаил->Настройки->Шара. Время сервера "..os.date("%X")..""") -- Core.SendToOpChat("<"..sBot.."> *** Юзер "..tUser.sNick.." IP "..tUser.sIP.." пытался войти на хаб.") Core.Disconnect(tUser) end end RegConnected = UserConnected OpConnected = UserConnected |
|
|
16.1.2011, 15:10
Сообщение
#12
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 13.3.2010 Пользователь №: 6 336 Спасибо сказали: 0 раз |
Nickolya
Спасибо, о мудрый человек, пока полет нормальный Кстати почему-то 5-10 юзеров все равно не отключается, хоть и должны.. но это уже совсем мелочи |
|
|
16.1.2011, 16:46
Сообщение
#13
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Возможно, тут сочетание нескольких моментов...
1. У них отключено автоматическое перенаправление. 2. У них Грейлинк. 3. В Грейлинке стоит галочка "Нет пауз между попытками подключения к хабу" Их скрипт дисконнектит и они сразу же вновь заскакивают на хаб, и ты не успеваешь даже заметить, что они были скинуты. |
|
|
16.1.2011, 21:11
Сообщение
#14
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
mishanspb, Должны отключаться все, надеюсь ты ничего не менял И ты уверен, что те юзеры, что остались, имеют профиль, попадающий под работу скрипта?
Ksan, последняя редакция только с отключением, никаких редиректов. А подключение без пауз тоже не должно играть роли, если только хаб не глючит от этого. |
|
|
17.1.2011, 12:37
Сообщение
#15
|
|
Продвинутый участник Группа: Пользователи Сообщений: 120 Регистрация: 25.5.2009 Пользователь №: 3 432 Спасибо сказали: 20 раз |
mishanspb, Должны отключаться все, надеюсь ты ничего не менял И ты уверен, что те юзеры, что остались, имеют профиль, попадающий под работу скрипта? Ksan, последняя редакция только с отключением, никаких редиректов. А подключение без пауз тоже не должно играть роли, если только хаб не глючит от этого. В общем, спасибо Nickolya, за идею и небольшую отимизацию, по его мотивам модифицировал свой сткрипт с редиректом и отключением, в течении дня выложу. Пока у себя проверил все работает. Кстати.. вопрос... Товарисчи из цыфры, переписывали исходники птоки, так как у них явно это реализовано методами хаба. или специально обученный человек меняет шару по времени? XD |
|
|
17.1.2011, 13:24
Сообщение
#16
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
MaxFox, задай лучше этот вопрос Яdmin aka sphinx
|
|
|
14.4.2011, 18:07
Сообщение
#17
|
|
Продвинутый участник Группа: Пользователи Сообщений: 120 Регистрация: 25.5.2009 Пользователь №: 3 432 Спасибо сказали: 20 раз |
Долго мучился в раздумьях, почему все же бывают те кто проскакивают фильтр... о чем Миша писал, у себя наблюдая тоже самое... и заметил, что ежели использовать не Core.Disconnect(tUser), а Core.Disconnect(sNick), тоетсь дисконектить по нику, то проскачивших можно считать по пальцам одной-двух рук, учитывая, что на хаб пытается проскочить эжак 6000-8000 юзеров... в случае Core.Disconnect(tUser), проскакивало на много больше... 30-50... может и еще больше...
Спрашивается, как так? |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
Отключение автоматического редиректа памагииите... |
14 | MIKHAIL | 13 120 | 31.10.2016, 23:17 Посл. сообщение: HackFresse | |
Автоматическое отключение от хаба | 6 | averon.nv | 10 277 | 27.1.2011, 16:18 Посл. сообщение: Come_clarity | |
Редирект всех, кроме... помогите разобраться |
6 | MaxFox | 9 399 | 11.12.2010, 19:37 Посл. сообщение: Артём | |
От: Редирект двсех, кроме... От темы с ID: 4131 |
2 | LOPD | 5 053 | 10.12.2010, 14:04 Посл. сообщение: LOPD | |
Редирект по времени | 3 | Exodus | 7 648 | 20.5.2010, 12:11 Посл. сообщение: Nickolya | |
От: Отключение чата! От темы с ID: 3474 |
0 | sania | 4 202 | 19.5.2010, 19:55 Посл. сообщение: sania | |
Отключение чата! | 14 | forZejkee | 15 586 | 19.5.2010, 19:37 Посл. сообщение: forZejkee | |
Редирект для диапазона | 3 | truth | 6 521 | 9.3.2010, 11:30 Посл. сообщение: Nickolya | |
Отключение Главного Чата в заданый период времени API2 |
4 | prapor | 8 000 | 24.12.2008, 20:40 Посл. сообщение: prapor |
|
Сейчас: 23.11.2024, 1:12 |