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

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

Перед установкой плагинов убедитесь, что ваш сервер использует ядро с поддержкой плагинов (Spigot, Paper, Purpur, Pufferfish). Vanilla и Forge/Fabric не поддерживают плагины Bukkit/Spigot напрямую.

  1. Подключитесь к выделенному серверу по SSH:

    ssh root@<IP_ВАШЕГО_СЕРВЕРА_PROXIFY>
    

    IP-адрес и пароль root указаны в панели управления proxify.cloud во вкладке «Консоль» или «Сеть» вашего выделенного сервера.

  2. Перейдите в директорию пользователя, под которым запускается сервер (обычно minecraft или server):

    su - minecraft
    cd /home/minecraft/server
    # или, если установка в другом месте:
    cd /opt/minecraft/server
    
  3. Проверьте имя файла ядра:

    ls -la *.jar
    

    Ожидаемый вывод: paper-1.20.4-123.jar, spigot-1.20.4.jar, purpur-1.20.4-1234.jar. Если файл называется server.jar или minecraft_server.jar — проверьте его версию командой java -jar server.jar --version или откройте server.properties и посмотрите на version.

2. Остановка сервера через панель proxify.cloud

Никогда не устанавливайте плагины на работающий сервер — это приведет к повреждению конфигов и потере данных.

  1. Зайдите в панель proxify.cloud.
  2. Выберите ваш выделенный сервер (Dedicated Server).
  3. Откройте вкладку Консоль (Console) или Управление питанием (Power Management).
  4. Нажмите кнопку Stop (Остановить) или введите в консоли команду stop и дождитесь полной остановки процесса Java. Альтернативно через SSH (если используется systemd):
    sudo systemctl stop minecraft
    
    Если запуск через screen/tmux — заходите в сессию и пишете stop.

3. Создание директории plugins

Стандартная папка для плагинов создается автоматически при первом запуске Paper/Spigot. Если её нет — создайте вручную.

mkdir -p /home/minecraft/server/plugins
# Установите права владельца, если создавали от root
chown -R minecraft:minecraft /home/minecraft/server/plugins

Проверьте структуру:

ls -la /home/minecraft/server/
# Должны быть: plugins/, world/, server.jar, server.properties, eula.txt

4. Скачивание плагинов (конкретные источники и команды)

Скачивайте только .jar файлы. Используйте официальные источники: Hangar (Paper), Modrinth, SpigotMC, GitHub Releases. Избегайте сторонних файлообменников.

Вариант А: Через wget (прямые ссылки)

Получите прямую ссылку на файл (Right Click -> Copy Link Address на странице загрузки).

Пример: Установка LuckPerms (права), EssentialsX (базовые команды), WorldEdit (редактирование мира) для версии 1.20.4:

cd /home/minecraft/server/plugins

# LuckPerms (универсальный файл)
wget -O LuckPerms.jar "https://api.luckperms.net/download?url=latest&format=jar"

# EssentialsX (скачиваем весь архив и распаковываем нужные модули, или качаем по отдельности с Modrinth)
# Пример для Modrinth API (последняя версия для 1.20.4):
wget -O EssentialsX.jar "https://api.modrinth.com/v2/project/essentialsex/version/latest?loaders=bukkit&game_versions=1.20.4" --content-disposition
# Примечание: wget с --content-disposition сохранит оригинальное имя. Если скачался zip — распакуйте: unzip *.zip && rm *.zip

# WorldEdit
wget -O WorldEdit.jar "https://dev.bukkit.org/projects/worldedit/files/latest" --content-disposition

# Vault (необходим для экономики/прав большинства плагинов)
wget -O Vault.jar "https://api.modrinth.com/v2/project/vault/version/latest?loaders=bukkit&game_versions=1.20.4" --content-disposition

Вариант Б: Загрузка с локального ПК через SFTP (FileZilla / WinSCP)

  1. Скачайте .jar файлы на свой компьютер.
  2. Подключитесь к серверу proxify.cloud по SFTP:
    • Хост: IP-адрес сервера
    • Порт: 22 (стандарт SSH)
    • Протокол: SFTP
    • Логин: minecraft (или root, если разрешен вход, но лучше minecraft)
    • Пароль / Ключ: Ваш SSH-ключ или пароль пользователя.
  3. Перетащите файлы в /home/minecraft/server/plugins/.
  4. Вернитесь в SSH и выставьте права:
    chown minecraft:minecraft /home/minecraft/server/plugins/*.jar
    chmod 644 /home/minecraft/server/plugins/*.jar
    

5. Проверка совместимости версий

Критически важный шаг. Плагин для 1.19 не загрузится на 1.20.4 (или загрузится с ошибками).

  1. Посмотрите версию ядра:
    java -jar /home/minecraft/server/paper-1.20.4-*.jar --version
    # Вывод: git-Paper-123 (MC: 1.20.4)
    
  2. Проверьте метаданные плагина (без запуска сервера):
    cd /home/minecraft/server/plugins
    unzip -p LuckPerms.jar plugin.yml | grep -E 'version|api-version|name'
    # Или для новых плагинов с paper-plugin.yml:
    unzip -p LuckPerms.jar paper-plugin.yml | head -20
    
    Ищите api-version: '1.20' или version: 5.4.123. Убедитесь, что api-version совпадает с мажорной версией вашего сервера (1.20.x -> api-version 1.20).

6. Первый запуск и генерация конфигов

Запустите сервер, чтобы плагины создали свои папки конфигурации (plugins/ИмяПлагина/config.yml).

  1. Запустите сервер через панель proxify.cloud (кнопка Start) или командой:
    # Если systemd:
    sudo systemctl start minecraft
    # Если скрипт запуска:
    cd /home/minecraft/server && ./start.sh
    
  2. Следите за логами в консоли proxify.cloud или через tail -f logs/latest.log.
  3. Дождитесь строки Done (X.Xs)! For help, type "help".
  4. Сразу остановите сервер командой stop в консоли или кнопкой Stop в панели. Плагины создали дефолтные конфиги.

7. Базовая настройка конфигурационных файлов

Конфиги лежат в /home/minecraft/server/plugins/<ИмяПлагина>/. Редактируйте через nano или vim.

7.1 LuckPerms (система прав) — настройка хранилища

По умолчанию использует H2 (файл БД). Для выделенного сервера лучше оставить H2 или переключить на SQLite/MySQL.

nano /home/minecraft/server/plugins/LuckPerms/config.yml

Найдите раздел storage::

storage:
  method: "h2" # Оставьте h2 для простоты или "sqlite"
  # Для MySQL (если база на localhost):
  # method: "mysql"
  # address: "localhost:3306"
  # database: "luckperms"
  # username: "mcuser"
  # password: "strong_password"

Сохраните: Ctrl+O, Enter, Ctrl+X.

7.2 EssentialsX — экономика, спавн, чат

nano /home/minecraft/server/plugins/Essentials/config.yml

Ключевые параметры:

# Включить экономику (требует Vault)
economy: true

# Спавн при входе (если нет Multiverse)
spawnpoint: world,0,64,0

# Формат чата (требует PlaceholderAPI для плейсхолдеров)
chat:
  format: '<{DISPLAYNAME}> {MESSAGE}'
  group-formats: {}

# Отключить лишние модули, если не нужны (в plugins/Essentials/ в виде отдельных .jar)
# Удалите неиспользуемые .jar из папки plugins/ для экономии памяти.

7.3 Vault — никакой настройки не требует, просто должен лежать в plugins/.

8. Перезапуск и проверка работоспособности

  1. Запустите сервер снова (через панель proxify.cloud или systemctl start minecraft).
  2. Зайдите в игру.
  3. Проверьте команды:
    • /lp info — LuckPerms работает.
    • /essentials или /eback — Essentials работает.
    • //wand — WorldEdit работает (нужен OP).
    • /plugins — список загруженных плагинов (зеленые = загружены, красные = ошибка).

Если плагин красный — смотрите логи: grep -i "error\|disable" /home/minecraft/server/logs/latest.log | grep -i <ИмяПлагина>.

9. Настройка автозапуска и бэкапов (Best Practices на proxify.cloud)

Systemd юнит (если еще нет)

Создайте /etc/systemd/system/minecraft.service (от root):

[Unit]
Description=Minecraft Paper Server
After=network.target

[Service]
WorkingDirectory=/home/minecraft/server
User=minecraft
Group=minecraft
Restart=on-failure
RestartSec=10
# Настройте -Xms и -Xmx под RAM вашего выделенного сервера proxify.cloud (например, 16G из 32G)
ExecStart=/usr/bin/java -Xms8G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc