
Ибернация Сервера Minecraft: Экономьте CPU, Когда Никто Не И
"Автоматический запуск и остановка Minecraft-сервера при подключении/отключении игроков"
gekware/minecraft-server-hibernation, github.com
Работа Minecraft-сервера 24/7 невыгодна. Даже для небольших групп или модифицированных сообществ, сервер потребляет CPU и электричество, когда никто не онлайн. Minecraft Server Hibernation (MSH) решает эту проблему, автоматически запуская сервер при подключении игрока и останавливая при отключении последнего. Простая, но эффективная идея, экономящая реальные деньги и ресурсы.
Что делает этот проект
Minecraft Server Hibernation - легковесный прокси на Go, расположенный между игроками и вашим сервером. При попытке подключения, MSH обнаруживает игрока, запускает сервер в фоновом режиме и перенаправляет подключение. После отключения всех игроков и истечения настроенного таймаута, MSH останавливает сервер и переходит в спящий режим.
Нет необходимости менять способ подключения. Игроки подключаются как обычно, но теперь сервер автоматически запускается при их появлении.
Проект отслеживает общее время, за которое серверы были в спящем режиме: более тысячи лет накопленного времени CPU с 2019 года. Это не пустая статистика.
Почему использовать это
Большинство владельцев серверов попадают в несколько категорий: случайные группы друзей, играющие периодически, небольшие модифицированные сообщества с 10-20 активными игроками, или те, кто не хочет платить за 24/7 хостинг. Для этих сценариев, оплата за простой сервер - потери денег.
Дополнительная выгода - удобство. Нет необходимости вручную запускать сервер перед игрой или спешно реагировать, когда кто-то хочет сыграть. Игроки подключаются, сервер запускается, и через 15 секунд все готово. Автоматически останавливается после отключения последнего игрока.
А если у вас модифицированный сервер с тяжелым модпаком? Удаление 8 часов простоя в день дает реальную экономию электричества, особенно если сервер размещен на вашем домашнем оборудовании, а не на арендованном.
Настройка
Настройка проста, если поняли принцип работы. Скачайте исполняемый файл MSH для вашей ОС (Linux, Windows, или macOS), создайте файл конфигурации, укажите существующий Minecraft-сервер и запустите.

Сначала скачайте последний релиз с GitHub:
cd /home/user/minecraft-server-hibernation
wget https://github.com/gekware/minecraft-server-hibernation/releases/download/v2.5.1/msh-v2.5.1-fd9f22d-linux-amd64.bin
chmod +x msh-v2.5.1-fd9f22d-linux-amd64.binТакже скачайте образец файла конфигурации с страницы релизов и отредактируйте его. Важные настройки:
- Folder - путь к директории сервера (где находится server.jar)
- FileName - фактическое имя файла сервера jar
- StartServerParam - аргументы запуска (например, "-Xmx4G -Xms4G -jar server.jar nogui")
- StopServer - способ грациозного завершения сервера (например, команды "save-all" и "stop")
- TimeBeforeStoppingEmptyServer - время ожидания после отключения последнего игрока перед остановкой сервера (в секундах)
Далее настройте перенаправление портов на вашем роутере: перенаправьте порт 25555 (или тот, который настроен в конфиге) на компьютер с сервером. Затем откройте этот порт в брандмауэре сервера.
Если вы используете Linux с UFW:
sudo ufw allow 25555/tcpПоместите исполняемый файл в папку сервера, запустите его, и все готово.
./msh-v2.5.1-fd9f22d-linux-amd64.binИгроки подключаются через фактический порт сервера (по умолчанию 25555), а MSH управляет всем на фоне.
Ключевые функции
Инструмент имеет несколько полезных функций помимо простого "запуск/остановка."
Пользовательская иконка сервера - Вы можете добавить иконку "замороженного" сервера (файл `server-icon-frozen`) в папку сервера, и MSH отобразит ее игрокам во время запуска сервера. Смотрится чище, чем стандартное офлайн-состояние.
Поддержка Белого Списка - Вы можете настроить белый список прямо в MSH или использовать существующий список сервера. Контролируйте, кто может активировать сервер.
Встроена грациозная остановка. MSH не просто завершает процесс, а посылает правильные команды остановки и ожидает, пока сервер не сохранит данные и не выключится чисто, предотвращая повреждение мира.
Настроиваемый таймаут простоя - Хотите, чтобы сервер оставался активным 5 минут после отключения последнего игрока или 30 минут? Вы контролируете это. Дает игрокам время вернуться, не заставляя сервер выключаться сразу после отключения.
Кроссплатформенность - Работает на Linux, Windows и macOS, поддерживает как ванильные, так и сильно модифицированные серверы. Проект существует с 2019 года и активно обновляется (последний релиз - v2.5.1 с улучшениями обработки крашей и обновленной компиляцией Go).
Возможные проблемы и важные моменты
Сначала: файл конфигурации не генерируется автоматически. Вам нужно скачать его со страницы релизов или создать вручную. Нет магии здесь.

Второе: в файле server.properties должна быть настройка: `server-ip=0.0.0.0`. Если она задана для конкретного IP, MSH не сможет нормально взаимодействовать с сервером, и вы получите ошибки подключения. Легко пропустить, но раздражает при отладке.
Холодный запуск занимает несколько секунд. При подключении игрока есть задержка, пока сервер запускается и загружает чанки. Для большинства групп это приемлемо ("сервер запускается, подождите секунду"). Для спидраннеров или очень конкурентных игр это может быть важно.
Убедитесь, что правильно настроили перенаправление портов. MSH слушает указанный порт, но должен быть доступен извне вашей сети. Если друзья не могут подключиться, 9 из 10 это проблема с перенаправлением портов, а не с MSH.
Еще один момент: если перезагрузите хост-машину, убедитесь, что MSH запускается автоматически при загрузке. Используйте сервис systemd в Linux или задачу планировщика в Windows, чтобы не запускать его вручную каждый раз.
Альтернативы
Существуют другие инструменты в этом сегменте. Docker-контейнеры с скриптами могут делать подобное, но они сложнее в настройке. Некоторые хостинги предлагают встроенные функции автозапуска, но вы привязаны к их инфраструктуре и обычно платите дополнительно.
Еще один вариант: настроить задачу cron, которая проверяет, запущен ли сервер, и запускает/останавливает его в зависимости от количества игроков. Это работает, но вам придется поддерживать shell-скрипты вместо использования специализированного инструмента.
Преимущество MSH в том, что это один исполняемый файл, отполированный за 6+ лет. Он не усложняет проблему и работает офлайн (без зависимостей от облачных сервисов).
Если вы строите сервер для себя или небольшой группы и заботитесь об эффективности, то 20 минут настройки стоят этого.
Ищете больше инструментов для улучшения сервера? Посетите Список Minecraft-Серверов для вдохновения или используйте полезные утилиты, такие как Калькулятор Нитер-Порталов и Генератор Текста Minecraft для вашей игры.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


