EVE Online — Как подготовить систему к масштабному сражению
Принцип работы игровых серверов и запрос на усиление нод
5 июля в MMORPG EVE Online закончилось действие пакта о ненападении между двумя крупнейшими коалициями и началась следующая военная кампания, которая может затронуть всех жителей Нового Эдема. Впереди большое количество грандиозных сражений, ведь общее число игроков, непосредственно участвующих в этом конфликте, приближается к отметке в 200 тысяч. Именно поэтому сейчас очень актуально более подробно разобраться в том, как CCP Games удается справляться с нагрузками, а также узнать о принципе работы инструмента для уведомлений о предстоящих битвах между флотами.
Мировой сервер Tranquility, на котором располагается вселенная EVE Online, использует архитектуру нод. Каждая нода обслуживает одну или несколько солнечных систем, а их распределение происходит во время ежедневной перезагрузки.
Такая загруженная система, как Jita, главный торговый хаб Нового Эдема, из-за большого количества игроков и объема торговых операций всегда расположена на отдельной ноде. С другой стороны, тихая система Omist где-то на окраине галактики, тупиковый лоу-сек Solitude и многие другие похожие места, куда редко заглядывают путешественники, могут физически находится на одном узле. Этот метод, как правило, позволяет сбалансировать производительность в кластере, чтобы игровый опыт в зонах с высоким трафиком оставался таким же, как в зонах с низким.
Иногда разработчики сталкиваются с проблемами, когда появляется большой объем неожиданной активности капсулеров в системе, которая делит ноду еще с несколькими другими локациями. В таком случае для всех них включается замедление времени, чтобы сервер мог эффективно справляться с происходящими событиями. Это может создать неудобства игрокам, находившимся в каком-то тихом месте.
Но у команды CCP Games всегда есть в запасе несколько дополнительных нод, зарезервированных для масштабных сражений. Их используют, чтобы выделить больше мощностей под нуждающиеся системы. И тут появляется инструмент для уведомлений о флотовых сражениях.
С его помощью игроки могут сообщить разработчикам, когда надвигается большая битва, например, по таймеру сооружения, на которое одна из сторон планирует напасть. Или если альянс хочет вторгнуться на чужую территорию для ее захвата. Инструмент также может быть использован во время организации публичных мероприятий, таких как Stay Frosty’s Frigate Free-for-All, the annual Luminaire Snowball Fight или World War Chappy. Последний ивент, к слову, собрал в одной системе 2 тысячи пилотов.
Таким образом у ребят из CCP Games будет возможность своевременно увеличить мощности системы, где должны произойти события, перенеся ее на резервную ноду во время перезагрузки Tranquility. Это позволит избежать активации замедления времени или смягчить его действие. Поскольку у разработчиков все же ограниченные ресурсы, им приходится тщательно выбирать, когда именно применять резервные ноды. Поэтому игрокам необходимо учитывать следующее:
- Только СЕО корпорации или директор может отправить уведомление о предстоящем сражении. Если вы работаете совместно с другими корпорациями или альянсами, пожалуйста, координируйте действия с вашими союзниками, чтобы с от вас была подана только одна заявка. Это позволит избежать ненужного дублирования запросов.
- Предоставьте как можно больше информации при отправке уведомления. Системы переносятся во время ежедневной перезагрузки серверов. В день боя может оказаться невозможным переместить системы на другие ноды.
- Отправляйте уведомления только для тех систем, где вы уверены, что будут происходить события. Спекулятивные запросы могут привести к тому, что ресурсы будут неправильно распределены в ущерб другим, более оспариваемым системам. Если игрок отправляет слишком много ложных запросов (например, ни одна из сторон не появляется, даже та, которая запрашивала усиление системы), то будущие запросы от него могут получить более низкий приоритет в случае, если у разработчиков не хватает нод.
- Воздержитесь от запросов на усиление систем ради удобства. Например, система подготовки капитального флота, который вы можете использовать только в случае эскалации боя. Неусиленные, эти системы могут испытывать временное замедление времени, когда происходят массовые входы. Но как только основная часть флота покидает ее, загруженность приходит в норму, а система все равно использует мощности, которые могли быть выделены для чего-то другого. Главные промежуточные системы (например, там, где основная часть вашего сабкапитального флота формируется регулярно) могут быть исключением из этого. Обязательно сообщите CCP цель вашего запроса при заполнении формы в поле для комментариев.
- Пожалуйста, будьте максимально консервативны и точны при заполнении времени, когда будет происходить событие. Если вы ожидаете большой бой по таймеру, но он не состоится до 02:00, вам не нужно запрашивать усиление ноды на весь день. Разработчики также не могут сделать «резервирование» для ноды, чтобы усилить конкретную систему на длительный период времени.
- У формы для уведомлений есть внутреннее время ожидания 600 секунд (10 минут), поэтому убедитесь, что вы заполнили форму до истечения этого времени. Если ваша заявка прошла успешно, вы получите подтверждение после нажатия кнопки “Отправить уведомление” внизу. Если вы отправляете форму и не получаете это подтверждение, а вместо этого страница обновляется со всеми пустыми полями, ваш запрос не был получен. Нужно повторить его еще раз.
Кроме того, команда CCP Games хочет отметить, что:
- Хотя процесс распределения нод был автоматизирован, в течение этого периода повышенной активности отдел взаимодействия с игроками будет ежедневно вручную просматривать уведомления о боевых действиях, чтобы гарантировать оптимальное распределение систем по нодам для достижения наилучшей производительности, а также игрового опыта.
- Следует понять, что разработчики не могут гарантировать безупречную работу во время крупных сражений, даже когда нода была усилена. Хотя они постоянно совершенствуем серверную инфраструктуру EVE Online, кровожадные игроки продолжают привлекать все больше и больше сил. Есть предел тому, что могут выдержать технологии. В случае действительно масштабных битв избежать серьезного замедления времени не получится.
- Уведомления о сражениях видит только небольшое количество сотрудников службы поддержки клиентов, которые рассматривают это как конфиденциальную информацию. Нет никаких рисков для безопасности предстоящей операции от такого запроса.
В EVE Online происходят грандиозные сражения, которых нету в других играх. Поэтому разработчики стремятся предоставить как можно лучший опыт во время таких событий и просят помочь им, заранее сообщая о ваших планах в очередной раз уничтожить огромное количество кораблей.