
MCscripts: Автоматизация Управления Серверами Minecraft
TapeWerm/MCscripts
Юнити и Bedrock Dedicated Server: systemd-единицы и скрипты для резервного копирования, автоматических обновлений и отправки логов в чат-боты
Просмотреть на GitHub ↗Управление сервером Minecraft означает борьбу с утомительными задачами по обслуживанию: резервное копирование мира перед его потерей из-за повреждения, обновление серверного программного обеспечения без краха во время игры и информирование сообщества через уведомления в чат. MCscripts решает все это, автоматизируя управление сервером через systemd, менеджер процессов Linux. Если вы ручными методами обслуживали свой сервер Minecraft, этот проект может сэкономить вам часы.
Что делает MCscripts
В основе своей, MCscripts - коллекция shell-скриптов и файлов systemd, превращающих управление сервером в фоновую автоматизацию. Работает с серверами обоих изданий - Java Edition и Bedrock Edition - на Ubuntu, обрабатывая операционную нагрузку, которую обычно игнорируют администраторы серверов, пока не произойдёт сбой.
Проект предоставляет три основные возможности:
- Планируемые резервные копии, автоматически запускаемые и отправляющие снимки в внешнее хранилище
- Проверка обновлений и автоматическое патчирование для серверов Bedrock (для Java Edition используется внешнее управление jar-файлами)
- Интеграция вебхука для отправки серверных логов и событий напрямую в Discord, Slack или другие платформы чата
Всё работает через systemd, что означает, вы получаете правильное логирование, управление сервисами и возможность запускать команды типа sudo systemctl start mcbe-backup@MCBE вместо поиска shell-скриптов в различных директориях.
Зачем вам это нужно
Честно говоря: MCscripts предназначен для людей, управляющих серверами, которые важны для них. Если вы просто играете на локальной LAN-сетевой карте, пропустите это. Но если вы хостите сообщественный сервер, управляете им для друзей, или хотите уверенность, что ваш мир не исчезнет, потому что вы забыли сделать резервную копию в прошлом месяце, автоматизация всегда лучше ручного опыта.
Рассмотрим типичный ночмар админа сервера. Вы патчите свой сервер Bedrock, и что-то идёт не так. Старый файл мира повреждён, и вы видите пустые взгляды игроков. С автоматизированной системой резервного копирования MCscripts у вас есть снимки, хранящиеся на внешних накопителях, готовые к восстановлению за минуты. Одна команда восстанавливает последнюю резервную копию:
sudo systemctl stop mcbe@MCBE
sudo /opt/MCscripts/bin/mcbe_restore.py ~mc/bedrock/MCBE BACKUP
sudo systemctl start mcbe@MCBEИ всё. Ваш мир восстановлен.
Функция логирования чат-бота также удивительно полезна. Вместо SSH-подключения к серверу для проверки логов, вы получаете реальные уведомления в Discord. Присоединения игроков, смерти, сообщения чата - всё это поступает в専ий канал. Это информирует ваше сообщество без превращения логирования в бумажную работу.
Установка и Настройка
Запуск MCscripts включает загрузку проекта и запуск установщика с правами root. Процесс прост, но есть несколько моментов, которые нужно знать заранее.
Сначала вам нужен Ubuntu. Проект явно построен для систем Ubuntu (включая WSL, хотя WSL имеет некоторые ограничения с systemctl). Если вы на другой дистрибутиве Linux, вам, возможно, придётся адаптировать установочный скрипт.
Базовый процесс установки выглядит так:
curl -L https://github.com/TapeWerm/MCscripts/archive/refs/heads/master.zip -o /tmp/master.zip
unzip /tmp/master.zip -d /tmp
sudo /tmp/MCscripts-master/src/install.shУстановщик настраивает юниты systemd, создаёт пользователя mc для запуска процесса сервера и организует всё в /opt/MCscripts. Если вы хотите, чтобы резервные копии хранились на внешнем накопителе (что рекомендуется), настройка - это одна символическая ссылка:
sudo ln -snf /path/to/external/drive /opt/MCscripts/backup_dirДля Java Edition вам также понадобится JRE. На системах Ubuntu Java не установлен по умолчанию, поэтому вы установите его так:
sudo apt update && sudo apt install openjdk-25-jre-headlessЗатем инициализируйте сервер:
sudo systemd-run -PGqp User=mc - /opt/MCscripts/bin/mc_getjar.pyЭто скачает последний серверный jar для Java Edition и настроит ваш мир. Просто.
Ключевые Функции в Действии
Автоматические Резервные Копии - звёздная функция. Они запускаются по расписанию (настраиваемому через переопределения systemd) и хранят сжатые снимки вашего мира. MCscripts умело управляет хранилищем - не сохраняет бесконечное количество копий, а для Bedrock сохраняет именно миры, пакеты и файлы конфигурации, удаляя временный мусор, который раздувает резервные копии.
Выполнение Команд Сервера из командной строки лучше, чем вход в консоль каждый раз. Нужно добавить кого-то в белый список или выполнить save-all? Используйте скрипт mc_cmd.py:
sudo /opt/MCscripts/bin/mc_cmd.py SERVICE COMMAND...Хотите добавить нескольких игроков сразу? Документация MCscripts даже показывает, как циклом выполнить команды:
allowlist=$(for x in steve alex herobrine; do echo "allowlist add $x"; done)
sudo /opt/MCscripts/bin/mc_cmd.py SERVICE "$allowlist"Просмотр Вывода Сервера через journalctl чище, чем сырые логи. Проект включает скрипт sed, который окрашивает вывод для лучшей читаемости:
journalctl -u SERVICE | /opt/MCscripts/bin/mc_color.sed | less -r +GЭто тот маленький штрих, который делает администрирование сервера менее мучительным.
Интеграция Чат-бота опциональна, но действительно крутая. Вы можете настроить URL вебхука для Discord или Slack, и MCscripts передаёт серверные события и логи напрямую на вашу платформу чата. Теперь ваше сообщество остаётся в курсе без необходимости доступа SSH.
Чего Не Ожидает Большинство
MCscripts предполагает, что вы комфортно чувствуете себя с Linux и systemd.
Если вы используете Windows Subsystem for Linux, часть функциональности не работает. WSL не поддерживает systemctl poweroff, и несколько других функций systemd ведут себя непредсказуемо. README подчёркивает это заранее, поэтому внимательно прочитайте перед установкой на WSL. Вы всё равно можете запускать Python-скрипты напрямую без активации юнитов systemd, но потеряете преимущества автоматизации.
У Bedrock Edition есть особенность: скрипт обновления удаляет незнакомые файлы. MCscripts сохраняет только миры, пакеты, JSON-файлы и файлы свойств, удаляя временный мусор. Больно, если вы не знаете, что это произойдёт.
Ещё один момент: вывод консоли обрабатывается через journalctl, а не традиционный файл лога. Если вы привыкли использовать tail /var/log/minecraft.log, вам придётся изменить привычки. Кривая обучения мала, но это сдвиг.
Кроме того, если вы управляете несколькими серверами Bedrock, каждый из них требует своего экземпляра systemd. Номенклатура использует шаблонизированные юниты типа mcbe@MCBE, где MCBE - имя вашего сервера. Хорошая структура, но это означает, что ваши команды настройки должны указывать, какой сервер вы управляете.
Нужно ли Это Вам Больше, чем Альтернативы?
Если вы хотите лёгкое, нетривиальное решение для автоматизации серверов Ubuntu, MCscripts отлично подходит. Проект активно поддерживается, имеет 162 звёзд на GitHub, и кодовая база - читаемые shell-скрипты - не какая-то загадочная чёрная коробка.
Docker может быть альтернативой, если вы предпочитаете контейнеризацию серверов Minecraft. Сам проект MCscripts даже указывает, что его скрипт резервного копирования работает с Docker, поэтому вы не исключены из этого подхода. Docker даёт больше портативности и изоляции, но это излишки для большинства небольших сообщественных серверов.
Некоторые используют Pterodactyl Panel, полноценный веб-интерфейс панели управления игровыми серверами. Это намного более тяжёлое решение, добавляющее сложность, которой вам, возможно, не нужно. Pterodactyl великолепен, если вы хостите несколько типов игровых серверов, но для чистой автоматизации Minecraft на VPS, MCscripts более лёгкий.
Ваш хостинг-провайдер может предлагать встроенные инструменты для резервного копирования и обновлений. Проверьте, что они предоставляют, прежде чем изобретать велосипед. Но если вы управляете自己的 аппаратурой или имеете голый VPS, MCscripts идеально заполняет эту пробель.
Начало Работы и Дальнейшие Шаги
Лучшая часть MCscripts в том, что он не мешает вам. Как только он установлен и настроен, автоматизация просто работает. Вам не нужно за ним присматривать или задумываться, запускаются ли резервные копии.
Если вы строите сообщество Minecraft, рассмотрите возможность сочетания автоматизации сервера с другими инструментами. Хороший создатель MOTD помогает новым игрокам понять, что такое ваш сервер, когда они видят его в списке серверов. И если вы управляете сообществом, где игроки делятся скинами, ссылка на просмотр скинов Minecraft поддерживает вовлечённость в экосистему, которую вы строите.
Управление сервером не должно чувствоваться как обязанность. MCscripts автоматизирует скучные части, чтобы вы могли сосредоточиться на том, что действительно важно: вашем сообществе и мире, который вы строите вместе.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


