Войти
С нами будет весело - приколы, конкурсы, стримы, ивенты, игровое золото
» » Игрокам о серверах World of Tanks

Игрокам о серверах World of Tanks

 Greyzi   12-02-2015, 17:48   Новости World of Tanks 
Игрокам о серверах World of Tanks

Как всё начиналось?
Первоначально вся игровая и сопутствующая информация (например, ваши посты на форуме и наши материалы на этом портале) хранилась, обрабатывалась и распространялась на мощностях всего одного кластера серверов. Кластер серверов — это группа связанных между собой компьютеров, действующих как единый ресурс. Изначально первый кластер World of Tanks находился в Мюнхене, а в 2011 году его перевезли в Россию.

Тогда игроки были очень рады, потому что пинг сразу уменьшился и стало «всё хорошо». Но так как кластер был один, а серверы нужно было перезапускать несколько раз в неделю, то во время их простоя ни один танкист не мог войти в игру.

Чтобы никто не грустил, к версии 0.7.0 серверы были переведены на мультикластерную технологию. Изменения в структуре взаимодействия отдельных частей кластера привели к его разделению на центр и периферию. Функциональное разделение такое: центр — это база, где хранятся все данные пользователей, а периферия — все остальные серверы, где, собственно, и играют пользователи. На момент написания статьи все игры обслуживаются на девяти перифериях. Все играют на периферии, в центре никто не играет, но именно центр обслуживает периферию. Если центр не будет работать — пользователи не смогут зайти в игру, но смогут продолжить играть, если уже зашли.

Игрокам о серверах World of Tanks

Где находятся игровые серверы?
Специализированное здание для размещения серверного оборудования называется дата-центром, и чем дата-центр ближе к пользователям, тем лучше.

Поэтому серверы компании Wargaming географически рассредоточены по всем игровым регионам. Три дата-центра находятся в Москве. В одном из них размещено оборудование сразу для трёх игр: World оf Tanks, World of Warplanes и World of Warships. На двух других московских площадках суммарно находится четыре периферии, а в Новосибирске и Красноярске обслуживаются серверы RU4 и RU8. В Европе — три дата-центра: в Амстердаме, Франкфурте и Люксембурге. Американские серверы есть на западном и восточном побережьях, существуют также корейский и сингапурский кластеры для обслуживания Азиатского региона. Китайским кластером оперируют партнёры.

Серверная структура очень гибкая и позволяет быстро вносить изменения. С точки зрения системных администраторов абсолютно всё равно, какой материал стоит на серверах: «танки» ли, «самолёты» или «корабли».

Игрокам о серверах World of Tanks

Сколько компьютеров надо, чтобы играли все?
Когда World of Tanks размещалась всего на одном кластере, максимально допустимой нагрузкой для него был онлайн в 250–270 тысяч пользователей. В этом кластере было порядка ста серверов, которые функционировали как единое целое. Предел нагрузки упирался как в физическую базу, так и во внешние каналы провайдера. Когда онлайн находятся 250 тысяч игроков, нагрузка на каналы связи — порядка 6–7 Гбит/с трафика (то есть стандартный фильм в 1,4 ГБ пролетает по ним каждые 2 секунды).

Сегодня, за счёт увеличения числа периферий, проекты не ограничены ничем и проблемы решаются по мере поступления. Один физический сервер рассчитан на 2,5–3 тысячи пользователей и пиковый трафик порядка 60–70 Мбит/с. Обычный кластер объединяет от 50 до 80 серверов, некоторые периферии позволяют оперативно добавлять к ним серверы, но обычно серверные стойки в дата-центрах и так использованы по максимуму.

Игрокам о серверах World of Tanks

Как пользователи получают обновления игры?
Специально обученные люди — билд-инженеры — готовят патчи для каждого обновления игры. Патч — файл с информацией, которая заменит какую-либо часть игровой программы и внесёт актуальные обновления в игровой процесс конкретного пользователя. Чтобы пользователи могли скачать патч, его заливают на CDN (ContentDeliveryNetwork— «сеть доставки контента») и раздающие сервера компании. Если размер патча больше 30 МБ, то с целью увеличения эффективности и скорости раздачи для него создаётся торрент-файл, который тоже будет ждать запроса пользователя на CDN.

Когда пользователь запускает игру, лончер обращается к серверу обновлений и получает ссылку на патч или его торрент-файл в зависимости от того, включена ли настройка «Разрешать использовать торрент» в лончере.

Игрокам о серверах World of Tanks

Как пользователи попадают в игру?
Пользователь может попадать на любой сервер из любого региона. Если пользователь авторизовался на RU-кластере, он может попасть на любую из периферий. По умолчанию в настройках клиента прописан автоматический выбор периферии, и при авторизации игрока его запрос проходит через сложный алгоритм, который не только отталкивается от пинга пользователя, но и оценивает общую загруженность серверов. Если сервер X в России загружен больше, чем сервер Y, то пользователь попадёт на сервер Y. А вообще система может его и в Амстердам или Новосибирск отправить. Но пользователь и сам может выбрать сервер.

Игрокам о серверах World of Tanks

Где ангар, а где война, и что происходит, когда игрок нажимает кнопку «В бой!»?
Есть серверы, которые обслуживают пользователей: например, на них идут игровые процессы, процессы нахождения в Ангаре или процессы логина. Есть те, которые не обслуживают пользователей, а работают с системной информацией.

Например, когда пользователь запускает лончер, он попадает в процесс логина. Запрос на авторизацию по внутренним каналам отправляется в единый центр авторизации, который подтверждает, что пароль пользователя верный и его можно пускать в игру. После авторизации пользователь попадает в Ангар, а управление его данными передаётся другому процессу.

Это значит, что фактически при сбое на сервере игрок может не заметить ошибки и спокойно доиграть свою сессию. Например, при большой нагрузке на периферию — онлайн больше ста тысяч человек — кластер может сломаться, и понадобится его перезапуск. Но если из процесса выпадет только один физический сервер, то в остальном кластер останется в рабочем состоянии, за счёт чего пользователь и продолжит игру.

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


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

Технически возможно «пускать» пользователей и на другие периферии, когда аккаунт завис, но тогда двухчасовой прогресс на «зависшей» периферии будет потерян, так как аккаунт каждые два часа должен сохраняться в базу. Так что в таком случае лучше подождать, чем лишиться Медали героев Расейняя, которую только что получил.

Для обеспечения надёжной и бесперебойной работы сетевого и серверного оборудования широко применятся резервирование и дублирование. Например, продублированные жёсткие диски становятся логически одним: если выйдет из строя один диск из двух — данные останутся доступны серверу, и всё будет работать. Каждый сервер имеет по четыре сетевые карточки, объединённые в пары: одна — для общения между серверами внутри кластера, одна — для общения с игроками. Серверы в новых дата-центрах оснащены двумя блоками питания, подключёнными к разным вводам питания в дата-центр, которые, согласно требованиям, подводятся с разных сторон здания и от разных поставщиков энергии (где это возможно). Каналы для подключения серверов к интернету берутся от независимых поставщиков и должны подводиться к дата-центру по независимым физическим путям. Ещё два-три года назад не заметить технический сбой было нельзя, но сейчас может случиться, что произошедшую поломку вообще не заметит ни один из игроков.
Вернуться назад
Уважаемый посетитель, Вы зашли на сайт как неавторизованный пользователь.
Если вы хотите видеть меньше рекламы и иметь возможность голосовать за понравившиеся посты, то мы рекомендуем Вам зайти под своим аккаунтом на сайте или через Wargaming ID ниже:

Недавно добавлено:

Добавление нового комментария


Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос:
Напишите последнее слово из слогана сайта «С нами будет весело!»
Опубликовано 19737, на премодерации 2
 Добавить пост