Проводя бой за боем, игрок не задумывается о технической стороне WoT. Он не знает, как работают его любимые танки, и какие действия были сделаны ради комфортной игры.
Постараемся, доступно и понятно рассмотреть все процессы, происходящие вне вашего компьютера.
Первые шаги
Для начала разберемся в понятиях. Сервер — программное обеспечение, выполняющее определенные задачи, без участия человека. Кластер серверов — компьютеры, объединенные для процессов в облике единого ресурса.
Для увеличения показателей пинга и комфортной игры единственный кластер игры был перенесен в Россию из Мюнхена. Это знаковое событие произошло в 2011 году. Но в то время существовала и другая программная проблема. При каждом перезапуске серверов, геймеры не могут посетить игру, что негативно сказывается на имидже компании. Так, как такую процедуру, требовалось проделывать пару раз в неделю, нужно было искать выход из сложившийся ситуации.
Специалисты и разработчики игры в обновлении 0.7.0 изменили принципиальную схему всех процессов. В центре оказалось головное звено, где хранилась вся информация обо всех игроках, а по краям — периферия серверов. Игроки, участвуя в боях, находятся на периферических серверах, а центр обслуживает все эти сервера. На выходе имеем мультикластерную систему, которая не позволит зайти в игру, если поврежден центральный модуль, но продолжить играть будет можно, т.к. пользователь находится на игровом сервере не связанном с главным.
География серверов игры
Известный факт, что чем ближе сервер World of Tanks к конкретному игроку, тем лучше для игры в плане производительности. Компания WG расположила свои дата-центры в местах основного сосредоточения игроков. Здание или помещение, в котором находится все серверное оборудование и называется дата-центром. Охват целевой аудитории игры впечатляет масштабами. Города расположения серверов находятся в разных странах мира и направлены на обслуживания игроков того или иного региона. Москва, Новосибирск, Красноярск, Амстердам, Франкфурт, Люксембург, а также города Америки — места, где на благо геймеров работает множество серверного и программного обеспечения, а также тысячи сотрудников. Также существуют корейский, китайский и сингапурский кластеры.
Поиграть хотят все
Какие же мощности должны быть, что бы удовлетворить такую огромную аудиторию? В ранних периодах World of Tanks, один кластер мог выдержать онлайн в районе 250 тыс. игроков. Причем при такой загрузке, рабочая нагрузка на данные достигала около 5-7 Гбит/с. Ситуация сегодня кардинально изменилась за счет увеличения периферийных серверов. Кластер в себе объединяет до 80 физических серверов с нагрузкой на каждый около 3 тыс. игроков и трафика не более 70 Мбит/с.
Как все это работает на практике?
Процесс получения нового обновления игры выглядит следующим образом. Его загружают в сеть доставки контента(CDN) и на сервера раздающие обновления. Для скорости и непрерывности процесса скачивания лоунчером, создается торрент-файл, который позволяет продолжить прерванную загрузку. Лоунчер запрашивает у сервера раздачи обновлений и получает ссылку на патч-обновление или торрент файл.
Следующий процесс — вход в игру и выбор сервера игры. При подтверждении главным сервером о правильности логина и пароля игрок попадает на один из игровых серверов. Автоматический выбор сервера включает в себя сложную схему, включающую как анализ параметров пользователя, так и загруженность серверов. Игрок RU- региона может оказаться на любой периферии, даже в Амстердаме и Новосибирске, но всегда можно выбрать сервер себе по вкусу вручную.
Каждому процессу, по сути, выделены отдельные сервера. За авторизацию отвечает один сервер, за нахождение в ангаре другой, системной информацией занимаются третьи. Такое распределение «обязанностей» позволяет не замечать простому игроку сбои и спокойно доиграть сессию. При «падении» периферии, если такое происходит, необходима перезагрузка кластера. Но при потере нормальной работы всего одного физ. сервера, кластер в целом останется в работе, что позволит продолжить играть игрокам.
Самое неприятное, что может произойти — выход из строя сервера, на котором играл игрок в момент поломки. При «вылете» и повторного входа, игра выдаст сообщение о невозможности авторизации, по причине подключения пользователя к другой периферии. Каждые два часа аккаунты всех геймеров сохраняются в общую базу. Если и пускать на иную периферию, что технически возможно, с проблемных участков, то 2-х часовой прогресс со сломанного сервера будет утерян. Поэтому метка нахождения не даст ни куда войти до перезагрузки «упавшей» периферии.
Защита — залог успеха
В игре World of Tanks широко используются технологии резервного и дублированного копирования, для бесперебойной работы всего сетевого и сервисного оборудования. Также применяется продублированные жесткие диски, блоки питания с разными источниками питания и независимые интернет поставщики с отдельными путями подхода линий связи. Усовершенствование методов технической защиты от сбоев позволило добиться большей стабильности игры и незаметностивлияния поломок на игровой процесс для рядовых геймеров.
Прогресс не стоит на месте и компания WG шагает в ногу с инновациями, стараясь внедрить их в нашу любимую с вами игру World of Tanks, а также развивает другие проекты компании.
Похожий интересный материал: