Скрипт бана читеров, использование greylink против читов |
Здравствуйте, гость ( Вход | Регистрация )
Скрипт бана читеров, использование greylink против читов |
25.5.2009, 17:05
Сообщение
#1
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Вот накатал скрипт для бана читеров.
Используем грейлинк, для того, чтобы банить читеров Название скрипта: cheats-detector Версия: 1.1 Автор: Setuper Описание: Ловит несоответствия в размере шары. В действиях можно указать бан пользователя. Команды: /checkshare nick - проверка пользовтеля с указанным ником /checkshare - проверка всех пользователей данного хаба /luafile startup.lua - команда запуска скрипта /lua dcpp = nil - команда остановки скрипта Для работы скрипта в папке lua должны находиться библиотеки lua32.dll и dcutil32.dll (или соответствующие 64 разрядные) Сам скрипт кидаем в папку scripts. Скрипт будет запускаться автоматически при старте клиента. Открываем файл Settings/CustomMessages.ini и дописываем туда: Код /lua dcpp = nil После этого можно будет не запоминать команды, а юзать меню "пользовательские сообщения"./luafile startup.lua /checkshare Пока что функционал скриптов не позволяет проверять пользователей при входе на хаб, поэтому для того чтобы проверить пользователя(ей) приходится вводит команды вручную. Юзаем и отписываем сюда если что не так startup.lua ( 4.45 килобайт ) Кол-во скачиваний: 150 |
|
|
25.5.2009, 19:24
Сообщение
#2
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
немного изменил код, добавил
Код local sMsg1 = [[Юзер [NI] с IP: [I4] не балуется читами Тэг: [TAG] Размер файл-листа: [SIZE] байт Шара: [SS] байт ]] и Код function dcpp.OnDownloadFinished(sFile, uid) local iSize, tUser, tList = 0, tAPI:GetUserInfo(uid), dcutil.loadlist(sFile..".xml.bz2") for _, v in pairs(tList) do iSize = iSize + v.size end if iSize < tonumber(tUser.SS) then tAPI:new():SimPublicMessage(tUser.HL, tAPI:ToUtf8(("<%s> "):format(sBot)..SetParams(tUser, sMsg):gsub("%[SIZE%]", iSize))) if sAction then tAPI:new():SendPublicMessage(tUser.HL, tAPI:ToUtf8(SetParams(tUser, sAction))) end else tAPI:new():SimPublicMessage(tUser.HL, tAPI:ToUtf8(("<%s> "):format(sBot)..SetParams(tUser, sMsg1):gsub("%[SIZE%]", iSize))) end end и проверил, вот что получилось Цитата [2009-05-25 20:14] :?? <LUABOT> Проверяю файл-лист пользователя: ustas [2009-05-25 20:17] :?? <LUABOT> Юзер ustas с IP: 127.0.0.1 не балуется читами Тэг: <UstasDC++ V:1.0,M:A,H:0/0/2,S:3,L:5128> Размер файл-листа: 917406161892 байт Шара: 912392882203 байт размеры разные. Читы отключены проверяет 3 минуты - это нормально? (100 мбит) p.s. 3 минуты из-за большой шары, для шары 50 Мб почти мгновенно баг - после того, как запустил проверку юзера, когда пытаюсь скачать файллист другого юзера, тоже выполняется его проверка |
|
|
25.5.2009, 19:35
Сообщение
#3
|
|
Постоялец Группа: Пользователи Сообщений: 462 Регистрация: 20.10.2008 Пользователь №: 843 Спасибо сказали: 15 раз |
Цитата Ловит несоответствия в размере шары Непонятно. Что в точности он делает? И будет ли работать в других клиентах с поддержкой LUA? |
|
|
25.5.2009, 19:47
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Размеры разные допускаются.
Это происходит из-за того, что при хешировании некоторые файлы (не фильмы) немного сжимаются, поэтому подсчитывая размер всех действительных файлов и размер хешированых файлов, получаем, что последний размер меньше, поэтому условие обнаружения чита - это условие, когда размер файл-листа мельне размера шары. Можно использовать небольшие читы и детектор не сработает. Он будет срабатывать только при явном завышении шары, при завышении примерно на 3%. ustas: Насчёт твоей дописки, не вижу в ней смысла. Это только будет не по детски грузить клиент (как раз минуты 3). Нужно выводить сообщение только если найден чит! Кстати говоря, в сообщении sMsg можно использовать следующие тэги: Код [NI] -- ник [I4] -- ip [DE] -- описание [EM] -- email [SS] -- точная шара [SSshort] -- форматированния шара [TAG] -- тэг [TA] -- тэг [VE] -- версия клиента [US] -- тип соединения [CO] -- тип соединения [HN] -- hubs unreg [HR] -- hubs reg [HO] -- hubs op [SL] -- слоты [ST] -- магический байт [AW] -- режим away (== "1" иначе nil) [LOC] -- местоположение [OP] -- статус оператора (== "1" иначе nil) [HL] -- хаб [ME] -- я (== "1" иначе nil) [RG] -- зарегистрирован на данном хабе В других клиентах с поддержкой lua совершенно другие функции api, поэтому работать не будет однозначно. Сомневаюсь, что другие клиенты с поддержкой lua настолько же богаты api функциями. |
|
|
25.5.2009, 19:50
Сообщение
#5
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
|
|
|
25.5.2009, 20:00
Сообщение
#6
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
баг - после того, как запустил проверку юзера, когда пытаюсь скачать файллист другого юзера, тоже выполняется его проверка Это не баг. Проверка будет выполняться при любом скачивании файл-листа, в противном случае, если делать проверку только по команде, то нагрузка на проверку того, что я качаю файл-лист только для проверки будет значительной. Безусловно лучше конечно делать проверку юзеров непосредственно при их входе на хаб, однако такой функции пока нет. |
|
|
25.5.2009, 20:16
Сообщение
#7
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
добавил в грее 100 ГБ
Цитата [21:14:29] <LUABOT> Юзер ustas с IP: 127.0.0.1 не балуется читами Тэг: <UstasDC++ V:1.0,M:A,H:0/1/1,S:3,L:5128> Размер файл-листа: 1025778261638 байт Шара: 1020764981949 байт фейк шару не определил |
|
|
25.5.2009, 20:34
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Мда... Под петабайт слишком большая шара.
Если у человека расшарено под петабайт, то не думаю, что он будет подделывать шару, и даже если и будет, то это не так важно. В общем из-за сжатия конечно косяк. |
|
|
25.5.2009, 20:44
Сообщение
#9
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
Мда... Под петабайт слишком большая шара. Если у человека расшарено под петабайт, то не думаю, что он будет подделывать шару, и даже если и будет, то это не так важно. В общем из-за сжатия конечно косяк. оставил только фейк шару Цитата [21:40:37] <LUABOT> Юзер ustas с IP: 127.0.0.1 не балуется читами
Тэг: <UstasDC++ V:1.0,M:A,H:0/1/1,S:3,L:5128> Размер файл-листа: 104857909510 байт Шара: 104857909510 байт |
|
|
25.5.2009, 20:49
Сообщение
#10
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Хехе.
Данный скрипт не проверяет подлинность файл-листа, он только сравнивает шару и размер файлов в файл-листе. Для проверки нужно скачать случайный файл, что в принципе можно реализовать в скрипте. |
|
|
25.5.2009, 20:54
Сообщение
#11
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
|
|
|
25.5.2009, 21:03
Сообщение
#12
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Никак. Повторяю, что данный скрипт предназначен только против настройки "плюс к шаре"!
Против подделки файл-листа методов борьбы думаю, что нету. |
|
|
25.5.2009, 21:29
Сообщение
#13
|
|
Продвинутый участник Группа: Пользователи Сообщений: 177 Регистрация: 20.5.2008 Пользователь №: 5 Спасибо сказали: 26 раз |
|
|
|
25.5.2009, 22:28
Сообщение
#14
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
Обнаружен читер!
Ник: [PNZ]Джони IP: IP Тэг: <gl++ V:5.57,M:A,H:6/1/0,S:16> Размер файл-листа: 25097765796 байт Шара: 25946967410 байт [23:20:33] <[=БОТ=]> *** Ошибка [PNZ]Джони не на хабе. Потом по IP посмотрел- ник у юзера [PNZ]Джони С этим как бороться? Ну я то его вручную забанил. А эт "на заметку" чтоль.. |
|
|
25.5.2009, 22:49
Сообщение
#15
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Исправил баг. Скрипт перезалил.
|
|
|
26.5.2009, 7:20
Сообщение
#16
|
|
[n00b] Группа: Пользователи Сообщений: 291 Регистрация: 10.7.2008 Из: Россия,Пенза Пользователь №: 168 Спасибо сказали: 24 раза |
Хм... А как именно определяется несоответствие шар? А то выдает несколько ников- якобы у них шара поддельная, но проверяю сам файлист у них-но шара нормальная вполне. Нету ни одного "лишнего" файла...
|
|
|
26.5.2009, 10:04
Сообщение
#17
|
|
Постоялец Группа: Пользователи Сообщений: 462 Регистрация: 20.10.2008 Пользователь №: 843 Спасибо сказали: 15 раз |
Цитата Данный скрипт не проверяет подлинность файл-листа, он только сравнивает шару и размер файлов в файл-листе Пффф. Без обид,но ты изобрёл велосипед. Очередная неудавшаяся пиар-акция Грея. |
|
|
26.5.2009, 12:17
Сообщение
#18
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Возможно.
Возможно данный вариант скрипта не совсем хорош, однако сам факт наличия достаточного lua функционала открывает перед lua прогерами широкие перспективы. Если будут предложения как подругому реализовать обнаружение читеров я готов реализовать. |
|
|
26.5.2009, 22:26
Сообщение
#19
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
Всё сделал как написано в первом посте. Запускаю клиент - пишет что скрипт запущен... а дальше ничего не происходитю Как действовать? запускаю командой /checkshare -
Цитата [02:32:13] <LUABOT> Проверяю файл-листы всех пользователей - и за сутки ничего в чат так и не выдало. В чем причина? Знаю что из 200 человек один но с обманной шарой.Сорри - Надо скачать файл листы со всех пользователей! Разобрался а вот это нормально? Цитата [23:12:50] <LUABOT> Обнаружен читер! - в списке файлов написал 31.38 Гб шараНик: paiper IP: 95.84.48.214 Тэг: <ApexDC++ V:s14,M:A,H:12/0/0,S:9> Размер файл-листа: 33691368196 байт Шара: 33796225796 байт С виду вроде нормальная шара - ну отличается она на 2 гига от того что написал бот . А другой юзер с 200 гигами fdgjhfjhbgjbndgjkbndjghnb.avi файлов и 50 гигами нормальных файлов - не забанен. так смысл в этой "фишке"? Стоит не банить юзера а просто выдавать админу в чат что подозрительный юзер на хабе... Закоментировав 27 строку Код local sAction = "!ban [NI] Подделка шары" - я же не буду банить пользователей?
|
|
|
26.5.2009, 22:56
Сообщение
#20
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Ещё раз повторяю, что скрипт предназначен против циферного добавления шары. Скрипт не отлавливает подделанные файл-листы.
Для отключения бана нужно просто не ставить действие: Код local sAction = nil или такКод local sAction = false
|
|
|
Похожие темы
|
Сейчас: 26.11.2024, 22:43 |