Sign up PERSONAL AREA INVITE A FRIEND TECHNICAL SUPPORT
14:00 09.04.2020

Все, что вы хотели знать о техработах


Каждую неделю на несколько часов мир замирает, и игроки лихорадочно ищут, чем бы им заняться, пока лаунчер отображает суровое “Идут технические работы”. Что же происходит? Опять коварная уборщица ворвалась в дата-центр и протерла сервер мокрой тряпкой? Кот сисадмина забрался в серверную и перепутал провода? А может… администраторы просто используют это время, чтобы попить чаю или, того хуже, играют в игру сами, пока сервер недоступен для остальных?
 
Не угадали!
 
Зачем нужны техработы?
 
Прежде всего, регулярная остановка сервера обязательно требуется для его стабильной работы. Вспомните, например, собственный компьютер, работающий без перезагрузок несколько недель — со временем на нем накапливаются десятки ненужных процессов, тормозящих его работу и вызывающих различные глюки, и тогда на помощь приходит перезагрузка. С игровым сервером все еще сложнее: он одновременно хранит в памяти информацию о тысячах действий сотен игроков и NPC. Кто-то не подобрал лут, и теперь он лежит на земле, засоряя ячейки памяти и вызывая лаги. Или монстр в погоне за игроком забрел куда-то не туда и застрял в кустах. Работа без перезагрузок может вызвать много различных ошибок. Чтобы их избежать, мы каждую неделю проводим техработы.
 
Что включают в себя техработы
 
“Но перезагрузка — это 5 минут”, — скажете вы. В случае с вашим компьютером это, возможно, так. Для игрового сервера все несколько сложнее. Каждые техработы включают в себя несколько важных этапов:
  1. резервное копирование данных, или бэкап
  2. оптимизация базы данных
  3. перезагрузка сервера
  4. установка обновлений (если есть)
  5. тестирование
Резервное копирование требуется для того, чтобы в случае каких-либо неполадок после технических работ у нас всегда была возможность вернуться к работающей версии, чтобы при этом ваши персонажи и их прогресс не пострадали. В зависимости от объема и структуры игровой базы, может занимать до нескольких часов само по себе, поэтому в некоторых играх мы делаем бэкап, когда серверы еще работают, чтобы сократить время вашего ожидания.
 
Оптимизация базы данных проводится время от времени и включает в себя архивирование неиспользуемых данных, очистку кэша и другие процедуры для ускорения работы игры. Оптимизация также может занимать несколько часов в зависимости от объема базы и мощности оборудования, и проводить ее можно только во время остановки сервера.
 
Перезагрузка сервера — это самая простая процедура, она обычно занимает 10-15 минут и включает базовое техобслуживание оборудования. Но важно помнить, что даже простая перезагрузка нескольких десятков серверов занимает больше времени, чем простая перезагрузка домашнего компьютера.
 
Установка обновлений представляет собой изменение текущей версии игры с помощью патча, который компилируется разработчиком. Здесь время установки также зависит от различных факторов, в первую очередь, размера обновления.
 
Тестирование проводится вне зависимости от того, ставились ли какие-то обновления. Оно необходимо нам для того, чтобы мы могли убедиться, что все системы работают нормально, а игровая составляющая не обзавелась новыми ошибками после технических работ. Тестирование включает в себя проверку по чек-листу и проверку непосредственно внесенных изменений. Разумеется, все устанавливаемые патчи мы предварительно проверяем на тестовом сервере, однако в связи с особенностями установки патчей на игровые серверы, а также с нагрузкой, могут выявляться и какие-то новые ошибки. В случае, если они существенны, мы не открываем доступ к игре до тех пор, пока они не будут исправлены (как правило, установкой еще одного обновления, иногда с откатом предыдущего неудачного патча). Тестирование занимает от 30 минут до часа в зависимости от внесенных изменений. После применения исправлений тестирование полностью повторяется, и так до тех пор, пока все ошибки не будут выявлены.
 
* * *

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

COMMENTS