Автоматический перезапуск сервера Minecraft с модом ForgeAutoShutdown
Каждый администратор сервера Minecraft рано или поздно сталкивается с необходимостью регулярно перезагружать игровой мир. Особенно остро эта проблема стоит на модифицированных сборках вроде FTB, где утечки памяти и накопление ошибок могут за несколько часов превратить стабильный сервер в источник лагов. Ручной перезапуск по расписанию требует постоянного внимания, а сложные скрипты-обёртки не всегда дружат с консолью и панелями управления. Именно для таких случаев был создан небольшой, но крайне полезный серверный мод — ForgeAutoShutdown.
Что такое ForgeAutoShutdown и зачем он нужен
Изначально разработанный для внутренних нужд одного из FTB-серверов, этот мод решает единственную задачу — корректно завершает работу сервера в заданное время. Звучит просто, но именно такая простота делает его незаменимым инструментом. Вам больше не нужно осваивать rcon-команды или настраивать громоздкие панели управления: мод сам предупредит игроков и аккуратно выключит сервер. Дальнейший запуск можно возложить на обычный bat-файл в Windows, shell-скрипт в Linux или вообще не поднимать сервер автоматически, если это разовый плановый простой.
С недавних пор поддержку мода для версий Minecraft 1.10.2 и выше взял на себя разработчик под ником abused_master. Он портировал функционал на актуальные ветки Forge и продолжает исправлять ошибки. Исходный код открыт и распространяется по лицензии MIT, что позволяет свободно включать мод в любые модпаки, использовать в коммерческих проектах и даже модифицировать под собственные нужды без каких-либо уведомлений.
Ключевые возможности мода
Несмотря на скромное название, ForgeAutoShutdown предлагает администраторам несколько гибких сценариев автоматизации:
- Планирование выключения по часам и минутам. Вы задаёте точное время в пределах 24 часов с момента запуска сервера — например, ежедневный рестарт в 04:00 или обеденный перезапуск в 13:00.
- Заблаговременные предупреждения. За пять минут до отключения мод начинает оповещать всех игроков каждую минуту. Тексты предупреждений и финального kick-сообщения полностью настраиваются в конфигурационном файле.
- Пользовательское голосование. Игроки могут инициировать голосование за ручной перезапуск без вмешательства администратора. Удобно, если на сервере возникли критические неполадки, а владелец офлайн.
- Watchdog для зависшего сервера. Мод отслеживает TPS (тики в секунду) и способен принудительно завершить процесс, если сервер «завис» или производительность упала ниже допустимого порога на слишком долгое время. Эта функция спасает от ситуаций, когда мир формально работает, но играть невозможно.
Все эти механизмы работают на стороне сервера и не требуют установки на клиент. Достаточно поместить jar-файл в папку mods серверной сборки Forge. Кстати, если вы тестируете сервер локально или собираете кастомный клиент для подключения к нему, удобно использовать лаунчер foxygame.net — гибкий и современный инструмент, позволяющий устанавливать моды прямо из меню и быстро переключаться между версиями. Это особенно выручает, когда нужно проверить совместимость серверных и клиентских модификаций перед заливкой на хостинг.
Как работает планировщик и watchdog
Принцип работы предельно прозрачен. В конфиге вы указываете час и минуту желаемого отключения. Мод отсчитывает время с момента старта JVM и, когда наступает заданный момент, выполняет последовательность: рассылает предупреждения, ждёт последнюю минуту и вызывает штатную команду остановки сервера. Никаких грубых обрывов процесса — все данные мира корректно сохраняются.
Сторожевой механизм (watchdog) чуть сложнее. Он непрерывно опрашивает средний TPS за определённый интервал. Если значение падает ниже критической отметки (например, 10 тиков в секунду) и держится там дольше разрешённого времени, мод инициирует аварийное выключение. Это предотвращает бесконечные зависания, когда серверный поток занят бесконечным циклом из-за бага в каком-нибудь моде. Пороговые значения и длительность ожидания настраиваются, поэтому вы можете адаптировать watchdog под особенности своей сборки.
Поддерживаемые версии и совместимость
Изначально мод создавался для Minecraft 1.7.10, но сейчас активно поддерживаются версии Forge для 1.8, 1.10.2, 1.11.2 и 1.12.2. Благодаря открытой лицензии сообщество может портировать его и на более новые версии игры. Разработчик abused_master сосредоточился на ветке 1.10.2+, поэтому если ваш сервер работает на одной из этих версий, вы получите самые свежие исправления. Мод не конфликтует с другими серверными утилитами, так как не затрагивает игровые механики и не добавляет новых блоков или предметов.
Установка и настройка за пару минут
Установка элементарна: скачайте jar-файл из официального репозитория GitHub (ссылки доступны в описании проекта) и скопируйте его в папку mods вашего сервера. После первого запуска в папке config появится файл forgeautoshutdown.cfg, где можно задать время отключения, сообщения и параметры watchdog. Все настройки снабжены комментариями на английском языке, поэтому разобраться сможет даже начинающий администратор.
Если вы планируете автоматически поднимать сервер после выключения, подготовьте скрипт. Для Windows это может быть простой bat-файл с циклом:
java -Xmx4G -jar forge-1.12.2-14.23.5.2854.jar nogui
timeout /t 10
Для Linux подойдёт bash-скрипт, запущенный в screen или systemd-сервисе. Главное — мод сам завершает процесс с кодом 0, и внешний монитор может сразу же перезапустить сервер.
Лицензия и использование в модпаках
ForgeAutoShutdown распространяется под лицензией MIT. Это означает, что вы можете без ограничений включать его в свои сборки модов, выкладывать в публичных модпаках и даже использовать на коммерческих серверах. Никаких дополнительных разрешений не требуется. Авторы лишь просят сообщать о найденных ошибках и по возможности предлагать улучшения через pull-реквесты на GitHub — так мод становится только надёжнее.
Заключение
ForgeAutoShutdown закрывает болезненную потребность администраторов модифицированных серверов в простом и надёжном инструменте планирования перезагрузок. Он не перегружен функциями, легко настраивается и работает незаметно до того самого момента, когда серверу действительно пора отдохнуть. Если вы устали просыпаться в четыре утра ради ручного рестарта или терять игроков из-за внезапных лагов, этот мод определённо стоит добавить в вашу серверную сборку. А с удобным лаунчером вроде foxygame.net вы сможете быстро собрать и протестировать весь комплект модификаций перед запуском на продакшн-сервере.