Как установить CoreProtect

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

  1. Авторизуйтесь в панели управления proxify.cloud.
  2. В списке серверов выберите выделенный сервер с Ubuntu, на котором развернут ваш Minecraft-сервер.
  3. Откройте вкладку Console (Консоль) или подключитесь по SSH через терминал. Для SSH используйте IP-адрес сервера и порт 22 (или кастомный, если меняли):
    ssh root@ВАШ_IP_АДРЕС
    
  4. Перейдите в директорию вашего игрового сервера. Стандартный путь в панели proxify.cloud для контейнеров/VM — /home/container или /opt/minecraft. Уточните точный путь в разделе File Management панели или командой:
    find / -name "server.jar" -type f 2>/dev/null | head -n 1
    
    Допустим, сервер находится в /home/container. Перейдите туда:
    cd /home/container
    

2. Проверка версии ядра сервера и совместимости

CoreProtect требует Paper, Spigot, Purpur или Folia. На Vanilla (Fabric/Forge без плагинов) плагин не заработает.

  1. Проверьте имя запускаемого jar-файла:
    ls -la *.jar
    
    Ожидаемый вывод: paper-1.20.4-488.jar, spigot-1.20.4.jar, purpur-1.20.4.jar и т.д.
  2. Если у вас Fabric/Forge — установите Cardboard (гибрид) или используйте мод CoreProtect Fabric Port (отдельный проект). Инструкция ниже для стандартных Bukkit/Spigot ядер.
  3. Узнайте версию Minecraft сервера:
    grep "version" server.properties
    # или посмотрите в логах при старте
    

3. Скачивание актуальной версии CoreProtect

Не качайте плагин с сторонних сайтов. Используйте официальный CI или GitHub Releases.

Вариант А: Через wget (прямая ссылка на последнюю стабильную сборку для вашей версии MC)

Определите мажорную версию MC (например, 1.20, 1.21). Ссылки на Jenkins CoreProtect:

  • MC 1.21+: https://ci.coreprotect.net/job/CoreProtect/lastSuccessfulBuild/artifact/coreprotect-bukkit/target/CoreProtect-22.*.jar
  • MC 1.13–1.20.4: https://ci.coreprotect.net/job/CoreProtect-21/lastSuccessfulBuild/artifact/coreprotect-bukkit/target/CoreProtect-21.*.jar

Пример для MC 1.20.4 (ветка 21.x):

wget -O CoreProtect.jar "https://ci.coreprotect.net/job/CoreProtect-21/lastSuccessfulBuild/artifact/coreprotect-bukkit/target/CoreProtect-21.2.26.jar"

Примечание: Номер сборки (21.2.26) меняется. Лучше зайти на ci.coreprotect.net, скопировать ссылку на последний артефакт CoreProtect-XX.X.XX.jar и подставить в wget.

Вариант Б: Ручная загрузка через File Manager панели proxify.cloud

  1. В панели proxify.cloud перейдите в File Management.
  2. Откройте папку plugins (создайте, если нет: mkdir -p plugins).
  3. Нажмите Upload -> выберите скачанный локально CoreProtect.jar.

4. Установка плагина на сервер

  1. Убедитесь, что папка плагинов существует:
    mkdir -p plugins
    
  2. Переместите скачанный файл в папку плагинов (если качали в корень /home/container):
    mv CoreProtect.jar plugins/
    
  3. Проверьте права доступа (владелец должен совпадать с пользователем, от имени которого запускается сервер, обычно container или root в контейнерах proxify):
    chown -R container:container plugins/CoreProtect.jar 2>/dev/null || chown -R root:root plugins/CoreProtect.jar
    chmod 644 plugins/CoreProtect.jar
    

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

  1. Запустите сервер через панель proxify.cloud (кнопка Start) или командой в консоли:
    java -Xms4G -Xmx4G -jar paper-1.20.4.jar nogui
    
    Подставьте свои флаги -Xms/-Xmx и имя jar-файла.
  2. Дождитесь полной загрузки: в консоли появится [CoreProtect] Enabled CoreProtect vXX.X.XX.
  3. Остановите сервер командой stop в консоли или кнопкой Stop в панели proxify.cloud. Не убивайте процесс (Kill), иначе конфиг не запишется.

6. Настройка config.yml — критически важные параметры

Конфиг находится по пути: plugins/CoreProtect/config.yml. Откройте его через файловый менеджер панели или nano:

nano plugins/CoreProtect/config.yml

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

А. База данных (Database)

По умолчанию используется SQLite (файл database.db в папке плагина). Для выделенного сервера на Ubuntu с хорошим диском (NVMe/SSD) это оптимальный выбор до 50-100 игроков онлайн.

database:
  type: "sqlite"  # Не меняйте, если не настроили MySQL/MariaDB/PostgreSQL
  # Если все-таки нужен MySQL (отдельный контейнер/VM в proxify.cloud):
  # type: "mysql"
  # host: "127.0.0.1"
  # port: 3306
  # database: "coreprotect"
  # user: "cp_user"
  # password: "СЛОЖНЫЙ_ПАРОЛЬ"
  # table-prefix: "co_"

Б. Очередь логирования (Queue) — производительность

Для высоких нагрузок включите асинхронную запись:

queue:
  enabled: true
  size: 50000      # Размер очереди в памяти
  interval: 1      # Сброс на диск каждую 1 тик (1/20 сек)
  max-interval: 5  # Макс интервал при лагах

Рекомендуется на выделенных серверах proxify.cloud с 4+ ядрами CPU.

В. Очистка данных (Purge) — экономия диска

Настройте автоудаление старых записей (по умолчанию 30 дней):

purge:
  enabled: true
  interval: 24     # Проверка каждые 24 часа
  max-age: 30      # Хранить 30 дней (уменьшите до 14-21 при малом диске)
  # Для точечной очистки по типам действий:
  # block: 30
  # entity: 14
  # session: 7

Г. Инструменты инспекции (Inspector)

inspector:
  enabled: true
  tool: "STICK"       # Предмет для инспекции (палка по умолчанию)
  cooldown: 0         # Кулдаун в тиках (0 = нет)
  # Ограничьте использование только для опов:
  # permission: "coreprotect.inspect"

Д. Логирование сущностей и контейнеров

Включите логирование контейнеров (сундуки, шалкеры) и взаимодействий с энтити:

log:
  containers: true
  entities: true
  sign-text: true
  item-frames: true
  hopper: true
  dropper: true

Е. Исключения (Save/Exclude) — снижение нагрузки

Не логируйте бесполезные блоки (цветы, трава, снег) и действия ферм:

exclude:
  blocks:
    - "SHORT_GRASS"
    - "TALL_GRASS"
    - "POPPY"
    - "DANDELION"
    - "SNOW"
    - "ICE"
    - "FROSTED_ICE"
    - "KELP"
    - "SEAGRASS"
    - "BUBBLE_COLUMN"
  # Исключить фермы с траппингами (опционально):
  # entities:
  #   - "ITEM"

Сохраните файл (Ctrl+O, Enter, Ctrl+X в nano).

7. Настройка прав доступа (Permissions)

CoreProtect использует стандартную систему прав Bukkit. Настройте через LuckPerms (рекомендуется на proxify.cloud) или permissions.yml.

Команды LuckPerms в консоли сервера:

# Полный доступ (админы)
lp group admin permission set coreprotect.* true

# Инспекция и просмотр логов (модераторы/хелперы)
lp group moderator permission set coreprotect.inspect true
lp group moderator permission set coreprotect.lookup true
lp group moderator permission set coreprotect.rollback true
lp group moderator permission set coreprotect.restore true

# Ограничение масштаба отката для модераторов (безопасность)
lp group moderator permission set coreprotect.rollback.limit 10000
lp group moderator permission set coreprotect.restore.limit 10000

Основные ноды прав:

Нода Описание
coreprotect.inspect Режим инспектора (клик палкой)
coreprotect.lookup Команда /co lookup
coreprotect.rollback Команда /co rollback
coreprotect.restore Команда /co restore
coreprotect.reload Перезагрузка конфига /co reload
coreprotect.purge Ручная очистка /co purge
coreprotect.* Все права

8. Финальный запуск и верификация

  1. Запустите сервер через панель proxify.cloud (кнопка Start).
  2. Зайдите на сервер с правами админа.
  3. Выполните команду проверки версии:
    /co version
    
    Ожидаемый ответ: CoreProtect v21.2.26 - [Enabled]
  4. Проверьте инспектор: возьмите палку (/give @s stick), нажмите ПКМ по блоку — в чате появится информация о блоке.
  5. Проверьте запись логов: поставьте блок, сломайте его, введите /co lookup u:ВашНик — должна появиться запись.

9. Оптимизация для выделенного сервера Ubuntu (proxify.cloud)

A. Настройка JVM флагов (в стартовом скрипте панели или start.sh)

Добавьте в аргументы запуска Java (панель proxify.cloud -> Startup -> Java Arguments):

-XX