Как обновить плагины без ошибок
1. Подготовка и вход в панель proxify.cloud
Откройте панель управления proxify.cloud и выберите нужный выделенный сервер (Dedicated Server) с установленной Ubuntu.
Перейдите во вкладку Console (консоль Proxmox) или подключитесь по SSH с вашего компьютера:
ssh root@<IP-адрес_сервера>Если используете пользователя, отличного от root (например,
minecraft), подключайтесь от его имени — так безопаснее.Убедитесь, что вы находитесь в домашней директории пользователя сервера:
cd /home/minecraft # или cd /opt/minecraftПуть зависит от того, как вы настраивали сервер при 최초 установке. Стандартная практика на proxify.cloud — отдельный пользователь
minecraftи директория/home/minecraft/server.
2. Создание полного бэкапа перед обновлением
Никогда не обновляйте плагины на рабочем сервере без отката.
Остановите сервер корректно (не убивайте процесс
kill -9):# Если используете systemd (рекомендуется на Ubuntu) sudo systemctl stop minecraft # Если запускаете через screen/tmux вручную screen -S mc -X stuff "stop^M" # Ждите 10-15 секунд до полной остановкиСоздайте архив всего игрового каталога (включая
plugins,world,config):DATE=$(date +%F_%H-%M) tar -czf "backup_full_${DATE}.tar.gz" /home/minecraft/serverНа выделенных серверах proxify.cloud дисковое пространство обычно не ограничено жестко, но проверьте
df -hперед архивацией.Дополнительно забекапьте только папку
pluginsдля быстрого отката отдельных плагинов:tar -czf "backup_plugins_${DATE}.tar.gz" /home/minecraft/server/plugins
3. Аудит текущих плагинов и проверка совместимости
Получите список установленных плагинов с версиями:
ls -la /home/minecraft/server/plugins/ | grep "\.jar$"Проверьте версию ядра сервера (Paper/Spigot/Purpur/Folia):
grep "version" /home/minecraft/server/paper-*.jar 2>/dev/null | head -1 # Или проще — посмотрите название файла ядра: ls /home/minecraft/server/*.jarДля каждого плагина, который планируете обновить:
- Зайдите на Modrinth, Hangar или SpigotMC.
- Сравните версию API ядра (например,
1.20.4-R0.1-SNAPSHOT) с требованиями плагина. - Критично: Плагины для Folia (региональный шардинг) не совместимы с Paper/Spigot без адаптации. На proxify.cloud часто используют Paper — качайте сборки под Paper.
4. Скачивание новых версий плагинов
Не заменяйте файлы прямо в папке plugins работающего сервера. Используйте временную директорию.
Создайте папку для скачивания:
mkdir -p /home/minecraft/updates_${DATE} cd /home/minecraft/updates_${DATE}Скачайте
.jarфайлы черезwgetилиcurl(пример для LuckPerms, ViaVersion, WorldEdit):# LuckPerms (всегда качайте версию для вашего ядра: Paper/Spigot) wget "https://ci.lucko.me/job/LuckPerms/lastSuccessfulBuild/artifact/bukkit/loader/build/libs/LuckPerms-Bukkit-5.4.x.jar" -O LuckPerms.jar # ViaVersion (Modrinth API пример) wget "https://api.modrinth.com/v2/project/KQqX7O8g/version/latest?loaders=[\"paper\"]&game_versions=[\"1.20.4\"]" -O viaversion.json # Парсим URL из JSON (требует jq: apt install jq) VIA_URL=$(jq -r '.files[0].url' viaversion.json) wget "$VIA_URL" -O ViaVersion.jar # WorldEdit wget "https://dev.enginehub.org/job/WorldEdit/lastSuccessfulBuild/artifact/worldedit-bukkit/build/libs/worldedit-bukkit-7.3.x.jar" -O WorldEdit.jarПроверьте целостность файлов (размер > 100Кб, не HTML-страница ошибки):
file *.jar # Должно выводить: Java archive data (JAR)
5. Применение обновлений (Hot-swap vs Перезапуск)
Вариант А: Полный перезапуск (Рекомендуемый, гарантирует чистоту конфигов)
Удалите старые
.jarфайлы из папки плагинов (конфиги в подпапкахplugins/PluginName/не трогайте):rm /home/minecraft/server/plugins/LuckPerms*.jar rm /home/minecraft/server/plugins/ViaVersion*.jar rm /home/minecraft/server/plugins/WorldEdit*.jarПереместите новые файлы:
mv /home/minecraft/updates_${DATE}/*.jar /home/minecraft/server/plugins/Исправьте права доступа (важно, если качали от root):
chown -R minecraft:minecraft /home/minecraft/server/plugins/ chmod 644 /home/minecraft/server/plugins/*.jarЗапустите сервер:
sudo systemctl start minecraft # Или через screen screen -S mc -dm bash -c 'cd /home/minecraft/server && java -Xms4G -Xmx4G -jar paper-1.20.4.jar nogui'
Вариант Б: Горячая перезагрузка (/plugman load или /plugman reload) — ТОЛЬКО для минорных фиксов
Используйте только если плагин официально поддерживает релоад без утечек памяти (например, LuckPerms, PlaceholderAPI). Для WorldEdit, ProtocolLib, CoreProtect — запрещено.
Установите PlugManX (современный форк для Paper/Folia), если нет:
wget "https://github.com/PlugManX/PlugManX/releases/latest/download/PlugManX.jar" -O /home/minecraft/server/plugins/PlugManX.jar sudo systemctl restart minecraftВ консоли сервера (через панель proxify.cloud -> Console или
screen -r mc) выполните по очереди:/plugman unload LuckPerms # Удалите старый jar вручную через SFTP или консоль: rm /home/minecraft/server/plugins/LuckPerms-*.jar # Загрузите новый jar в plugins (через SFTP/WinSCP) /plugman load LuckPermsПроверяйте логи на ошибки
[ERROR] Could not load...после каждой команды.
6. Миграция конфигураций (Breaking Changes)
Обновления мажорных версий (v4 -> v5, 7.x -> 8.x) часто меняют формат конфигов.
- После первого запуска с новым плагином сразу остановите сервер (
stop). - Сравните старый и новый конфиг. Новый конфиг генерируется в
plugins/PluginName/config.yml(илиconfig.json).# Пример для LuckPerms (использует H2/SQL, конфиг минимален, но все равно проверьте) diff -u /home/minecraft/backup_plugins_${DATE}/LuckPerms/config.yml /home/minecraft/server/plugins/LuckPerms/config.yml - Если плагин использует новую структуру (например, WorldEdit 7 -> 8, или EssentialsX ребрендинг):
- Не копируйте старый конфиг поверх нового.
- Перенесите вручную ваши кастомные настройки (permissions, messages, limits) в новый файл, используя документацию плагина.
- Частый кейс:
messages.ymlвынесен отдельно — обновите его отдельно.
7. Проверка работоспособности после запуска
Запустите сервер и дождитесь строки
Done (X.Xs)! For help, type "help".Зайдите на сервер (или попросите тестера) и проверьте ключевые функции:
- Permissions:
/lp user <nick> info(LuckPerms). - WorldEdit:
//wand,//set stone. - ViaVersion: заход с клиента другой версии.
- Economy/Chat: баланс, префиксы в чате.
- Permissions:
Проверьте консоль на наличие
[ERROR],[WARN],Stacktrace:# Если используете systemd/journald journalctl -u minecraft -f --since "5 minutes ago" # Если логи в файле tail -n 100 /home/minecraft/server/logs/latest.log | grep -E "ERROR|WARN|Exception"Выполните команду
/timings on-> подождите 2-3 минуты ->/timings paste. Проверьте отчет на аномальную нагрузку от обновленных плагинов.
8. Очистка и фиксация состояния
Удалите временную папку со скачанными файлами:
rm -rf /home/minecraft/updates_${DATE}Удалите старые бэкапы старше 7 дней (чтобы не забить диск proxify.cloud):
find /home/minecraft -name "backup_*.tar.gz" -mtime +7 -delete(Опционально) Зафиксируйте версии в файле манифеста для воспроизводимости:
ls -1 /home/minecraft/server/plugins/*.jar > /home/minecraft/server/plugins_manifest_${DATE}.txt
Возможные проблемы и решения
1. java.lang.UnsupportedClassVersionError при запуске
Причина: Плагин скомпилирован под Java 21, а на сервере стоит Java 17 (или наоборот). Paper 1.20.4+ требует Java 21. Решение:
# Проверьте версию
java -version
# Установите Java 21 (Ubuntu 22.04/24.04)
sudo apt update && sudo apt install openjdk-21-jre-headless
# Обновите альтернативы
sudo update-alternatives --config java
# Укажите путь к Java 21 в systemd юните или скрипте запуска
2. Плагин не загружается: Could not load 'plugins/Plugin.jar' in folder 'plugins'
Причина: Несовместимость API (Paper vs Spigot vs Folia), отсутствие зависимостей (Libs), поврежденный скачанный файл. Решение:
- Проверьте `file
Комментарии (0)