- Для версий
- 1.7.10
- 1.8.✘
- 1.9.✘
- 1.10.✘
- 1.11.✘
- 1.12.✘
- 1.13.✘
- 1.14.✘
- 1.15.✘
- 1.16.✘
- 1.17.✘
- 1.18.✘
- 1.19.✘
- 1.20.✘
- 1.21.✘
Пролистываю я плагины на спиготе и натыкаюсь на этот ужас: https://www.spigotmc.org/resources/117138/
Отсутствие Асинхронности:
Код выполняет все операции в основном потоке сервера, что может привести к зависанию сервера во время выполнения команды, особенно если бэкап занимает много времени.
Отсутствие Настраиваемых Параметров:
В коде отсутствует возможность настройки параметров, таких как папки, которые нужно игнорировать во время бэкапа.
Жестко Закодированные Пути: Пути и имена файлов жестко закодированы в логике команды, что делает код менее гибким.
Отсутствие Обработки Исключений: Код не предоставляет достаточно информации пользователю в случае ошибки, кроме одного сообщения в консоли.
Неправильное Приведение Типов: Используется ненужное и неправильное приведение типов (Player)((Object)sender), что является плохой практикой и может привести к ошибкам.
Отсутствие Логирования Прогресса: Нет информации о прогрессе выполнения команды, что затрудняет отладку и мониторинг процесса.
Из 27кб его веса файла, там всего лишь 1 класс рабочего на 4 кб. Всё остальное это метрика. У меня же 9кб мощи.
Отсутствие Асинхронности:
Код выполняет все операции в основном потоке сервера, что может привести к зависанию сервера во время выполнения команды, особенно если бэкап занимает много времени.
Отсутствие Настраиваемых Параметров:
В коде отсутствует возможность настройки параметров, таких как папки, которые нужно игнорировать во время бэкапа.
Жестко Закодированные Пути: Пути и имена файлов жестко закодированы в логике команды, что делает код менее гибким.
Отсутствие Обработки Исключений: Код не предоставляет достаточно информации пользователю в случае ошибки, кроме одного сообщения в консоли.
Неправильное Приведение Типов: Используется ненужное и неправильное приведение типов (Player)((Object)sender), что является плохой практикой и может привести к ошибкам.
Отсутствие Логирования Прогресса: Нет информации о прогрессе выполнения команды, что затрудняет отладку и мониторинг процесса.
Из 27кб его веса файла, там всего лишь 1 класс рабочего на 4 кб. Всё остальное это метрика. У меня же 9кб мощи.
Описание плагина BackupsPlugins:
BackupsPlugins — это высокопроизводительный и гибкий плагин для Minecraft, созданный для автоматического резервного копирования конфигураций плагинов вашего сервера. Этот плагин обеспечивает максимальное удобство и надежность благодаря следующим ключевым особенностямОсобенности плагина BackupsPlugins:
- Производительность: плагин работает асинхронно, что значит, что он не замедляет работу сервера во время выполнения резервного копирования. Это важно, потому что сервер продолжает функционировать без задержек, обеспечивая лучший опыт для игроков.
- Гибкость: Ты можешь легко указать, какие папки игнорировать при создании резервных копий, используя конфигурационный файл. Это дает больше контроля и удобства.
- Информативность: Плагин предоставляет полезные сообщения о процессе резервного копирования, включая прогресс и возможные ошибки. Это помогает быстро понять, что происходит, и решать проблемы, если они возникают.
- Безопасность: Я избегаю ненужных и потенциально опасных операций, которые могут вызвать ошибки. Это делает плагин более надежным и стабильным.
Команды плагина BackupsPlugins:
/bpc run: Запускает процесс резервного копирования./bpc reload: Перезагружает конфигурацию плагина.
Права плагина BackupsPlugins:
backupplugin.backup - Позволяет игроку создавать резервные копии всех конфигураций плагинов.backupplugin.reload - Позволяет игроку перезагрузить конфигурацию плагина
Конфиг плагина BackupsPlugins:
Конфигурационный файл (config.yml) для плагина BackupsPlugins позволяет тебе легко настраивать, какие папки нужно игнорировать при создании резервных копий. Вот простой гид для тех, кто не вникает в детали разработки.Шаг 1: Найди конфигурационный файл
После установки и первого запуска плагина, конфигурационный файл создастся автоматически в папке plugins/BackupsPlugins. Файл называется config.yml.Шаг 2: Открой файл для редактирования
Используй любой текстовый редактор (например, Notepad, Notepad++, VS Code и т.д.), чтобы открыть файл config.yml.Шаг 3: Настройка папок для игнорирования
Внутри файла ты увидишь список папок, которые уже добавлены для игнорирования. Выглядит это примерно так: YAML:
# ======================================
# BackupsPlugins Configuration File
# ======================================
# List of folders to ignore during backup
ignore-folders:
- backups # Folder of the plugin itself. Removing it may cause errors.
- .paper-remapped # Remapper folder for Paper on 1.20.6+. Removing it may cause errors.
Шаг 4: Добавление или удаление папок
- Чтобы добавить папку для игнорирования: Просто добавь новую строку под секцией ignore-folders: с именем папки, которую хочешь игнорировать.
Например, если ты хочешь игнорировать папку examplePlugin, добавь её так:YAML:ignore-folders: - backups - .paper-remapped - examplePlugin # Эта папка теперь будет игнорироваться при бэкапе
Шаг 5: Сохранение изменений
После того как ты внес все нужные изменения, сохрани файл и перезапусти сервер или используй команду /bpc reload, чтобы применить новые настройки без перезапуска сервера.Заключение BackupsPlugins
Теперь ты знаешь, как легко настроить плагин BackupsPlugins для игнорирования определенных папок при создании резервных копий. Этот процесс позволяет тебе контролировать, какие файлы и папки включаются в бэкапы, обеспечивая гибкость и удобство использования плагина.Лог бекапа с 181 папкой MythicMobs.
Обратите внимание на время.
Обратите внимание на время.
Код:
bpc run
[17:52:23 INFO]: Backup progress: 0%
[17:52:23 INFO]: Backup progress: 1%
[17:52:23 INFO]: Backup progress: 1%
[17:52:23 INFO]: Backup progress: 2%
[17:52:23 INFO]: Backup progress: 2%
[17:52:23 INFO]: Backup progress: 3%
[17:52:23 INFO]: Backup progress: 3%
[17:52:23 INFO]: Backup progress: 4%
[17:52:23 INFO]: Backup progress: 4%
[17:52:23 INFO]: Backup progress: 5%
[17:52:23 INFO]: Backup progress: 5%
[17:52:23 INFO]: Backup progress: 6%
[17:52:23 INFO]: Backup progress: 7%
[17:52:23 INFO]: Backup progress: 7%
[17:52:23 INFO]: Backup progress: 8%
[17:52:23 INFO]: Backup progress: 8%
[17:52:23 INFO]: Backup progress: 9%
[17:52:23 INFO]: Backup progress: 9%
[17:52:23 INFO]: Backup progress: 10%
[17:52:23 INFO]: Backup progress: 10%
[17:52:23 INFO]: Backup progress: 11%
[17:52:23 INFO]: Backup progress: 11%
[17:52:23 INFO]: Backup progress: 12%
[17:52:23 INFO]: Backup progress: 13%
[17:52:23 INFO]: Backup progress: 13%
[17:52:23 INFO]: Backup progress: 14%
[17:52:23 INFO]: Backup progress: 14%
[17:52:23 INFO]: Backup progress: 15%
[17:52:23 INFO]: Backup progress: 15%
[17:52:23 INFO]: Backup progress: 16%
[17:52:23 INFO]: Backup progress: 16%
[17:52:23 INFO]: Backup progress: 17%
[17:52:23 INFO]: Backup progress: 17%
[17:52:23 INFO]: Backup progress: 18%
[17:52:23 INFO]: Backup progress: 19%
[17:52:23 INFO]: Backup progress: 19%
[17:52:23 INFO]: Backup progress: 20%
[17:52:23 INFO]: Backup progress: 20%
[17:52:23 INFO]: Backup progress: 21%
[17:52:23 INFO]: Backup progress: 21%
[17:52:23 INFO]: Backup progress: 22%
[17:52:23 INFO]: Backup progress: 22%
[17:52:23 INFO]: Backup progress: 23%
[17:52:23 INFO]: Backup progress: 23%
[17:52:23 INFO]: Backup progress: 24%
[17:52:23 INFO]: Backup progress: 25%
[17:52:23 INFO]: Backup progress: 25%
[17:52:23 INFO]: Backup progress: 26%
[17:52:23 INFO]: Backup progress: 26%
[17:52:23 INFO]: Backup progress: 27%
[17:52:23 INFO]: Backup progress: 27%
[17:52:23 INFO]: Backup progress: 28%
[17:52:23 INFO]: Backup progress: 28%
[17:52:23 INFO]: Backup progress: 29%
[17:52:23 INFO]: Backup progress: 29%
[17:52:23 INFO]: Backup progress: 30%
[17:52:23 INFO]: Backup progress: 30%
[17:52:23 INFO]: Backup progress: 31%
[17:52:23 INFO]: Backup progress: 32%
[17:52:23 INFO]: Backup progress: 32%
[17:52:23 INFO]: Backup progress: 33%
[17:52:23 INFO]: Backup progress: 33%
[17:52:23 INFO]: Backup progress: 34%
[17:52:23 INFO]: Backup progress: 34%
[17:52:23 INFO]: Backup progress: 35%
[17:52:23 INFO]: Backup progress: 35%
[17:52:23 INFO]: Backup progress: 36%
[17:52:23 INFO]: Backup progress: 36%
[17:52:23 INFO]: Backup progress: 37%
[17:52:23 INFO]: Backup progress: 38%
[17:52:23 INFO]: Backup progress: 38%
[17:52:23 INFO]: Backup progress: 39%
[17:52:23 INFO]: Backup progress: 39%
[17:52:23 INFO]: Backup progress: 40%
[17:52:23 INFO]: Backup progress: 40%
[17:52:23 INFO]: Backup progress: 41%
[17:52:23 INFO]: Backup progress: 41%
[17:52:23 INFO]: Backup progress: 42%
[17:52:23 INFO]: Backup progress: 42%
[17:52:23 INFO]: Backup progress: 43%
[17:52:23 INFO]: Backup progress: 44%
[17:52:23 INFO]: Backup progress: 44%
[17:52:23 INFO]: Backup progress: 45%
[17:52:23 INFO]: Backup progress: 45%
[17:52:23 INFO]: Backup progress: 46%
[17:52:23 INFO]: Backup progress: 46%
[17:52:23 INFO]: Backup progress: 47%
[17:52:23 INFO]: Backup progress: 47%
[17:52:23 INFO]: Backup progress: 48%
[17:52:23 INFO]: Backup progress: 48%
[17:52:23 INFO]: Backup progress: 49%
[17:52:23 INFO]: Backup progress: 50%
[17:52:23 INFO]: Backup progress: 50%
[17:52:23 INFO]: Backup progress: 51%
[17:52:23 INFO]: Backup progress: 51%
[17:52:23 INFO]: Backup progress: 52%
[17:52:23 INFO]: Backup progress: 52%
[17:52:23 INFO]: Backup progress: 53%
[17:52:23 INFO]: Backup progress: 53%
[17:52:23 INFO]: Backup progress: 54%
[17:52:23 INFO]: Backup progress: 54%
[17:52:23 INFO]: Backup progress: 55%
[17:52:24 INFO]: Backup progress: 55%
[17:52:24 INFO]: Backup progress: 56%
[17:52:24 INFO]: Backup progress: 57%
[17:52:24 INFO]: Backup progress: 57%
[17:52:24 INFO]: Backup progress: 58%
[17:52:24 INFO]: Backup progress: 58%
[17:52:24 INFO]: Backup progress: 59%
[17:52:24 INFO]: Backup progress: 59%
[17:52:24 INFO]: Backup progress: 60%
[17:52:24 INFO]: Backup progress: 60%
[17:52:24 INFO]: Backup progress: 61%
[17:52:24 INFO]: Backup progress: 61%
[17:52:24 INFO]: Backup progress: 62%
[17:52:24 INFO]: Backup progress: 63%
[17:52:24 INFO]: Backup progress: 63%
[17:52:24 INFO]: Backup progress: 64%
[17:52:24 INFO]: Backup progress: 64%
[17:52:24 INFO]: Backup progress: 65%
[17:52:24 INFO]: Backup progress: 65%
[17:52:24 INFO]: Backup progress: 66%
[17:52:24 INFO]: Backup progress: 66%
[17:52:24 INFO]: Backup progress: 67%
[17:52:24 INFO]: Backup progress: 67%
[17:52:24 INFO]: Backup progress: 68%
[17:52:24 INFO]: Backup progress: 69%
[17:52:24 INFO]: Backup progress: 69%
[17:52:24 INFO]: Backup progress: 70%
[17:52:24 INFO]: Backup progress: 70%
[17:52:24 INFO]: Backup progress: 71%
[17:52:24 INFO]: Backup progress: 71%
[17:52:24 INFO]: Backup progress: 72%
[17:52:24 INFO]: Backup progress: 72%
[17:52:24 INFO]: Backup progress: 73%
[17:52:24 INFO]: Backup progress: 73%
[17:52:24 INFO]: Backup progress: 74%
[17:52:24 INFO]: Backup progress: 75%
[17:52:24 INFO]: Backup progress: 75%
[17:52:24 INFO]: Backup progress: 76%
[17:52:24 INFO]: Backup progress: 76%
[17:52:24 INFO]: Backup progress: 77%
[17:52:24 INFO]: Backup progress: 77%
[17:52:24 INFO]: Backup progress: 78%
[17:52:24 INFO]: Backup progress: 78%
[17:52:24 INFO]: Backup progress: 79%
[17:52:24 INFO]: Backup progress: 79%
[17:52:24 INFO]: Backup progress: 80%
[17:52:24 INFO]: Backup progress: 80%
[17:52:24 INFO]: Backup progress: 81%
[17:52:24 INFO]: Backup progress: 82%
[17:52:24 INFO]: Backup progress: 82%
[17:52:24 INFO]: Backup progress: 83%
[17:52:24 INFO]: Backup progress: 83%
[17:52:24 INFO]: Backup progress: 84%
[17:52:24 INFO]: Backup progress: 84%
[17:52:24 INFO]: Backup progress: 85%
[17:52:24 INFO]: Backup progress: 85%
[17:52:24 INFO]: Backup progress: 86%
[17:52:24 INFO]: Backup progress: 86%
[17:52:24 INFO]: Backup progress: 87%
[17:52:24 INFO]: Backup progress: 88%
[17:52:24 INFO]: Backup progress: 88%
[17:52:24 INFO]: Backup progress: 89%
[17:52:24 INFO]: Backup progress: 89%
[17:52:24 INFO]: Backup progress: 90%
[17:52:24 INFO]: Backup progress: 90%
[17:52:24 INFO]: Backup progress: 91%
[17:52:24 INFO]: Backup progress: 91%
[17:52:24 INFO]: Backup progress: 92%
[17:52:24 INFO]: Backup progress: 92%
[17:52:24 INFO]: Backup progress: 93%
[17:52:24 INFO]: Backup progress: 94%
[17:52:24 INFO]: Backup progress: 94%
[17:52:24 INFO]: Backup progress: 95%
[17:52:24 INFO]: Backup progress: 95%
[17:52:24 INFO]: Backup progress: 96%
[17:52:24 INFO]: Backup progress: 96%
[17:52:24 INFO]: Backup progress: 97%
[17:52:24 INFO]: Backup progress: 97%
[17:52:24 INFO]: Backup progress: 98%
[17:52:24 INFO]: Backup progress: 98%
[17:52:24 INFO]: Backup progress: 99%
[17:52:24 INFO]: Configs have been backed up to plugins\backupsplugins\backups\2024-06-26_17-52-23.zip
Скриншоты плагина BackupsPlugins:
Установка плагина BackupsPlugins:
- Скачайте последнюю версию BackupsPlugins.
- Поместите файл BackupsPlugins.jar в папку plugins вашего Minecraft сервера.
- Запустите сервер для создания конфигурационного файла по умолчанию.
- Настройте файл config.yml, расположенный в папке plugins/BackupsPlugins, чтобы указать папки, которые нужно игнорировать при резервном копировании.
Если кому интересен исходник, то вот он: тык