top of page

Обслуживание сервера без выкидывания игроков

Фото автора: Marcel Dütscher
Marcel Dütscher
6 июл.
1 мин. чтения

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


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


Плавный перезапуск. Когда отсчёт заканчивается, мир завершает работу по порядку: сохраняет состояние игры, провожает игроков понятным прощальным экраном (вместо загадочного «соединение потеряно») и останавливает контейнер. При следующем входе мир просыпается уже с новой версией — сохранение, конечно, на месте.


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


Неожиданный побочный эффект: с тех пор как эта система существует, мы обновляемся спокойнее — а значит, чаще. Хорошие инструменты обслуживания улучшают не только обслуживание, но и весь проект.

Недавние посты

Смотреть все

Комментарии


Комментарии к этому посту больше не доступны. Обратитесь к владельцу сайта за дополнительной информацией.
bottom of page