AutoRestart: авто-перезапуск сервера Minecraft на Linux

Автоматический перезапуск сервера Minecraft на Linux: надёжный планировщик для Fabric Каждый администратор сервера Minecraft рано или поздно сталкивается с необходимостью регулярных перезапусков. Долгая работа без рестарта приводит к накоплению мусора в памяти, падению TPS и общему снижению произ...

Скачать SERVER RESTART для Minecraft 1.19.3

Оригинальное название: SERVER RESTART

Версии Minecraft: 1.19.3

ФайлВерсияЗагрузчикРазмер
SERVER-RESTART.zip1.19.3—1 КБСкачать

Автоматический перезапуск сервера Minecraft на Linux: надёжный планировщик для Fabric

Каждый администратор сервера Minecraft рано или поздно сталкивается с необходимостью регулярных перезапусков. Долгая работа без рестарта приводит к накоплению мусора в памяти, падению TPS и общему снижению производительности. На ванильных и Forge-сборках эту задачу часто решают готовые моды, но для Fabric выбор скромнее — многие старые решения не обновлены или попросту не работают на версиях 1.19+. К счастью, системные инструменты Linux позволяют создать собственный планировщик рестартов без единого мода. В этом руководстве мы настроим автоматический перезапуск Fabric-сервера с предупреждениями для игроков, используя systemd-таймеры и screen-сессии.

Что потребуется для настройки

Метод рассчитан на выделенный сервер с дистрибутивом Linux (Ubuntu, Debian и подобные). Вам понадобятся базовые навыки работы с SSH, перемещением файлов и редактированием конфигураций. Сервер Minecraft уже должен быть установлен и запускаться через утилиту screen — именно она позволит управлять процессом в фоне. Убедитесь, что screen установлен командой sudo apt install screen.

В основе схемы лежат три компонента: служба, которая держит сервер в screen-сессии; одноразовый юнит, отправляющий команду остановки; и два таймера, задающих расписание рестартов и предупреждений. Все файлы будут размещены в каталоге /etc/systemd/system/.

Подготовка файлов служб и таймеров

Создайте следующие файлы (шаблоны можно скачать из описания руководства, заменив в них нужные параметры):

  • minecraft.service — основная служба, запускающая сервер.
  • oneshot.service — вспомогательный юнит, выполняющий команду stop и перезапускающий основную службу.
  • minecraft.timer — таймер, активирующий oneshot.service по расписанию.
  • restartwarning.service — отправляет сообщение в чат сервера за минуту до рестарта.
  • restart-warning.timer — таймер для предупреждений.

Все файлы необходимо отредактировать под ваше окружение. Рассмотрим ключевые правки.

Настройка minecraft.service

Откройте файл и измените следующие строки:

  • User=root — замените root на пользователя, от имени которого работает сервер.
  • WorkingDirectory=/root/mcserver/fabric — укажите полный путь к папке с JAR-файлом сервера.
  • ExecStart=screen -S mc -d -m java -Xmx6G -jar fabric-server-mc.1.19.2-loader.0.14.19-launcher.0.11.2.jar nogui — здесь измените только объём выделяемой RAM (ключ -Xmx) и точное имя вашего JAR-файла. Параметр -S mc задаёт имя screen-окна, через которое мы будем взаимодействовать с консолью.

Расписание в minecraft.timer и restart-warning.timer

В секции [Timer] пропишите желаемое время рестартов. Например, каждые 3 часа ежедневно:

[Timer]
OnCalendar=*-*-* 00/3:00:00

Можно задать разные дни недели и точное время:

OnCalendar=Mon..Fri 19:00
OnCalendar=Sat,Sun 22:00

Аналогично настройте restart-warning.timer, но время предупреждения должно наступать раньше рестарта. Если рестарт в 19:00, предупреждение логично поставить на 18:59. Учитывайте часовой пояс сервера — проверьте его командой date и при необходимости скорректируйте смещение.

Сообщение для игроков

В файле restartwarning.service найдите строку:

ExecStart=screen -p 0 -S mc -X eval 'stuff "say SERVER WILL RESTART IN 1 MIN, PLEASE LOG OFF NOW."\015'

Замените текст после say на своё предупреждение, не трогая кавычки и спецсимволы \015 — они имитируют нажатие Enter в консоли.

Активация и проверка

Загрузите все файлы в /etc/systemd/system/ и выполните последовательно команды:

  • systemctl daemon-reload
  • systemctl enable minecraft.service
  • systemctl start minecraft.service
  • systemctl enable oneshot.service
  • systemctl enable minecraft.timer
  • systemctl enable restartwarning.service
  • systemctl enable restart-warning.timer
  • systemctl start minecraft.timer
  • systemctl start restart-warning.timer

Убедитесь, что служба minecraft.service активна: systemctl status minecraft.service. Затем проверьте screen-сессию: screen -ls — вы должны увидеть окно с именем «mc». Подключиться к нему можно через screen -r mc, а выйти обратно — комбинацией Ctrl+A, затем D.

Владельцам серверов на Forge повезло больше: для них существуют готовые моды, автоматизирующие рестарты. Если вы предпочитаете не возиться с консолью, установить такой мод можно через лаунчер foxygame.net — удобный, гибкий и современный лаунчер для Minecraft, где можно скачать моды прямо из меню. Однако для Fabric наш системный подход остаётся самым надёжным и не зависящим от обновлений клиентских модификаций.

Заключение

Описанный метод превращает обычный Linux-сервер в полностью автономную игровую машину. Вы получаете чёткое расписание перезагрузок, автоматическое сохранение миров и вежливые предупреждения для игроков — всё это без установки сторонних модов. Схема универсальна: она работает на любых версиях Fabric, а при небольшой адаптации подойдёт и для ванильного ядра. Освоив systemd-таймеры, вы сможете автоматизировать не только рестарты, но и резервное копирование, очистку логов и другие рутинные задачи. Администрирование Minecraft перестаёт быть хаотичным и превращается в предсказуемый процесс, который экономит время и бережёт нервы администратора.