myDC.ru

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

 
 
Ответить в данную темуНачать новую тему

> Редирект всех, кроме..., помогите разобраться

Теги
Нет тегов для показа
MaxFox
сообщение 10.12.2010, 13:38
Сообщение #1


Продвинутый участник
****

Группа: Пользователи
Сообщений: 120
Регистрация: 25.5.2009
Пользователь №: 3 432
Спасибо сказали: 20 раз




Задача такова, есть хаб, на котором сидят и интернет юзеры и локальные юзеры. Необходимо всех проверять на шару и если она меньше установленного порога, то локальных юзеров при этом просто дисконектить, а интернет пользователей перенаправлять на другой хаб.

Вот мои труды... просьба поправить где не прав. Скрипт делался опираясь на похожие задачи. В скрипте сделал 2 вывода, чтобы видеть процесс.

Раскрывающийся текст

---------------------------------------------------------------
-- Скрипт редиректа всех кроме IP внисенных ниже --
---------------------------------------------------------------
-- Адрес хаба на который редиректим
sAddress = "dchub://123"
-- Сообщение которое получают пользователи при редиректе
local sMsg = "Вы перенаправленны на..."
--Диапозон IP который не редиректим
local tRanks = {
{"10.0.0.0","10.255.255.255"},
{"172.16.0.0","172.16.255.255"},
{"192.168.0.0","192.168.255.255"},
{"172.20.0.0","172.20.255.255"},
}
-- Минимальная для входа шара, в байтах:
iMinShare = 5*1024^3 -- 5 Gb
---------------------------------------------------------------
function iIp(sIP)
local a, b, c, d = sIP:match"^(%d+)%.(%d+)%.(%d+)%.(%d+)$"
return a * 16777216 + b * 65536 + c * 256 + d
end

function OnStartup()
for k, v in ipairs(tRanks) do
tRanks[k][1], tRanks[k][2] = iIp(v[1]), iIp(v[2])
end
end

function UserConnected(tUser)
if (Core.GetUserValue(tUser, 16) or 0) < iMinShare then
local iIP = iIp(tUser.sIP)
for _, v in ipairs(tRanks) do
if iIP < v[1] or iIP > v[2] then
Core.SendToUser(tUser, "Внимание!!! сейчас вы будете перенаправленны")
Core.Redirect(tUser, sAddress, sMsg)
Core.SendToOpChat(tUser.sIP)
return
else Core.Disconnect(tUser)
Core.SendToOpChat(tUser.sNick)
return
end
end
end
end


Что не работает, периодически перенаправляет тех, кого должен отключать
Go to the top of the page
+Quote Post
Alexey
сообщение 10.12.2010, 17:51
Сообщение #2


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 291 раз




Как-то так (не проверял):
Раскрывающийся текст
Код
function UserConnected(tUser)
    if (Core.GetUserValue(tUser, 16) or 0) < iMinShare then
        local iIP = iIp(tUser.sIP)
        local bIsLocal = false
        for _, v in ipairs(tRanks) do
            if iIP > v[1] and iIP < v[2] then
                bIsLocal = true
                break
            end
        end
        if bIsLocal then
            Core.Disconnect(tUser)
            Core.SendToOpChat(tUser.sNick)
        else
            Core.SendToUser(tUser, "Внимание!!! сейчас вы будете перенаправленны")
            Core.Redirect(tUser, sAddress, sMsg)
            Core.SendToOpChat(tUser.sIP)
        end
    end
end


Спасибо сказали:
Go to the top of the page
+Quote Post
Артём
сообщение 10.12.2010, 18:13
Сообщение #3


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 604
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 761 раз




big_smile.gif
Прикрепленный файл  RedirectInternetUsers.lua ( 1.85 килобайт ) Кол-во скачиваний: 11

В опчат приходит такое сообщение:
Цитата
<OpChat> Локальный Юзер Unreg IP 10.0.0.0 пытался войти на хаб.
<OpChat> Интернет Юзер Unreg IP 10.0.0.0 пытался войти на хаб, но был перенаправлен на dchub://123 из-за маленькой шары.


Спасибо сказали:
Go to the top of the page
+Quote Post
MaxFox
сообщение 11.12.2010, 1:18
Сообщение #4


Продвинутый участник
****

Группа: Пользователи
Сообщений: 120
Регистрация: 25.5.2009
Пользователь №: 3 432
Спасибо сказали: 20 раз




Спасибо парни, за свежие идеи =)
Вывод был сделан только для контроля работы скрипта, а вы с ним помудрили... Даже мой скромный вывод, создает аццкий ффлуд в опчате, порядка 3-5 пользователей в секунду (Пиковый онлайн хаба почти 10 000 юзеров).
Go to the top of the page
+Quote Post
Артём
сообщение 11.12.2010, 14:46
Сообщение #5


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 604
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 761 раз




MaxFox, закомментируй
Код
Core.SendToOpChat

чтобы не флудило в опчате big_smile.gif
P.S сливай мне "ненужных" юзеров big_smile1.gif
Go to the top of the page
+Quote Post
MaxFox
сообщение 11.12.2010, 19:15
Сообщение #6


Продвинутый участник
****

Группа: Пользователи
Сообщений: 120
Регистрация: 25.5.2009
Пользователь №: 3 432
Спасибо сказали: 20 раз




Цитата(Артём @ 11.12.2010, 14:46) *
MaxFox, закомментируй
Код
Core.SendToOpChat

чтобы не флудило в опчате big_smile.gif
P.S сливай мне "ненужных" юзеров big_smile1.gif

омг... будь внимательнее =)

з.ы. Скрипт собственно и нужен для того, чтобы отправлять юзеров на мой второй хаб...
Go to the top of the page
+Quote Post
Артём
сообщение 11.12.2010, 19:37
Сообщение #7


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 604
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 761 раз




MaxFox, я пошутил big_smile1.gif
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Всех любителей сети DC++ с новым годом
Все форумчане и гости в поисках скриптов для своего хаба
0 мамин_парень 163 1.1.2018, 15:15 Посл. сообщение: мамин_парень
No new Topic has attachmentsРедирект или отключение v1.1, v2.1.1
API2| Выбираем кого отключить, кого перенаправить, если маленькая шара
16 MaxFox 7 816 14.4.2011, 18:07 Посл. сообщение: MaxFox
No New Posts От: Редирект двсех, кроме...
От темы с ID: 4131
2 LOPD 1 866 10.12.2010, 14:04 Посл. сообщение: LOPD
No New Posts Topic has attachmentsЗапрет чата для всех кроме випов опов и админов
АПИ 2 версия 0.4.1.2
7 Vizunchik 5 488 4.8.2010, 15:36 Посл. сообщение: WINS
No New Posts Редирект по времени
3 Exodus 3 293 20.5.2010, 12:11 Посл. сообщение: Nickolya
No New Posts Topic has attachmentsРедирект для диапазона
3 truth 2 751 9.3.2010, 11:30 Посл. сообщение: Nickolya
No new Topic has attachmentsМульты Мэйл Агента для Грейлинка и всех его модов
27 Come_clarity 13 372 29.12.2009, 18:04 Посл. сообщение: TiGRpp
No New Posts Topic has attachmentsФлейм режим для всех
API2
4 IIPu3PAK 6 488 25.11.2009, 21:38 Посл. сообщение: boyua
Closed Нужен Скрипт Для Чтения Всех Пм На Хабе
Ptyokax 0.3.6.0
2 griffonn 4 174 16.1.2009, 10:53 Посл. сообщение: mariner
No New Posts Topic has attachmentsПериодический Рестарт Всех Скриптов
API 2
10 NikseR 6 136 24.11.2008, 12:52 Посл. сообщение: Setuper

 



RSS Сейчас: 23.1.2018, 2:53