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

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

KateKate7912

who lost her mind
Пользователь
Сообщения
1 130
Розыгрыши
0
Репутация
941
Реакции
580
Баллы
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 и именами, бот их атакует и блокируется.
Или можно поступить проще. Спавнить монстров которые были в округе (определенное расстояние), и выдавать блокировку за атаку в этой комнате.

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

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

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

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

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

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

 

    Influence

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


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

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

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

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

Вся сортировка по типам, на уровне сервера. Как ты поймешь на уровне html кода, какой тип у картинки icon.qwed7231235
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Потратить драгоценные 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
    За ответ
Дальше спорить не вижу смысла, ты прав, капча далеко не идеальная, но ничем не уступает текстовой, это факт. А по удобству, даже лучшая. Тут надо мозговать как это все провернуть=)
 
отправлять саму картинку с сервера, как выше показали л2скриптс
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
капча с картинками как раз уступает, капче в виде ASCII текстовой графики, ибо по времени вскрыть и обозначить иконки это довольно таки быстро. А вот на то чтобы прогрузить и обозначить массив текстовых символов, во первых нужно найти примерно тот же скрипт который будет из вот этого
Код:
| |                | |
 | |_    ___   ___  | |_
 | __|  / _ \ / __| | __|
 | |_  |  __/ \__ \ | |_
  \__|  \___| |___/  \__|
делать вот это - " test " , не каждый скрипт может тебе сразу определить что за шрифт использовался, а отсюда и переобразовать в правильный вид будет сложно !
А во вторых, если чувак там делал все кастомно, то не какой рандомный скрипт не поможет, придется ручками сидеть и определять это ! И по времени это будет больше чем 2 часа поверь !

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

    Influence

    Баллов: -12
    одни понты, а понимания сути вопроса - 0
яснопонятно, с тобой нету о чем разговаривать, бред только у тебя в голове
 
всё понятно. А как на счёт текстовой капчи? как на пда, где просят ввести числа, которые написанны буквенно, т.е.
Введите число: две тысячи пятьсот девяносто шесть
либо символьный вариант:
Введите четыре восклицательных знака, две запятых и знак процента
либо же
Умножте число три на число три и отнимите одну еденицу.
У меня стояла такая ерунда когда-то и впринципи справлялась с работой. От мегаботеров вас всё равно ничего не защитит, но школьникам и птушникам жизнь попортит)
 
Нет, там отсылается обычная иконка клана, которая и отображается.
 
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 Получаем неплохую защиту от ботов, и сами выпускаем себе обновления)
 
В принципе идея хорошая, похвально, но на практике будет плохая!
Процесс изображений из капчи и всех изображений в клиенте займет намного меньше секунды, причем вероятность правильного ответа будет 100%, нужно помнить, что игроки не знают всех изображений итемов в л2, а если написать скрипт для бота, он без труда будет владеть этой информацией.

Это будет легкая каптча или даже среднячок, написание кода займет не так много времени, хотя придется мозгами пошевелить в отличии от всех остальных каптч. Могу объяснить почему она не является трудной капче.

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

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