Техническая сторона World of Tanks

Категория: Статьи

Танк из игры World of Tanks - техническая сторона

Проводя бой за боем, игрок не задумывается о технической стороне WoT. Он не знает, как работают его любимые танки, и какие действия были сделаны ради комфортной игры.

Постараемся, доступно и понятно рассмотреть все процессы, происходящие вне вашего компьютера.

Первые шаги

Для начала разберемся в понятиях. Сервер - программное обеспечение, выполняющее определенные задачи, без участия человека. Кластер серверов - компьютеры, объединенные для процессов в облике единого ресурса. 

Для увеличения показателей пинга и комфортной игры единственный кластер игры был перенесен в Россию из Мюнхена. Это знаковое событие произошло в 2011 году. Но в то время существовала и другая программная проблема. При каждом перезапуске серверов, геймеры не могут посетить игру, что негативно сказывается на имидже компании. Так, как такую процедуру, требовалось проделывать пару раз в неделю, нужно было искать выход из сложившийся ситуации.

Специалисты и разработчики игры в обновлении 1.5.0.4 изменили принципиальную схему всех процессов. В центре оказалось головное звено, где хранилась вся информация обо всех игроках, а по краям - периферия серверов.  Игроки, участвуя в боях, находятся на периферических серверах, а центр обслуживает все эти сервера. На выходе имеем мультикластерную систему, которая не позволит зайти в игру, если поврежден центральный модуль, но продолжить играть будет можно, т.к. пользователь находится на игровом сервере не связанном с главным. 

География серверов игры

Известный факт, что чем ближе сервер World of Tanks к конкретному игроку, тем лучше для игры в плане производительности. Компания WG расположила свои дата-центры в местах основного сосредоточения игроков. Здание или помещение, в котором находится все серверное оборудование и называется дата-центром. Охват целевой аудитории игры впечатляет масштабами. Города расположения серверов находятся в разных странах мира и направлены на обслуживания игроков того или иного региона. Москва, Новосибирск, Красноярск, Амстердам, Франкфурт, Люксембург, а также города Америки - места, где на благо геймеров работает множество серверного и программного обеспечения, а также тысячи сотрудников. Также существуют корейский, китайский и сингапурский кластеры. 

Поиграть хотят все

Какие же мощности должны быть, что бы удовлетворить такую огромную аудиторию? В ранних периодах World of Tanks, один кластер мог выдержать онлайн в районе 250 тыс. игроков. Причем при такой загрузке, рабочая нагрузка на данные достигала около 5-7 Гбит/с. Ситуация сегодня кардинально изменилась за счет увеличения периферийных серверов. Кластер в себе объединяет до 80 физических серверов с нагрузкой на каждый около 3 тыс. игроков и трафика не более 70 Мбит/с.

Как все это работает на практике?

Процесс получения нового обновления игры выглядит следующим образом. Его загружают в сеть доставки контента(CDN) и на сервера раздающие обновления. Для скорости и непрерывности процесса скачивания лоунчером, создается торрент-файл, который позволяет продолжить прерванную загрузку. Лоунчер запрашивает у сервера раздачи обновлений и получает ссылку на патч-обновление или торрент файл.

Следующий процесс - вход в игру и выбор сервера игры. При подтверждении главным сервером о правильности логина и пароля игрок попадает на один из игровых серверов. Автоматический выбор сервера включает в себя сложную схему, включающую как анализ параметров пользователя, так и загруженность серверов. Игрок RU- региона может оказаться на любой периферии, даже в Амстердаме и Новосибирске, но всегда можно выбрать сервер себе по вкусу вручную.

Каждому процессу, по сути, выделены отдельные сервера. За авторизацию отвечает один сервер, за нахождение в ангаре другой, системной информацией занимаются третьи. Такое распределение "обязанностей" позволяет не замечать простому игроку сбои и спокойно доиграть сессию. При "падении" периферии, если такое происходит, необходима перезагрузка кластера. Но при потере нормальной работы всего одного физ. сервера, кластер в целом останется в работе, что позволит продолжить играть игрокам.

Самое неприятное, что может произойти - выход из строя сервера, на котором играл игрок в момент поломки. При "вылете" и повторного входа, игра выдаст сообщение о невозможности авторизации, по причине подключения пользователя к другой периферии. Каждые два часа аккаунты всех геймеров сохраняются в общую базу. Если и пускать на иную периферию, что технически возможно, с проблемных участков, то 2-х часовой прогресс со сломанного сервера будет утерян. Поэтому метка нахождения не даст ни куда войти до перезагрузки "упавшей" периферии.

Защита - залог успеха

В игре World of Tanks широко используются технологии резервного и дублированного копирования, для бесперебойной работы всего сетевого и сервисного оборудования. Также применяется продублированные жесткие диски, блоки питания с разными источниками питания и независимые интернет поставщики с отдельными путями подхода линий связи. Усовершенствование методов технической защиты от сбоев позволило добиться большей стабильности игры и незаметностивлияния поломок на игровой процесс для рядовых геймеров.

Прогресс не стоит на месте и компания WG шагает в ногу с инновациями, стараясь внедрить их в нашу любимую с вами игру World of Tanks, а также развивает другие проекты компании.

Похожий интересный материал:

Плюсы работы в Wargaming

Комментарии для сайта Cackle