Как редактировать конфигурации плагинов

1. Подготовка и доступ к серверу через панель proxify.cloud

  1. Авторизуйтесь в панели управления proxify.cloud.
  2. В списке серверов выберите нужный выделенный сервер (Dedicated Server) с установленным Ubuntu.
  3. Откройте вкладку Console (консоль) или используйте SSH-доступ. Для работы с конфигами рекомендуется SSH-клиент (Termius, Tabby, стандартный терминал Linux/macOS, PowerShell в Windows).
  4. Подключитесь по SSH:
    ssh root@<IP-адрес_сервера>
    
    IP-адрес указан в панели proxify.cloud на странице сервера в разделе «Сеть» или «Доступ».
  5. При первом подключении подтвердите отпечаток ключа (yes) и введите пароль root (также доступен в панели proxify.cloud).

2. Остановка сервера Minecraft перед редактированием

Никогда не редактируйте конфиги на работающем сервере — изменения не вступят в силу, а при сохранении сервером перезапишутся старыми значениями.

  1. Определите, как запущен сервер: через systemd, screen, tmux или Docker.
  2. Вариант А: Systemd-сервис (стандарт для proxify.cloud установок):
    systemctl stop minecraft
    
    Проверьте статус:
    systemctl status minecraft
    
    Должен быть inactive (dead).
  3. Вариант Б: Screen/Tmux сессия:
    screen -ls
    # Найдите сессию, например: 12345.minecraft
    screen -r 12345.minecraft
    # В консоли сервера введите: stop
    # Дождитесь полной остановки (процесс завершится)
    
  4. Вариант В: Docker-контейнер (например, itzg/minecraft-server):
    docker stop minecraft-server
    

3. Локализация директории сервера и папки plugins

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

  • /opt/minecraft — если устанавливали вручную или через скрипты панели.
  • /home/minecraft — если создавали отдельного пользователя.
  • /var/lib/docker/volumes/... — для Docker (не рекомендуется править напрямую, см. пункт 8).

Найдите точный путь:

find / -type f -name "spigot*.jar" -o -name "paper*.jar" -o -name "purpur*.jar" 2>/dev/null | head -5

Результат покажет путь к ядру. Директория сервера — родительская папка этого файла.

Пример: если нашли /opt/minecraft/paper-1.21.1.jar, то рабочая директория — /opt/minecraft.

Перейдите в неё:

cd /opt/minecraft
ls -la

Убедитесь, что есть папка plugins/.

4. Резервное копирование конфигурации перед изменениями

Обязательный шаг. Создайте бэкап конкретного плагина или всей папки plugins.

  1. Бэкап одного плагина (пример — EssentialsX):
    cp -r plugins/Essentials plugins/Essentials_backup_$(date +%F_%H-%M)
    
  2. Бэкап всей папки plugins (если планируете массовые правки):
    tar -czf plugins_backup_$(date +%F_%H-%M).tar.gz plugins/
    
  3. Проверьте, что архив/копия создались:
    ls -lh plugins/Essentials_backup_* || ls -lh plugins_backup_*.tar.gz
    

5. Редактирование YAML-файлов: синтаксис и инструменты

Конфиги плагинов — это YAML-файлы (.yml). Главные правила:

  • Отступы только пробелами (обычно 2 пробела), табуляция запрещена.
  • Ключ и значение разделены двоеточием и пробелом: key: value.
  • Списки начинаются с дефиса и пробела: - item.
  • Комментарии начинаются с #.
  • Строки с спецсимволами или двоеточиями берутся в кавычки: message: "Hello: World".

Рекомендуемые редакторы в консоли Ubuntu:

  • nano — простой, подсвечивает синтаксис (установлен по умолчанию).
  • vim / nvim — для опытных.
  • micro — современный, интуитивный (apt install micro).

Открытие конфига в nano:

nano plugins/Essentials/config.yml

Горячие клавиши nano:

  • Ctrl+OEnter — сохранить.
  • Ctrl+X — выйти.
  • Ctrl+K — вырезать строку.
  • Ctrl+U — вставить.
  • Ctrl+W — поиск.
  • Alt+Shift+3 (Alt+#) — комментировать/раскомментировать блок.

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

6.1. Изменение сообщений и перевод на русский (EssentialsX, LuckPerms, Vault)

  1. Откройте plugins/Essentials/messages_ru.properties (или messages.properties).
  2. Найдите строку по ключу (левая часть до =).
  3. Измените правую часть. Сохраняйте кодировку UTF-8.
    # Было
    teleport.to=Teleported to %s
    # Стало
    teleport.to=Телепортирован к %s
    
  4. В config.yml Essentials установите локаль:
    locale: ru
    

6.2. Настройка прав и префиксов (LuckPerms)

Лучше использовать встроенные команды или веб-редактор, но можно править файл:

  1. Файл: plugins/LuckPerms/data/flatfile.yml (или mysql.yml / postgresql.yml).
  2. Не рекомендуется править вручную из-за сложной структуры. Используйте:
    # В консоли запущенного сервера (после перезапуска):
    /lp editor
    # Или веб-интерфейс:
    /lp web
    
    Если всё же нужно поправить файл — делайте это крайне осторожно, сохраняя отступы.

6.3. Настройка экономики и магазинов (Vault, ShopGUIPlus, ChestShop)

Пример plugins/ShopGUIPlus/config.yml — изменение валюты:

economy:
  type: "vault"  # Обязательно vault, если стоит Vault + EssentialsX/Economy
  currency-name: "Коины"
  currency-name-plural: "Коинов"

Пример plugins/ChestShop/config.yml — включение логов:

LOGGING:
  LOG_TO_FILE: true
  LOG_TO_CONSOLE: false

6.4. Производительность и лимиты (Paper/Spigot — spigot.yml, paper-global.yml, bukkit.yml)

Это не плагины, но критично для работы плагинов. Файл: spigot.yml (в корне сервера).

settings:
  entity-activation-range:
    animals: 16
    monsters: 24
    raiders: 48
    misc: 8
  save-user-cache-on-stop-only: true

Файл: paper-global.yml (Paper/Purpur) — настройка таймингов, античита, загрузки чанков.

7. Валидация YAML перед запуском

После каждого редактирования проверьте синтаксис. Ошибка в одном пробеле не даст серверу запуститься.

  1. Установите yamllint (если нет):
    apt update && apt install -y yamllint
    
  2. Проверьте конкретный файл:
    yamllint plugins/Essentials/config.yml
    
    Вывод OK или предупреждения о строках — исправляйте.
  3. Быстрая проверка через Python (если yamllint не ставите):
    python3 -c "import yaml; yaml.safe_load(open('plugins/Essentials/config.yml'))" && echo "Syntax OK"
    

8. Особенности работы с Docker-контейнерами на proxify.cloud

Если сервер запущен в Docker (образ itzg/minecraft-server или кастомный):

  1. Не редактируйте файлы в /var/lib/docker/... напрямую.
  2. Используйте bind mounts (тома), прописанные в docker-compose.yml или параметрах docker run. Пример docker-compose.yml:
    volumes:
      - ./mc-data:/data
    
    Редактируйте файлы в ./mc-data/plugins/ на хосте (Ubuntu).
  3. После правки перезапустите контейнер:
    docker compose restart minecraft-server
    # или
    docker restart minecraft-server
    
  4. Логи контейнера для отладки:
    docker logs -f minecraft-server --tail 100
    

9. Запуск сервера и проверка изменений

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

    systemctl start minecraft
    # или
    docker start minecraft-server
    # или screen -dmS minecraft ./start.sh
    
  2. Следите за логами в реальном времени:

    journalctl -u minecraft -f
    # или для Docker:
    docker logs -f minecraft-server
    # или если screen:
    screen -r minecraft
    
  3. Ищите строки:

    • [Essentials] Loading configuration...
    • [ShopGUIPlus] Enabling ShopGUIPlus vX.X.X
    • Ошибки: ERROR, Exception, Invalid configuration, while parsing.
  4. Зайдите на сервер, проверьте команды плагина:

    • /essentials — версия, релоад.
    • /shop — открытие магазина.
    • /lp info — проверка LuckPerms.
  5. Если плагин не загрузился — смотрите plugins/<PluginName>/logs/ или logs/latest.log.

10. Горячая перезагрузка конфигов (без рестарта сервера)

Многие плагины поддерживают релоад. Используйте только для некритичных изменений (сообщения, цены, простые флаги). Изменения регенов, миров, БД, прав — требуют полного рестарта.

Команды релоада:

# EssentialsX
/essentials reload
# или из консоли:
essentials reload

# LuckPerms
/lp sync

# ShopGUIPlus
/shopguiplus reload

# ChestShop
/chestshop reload

# WorldGuard
/rg reload

# Vault (перезагружает провайдеры экономики/прав)
/vault reload

# PlugMan (универсальный менеджер, если стоит)
/plugman reload <PluginName>

После релоада проверьте консоль на ошибки.

11. Автоматизация: скрипт бэкапа и деплоя конфигов (опционально)

Создайте скрипт /opt/minecraft/scripts/deploy_config.sh для быстрого обновления конфигов из Git