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 квадратиков
*******

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




Как-то так (не проверял):
Раскрывающийся текст
Код
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 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




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 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




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 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




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

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

Collapse

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

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

 



RSS Сейчас: 23.11.2024, 2:47