Automw. Интервью с разработчиком.

111111

Среди всех игроков Мосвара существует не так много активистов, способных постараться и бескорыстно сделать игру проще и приятнее. Но сегодня в руки редакции Наброса попался именно такой человек — автор стеночных анализаторов, логов рудных стенок, анализатора метро и даже расчета плюшек. Встречайте — Мой_Пирожок!

Boltovanin: Как пришла идея твоего сервиса? С чего он начинался?

Мой_Пирожок: Идея пришла, как только ввели КК и оказалось, что существующие анализаторы умеют считать только постфактум. И были мега-срачики на тему: как бить и кому. Первая версия была сделана за воскресенье и имела убогий дизайн. В течении недели еще отлаживались формулы расчета, ну и народ попросил прикрутить такой же расчет не только для КК, но и остальных боев. В таком виде оно прожило где-то месяца 4, может быть полгода, пока я не пришел в За Дротики, и оказалось, что плюшки все считают руками :) : Опять за пару дней был перепилен дизайн и добавлен метро-кальк, до того вида, в котором оно есть сейчас.

Boltovanin: Ты вложил в проект немало сил. Не обидно было, когда твою заявку сначала мариновали, а потом отказали под идиотским предлогом?  Какая, на твой взгляд , истинная причина отказа?

Мой_Пирожок: Не обидно, я вообще ожидал, что забанят :) Так что не особо расстроился. Напротив, ответ искренне повеселил, но решил уже не троллить, чтобы уж точно в бан не улететь. Истинная причина отказа — может потому, что на главной не написано, что я люблю Праетора. На самом деле, не подозреваю, в откровенную конфронтацию, как, например, Устал, я с админами не входил, и никаких особо срывов у меня нет.

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

Мой_Пирожок: Ну, тут достаточно много технических измышлений, попытаюсь объяснить без использования терминов. Вариант, что у нас нормально спроектированное приложение с правильным кешированием необходимых данных и прочего, — я сразу отбрасываю, судя по тем фейлам, какие случаются. Т.е. у нас вариант «хуяк-хуяк-и в продакшн» (для не-программистов отсюда).

Предположим, что сервер начинают атаковать толпа ботов, к примеру, пусть половина сидит на них. Т.е. при онлайне в 8к, 4к — боты. Если рассмотреть поведение нормального игрока и бота, то боту пофиг на ожидание между боями и прочим. Он тупо по таймеру (+ какая-то дельта) шлет строго определенные запросы. Обычный игрок 20 раз тыкнет на себя, посмотрит еще что-то и т.д. Т.е. половина живых игроков сгенерят уже больше трафика. В случае «умирания» сервера бот будет спокойно пытаться реконнектиться с увеличением тайм-аута, игрок будет ф5чить.

Если серверу совсем плохо, то начинает выдаваться статика «все сломалось». Деталей как оно у них устроено я не знаю, но похоже, что при ошибках доступа к БД. Т.е, фактической нагрузки это не несет — сервер пытается достучаться к базе, отваливается по таймауту и выдает статическую страницу «Все сломалось». у нас на входе есть очередь запросов, которая затыкается на «узком месте» — базе. Самые счастливые что-то получают, остальные статику. И от количества запросов ничего не изменится, просто меньше народа будет получать «живую информацию». Тут как бы опять толпа ф5-щих усугубляет жизнь себе же. Но не серверу.

Ему уже хуже не станет — тут либо хрень с сетью внутри их дата-центра, либо именно с базой, либо, я подозреваю, со всей инфраструктурой.

Boltovanin: Тоже есть такие подозрения.  То есть косяки в инфраструктуре и являются основной причиной лагов?

Мой_Пирожок: Инфраструктура + код, видимо. Вспоминая их недавний фейл, когда дропнулась база и не смогли поднять из бекапов — я даже не представляю, что там может быть. Любая современная база поддерживает фейловер политику — простейшую репликацию (если даже предположить, что у них нету RAID-массива на дисках). Либо у них даже не Mysql, либо я просто не знаю, что за админы…

Boltovanin: Как ты думаешь, почему сейчас пошла атака на ботов и скрипты? Что, по-твоему, надо сделать админам, чтобы количество ботоводов уменьшилось?

Мой_Пирожок: Мне кажется, исключительно показательно. Практической пользы оно не принесло — ну побанили лоу-лвл из топа грабителей. Хаям ни холодно, ни жарко. Количество ботов в любой игре большое, чем больше рутины — тем больше. Чисто с технической точки зрения, написать универсальную защиту от ботов, тем более, для браузерки и без флеша — практически не возможно. С другой стороны, я как-то помогал одному ресурсу реализовывать анти-бот систему. Все строится на анализе логов активностей, а не на ручной проверке, как говорят админы мосвара.

Фактически, приемов достаточно много, начиная от изменения кодов страниц, заканчивая навешиванием служебных JS-скриптов, которые рандомно подгружаются раз в N-минут для определенного игрока на определенную страницу. При 4-5 алярмов от одного игрока помечаем его как потенциального ботовода и запускаем уже полный анализ логов.

Boltovanin: Неплохая система. Насколько тяжело реализовать это технически?

Мой_Пирожок: Технически? Ну нанять вменяемого программиста, а не студента — и будет счастье. Т.е. ничего экстра-сложного нет. Тем более, когда есть гугл и сотни подобных обсуждений на множестве ресурсов.

Вот такие любопытные вещи, которые заставляют задуматься, нам рассказал  Мой_Пирожок. Распрощались мы душевно, и лично я был очень доволен, что мне довелось пообщаться с таким интересным человеком. А главное: стало точно понятно, что на админов и быдлокодеров Мосвара, наша редакция набрасывает говно за дело =)

Жжошь!(0)Говно(0)

2 Responses to Automw. Интервью с разработчиком.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *