World of Tanks: взгляд изнутри

.

Михаил Живец

Михаил, расскажите, пожалуйста, как устроена серверная инфраструктура игры?

Серверная инфраструктура World of Tanks -- это огромный синхронизированный мир. Он состоит из региональных серверов, которые, в свою очередь, включают в себя кластеры — большие синхронизированные группы компьютеров, объединенных высокоскоростными каналами связи и образующих единый аппаратный пользовательский ресурс. В составе каждого большого кластера находится много мини-кластеров, уже не синхронизированных между собой, что, в частности, позволяет сглаживать пики сетевого трафика.

Серверы обладают стандартной для современных дата-центров конфигурацией. На один кластер мощностью до 160 тыс. одновременных пользователей требуется около 100 игровых серверов и до 10 мощных серверов баз данных.

В процессе развития проекта и выхода компании на новые региональные рынки растет и развивается и серверная Инфраструктура: открываются новые дата-центры, увеличивается число кластеров и т. д.

Где расположены основные серверы и дата-центры?

Сейчас проект насчитывает четыре дата-центра. Старейшие из них расположены в Германии и США. В конце 2011 г. с развитием кластерной структуры русский кластер переехал из Германии в Москву. Сейчас в рамках Российской группы серверов работают четыре кластера: два в Москве и по одному в Мюнхене (Германия) и в Новосибирске (Россия). Европейский сервер включает два больших кластера, находящихся в Мюнхене. Американский сервер содержит один кластер, он в Вашингтоне (округ Колумбия, США). Самый молодой сервер — азиатский — открылся в марте 2012 г. в Сингапуре (Малайзия).

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

Какую цепочку проходит поток данных, перед тем как отобразиться на мониторе игрока?

Все сообщения, полученные клиентом и сервером, записываются вместе со временем их получения. Сервер использует это время, чтобы определить, как обновлять состояние игрока. Например, если полученное сервером сообщение не обрабатывалось в течение 100 мс, система компенсирует пропущенное время в ходе выполнения обновления.

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

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

Для начала разберемся в том, что же такое пинг. Пинг — это время отклика сервера и вашего компьютера. Чем дольше отклик, тем длиннее пинг. Значит, чем дальше вы находитесь от сервера, к которому вы пытаетесь подключиться, тем дольше сигнал сервера доходит до вас.

Скорость пинга напрямую зависит еще и от таких факторов, как качество и степень загруженности абонентской линии, а также загруженность сети в целом. Однако если сети и серверы мы модернизировали, то оптимизацию системной логики не обеспечиваем (это дело каждого пользователя) и на качество связи, которую предоставляет провайдер, никак влиять не можем. Разгрузить интернет-линию, например, от торрентов могут лишь сами игроки.

Но есть еще и часы пик, когда нагрузка на серверы возрастает многократно? Испытывают ли пользователи проблемы, связанные с увеличением нагрузки на локальные серверы в часы пик?

Качество картинки зависит от частоты ее обновления — FPS (Frames Per Second), или «Кадры в секунду». Значение FPS показывает, насколько часто обновляется картинка на экране вашего монитора, или, другими словами, какова производительность вашего компьютера. Если идет задержка сигнала и падает пинг, то уменьшается и FPS. Однако если кадровая частота падает без увеличения пинга, то вполне возможно, что причина в слабой видеокарте либо процессоре. В таком случае -- лучше уменьшить значения графических настроек, и FPS придет в норму.

Давайте поговорим о безопасности. Как обеспечивается защита серверов от взлома?

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

Святая святых Wargaming – сервер разработчиков

 

Насколько эффективна для игрока стратегия привязки аккаунта к номеру мобильного телефона? И что можно посоветовать игрокам для поддержания максимального уровня безопасности в игре, чтобы потом не было «мучительно больно» за потерю прокачанного аккаунта?

Действительно, в конце сентября 2012 г. в World of Tanks появилась новая функция — привязка учетной записи к номеру мобильного телефона. При наличии данной функции, в том случае, если мошенники узнают ваш пароль, вы сможете изменить его на новый. Механизм предельно прост: меняете пароль, запрашиваете код подтверждения на номер вашего мобильного телефона — и учетная запись снова в безопасности.

Могу посоветовать максимально усложнить ворам задачу! Как? Для начала ограничьте доступ посторонних людей к своему компьютеру. Будьте бдительны. Не доверяйте программам и сайтам, которые просят ввести игровой никнейм и пароль или пытаются выманить данные о почтовом ящике, на который зарегистрирована игра. Обзаведитесь хорошим антивирусом, регулярно обновляйте операционную систему, пользуйтесь фишинговыми фильтрами, придумайте пароль помудренее, не ленитесь время от времени его менять и — самое главное — никогда и никому не передавайте свои логин или пароль.

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

Удачной игры!