Minecraft Руководство

Как перенести плагины Paper и их данные на другой сервер: SQLite, права доступа и базы данных

Перенос плагинов и данных PaperMC на другой сервер: сброс журналов SQLite WAL, архивация каталога plugins/, исправление прав доступа minecraft:minecraft и проверка зависимостей.

Как перенести плагины Paper и их данные на другой сервер: SQLite, права доступа и базы данных

Миграция сервера Minecraft на более производительный VPS, разделение монолитного сервера на связку прокси-серверов Velocity/BungeeCord или плановое обновление хостинга требуют переноса не только карты мира, но и всей инфраструктуры плагинов: прав доступа LuckPerms, баланса игроков EssentialsX, регионов WorldGuard и записей CoreProtect.

В этом практическом руководстве мы разберём структуру директории plugins/, корректную остановку сервера для сброса журналов SQLite WAL, перенос данных на новый сервер и проверку зависимостей при старте.

Структура каталога plugins: бинарники, конфигурации и хранилища#

Каталог plugins/ на сервере PaperMC содержит компоненты трёх типов:

  1. Исполняемые файлы (.jar): сам программный код плагина.
  2. Файлы конфигураций (.yml, .json): настройки поведения и языковые пакеты (messages.yml).
  3. Локальные базы данных: локальные таблицы SQLite (.db, .sqlite), файлы инвентарей игроков (userdata/<UUID>.yml) и плоские файлы данных.

Ошибочно считать, что достаточно скопировать только файлы .jar. Вся ценность сервера заключена в одноимённых папках плагинов, хранящих настроенные группы прав, статистику экономики и защищённые зоны.

Подготовка к переносу: остановка службы и сброс логов WAL#

Плагины вроде LuckPerms или CoreProtect используют базу данных SQLite в режиме Write-Ahead Logging (WAL). В процессе работы сервера данные сначала записываются во временные файлы .db-wal и .db-shm. Если скопировать каталог plugins/ на работающем сервере, база данных скопируется в повреждённом или неполном состоянии.

Остановите сервер для полной фиксации данных на диске:

bash
sudo systemctl stop minecraft && sudo systemctl status minecraft

Убедитесь, что процесс java полностью завершился, после чего создайте плотный архив каталога плагинов:

bash
cd /opt/minecraft/server
tar -czvf /tmp/plugins_migration.tar.gz plugins/
ls -lh /tmp/plugins_migration.tar.gz

Перенос файлов и исправление прав доступа на целевом сервере#

Передайте архив на новый сервер с помощью утилиты scp:

bash
scp /tmp/plugins_migration.tar.gz user@new-server-ip:/tmp/

На целевом сервере распакуйте архив в корневую папку Minecraft и строго восстановите права владения:

bash
cd /opt/minecraft/server
tar -xzvf /tmp/plugins_migration.tar.gz
sudo chown -R minecraft:minecraft /opt/minecraft/server/plugins
sudo chmod -R 755 /opt/minecraft/server/plugins

Если файлы останутся принадлежать пользователю root, при запуске сервера плагины не смогут создать новые файлы данных и аварийно завершат работу с ошибкой java.io.IOException: Permission denied.

Синхронизация внешних баз данных и валидация запуска#

Если ваши плагины подключены к внешней СУБД (MySQL, MariaDB или PostgreSQL), проверьте и обновите реквизиты подключения (host, database, user, password) в конфигурационных файлах plugins/<PluginName>/config.yml:

bash
grep -rn "host:" /opt/minecraft/server/plugins/*/config.yml 2>/dev/null

Запустите целевой сервер PaperMC:

bash
sudo systemctl start minecraft && sudo journalctl -u minecraft -f --no-tail

Проверьте лог запуска сервера logs/latest.log на наличие критических ошибок:

bash
grep -E "ERROR|Enabling LuckPerms|Enabling Vault" /opt/minecraft/server/logs/latest.log

Успешная загрузка Vault и LuckPerms без предупреждений о повреждении SQLite таблиц подтверждает, что вся экономика, группы и права доступа перенесены в полном объёме.

Если вы хотите развернуть сервер PaperMC с мгновенным переносом плагинов через SFTP, автоматическим созданием резервных копий баз данных и оптимизированными ядрами, профессиональный хостинг серверов Minecraft предоставляет все инструменты для быстрой и безопасной миграции.

Источники#