Всем привет!
Это — моя первая статья; думаю, что мне следует начать ее с рассказа о себе. Некоторые из вас уже встречались со мной; в марте этого года мы с CCP Sreegs устроили в рамках «Фанфеста» круглый стол, посвященный обеспечению безопасности игры. Я — CCP Pollux, ведущий специалист по вопросам безопасности, член оперативной группы по обеспечению безопасности EVE Online (EVE Security Task Force, ESTF). В CCP я работаю с февраля; круг моих обязанностей включает в себя выявление и устранение уязвимых мест в программном обеспечении игры, а также разработку и практическую реализацию различных программных решений, связанных с обеспечением безопасности как серверной, так и клиентской частей EVE.
За прошедшие месяцы в ведение оперативной группы было передан целый ряд вопросов, имеющих отношение к безопасности игры; в списке проблем, решением которых занимается группа, одним из первых пунктов идет разработка методов, систем и инструментов, позволяющих на регулярной основе выявлять, классифицировать и отслеживать различные действия игроков, нарушающие правила игры. Иными словами, наша группа каждый день выходит на охоту, отлавливая всех, кто по тем или иным причинам пытается играть нечестно.
В многопользовательских играх существует огромное количество способов нечестной игры, однако в настоящий момент ESTF больше всего интересуется использованием игроками программ, фактически автоматизирующих игру в EVE — так называемых «ботов». Ведя войну с ботами, мы постоянно находим и отслеживаем игроков, пользующихся ботами разных типов; заботясь о соблюдении подписчиками правил подписки, мы выгоняем выявленных нарушителей из Нового Эдема.
В этой статье я расскажу вам, как пользоваться командой «Сообщить о боте» (Report Bot), недавно появившейся в клиенте EVE. Кроме того, в ближайшее время мы выпустим более подробную статью о ботах, крайне рекомендуемую к прочтению. В ней подробно описываются «автоматические игроки» — боты и макросы, — разъясняются принципы их действия, перечисляются используемые средства автоматизации, приводятся примеры использования ботов, объясняются их недостатки; публикуя эту информацию, мы снабжаем игроков средствами, которые позволят им эффективно вычислять ботов прямо в игре.
Команда «Сообщить о боте»
Недавно в одном из меню клиента EVE Online появилась команда «Сообщить о боте»; с ее помощью любой игрок сможет сообщить нам о найденном боте, не совершая при этом лишних телодвижений.
Как работает эта команда?
Чтобы сообщить нам об игроке, которого вы подозреваете в использовании средств автоматизации игры, следует выполнить три простых действия:
- Открыть окно информации о персонаже (рис. 1).
- Выбрать в контекстном меню команду «Сообщить о боте» (рис. 2).
- Подтвердить отправку сообщения (рис. 3).
Чтобы открыть окно информации о персонаже (рис. 1), щелкните правой кнопкой мыши по имени персонажа, о котором вы хотите сообщить нам, и выберите в контекстном меню команду «Показать информацию».
Откройте меню команд, нажав на кнопку в левом верхнем углу окна информации о персонаже, и выберите команду «Сообщить о боте» (рис. 2).
На экране появится окно подтверждения действия (рис. 3). Если вы и в самом деле хотите отправить нам сообщение о боте, нажмите на кнопку «Да»; в противном случае нажмите на кнопку «Нет».
Больше ничего делать не надо — ваше сообщение о боте мы обязательно получим. Кажется, система получилась настолько простой, насколько это вообще возможно.
В отношении игроков, подозреваемых в использовании средств автоматизации игры, проводится расследование; если выяснится, что игрок действительно ими пользуется, то к нему будут применены следующие меры наказания:
Первое нарушение: блокировка учетной записи на 14 дней
Второе нарушение: блокировка учетной записи на 30 дней
Третье нарушение: бессрочная блокировка учетной записи
Ознакомиться с обновленными положениями правил, имеющими отношение к ботам и другим видами нечестной игры, можно на нашем форуме, пройдя по приведенной выше ссылке.
Как отличить бота от обычного игрока?
Как следует из их названия, боты — это роботы, действия которых ограничены заранее заданными целями и наборами правил (включающими в себя события, состояния, условия, переходы между состояниями и собственно действия). Действия бота зависят от того, что именно происходит с управляемым ботом персонажем; их выполнение приводит к достижению поставленных перед ботом целей. В игре, где игроки обладают полной свободой действий, не так уж и сложно обнаружить роботов, выполняющих одну и ту же программу — нужно лишь внимательно к ним приглядеться.
Мы рекомендуем вам отправлять сообщение об обнаруженном боте лишь после того, как вы проведете свое собственное расследование — не слишком продолжительное, но достаточно систематическое.
✜ Понаблюдайте за игроком и попытайтесь описать его поведение в терминах состояний, условий и действий — так, как если бы речь шла об алгоритме:
▸ Попытайтесь выявить в поведении игрока повторяющиеся состояния:
- На какие этапы можно разбить деятельность, ведущуюся подозреваемым игроком?
- Каждый этап следует считать отдельным «состоянием».
- В списке состояний могут значиться «ничего не делает», «сидит на станции», «находится в варп-режиме», «добывает руду», «охотится» — и так далее.
▸ Попытайтесь выявить в поведении игрока повторяющиеся реакции на изменение условий:
- Когда именно подозреваемый игрок начинает выполнять другие действия?
- Каждое изменение в поведении следует считать результатом выполнения определенного «условия» (или нескольких условий), приводящего к переходу игрока в другое «состояние».
- Типовые условия могут выглядеть следующим образом: «если персонаж находится в состоянии "добыча руды" и в грузовом отсеке корабля нет свободного места, то <сделать то-то и то-то>»; «если персонаж находится в состоянии "добыча руды" и его корабль находится на прицеле у другого корабля и другой корабль не принадлежит NPC, то <сделать то-то и то-то>».
▸ Попытайтесь выявить в поведении игрока повторяющиеся действия:
- Как именно подозреваемый игрок ведет свою деятельность?
- Каждое взаимодействие (или группу взаимодействий) подозреваемого игрока с игровым миром следует считать «действием».
- Типовое действие, выполняемое в определенном состоянии при соблюдении определенных условий, может выглядеть следующим образом: «если текущее состояние называется «добыча руды» и корабль находится на прицеле у другого корабля и другой корабль не принадлежит NPC, то перейти в варп-режим (место назначения — безопасная позиция в этой системе)».
✜ Попытайтесь определить, следует ли игрок, за которым вы наблюдаете, определенному набору правил (например, выполняя одни и те же действия в течение продолжительного времени).
✜ Попытайтесь определить, чего именно пытается добиться своими действиями игрок.
✜ Попробуйте спровоцировать подозреваемого игрока — подумайте, на какие внешние события бот будет реагировать предсказуемым образом.
✜ Понаблюдайте за реакцией игрока на внешние события; отвечает ли он на ваши вопросы? Как он реагирует на появление вашего корабля рядом с его кораблем? На ваши попытки прицелиться по нему? Насколько однообразны его реакции? Прячется ли он в одном и том же месте? Возвращается ли он в ту самую точку, откуда сбежал?
✜ Наконец, доверьтесь своему разуму: именно ему следует решать, столкнулись ли вы с бездушной машиной или повстречали крайне целеустремленного человека.
(Примечание: нарушителями используются боты разных типов, различающиеся применяемыми их создателями наборами правил — пожалуйста, не забывайте об этом при проведении расследования.)
Что делать с теми, кто злоупотребляет сообщениями о ботах?
К моменту выхода этой статьи количество сообщений, отправленных при помощи команды «Сообщить о боте», перевалило за 500. Некоторым игрокам удалось найти настоящих ботов; в то же время часть сообщений не имела к ботам никакого отношения — мы допускаем, что отправившие их пилоты всего лишь ошиблись, а вовсе не пытались сознательно навредить другим игрокам, однако мы очень не рекомендуем вам пользоваться командой «Сообщить о боте» в сомнительных целях. Те, кто злоупотребляют ею, обязательно будут наказаны.
Буду рад ответить на любые ваши вопросы.
Удачных полетов! — CCP Pollux (от имени членов команды ESTF)