top of page

Как работают наши хостируемые миры

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

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


Сердце всего — WorldHost: небольшой сервис на нашем сервере, который управляет мирами. Каждый мир работает в собственном Docker-контейнере — полностью изолированно, со своим файлом сохранения, своим лимитом памяти и своим ограничением процессора. Когда никто не играет, ничего не работает: мир спит, контейнер остановлен, ресурсов он не тратит.


Когда кто-то нажимает «Играть» в портале, происходит вот что: WorldHost сначала проверяет, можно ли тебе вообще заходить — для миров с паролем пароль проверяется до того, как мир будит, так что никто не сможет поднять чужой мир просто попытками зайти. И только потом запускается контейнер, мир загружает свой файл сохранения, а ты получаешь короткоживущий токен входа ровно для этого мира. Тем временем портал показывает тебе статус «Мир просыпается…».


Когда все игроки покидают мир, через некоторое время он снова засыпает — сохранение записывается, контейнер останавливается. А если ты хочешь продолжить играть в свой мир локально, можешь скачать сохранение и позже снова загрузить его: сохранение хостируемого мира — то же самое, что и у локальной игры.


Всё это намеренно сделано небольшим: никакого Kubernetes, никакой облачной магии — один сервер, Docker и сервис, который запускает и останавливает контейнеры. Для семейного проекта этого удивительно много. Насколько именно и сколько стоит такой сервер — это история для статьи о нашем VPS.

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

Смотреть все

Комментарии


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