Как удалить плагин с сервера

Подготовка и доступ к серверу

1. Вход в панель управления proxify.cloud

  1. Откройте браузер и перейдите на https://panel.proxify.cloud.
  2. Авторизуйтесь под своими учетными данными.
  3. В списке услуг найдите выделенный сервер с Ubuntu, на котором развернут Minecraft-сервер.
  4. Нажмите на название сервера — откроется страница управления Proxmox VE для данной ноды.

2. Подключение через консоль Proxmox (NoVNC) или SSH

Вариант А — через веб-консоль Proxmox (NoVNC):

  1. В левом меню Proxmox выберите вашу виртуальную машину или контейнер (CT) с Ubuntu.
  2. Нажмите кнопку ConsoleNoVNC.
  3. Войдите в систему: логин root (или ваш пользователь с sudo), пароль — тот, что задан при создании контейнера/VM.

Вариант Б — через SSH (рекомендуется для скорости):

ssh root@<IP-адрес-вашего-сервера-proxify>
# или, если используете ключ:
ssh -i ~/.ssh/id_rsa root@<IP-адрес-вашего-сервера-proxify>

IP-адрес указан в панели proxify.cloud на вкладке Network выбранной VM/CT.


Остановка Minecraft-сервера перед удалением

3. Определение способа запуска сервера

На выделенных серверах proxify.cloud чаще всего используются:

  • systemd-сервис (например, minecraft.service)
  • screen/tmux сессия
  • Docker-контейнер

Выполните проверку:

systemctl list-units --type=service | grep -i mine
# или
screen -ls
# или
docker ps | grep -i mine

4. Корректная остановка сервера

Если systemd:

systemctl stop minecraft.service
# Ждите 5-10 секунд, проверяйте статус:
systemctl status minecraft.service

Если screen (сессия называется mc):

screen -S mc -X stuff "stop$(printf '\r')"
sleep 10
screen -ls  # убедитесь, что сессия завершилась

Если Docker:

docker stop <container_name_or_id>

Важно: Никогда не удаляйте файлы плагинов, пока Java-процесс сервера работает — это приведет к повреждению plugins/ и потере конфигураций.


Локализация директории плагинов

5. Стандартные пути на Ubuntu в proxify.cloud

Типовые расположения:

Тип установки Путь к папке plugins/
Чистый Spigot/Paper в /opt/minecraft /opt/minecraft/plugins/
Пользователь minecraft в домашней папке /home/minecraft/server/plugins/
Docker volume (named mc_plugins) /var/lib/docker/volumes/mc_plugins/_data/plugins/
Pterodactyl Panel (если стоит поверх) /var/lib/pterodactyl/volumes/<uuid>/plugins/

Уточните точный путь:

find / -type d -name "plugins" 2>/dev/null | grep -E "(minecraft|server|paper|spigot)" | head -5

Пример вывода:

/opt/minecraft/plugins
/home/minecraft/server/plugins

Перейдите в нужную директорию:

cd /opt/minecraft/plugins   # замените на ваш реальный путь

Удаление плагина

6. Просмотр установленных плагинов

ls -la

Вывод примера:

drwxr-xr-x 2 minecraft minecraft 4096 May 10 12:00 .
drwxr-xr-x 5 minecraft minecraft 4096 May 10 11:55 ..
-rw-r--r-- 1 minecraft minecraft 1245184 May 10 12:00 EssentialsX-2.20.1.jar
-rw-r--r-- 1 minecraft minecraft  312456 May 10 12:00 LuckPerms-Bukkit-5.4.110.jar
-rw-r--r-- 1 minecraft minecraft   87432 May 10 12:00 WorldEdit-bukkit-7.3.8.jar
drwxr-xr-x 3 minecraft minecraft  4096 May 10 12:00 EssentialsX
drwxr-xr-x 4 minecraft minecraft  4096 May 10 12:00 LuckPerms
drwxr-xr-x 2 minecraft minecraft  4096 May 10 12:00 WorldEdit

7. Удаление JAR-файла плагина

Допустим, удаляем WorldEdit:

rm -f "WorldEdit-bukkit-7.3.8.jar"

Используйте кавычки, если в имени есть пробелы или спецсимволы.

8. Удаление папки данных плагина (опционально, но рекомендуется)

Папка обычно называется так же, как плагин (без версии):

rm -rf WorldEdit

Предупреждение: Это безвозвратно удалит конфигурации, базы данных (sqlite), схемы и логи плагина. Если планируете переустановить ту же версию — лучше переименуйте папку:

mv WorldEdit WorldEdit_backup_$(date +%F)

9. Проверка зависимостей (важно для LuckPerms, Vault, ProtocolLib и др.)

Некоторые плагины требуют наличия других. Перед удалением проверьте plugins/ на наличие Vault.jar, ProtocolLib.jar и т.д. Если удаляете EssentialsX, а стоит EssentialsXChat — удалите и его, иначе сервер выдаст ошибки при старте.


Очистка конфигурационных файлов в корне сервера (если есть)

10. Поиск остаточных конфигов вне plugins/

Некоторые плагины (например, Dynmap, CoreProtect, LuckPerms при использовании внешней БД) создают файлы в корне сервера:

cd /opt/minecraft   # корень сервера
find . -maxdepth 2 -type f \( -name "*worldedit*" -o -name "*WorldEdit*" \) 2>/dev/null

Удалите найденные файлы/папки, если они не нужны:

rm -rf ./WorldEdit_backup_2024-05-10   # пример

Запуск сервера и проверка

11. Запуск сервера тем же способом, которым останавливали

Systemd:

systemctl start minecraft.service
journalctl -u minecraft.service -f   # следите за логами в реальном времени

Screen:

cd /opt/minecraft
screen -dmS mc java -Xms4G -Xmx4G -jar paper-1.20.4.jar nogui
screen -r mc

Docker:

docker start <container_name>
docker logs -f <container_name>

12. Проверка логов на ошибки

В консоли сервера ищите строки:

[ERROR] Could not load 'plugins/WorldEdit-bukkit-7.3.8.jar' in folder 'plugins'
[WARN] Plugin EssentialsX requires plugin Vault

Если ошибок нет — плагин успешно удален.

13. Проверка в игре

  1. Зайдите на сервер.
  2. Выполните команду /plugins (если есть LuckPerms/Essentials) или /ver (Paper/Spigot).
  3. Убедитесь, что удалённый плагин отсутствует в списке.

Автоматизация через скрипт (для частых операций)

14. Создание скрипта remove_plugin.sh

cat > /usr/local/bin/remove_plugin.sh << 'EOF'
#!/bin/bash
# Удаление плагина Minecraft с бэкапом конфига
# Использование: remove_plugin.sh <имя_плагина_без_версии>

set -euo pipefail

PLUGIN_NAME="$1"
SERVER_ROOT="/opt/minecraft"   # <-- измените под свой путь
PLUGINS_DIR="${SERVER_ROOT}/plugins"
BACKUP_DIR="${SERVER_ROOT}/backups/plugins_removed/$(date +%F_%H-%M)"

if [[ -z "$PLUGIN_NAME" ]]; then
    echo "Укажите имя плагина (например: WorldEdit)"
    exit 1
fi

mkdir -p "$BACKUP_DIR"

# Поиск JAR (любая версия)
JAR_FILE=$(find "$PLUGINS_DIR" -maxdepth 1 -type f -iname "${PLUGIN_NAME}*.jar" | head -n1)
PLUGIN_FOLDER=$(find "$PLUGINS_DIR" -maxdepth 1 -type d -iname "${PLUGIN_NAME}" | head -n1)

if [[ -z "$JAR_FILE" && -z "$PLUGIN_FOLDER" ]]; then
    echo "Плагин '$PLUGIN_NAME' не найден в $PLUGINS_DIR"
    exit 1
fi

echo "Найдено:"
[[ -n "$JAR_FILE" ]] && echo "  JAR: $JAR_FILE"
[[ -n "$PLUGIN_FOLDER" ]] && echo "  Папка: $PLUGIN_FOLDER"

read -p "Удалить с перемещением в бэкап? [y/N] " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
    echo "Отмена."
    exit 0
fi

[[ -n "$JAR_FILE" ]] && mv "$JAR_FILE" "$BACKUP_DIR/"
[[ -n "$PLUGIN_FOLDER" ]] && mv "$PLUGIN_FOLDER" "$BACKUP_DIR/"

echo "Готово. Бэкап сохранён в: $BACKUP_DIR"
echo "Перезапустите сервер для применения изменений."
EOF

chmod +x /usr/local/bin/remove_plugin.sh

Теперь удаление одной командой:

remove_plugin.sh WorldEdit

Работа через панель proxify.cloud (файловый менеджер Proxmox)

15. Если нет SSH-доступа — используйте встроенный File Manager

  1. В Proxmox выберите вашу VM/CT → ConsoleNoVNC.
  2. Установите mc (Midnight Commander) для удобства:
    apt update && apt install -y mc
    
  3. Запустите mc, перейдите в /opt/minecraft/plugins (или ваш путь).
  4. Выделите JAR и папку плагина → F8 (Delete) → подтвердите.
  5. Выйдите из mc (F10), перезапустите сервер.

В панели proxify.cloud нет отдельного веб-файлового менеджера для файлов внутри VM/CT — управление только через консоль или SSH. Если у вас установлен Pterodactyl поверх — используйте его File Management вкладку.


Бэкап перед удалением (best practice)

16. Быстрый бэкап папки plugins

tar -czf "/root/plugins_backup_$(date +%F_%H-%M).tar.gz" -C /opt/minecraft plugins

Храните бэкапы минимум 7