пятница, 26 марта 2010 г.

Секрет Полишинеля

Что ж, раз  мы не смогли полностью скрыть информацию о том, как работает система антибота в текущей версии, можно и раскрывать алгоритм её работы для всех страждущих.

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




Антибот,  начало.

Как вы заметили, пару недель назад, все наши сервера стали особенно сильно «лагать» и медленно открываться. Всё это произошло в течение 2-3 дней, но при этом количество людей онлайн не изменилось.

Естественно, мы решили выяснить причину этого. Через некоторое время обнаружили интересную вещь: с некоторых айпи-адресов шло очень много запросов на один и тот же адрес. Начали выяснять, и в конце мы увидели интересную картину: некоторые игроки умудряются делать до 10 запросов в секунду на один и тот же адрес. И таких «мега-игроков» одновременно онлайн более 100. При этом, обычный игрок редко успевает (в среднем,  в течение минуты, например) делать запрос чаще чем 1 раз в секунду.

Другими словами, получается, что эти 100 игроков запросов делают столько же, сколько и 1000 обычных игроков. Мы обыграли гипотетическую ситуацию, что одним игроком одновременно играют несколько человек (хотя это запрещено, насколько я помню :) ),  но всё равно получалось, что все эти гипотетические 10 игроков делают одно и тоже, постоянно, даже не думая ни о чём.

Результат размышлений – это скрипты или автоботы, которые «сломались» или неправильно настроены.

Было решено написать более подробную методику (до этого были только проверки идеи, но они тоже начинали приносить свои плоды), а так же подготовить всю соответствующую архитектуру.

Антибот, проверка

Следующим этапом – одним из шагов борьбы с лагами – была зачистка баз данных.  Это занимает обычно полчаса-час, и при этом сервер закрыт.

Что никто не мог предполагать, так это то, что в этот момент также будут логироваться все действия игроков.

Интересно, знаете ли, было смотреть, как сразу же после закрытия сервера некоторые игроки стали пытаться уйти в дозор ещё чаще, чуть ли не 1000 раз в минуту.

игрок

кол-во
обращени

секунд

скорость
в секунду

808748

19228

2923

6,578173

283013

13810

2918

4,732694


Тут уж, извините, мы никак не можем допустить, что эти пресловутые 10 игроков настолько хотят играть, что обновляют страницу ещё до того, как браузер успел показать результат. И при этом делают это в течение часа.

Начались первые массовые баны.

Антибот, боевое дежурство

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

Как скрипт работает: он находит всех подозрительных игроков (больше определённого  количества запросов в секунду) и логирует их действия. После этого данные показываются гейммастеру, и он сам анализирует информацию.

Другими словами:  все решения по банам принимает только модератор, а не система. Система только «думает», кого показать .

Система работала и работает. До сих пор обнаруживаются те, кто используют ботов таким образом.

И вы знаете, на основе этих логов очень интересно наблюдать за самыми активными игроками, больше всех кричащими о своей невиновности.

Примеры «не»-виновности.

А теперь, пару примеров того как люди невиновны J

Взяли самых активных естественно.

Первый игрок:

http://forum.theabyss.ru/index.php?showtopic=286845

Хитов

Секунд

Скорость

620

585

11

1705

620

28

1896

601

32

2032

620

33

1058

620

17

(5 раз его ловили)

Статистика:

Хитов

Тип

Путь

1896

GET

/dozor.php

 

Кусок лога:

 

 

Дата

Тип

Путь

21.03. 09:04:24

GET

/dozor.php

21.03. 09:04:24

GET

/dozor.php

21.03. 09:04:24

GET

/dozor.php

21.03. 09:04:24

GET

/dozor.php

21.03. 09:04:25

GET

/dozor.php

21.03. 09:04:25

GET

/dozor.php

21.03. 09:04:25

GET

/dozor.php

21.03. 09:04:25

GET

/dozor.php

21.03. 09:04:26

GET

/dozor.php

21.03. 09:04:26

GET

/dozor.php

21.03. 09:04:27

GET

/dozor.php

21.03. 09:04:27

GET

/dozor.php

21.03. 09:04:27

GET

/dozor.php

21.03. 09:04:27

GET

/dozor.php

21.03. 09:04:28

GET

/dozor.php

21.03. 09:04:28

GET

/dozor.php

21.03. 09:04:28

GET

/dozor.php

21.03. 09:04:28

GET

/dozor.php

21.03. 09:04:29

GET

/dozor.php

21.03. 09:04:29

GET

/dozor.php

21.03. 09:04:29

GET

/dozor.php

21.03. 09:04:29

GET

/dozor.php

 

Я очень хотел бы знать, что данный игрок делал в это утро, и что он делал так часто.

 

Второй игрок: Nosferatu13

http://forum.theabyss.ru/index.php?s=&showtopic=275401&view=findpost&p=4281736

одно из событий:

Хитов

Тип

Путь

5506

GET

/dozor.php

 

Дата

Тип

Путь

20.03. 09:06:02

GET

/index.php

20.03. 09:06:02

GET

/index.php

20.03. 09:06:02

GET

/index.php

20.03. 09:06:03

GET

/index.php?activate=14632390&group=1&k=X

20.03. 09:06:03

GET

/index.php

20.03. 09:06:03

GET

/index.php?activate=14632416&group=1&k=X

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

20.03. 09:06:04

GET

/dozor.php

 

Что игрок делал, столько раз нажимая одно и тоже в течении секунды ? (да и мог ли человек так много раз нажать рефреш за секунду – я лично не знаю)

 

Ещё один: Герасим=

http://forum.theabyss.ru/index.php?s=&showtopic=275401&view=findpost&p=4275255

Мне в особенности нравится то что он пишет :)

Дорогие админы, если это флуд, то я промолчу кто вы. Я повторяю в 3 раз, скрипты , ботов и тп не юзал, перепроверьте раз 100 я вам утверждаю, что я честный игрок. ВЫ ПРОСТО СКИНУЛИ СВОЮ РАБОТУ НА ТУПУЮ ПРОГРАММУ! Я бы не возмущался так сильно если бы не тот факт что я потратил год времени и тонны бобла, если вы будуте продалжать в том же духе, то ботва вымрет в ближайшее время, это я вам гарантирую.

Кусок лога:

Дата

Тип

Путь

18.03. 09:55:00

GET

/dozor.php

18.03. 09:55:00

GET

/dozor.php

18.03. 09:55:00

GET

/dozor.php

18.03. 09:55:00

GET

/dozor.php

18.03. 09:55:01

GET

/dozor.php

18.03. 09:55:01

GET

/dozor.php

18.03. 09:55:01

GET

/dozor.php

18.03. 09:55:01

GET

/dozor.php

18.03. 09:55:02

GET

/dozor.php

18.03. 09:55:02

GET

/dozor.php

18.03. 09:55:02

GET

/dozor.php

18.03. 09:55:02

GET

/dozor.php

18.03. 09:55:02

GET

/dozor.php

18.03. 09:55:03

GET

/dozor.php

18.03. 09:55:03

GET

/dozor.php

18.03. 09:55:03

GET

/dozor.php

18.03. 09:55:03

GET

/dozor.php

 

Заметьте. Этот человек сам пишет, что не пользуется ни ботом, ни какими -либо скриптами J

Хотел бы я иметь такую реакцию.

Всего за событие ему нашли: Хитов     1855 и Секунд   608

То есть в течение 10 минут он делал 4 запросов в секунду на 1 и тот же адрес. Впечатляюще. Правда, честно говоря, не понятно, зачем это делает человек.

Тоже самое можно найти по всем забаненным игрокам.

Если это не использование скриптов и ботов, то я, наверное, слишком медленно живу. Для меня 4 нажатия кнопки в течении секунды в течении 10 минут – это что-то слишком.

 

Антибот 2.0, обращение к ботоводам

Вроде бы всё хорошо, боты уже переписаны, они не ловятся этим антиботом, но вы думаете это всё?

Не надейтесь. Уже продуманы несколько способов ловить Вас.

Имейте ввиду только, что система будет запущена, но об этом никто не будет знать. И после этого ещё раз будет волна банов.

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

 

Всем игрокам,  которые не используют ботов и запрещённых скриптов – Вам удачи!

Остальным - мы идём к вам.

 

И да пребудут с нами Боги горы Шубидубу!