• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Мануал Защита от ботов на уровне сервера

KateKate7912

who lost her mind
Пользователь
Разработчик
За знание датапака
За знание ядра
За веру и верность форуму
Медаль за активность на Форуме
Сообщения
1 131
Розыгрыши
0
Репутация
941
Реакции
576
Баллы
0
Привет! Уже засыпая сегодня ночью как обычно думала о какой то фигне, в общем как обычно. :yao ming:
Понимаю что для многих защита от ботов на уровне сервера фантастика, но прошу уделить пару минут внимания)
Я разобью по этапам план разработки сего чуда, и обьясню принцип работы.
Защита будет работать по принципу защит со времен динозавров, но все же, я считаю что это лучший вариант.
В принципе можно взять уже готовое, и переписать под то что описываю я ниже. Просто встречала уже подобное, но не с таким широким функционалом.

Поехали фантазировать:
1. Самая ответственная часть, это написание системы слежки за действиями игроков.
Я понимаю что это сейчас будет примитивно, но да да! Система должна анализировать поведение игроков, а именно время повторных действий.
Под этими действиями я подразумеваю время повторного использования умений, интервал атаки, и другие важные факторы.
Все бот программы не имеют своего интеллекта, и не в состоянии выполнять свои действия хаотично.
2. Все мы знаем, что игроки используют как минимум 2-3 окна под бот программой, а следственно мы пишем проверку по ip адресу или hwid на расстояние игроков друг от друга с одним и тем же ip адресом или hwidОМ. (Это будет дополнительным рычагом для анализа игрока и подозрения на бота).
3. Вводим команду .bot для игроков и систему балов до 5ти. (Пишем проверку, и запрещаем кидать команду на тех кто не в режиме боя, так же использование команды на игрока не чаще чем раз в 30 минут.)
4. Когда система заподозрит бота, вводим титул игроку и его окнам красным шрифтом "Подозрение на бота", что бы игроки могли проверить в живую и если что дать команду .bot (Всего как указано выше 5 балов для перемещения в комнату (об этом будет в 6 пункте).
5. При подозрении на бота система пишет в пм игроку с вопросами на подобии викторины. 2+3=5 ,7+7=14 и так далее.
Пишем около 50 вариантов ответа, так же меняем местами если было к примеру 2+3=5, второй выриант 3+2=5. (Обязательно легкие впоросы, что бы даже при охоте не напрягать мозг и давать ответ автоматически).
Система задает 3 вопроса, на них нужно дать 3 ответа. Если один был ошибочный, дать ответ на новый вопрос (больше 5ти ошибок не допускается, иначе будете перемещены в комнату (6 пункт)).
Ответы нужно дать в течении 5ти минут, иначе перемещение в комнату, об этом будет в 6 пункте.
6. Вводим инстанс тюрьму для каждого игрока отдельно. Когда игрок не ввел 3 ответа на 3 вопроса, он будет перемещен в инстанс тюрьму, где будет стоять чучело для тренировки. Чучело будет писать в чат о том, что его бить нельзя, иначе после 5ти ударов игрок будет заблокирован на сутки). Если же игрок не бьет чучело, то через 3 минуты он выходит из тюрьмы. По логике вещей, бот программа после перемещения в комнату будет атаковать, спойлить это чучело всеми окнами. Вообще желательно сделать так, что бы система выдавала временный id или имя монстра которые находились рядом до перемещения в комнату (если бот ориентируется по ним), а так же ставить больше чучел если рядом было к примеру 3 разных монстра. В итоге получаем 3 чучела с разными id и именами, бот их атакует и блокируется.
Или можно поступить проще. Спавнить монстров которые были в округе (определенное расстояние), и выдавать блокировку за атаку в этой комнате.

Знаю что некоторым ребятам тут сие чудо под силу реализовать) Так же кто то может добавить в комментариях свои варианты.
Думаю это отличный вариант в плане защиты от ботов, хотя против клиентских защит ничего против не имею. Если их использовать в паре, то будет вообще отлично.:eek:_O:
 
Последнее редактирование:
Ну а к примеру понизить чувствительность системы определения, и сделать акцент на репортах игроков)
Полетел репорт, пошла проверка в виде сообщений в пм с вопросами, а далее все по пунктам)
Хотя даже если не понижать чувствительность, ты на 2+2= в пм не ответишь системе? :)
Знаете капчу гугла, где нужно жать на картинки? Чем она хороша? Тем что боту сложно определить, чего от него хотят, а человеку, наоборот, очень удобно. Так вод, как то я набрел на эту капчу и вспомнил ту самую капчу с ла2, где символы вводить надо. И созрел у меня план! Посоветовался с напарником, он у нас кодит, и было принято решение сделать такое:

1. Выбрать 9 типов предметов, у которых есть свой тип и они заметно отличаются.
2. Берем с базы 9 типов предметов, а точнее их иконки, и показываем их игроку. Естественно каждый раз в рандомном порядке.
3. Спрашиваем игрока определенный тип предметов.

В итоге:
1. Данная капча в разы удобней текстовой! и сама по себе интуетивно понятна даже новичку, не имея опыта игры в ла2!
2. Я не знаю каким умным должен быть бот, что бы распознать что от него хотят и найти нужный ответ и кликнуть на иконку. Так как все иконки типов, берутся с базы, рандомно, а теперь вспомните сколько иконок оружия в л2)
3. Добавили команду .bot, естественно с кучей проверок, и базовая защита готова, так же включили капчу при убийстве определенного количества мобов.

Дальше можно расширять эту тему, просто прочитал про ваши вопросы, это не лучшая идея как по мне, в нашей версии проверки, игроку даже пальцы с клавы не надо поднимать:)

shot00001.png
 

Знаете капчу гугла, где нужно жать на картинки? Чем она хороша? Тем что боту сложно определить, чего от него хотят, а человеку, наоборот, очень удобно. Так вод, как то я набрел на эту капчу и вспомнил ту самую капчу с ла2, где символы вводить надо. И созрел у меня план! Посоветовался с напарником, он у нас кодит, и было принято решение сделать такое:

1. Выбрать 9 типов предметов, у которых есть свой тип и они заметно отличаются.
2. Берем с базы 9 типов предметов, а точнее их иконки, и показываем их игроку. Естественно каждый раз в рандомном порядке.
3. Спрашиваем игрока определенный тип предметов.

В итоге:
1. Данная капча в разы удобней текстовой! и сама по себе интуетивно понятна даже новичку, не имея опыта игры в ла2!
2. Я не знаю каким умным должен быть бот, что бы распознать что от него хотят и найти нужный ответ и кликнуть на иконку. Так как все иконки типов, берутся с базы, рандомно, а теперь вспомните сколько иконок оружия в л2)
3. Добавили команду .bot, естественно с кучей проверок, и базовая защита готова, так же включили капчу при убийстве определенного количества мобов.

Дальше можно расширять эту тему, просто прочитал про ваши вопросы, это не лучшая идея как по мне, в нашей версии проверки, игроку даже пальцы с клавы не надо поднимать:)

shot00001.png
В чем проблема в боте отсортировать все итемы по типам? Берем ид картинки, по ид ищем предмет, если тип предмета = условию, нажимаем на нужную картинку, если нет > проверяем остальные
 
  • Мне нравится
Реакции: risi
В чем проблема в боте отсортировать все итемы по типам? Берем ид картинки, по ид ищем предмет, если тип предмета = условию, нажимаем на нужную картинку, если нет > проверяем остальные
И сколько времени понадобится боту, что-бы перебрать все иконки? И как вы получите id картинки? В любом случае, это займет кучу времени и сил, а рядовому игроку не нужно будет напрягать свой мозг) Да и сами пути к иконкам, можно видоизменить в самой html.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
И сколько времени понадобится боту, что-бы перебрать все иконки? И как вы получите id картинки? В любом случае, это займет кучу времени и сил, а рядовому игроку не нужно будет напрягать свой мозг) Да и сами пути к иконкам, можно видоизменить в самой html.
:) Тут немного не в этом дело, тебе чтобы подменить тип иконок придется менять их в клиенте, armorgrp,etcitemgrp,weapongrp и тд+utx, в противном случае отсортировать иконки по префиксу icon.accessary_earing_of_wisdom_i00 , довольно таки просто !
И тут как бы есть еще 1 вариант, который создает не малые проблемы для ботов типа Adrenaline, реализовать вопрос в виде , где одной точкой нарисовано нужное слово. Да и в принципе таким способом, отпадает нужда в тех самых иконках .
 
И сколько времени понадобится боту, что-бы перебрать все иконки? И как вы получите id картинки? В любом случае, это займет кучу времени и сил, а рядовому игроку не нужно будет напрягать свой мозг) Да и сами пути к иконкам, можно видоизменить в самой html.
ниже уже ответили что да как, пока иконки дергаются из клиента - для бота они не проблема
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Покажу тоже свою пробную реализацию капчи, сейчас обкатывается на одном большом сервере.

Имена картинок сгенерены 15 рандом чисел и перегенириваются каждый рестарт.
Пак картинок собран руками с разных ресурсах (30-40 разных паков).
Добавлен рандомный шум к каждой картинке.
Ответы хранятся на сервере. При выборе ответа отсылается 1 2 3 4.
Картинки естественно хранятся на сервере и отсылаются клиенту по штучно.
Есть идея ответы отсылать в виде картинки тоже, но это пока не нужно.

 

    Influence

    Баллов: 24
    более-менее годное решение, хотя капчи только мешают
ниже уже ответили что да как, пока иконки дергаются из клиента - для бота они не проблема
Вы не поняли о чем я говорил, на уровне сервере, сделать условие, что в определенных html, например в капче, видоизменять полностью пути к иконкам, и тоже, на стороне сервера превращать их в читаемый вид, по сути, даже прочитав html, вы не найдете пути к иконкам, а значит кроме как визуально, их не распознать...
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Покажу тоже свою пробную реализацию капчи, сейчас обкатывается на одном большом сервере.

Имена картинок сгенерены 15 рандом чисел и перегенириваются каждый рестарт.
Пак картинок собран руками с разных ресурсах (30-40 разных паков).
Добавлен рандомный шум к каждой картинке.
Ответы хранятся на сервере. При выборе ответа отсылается 1 2 3 4.
Картинки естественно хранятся на сервере и отсылаются клиенту по штучно.
Есть идея ответы отсылать в виде картинки тоже, но это пока не нужно.

FpEIlW4.png


Ты нам хочешь сказать что у тебя там не обычной HTML со ссылкой на картинку <Icon.ZAPILIMNEDVERIJPG> , которая в клиенте(utx) ?

Кто их там генерирует "15 рандом чисел" ... моятвоянепониматьрускийнемое , ты в курсе что в клиенте нужны статичные данные для .dat и прочих хэндлов, че ты там генерить каждый раз собрался .utx .dat Файлы и отправлять их апдейтером ?

Чушь такая лишь бы поверили что мы не такие как все мы лучше ...

Вы не поняли о чем я говорил, на уровне сервере, сделать условие, что в определенных html, например в капче, видоизменять полностью пути к иконкам, и тоже, на стороне сервера превращать их в читаемый вид, по сути, даже прочитав html, вы не найдете пути к иконкам, а значит кроме как визуально, их не распознать...
О еще бред подъехал, т.е ты думаешь что клиент каким то магическим способом путь к иконкам найдет и обработает, а всякий там не нужный игрок с ботом, вдруг этот путь не найдет .... ты вообще вкурсе как это работает ?
 
  • Мне нравится
Реакции: risi
FpEIlW4.png

Ты нам хочешь сказать что у тебя там не обычной HTML со ссылкой на картинку <Icon.ZAPILIMNEDVERIJPG> , которая в клиенте(utx) ?

Кто их там генерирует "15 рандом чисел" ... моятвоянепониматьрускийнемое , ты в курсе что в клиенте нужны статичные данные для .dat и прочих хэндлов, че ты там генерить каждый раз собрался .utx .dat Файлы и отправлять их апдейтером ?

Чушь такая лишь бы поверили что мы не такие как все мы лучше ...
Допустим... Что мешает пересобрать пак, с хаотическими названиями иконок/картинок? Для нужного ответа есть 1 попытка, нужно выбрать 1 картинку из 9-ти? Названия иконок никаким образом не соответствуют его типу. Как решать эту задачу?

Вся сортировка по типам, на уровне сервера. Как ты поймешь на уровне html кода, какой тип у картинки icon.qwed7231235
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Допустим... Что мешает пересобрать пак, с хаотическими названиями иконок/картинок? Для нужного ответа есть 1 попытка, нужно выбрать 1 картинку из 9-ти? Названия иконок никаким образом не соответствуют его типу. Как решать эту задачу?
Потратить драгоценные 15-30 минут, на то чтобы вытащить твой пак .utx(юзая L2tool) и визуально обозначить что к чему принадлежит, к примеру moy_iconPack.AAAAxxx0001 - бижа moy_iconPack.xxx0001AAAAAA - пушка , далее в боте - if(html.icon == html.moy_iconPack.xxx0001AAAAAA) then { item_type пушка , send bypass пушка }
и тд и тп! максимум 2 часа для тех задротов которые продают скрипты, и потом скидывают обычным игрокам !!! обычным карл, т.е не будет каждый игрок ручками этот процесс повторять как тебе кажется, просто скачает готовое( смотри что там на форуме типа Rawr делают с такой капчей)
 
  • Мне нравится
Реакции: risi

    risi

    Баллов: 10
    За ответ
Потратить драгоценные 15-30 минут, на то чтобы вытащить твой пак .utx(юзая L2tool) и визуально обозначить что к чему принадлежит, к примеру moy_iconPack.AAAAxxx0001 - бижа moy_iconPack.xxx0001AAAAAA - пушка , далее в боте - if(html.icon == html.moy_iconPack.xxx0001AAAAAA) then { item_type пушка , send bypass пушка }
и тд и тп! максимум 2 часа для тех задротов которые продают скрипты, и потом скидывают обычным игрокам !!! обычным карл, т.е не будет каждый игрок ручками этот процесс повторять как тебе кажется, просто скачает готовое( смотри что там на форуме типа Rawr делают с такой капчей)
Дальше спорить не вижу смысла, ты прав, капча далеко не идеальная, но ничем не уступает текстовой, это факт. А по удобству, даже лучшая. Тут надо мозговать как это все провернуть=)
 
Дальше спорить не вижу смысла, ты прав, капча далеко не идеальная, но ничем не уступает текстовой, это факт. А по удобству, даже лучшая. Тут надо мозговать как это все провернуть:)
отправлять саму картинку с сервера, как выше показали л2скриптс
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
капча с картинками как раз уступает, капче в виде ASCII текстовой графики, ибо по времени вскрыть и обозначить иконки это довольно таки быстро. А вот на то чтобы прогрузить и обозначить массив текстовых символов, во первых нужно найти примерно тот же скрипт который будет из вот этого
Код:
| |                | |
 | |_    ___   ___  | |_
 | __|  / _ \ / __| | __|
 | |_  |  __/ \__ \ | |_
  \__|  \___| |___/  \__|
делать вот это - " test " , не каждый скрипт может тебе сразу определить что за шрифт использовался, а отсюда и переобразовать в правильный вид будет сложно !
А во вторых, если чувак там делал все кастомно, то не какой рандомный скрипт не поможет, придется ручками сидеть и определять это ! И по времени это будет больше чем 2 часа поверь !

отправлять саму картинку с сервера, как выше показали л2скриптс
Что за картинки с сервера ? Что это за бред, там HTML страничка, в HTML Должна быть прямая ссылка на картинку, о чем вы вообще ? Там не какие картинки отправляться не могут, просто текст форматированный
 
  • Мне нравится
Реакции: risi

    Influence

    Баллов: -12
    одни понты, а понимания сути вопроса - 0
капча с картинками как раз уступает, капче в виде ASCII текстовой графики, ибо по времени вскрыть и обозначить иконки это довольно таки быстро. А вот на то чтобы прогрузить и обозначить массив текстовых символов, во первых нужно найти примерно тот же скрипт который будет из вот этого
Код:
| |                | |
 | |_    ___   ___  | |_
 | __|  / _ \ / __| | __|
 | |_  |  __/ \__ \ | |_
  \__|  \___| |___/  \__|
делать вот это - " test " , не каждый скрипт может тебе сразу определить что за шрифт использовался, а отсюда и переобразовать в правильный вид будет сложно !
А во вторых, если чувак там делал все кастомно, то не какой рандомный скрипт не поможет, придется ручками сидеть и определять это ! И по времени это будет больше чем 2 часа поверь !


Что за картинки с сервера ? Что это за бред, там HTML страничка, в HTML Должна быть прямая ссылка на картинку, о чем вы вообще ?
яснопонятно, с тобой нету о чем разговаривать, бред только у тебя в голове
 
всё понятно. А как на счёт текстовой капчи? как на пда, где просят ввести числа, которые написанны буквенно, т.е.
Введите число: две тысячи пятьсот девяносто шесть
либо символьный вариант:
Введите четыре восклицательных знака, две запятых и знак процента
либо же
Умножте число три на число три и отнимите одну еденицу.
У меня стояла такая ерунда когда-то и впринципи справлялась с работой. От мегаботеров вас всё равно ничего не защитит, но школьникам и птушникам жизнь попортит)
 
Ты нам хочешь сказать что у тебя там не обычной HTML со ссылкой на картинку <Icon.ZAPILIMNEDVERIJPG> , которая в клиенте(utx) ?
Нет, там отсылается обычная иконка клана, которая и отображается.
 
1. Ответ на вопрос в чате (более 100 разных банальных вопросов, с которыми на справится только даун)
2. Число в ASCII
3. Графические иконки как показали выше

Все это дело делит проверку на 3 этапа перечисленные выше. Каждую проверку делать уникальной путем смены последовательности.
Пример: 1,2,3 l 2,1,3 l 3,2,1 l 3,1,2 l 2,3,1

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

Кстати по поводу картинок. Можно делать вопросы по типу грейда к примеру. 8 картинок кастетов а ранга, и среди них одни кастеты НГ. Ну вы поняли.

P.s Получаем неплохую защиту от ботов, и сами выпускаем себе обновления)
 
Знаете капчу гугла, где нужно жать на картинки? Чем она хороша? Тем что боту сложно определить, чего от него хотят, а человеку, наоборот, очень удобно. Так вод, как то я набрел на эту капчу и вспомнил ту самую капчу с ла2, где символы вводить надо. И созрел у меня план! Посоветовался с напарником, он у нас кодит, и было принято решение сделать такое:

1. Выбрать 9 типов предметов, у которых есть свой тип и они заметно отличаются.
2. Берем с базы 9 типов предметов, а точнее их иконки, и показываем их игроку. Естественно каждый раз в рандомном порядке.
3. Спрашиваем игрока определенный тип предметов.

В итоге:
1. Данная капча в разы удобней текстовой! и сама по себе интуетивно понятна даже новичку, не имея опыта игры в ла2!
2. Я не знаю каким умным должен быть бот, что бы распознать что от него хотят и найти нужный ответ и кликнуть на иконку. Так как все иконки типов, берутся с базы, рандомно, а теперь вспомните сколько иконок оружия в л2)
3. Добавили команду .bot, естественно с кучей проверок, и базовая защита готова, так же включили капчу при убийстве определенного количества мобов.

Дальше можно расширять эту тему, просто прочитал про ваши вопросы, это не лучшая идея как по мне, в нашей версии проверки, игроку даже пальцы с клавы не надо поднимать:)

shot00001.png
И сколько времени понадобится боту, что-бы перебрать все иконки? И как вы получите id картинки? В любом случае, это займет кучу времени и сил
В принципе идея хорошая, похвально, но на практике будет плохая!
Процесс изображений из капчи и всех изображений в клиенте займет намного меньше секунды, причем вероятность правильного ответа будет 100%, нужно помнить, что игроки не знают всех изображений итемов в л2, а если написать скрипт для бота, он без труда будет владеть этой информацией.

Покажу тоже свою пробную реализацию капчи, сейчас обкатывается на одном большом сервере.

Имена картинок сгенерены 15 рандом чисел и перегенириваются каждый рестарт.
Пак картинок собран руками с разных ресурсах (30-40 разных паков).
Добавлен рандомный шум к каждой картинке.
Ответы хранятся на сервере. При выборе ответа отсылается 1 2 3 4.
Картинки естественно хранятся на сервере и отсылаются клиенту по штучно.
Есть идея ответы отсылать в виде картинки тоже, но это пока не нужно.
Это будет легкая каптча или даже среднячок, написание кода займет не так много времени, хотя придется мозгами пошевелить в отличии от всех остальных каптч. Могу объяснить почему она не является трудной капче.

Но в любом случае, элементарная каптча с выбором ответов (2+2=4, имя сервера=XXXX.NET и т.д.) устранит 99% читеров.

Введите число: две тысячи пятьсот девяносто шесть
либо символьный вариант:
Введите четыре восклицательных знака, две запятых и знак процента
либо же
Умножте число три на число три и отнимите одну еденицу.
У меня стояла такая ерунда когда-то и впринципи справлялась с работой. От мегаботеров вас всё равно ничего не защитит, но школьникам и птушникам жизнь попортит)
Вообще изи такое сделать, а вот игрокам не айс.
ах да, я сам то птушник)
 
Последнее редактирование модератором:
Самое годное решение не использовать капчу вообще, на своём серваке решал траблу немножко иначе. В каждом паравозе был пассивафкинвалидноатак моб, если его бьёшь > 60 сек, он сообщает игроку что ботоводить не есть хорошо и вобщем-то с мамкой его в кино ходил. После чего ебашит лоукик и пиздуешь на зону покурить пару часиков.
 
Назад
Сверху Снизу