Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
- Исправлена критическая ошибка, из-за которой сервер не запускался. Проблема была связана с несовместимостью методов обработки данных и метаданных с API Minecraft 1.16.5, что вызывало сбои при загрузке плагина. Теперь сервер запускается стабильно
- Исправлен баг, связанный с зависанием сервера при сохранении спавнеров. Периодическое сохранение теперь асинхронное с пакетной обработкой, что устраняет лаги и снижает нагрузку на базу данных
- Устранён баг с таймерами спавнеров. Проблема возникала из-за некорректной обработки чанков, что приводило к пропуску некоторых спавнеров. Теперь чанки обрабатываются правильно, и таймеры работают стабильно
- Улучшено управление идентификаторами спавнеров. Новая система эффективно назначает и освобождает ID, предотвращая дублирование и снижая нагрузку на базу данных
- Исправлен баг с исчезновением спавнеров после отключения плагина. Теперь все данные о них надёжно сохраняются перед выключением
- Устранены мелкие баги, которые выводили предупреждения в консоль
- Удалена необязательная зависимость от ProtocolLib. Параметр protocollib исключён из конфига
- Изменён параметр "chunks" в optimization.yml на несколько подпараметров: "processing-limit" (Ограничение количества одновременно обрабатываемых чанков), "player-radius-cache" (Кэширование проверок радиуса игроков), "spawner-check-limit" (Уменьшает количество проверок спавнеров в новых чанках) и "chunk-load-limit" (Ограничивает количество чанков, загружаемых за один раз при прогрузке мира)
- Добавлен параметр "cleanup-no-players" в параметре "mobs" в optimization.yml для удаления мобов, появившихся из спавнера, если рядом нет игроков
- Добавлен новый параметр "async-spawner-processing" в optimization.yml, который выполняет некоторые проверки спавнеров в асинхронном потоке, не нагружая поток сервера
- В самом конце файла optimization.yml добавлены рекомендации по настройке и оптимизации каждого параметра под ваши характеристики сервера (Настоятельно рекомендую ознакомиться с этими рекомендациями и применить их на практике)
- Устранена критическая ошибку, из-за которой база данных могла внезапно отключиться или выйти из строя. Из-за этого спавнеры не сохранялись, а в консоль бесконечно отправлялись сообщения об ошибках и сервер автоматически перезагружался
- Добавлено резервное копирование базы данных: копии создаются каждые 30 минут и перед критическими операциями, восстанавливаются при сбоях, предотвращая потерю данных со спавнерами (ЭТО БЕТА ДОБАВЛЕНИЕ, ВОЗМОЖНЫ С НЕЙ БУДУТ БАГИ!)
Новый config.yml:
YAML:# # █░█ █▀█ █▀▀ █▀█ ▄▀█ █▀▄ █▀▀ █▀ █▀█ ▄▀█ █░█░█ █▄░█ █▀▀ █▀█ █▀ # █▄█ █▀▀ █▄█ █▀▄ █▀█ █▄▀ ██▄ ▄█ █▀▀ █▀█ ▀▄▀▄▀ █░▀█ ██▄ █▀▄ ▄█ # # By MilkyWay for GornaWorld.fun and sale # # Настройки параметров плагина settings: # Включение вывода логов плагина в консоль для отладки ошибок logs-in-console: # Активны ли логи? (true/false) enabled: false # Список миров, где плагин не будет работать disable-worlds: # Включён ли запрет для указанных миров? (true/false) enabled: false # Названия миров worlds: - "CustomWorld" - "CustomWorld2" - "CustomWorld_3" # Удалять ли яйцо призыва моба из инвентаря игрока при его установке в спавнер consume-spawn-egg: # Включено ли удаление яйца? (true/false) # Если true, яйцо будет удаляться из основной или дополнительной руки игрока после установки # Если false, яйцо останется в инвентаре игрока enabled: true # Ограничение изменения яйца в спавнере в чужих регионах WorldGuard restrict-spawner-egg-change: # Включено ли ограничение? (true/false) enabled: true # Право, позволяющее обойти ограничение bypass-permission: "upgradespawners.bypass.egg-change" message: enabled: false message: "&cВы не можете изменить яйцо в спавнере в этом регионе!" # Ограничение открытия меню спавнера в чужих регионах WorldGuard restrict-spawner-menu-access: # Включено ли ограничение? (true/false) enabled: true # Право, позволяющее обойти ограничение bypass-permission: "upgradespawners.bypass.menu-access" message: enabled: false message: "&cВы не можете открыть меню спавнера в этом регионе!" # Включение взрывоустойчивости спавнеров explosion-spawners: # Включена ли взрывоустойчивость? (true/false) # (Если true, спавнеры нельзя будет разрушить взрывами, например, от крипера или ТНТ) # (Если false, спавнеры можно будет разрушать взрывами, игроками или поршнями) enabled: false # Интеграция с плагином PlaceholderAPI для использования его плейсхолдеров placeholderapi: # (Рекомендуется выключить данный параметр для снижения нагрузки, если вы не используете его нигде) enabled: true # Учёт только убийств мобов, совершённых игроками, для прокачки спавнера count-only-player-kills: # Включён ли режим учёта только убийств игроками? (true/false) # Если true, спавнер будет засчитывать только мобов, убитых игроками напрямую # Если false, будут учитываться все смерти мобов, включая падение, лаву, других мобов и т.д. enabled: true # Время хранения данных удалённых спавнеров перед их окончательным удалением из памяти # Укажите 0, чтобы отключить автоматическое удаление (данные будут храниться до перезапуска сервера) removed-spawners-timeout: # Время в секундах, после которого данные спавнера будут удалены из временного хранилища, если спавнер не был восстановлен # (Рекомендуется значение 60-600 секунд) time: 300 # Время ожидания подтверждения для команды очистки базы данных (/us cleardb) # Укажите 0, чтобы отключить таймер (подтверждение будет активно до ручного выполнения или перезапуска сервера) cleardb-confirmation-timeout: # Время в секундах, после которого запрос на подтверждение очистки базы данных будет отменён time: 30 # Сбрасывать ли уровень спавнера при установке нового яйца призыва в спавнер reset-level-on-new-egg: # Включён ли сброс уровня? (true/false) enabled: true # Сбрасывать ли время до спавна мобов на значение текущего уровня при повышении уровня спавнера reset-cooldown-on-level-up: # Включён ли сброс времени до спавна? (true/false) enabled: true # Количество попыток найти место для спавна мобов spawn-attempts: # Сколько раз пытаться найти координаты? (Рекомендуется 5–20) count: 10 # Настройки частиц при спавне мобов из спавнера particles: # Включены ли частицы? (true/false) enabled: true # Тип частиц (доступные: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html) type: "SMOKE_NORMAL" # Сколько частиц отображать? count: 100 # Расстояние разброса частиц по осям X, Y, Z offset-x: 0.5 offset-y: 0.5 offset-z: 0.5 # Ограничение на количество спавнеров для каждого игрока limit-spawners-the-players: # Активен ли лимит? (true/false) enabled: true # Максимальное число спавнеров на игрока max-spawners: 5 # Сообщение игроку при превышении лимита message: "&cСтоп! &fВы &cне можете &fпоставить более &c{limit-spawners} &fспанеров!" # Право, позволяющее обойти лимит bypass-permission: upgradespawners.bypass.limit-spawners # Ограничение по высоте установки спавнеров limit-coordinates-y-spawners: # Активен ли лимит высоты? (true/false) enabled: true # Минимальная допустимая высота (Y) min-y: -30 # Сообщение при установке ниже минимума message-min: "&cСтоп! &fВы &cне можете &fпоставить спавнер ниже &c{limit-min-y} &fвысоты!" # Максимальная допустимая высота (Y) max-y: 180 # Сообщение при установке выше максимума message-max: "&cСтоп! &fВы &cне можете &fпоставить спавнер выше &c{limit-max-y} &fвысоты!" # Право, позволяющее игнорировать лимит высоты bypass-permission: upgradespawners.bypass.limit-coordinates-y # Настройки голограмм над спавнерами holograms: # Голограмма для спавнера с установленным мобом active-mob: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдеры {level}, {time}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавн через: &e{time}с." # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Голограмма для пустого спавнера (работает с версии 1.19.3 и выше) empty-mob: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдер {level}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавнер пуст" # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Голограмма для приостановленного спавнера stop-spawner: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдер {level}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавнер приостановлен" # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Радиус, в котором убийство мобов засчитывается для прокачки спавнера radius-kill-mobs-spawner: # Расстояние в блоках radius: 20 # Радиус, в котором игроки получают сообщение о повышении уровня спавнера radius-message-level-up-spawner: # Расстояние в блоках radius: 20 # Настройка сообщений плагина # Чтобы убрать сообщение, оставьте его пустым messages: spawners-messages: spawner-level-up: "&aСпавнер в {blocks} блоков от вас повысился до {level} уровня!" spawner-max-level: "&aСпавнер в {blocks} блоков от вас достиг максимального {level} уровня!" spawner-egg-change-denied: "&cУстановка яиц спавна в спавнеры запрещена!" plugin-messages: reload: config: "&aКонфиг успешно перезагружен за {time}мс.!" spawners: "&aВсе спавнера успешно перезагружены за {time}мс.!" holograms: "&aГолограммы успешно перезагружены за {time}мс.!" all: "&aВесь плагин успешно перезагружен за {time}мс.!" no-console: "&cТолько игрок может использовать данную команду!" no-found-player: "&cИгрок {player} не найден!" no-permission: "&cНедостаточно прав!" spawner-menu-closed: "&cМеню спавнера было закрыто из-за перезагрузки, пожалуйста подождите..." spawner-egg-change-denied: "&cВы не можете изменить яйцо в спавнере в этом регионе!" spawner-menu-access-denied: "&cВы не можете открыть меню спавнера в этом регионе!" usage-commands: - "" - " &aКоманды плагина:" - "" - " &6/us reload (all/config/spawners) &f- Перезагрузить что-либо в плагине" - " &6/us logs [on/off] &f- Включить/выключить логи" - " &6/us tpspawner [Айди] (Никнейм) &f- Телепортироваться к любому спавнеру" - " &6/us getid &f- Получить айди спавнера, если смотреть на него" - " &6/us setlevel [Уровень] (Айди/all) (-nocd) &f- Установить уровень спавнера" - " &6/us toggle [stop/continue] (Айди/all) &f- Приостановить/продолжить работу спавнера(ов)" - " &6/us delete (Айди) &f- Удалить спавнер из базы данных" - " &6/us cleardb &f- Очистить всю базу данных" - " &6/us openmenu [Айди] &f- Открыть меню какого-либо спавнера" - "" logs: enabled: "&aЛоги: включены" already-enabled: "&cЛоги уже включены!" disabled: "&aЛоги: выключены" already-disabled: "&cЛоги уже выключены!" tpspawner: success: - "&aИгрок {player} телепортирован к спавнеру с айди {id-spawner}!" - "&aКоординаты: {x-spawner} {y-spawner} {z-spawner}, Мир: {world-spawner}" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" getid: success: "&aАйди данного спавнера: {id-spawner}" not-found: "&cЭтот спавнер не зарегистрирован в базе данных!" no-spawner: "&cВы должны смотреть на спавнер!" setlevel: success: "&aУровень спавнера с айди {spawner-id} успешно обновлён до {level}!" success-no-cooldown: "&aУровень спавнера с айди {spawner-id} обновлён до {level} без сброса таймера!" invalid-level: "&cУкажите корректный уровень!" no-spawner: "&cВы должны смотреть на спавнер!" level-too-high: "&cУровень {level} превышает максимальный ({max-level})!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" success-all: "&aУровень всех спавнеров изменён на {level}! (Всего их: {amount-all-spawners})" success-all-no-cooldown: "&aУровень всех спавнеров изменён на {level} без сброса таймера! (Всего их: {amount-all-spawners})" toggle: success-stop: "&aСпавнер с айди {spawner-id} успешно приостановлен в работе!" success-stop-all: "&aВсе спавнера успешно приостановлены в работе! (Всего их: {amount-all-spawners})" success-continue: "&aСпавнер с айди {spawner-id} успешно продолжен в работе!" success-continue-all: "&aВсе спавнера успешно продолжены в работе! (Всего их: {amount-all-spawners})" no-spawner: "&cВы должны смотреть на спавнер!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" already-stop: "&cДанный спавнер уже приостановлен в работе!" already-continue: "&cДанный спавнер уже продолжен в работе!" already-stop-all: "&cВсе спавнера уже приостановлены в работе!" already-continue-all: "&cВсе спавнера уже продолжены в работе!" delete: success: "&aСпавнер с айди {id-spawner} успешно удалён!" not-found: "&cЭтот спавнер не зарегистрирован в базе данных!" no-spawner: "&cВы должны смотреть на спавнер!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" cleardb: confirm-message: - "&a&n▌&r" - "&a&n▌&r &fВы точно хотите &aочистить &fбазу данных?" - "&a&n▌&r" - "&a&n▌&r {confirm-button}" - "&a▌&r " confirm-button: "&a[Подтвердить]" confirm-hover: "&fНажмите, чтобы &aочистить &fвсю базу данных \nУ вас есть &a30сек.&f, чтобы &aподтвердить &fоперацию" must-click: "&cНажмите на кнопку &a[Подтвердить]&c, чтобы очистить базу данных!" success: - "&aБаза данных очищена за {time}мс.!" - "&aВсего очищено спавнеров: {clear-total-spawners}" no-spawners: "&cБаза данных уже полностью пуста!" error: "&cПроизошла ошибка при очистке базы данных спавнеров! Подробности в консоли." time-up: "&cВремя на подтверждение вышло, команда отменена..." already-confirmed: "&cВы уже подтвердили очистку или время истекло!" openmenu: success: "&aМеню спавнера с айди {id-spawner} успешно открыто!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!"
Новый optimization.yml:
YAML:# # █░█ █▀█ █▀▀ █▀█ ▄▀█ █▀▄ █▀▀ █▀ █▀█ ▄▀█ █░█░█ █▄░█ █▀▀ █▀█ █▀ # █▄█ █▀▀ █▄█ █▀▄ █▀█ █▄▀ ██▄ ▄█ █▀▀ █▀█ ▀▄▀▄▀ █░▀█ ██▄ █▀▄ ▄█ # # By MilkyWay for GornaWorld.fun and sale # # Настройки оптимизации для снижения нагрузки на сервер optimization: # Оптимизация базы данных # Настройки для повышения производительности работы с базой данных # Уровень оптимизации: Высокий database: # Параметры пакетной обработки batch-processing: # Размер пакета для пакетной записи # Определяет, сколько операций записи объединяется в одну транзакцию # По умолчанию: 50, рекомендуемый диапазон: 10-100 size: 50 # Включение дедупликации операций в очереди (true/false) # Если включено, повторные обновления одного спавнера перезаписывают предыдущие # Уменьшает нагрузку на базу данных # Уровень оптимизации: Средний deduplication: true # Индексация для ускорения запросов (true/false) # Создание индекса по полю "owner" для ускорения запросов # Включайте, если плагин часто ищет спавнера по владельцу # Может увеличить время записи, но ускорит поиск # Уровень оптимизации: Низкий index-owner: false # Оптимизация голограмм # Контроль отображения и обновления голограмм для снижения нагрузки # Уровень оптимизации: Средний - Высокий holograms: # Управление видимостью и обновлением visibility: # Ограничение видимости голограмм # Голограммы скрываются, если игрок находится дальше указанного радиуса # Уровень оптимизации: Средний limit: enabled: true # Радиус видимости (в блоках) # По умолчанию: 20, рекомендуемый диапазон: 10-40 radius: 20 # Остановка обновления голограмм вне радиуса # Если включено, голограммы не обновляются, если игроков нет в радиусе # Уровень оптимизации: Высокий no-update: enabled: true # Радиус для проверки игроков (в блоках) # По умолчанию: 20, рекомендуемый диапазон: 10-40 radius: 20 # Периодическая очистка устаревших голограмм # Уровень оптимизации: Средний cleanup: # Включен ли параметр? (true/false) enabled: true # Интервал проверки (в тиках, 1 секунда = 20 тиков) # По умолчанию: 1200 (60 секунд), рекомендуемый диапазон: 600-2400 interval: 1200 # Проверять только загруженные чанки? (true/false) # Если true, проверяет только загруженные чанки, что снижает нагрузку loaded-chunks-only: true # Управление мобами # Настройки для контроля спавна и удаления мобов # Уровень оптимизации: Высокий mobs: # Удаление мобов с замороженным интеллектом, находящихся далеко от спавнера # Работает только если включён параметр "freeze-ai" # Уровень оптимизации: Средний cleanup: # Включен ли параметр? (true/false) enabled: true # Максимальное расстояние от спавнера (в блоках) # По умолчанию: 50, рекомендуемый диапазон: 30-100 max-distance: 50 # Интервал проверки (в тиках) # 1 секунда = 20 тиков # По умолчанию: 200, рекомендуемый диапазон: 100-400 check-interval: 200 # Радиус вокруг моба для проверки наличия игроков (в блоках) # По умолчанию: 10, рекомендуемый диапазон: 5-20 player-radius: 10 # Ограничение плотности мобов вокруг спавнера # Уровень оптимизации: Высокий density-limit: # Включен ли параметр? (true/false) enabled: true # Радиус проверки (в блоках) # По умолчанию: 25, рекомендуемый диапазон: 10-50 radius: 25 # Максимальное количество мобов в радиусе # По умолчанию: 20, рекомендуемый диапазон: 10-50 max-mobs: 20 # Режим ограничения: # - ALL: Все мобы в радиусе (Уровень оптимизации: Высокий) # - SAME_TYPE: Только мобы того же типа (Уровень оптимизации: Средний) # - SPAWNER_OWNED: Только мобы, принадлежащие этому спавнеру (Уровень оптимизации: Низкий) mode: SPAWNER_OWNED # Заморозка интеллекта мобов # Отключает ИИ мобов для снижения нагрузки # Уровень оптимизации: Высокий freeze-ai: # Включен ли параметр? (true/false) enabled: false # Запрет спавна мобов, если в радиусе нет игроков # Уровень оптимизации: Высокий require-player: # Включен ли параметр? (true/false) enabled: true # Радиус для проверки игроков (в блоках) # По умолчанию: 50, рекомендуемый диапазон: 30-100 radius: 50 # Запрет спавна в непрогруженных чанках # Уровень оптимизации: Высокий require-chunk-loaded: # Включен ли параметр? (true/false) enabled: true # Удаление мобов, если в радиусе нет игроков # Уровень оптимизации: Высокий cleanup-no-players: # Включен ли параметр? (true/false) enabled: true # Радиус проверки игроков (в блоках) # По умолчанию: 30, рекомендуемый диапазон: 20-60 player-radius: 30 # Время до удаления мобов (в секундах) # 0 = мгновенное удаление, по умолчанию: 10, рекомендуемый диапазон: 0-60 delay-seconds: 10 # Интервал проверки (в тиках) # По умолчанию: 200, рекомендуемый диапазон: 100-400 check-interval: 200 # Максимальное количество спавнеров, проверяемых за тик # По умолчанию: 10, рекомендуемый диапазон: 5-20 max-spawners-per-tick: 10 # Радиус от игрока для проверки мобов спавнеров (в блоках) # "-1" = проверять все спавнеры в мире, по умолчанию: 64, рекомендуемый диапазон: 32-128 mob-player-radius: -1 # Ограничение общего количества мобов в мире # Уровень оптимизации: Высокий world-mob-limit: # Включен ли параметр? (true/false) enabled: false # Максимальное количество мобов во всём мире # По умолчанию: 500, рекомендуемый диапазон: 200-1000 max-mobs: 500 # Действие при превышении лимита: # - PAUSE: Приостанавливать спавн новых мобов # - PRIORITIZE_ACTIVE: Отдавать приоритет спавнерам в активных чанках # - RANDOM: Случайно выбирать спавнеры для спавна overflow-action: PAUSE # Динамическая регулировка частоты спавна # Замедляет спавн при низком TPS или большом количестве игроков # Уровень оптимизации: Высокий spawn-rate: # Включен ли параметр? (true/false) enabled: true # Диапазон множителя кулдауна спавна # 1.0 = стандартная частота, 2.0 = спавн в 2 раза реже # Рекомендуемый диапазон: 1.0-3.0 cooldown-multiplier: min: 1.0 max: 2.0 # Регулировка по TPS сервера tps-scaling: # Включен ли параметр? (true/false) enabled: true # Порог TPS, ниже которого спавн замедляется # По умолчанию: 16.0, рекомендуемый диапазон: 10.0-18.0 low-tps: 16.0 # Множитель при низком TPS # По умолчанию: 1.8, рекомендуемый диапазон: 1.0-3.0 low-tps-multiplier: 1.8 # Множитель при нормальном TPS # По умолчанию: 1.0, рекомендуемый диапазон: 0.5-1.5 normal-tps-multiplier: 1.0 # Регулировка по количеству игроков player-scaling: # Включен ли параметр? (true/false) enabled: false # Радиус для подсчёта игроков (в блоках) # По умолчанию: 32, рекомендуемый диапазон: 16-64 radius: 32 # Увеличение множителя за каждого игрока # Например, 0.25 = +25% к кулдауну за игрока # По умолчанию: 0.25, рекомендуемый диапазон: 0.1-0.5 multiplier-step: 0.25 # Максимальное количество игроков для расчёта # По умолчанию: 10, рекомендуемый диапазон: 10-20 max-players: 15 # Режим комбинирования множителей # - MAX: Используется максимальный множитель # - AVERAGE: Используется среднее значение combination: MAX # Асинхронная обработка спавнеров # Выполняет некоторые проверки спавнеров в асинхронном потоке # Уровень оптимизации: Высокий async-spawner-processing: # Включен ли параметр? (true/false) enabled: true # Какие операции выполнять асинхронно # - BLOCK_CHECK: Проверка типа блока # - SYNC_PARAMETERS: Синхронизация параметров спавнера # - HOLOGRAM_UPDATE: Обновление голограмм async-operations: - BLOCK_CHECK - SYNC_PARAMETERS # Максимальное количество спавнеров, обрабатываемых асинхронно за тик # По умолчанию: 20, рекомендуемый диапазон: 10-50 max-spawners-per-tick: 20 # Интервал асинхронной обработки (в тиках) # По умолчанию: 10, рекомендуемый диапазон: 5-20 interval: 10 # Оптимизация для управления чанками со спавнерами # Уровень оптимизации: Высокий chunks: # Ограничение количества одновременно обрабатываемых чанков # Уровень оптимизации: Высокий processing-limit: # Включен ли параметр? (true/false) enabled: true # Максимальное количество чанков за тик # По умолчанию: 5, рекомендуемый диапазон: 3-10 max-chunks-per-tick: 5 # Управление выгрузкой чанков со спавнерами # Выгружает чанки при отсутствии игроков или низком TPS # Уровень оптимизации: Высокий unload-chunks: # Включен ли параметр? (true/false) enabled: true # Радиус для проверки игроков (в блоках) # По умолчанию: 128, рекомендуемый диапазон: 64-256 player-radius: 128 # Интервал проверки чанков (в тиках) # По умолчанию: 600, рекомендуемый диапазон: 200-1200 check-interval: 600 # Минимальный TPS для выгрузки чанков # Если TPS ниже, чанки выгружаются быстрее # По умолчанию: 14.0, рекомендуемый диапазон: 10.0-16.0 min-tps: 14.0 # Ограничение загрузки новых чанков # Ограничивает количество чанков, загружаемых за один раз при прогрузке мира # Уровень оптимизации: Высокий chunk-load-limit: # Включен ли параметр? (true/false) enabled: true # Максимальное количество чанков, загружаемых за один тик # По умолчанию: 3, рекомендуемый диапазон: 1-5 max-chunks-per-tick: 3 # Задержка между загрузками чанков (в тиках) # По умолчанию: 10, рекомендуемый диапазон: 5-20 delay-between-loads: 10 # Приоритет загрузки чанков с игроками # Если включено, чанки с игроками загружаются в первую очередь # Уровень оптимизации: Средний prioritize-player-chunks: true # Ограничение проверки спавнеров в чанках # Уменьшает количество проверок спавнеров в новых чанках # Уровень оптимизации: Высокий spawner-check-limit: # Включен ли параметр? (true/false) enabled: true # Максимальное количество спавнеров, проверяемых в чанке за один тик # По умолчанию: 10, рекомендуемый диапазон: 5-20 max-spawners-per-chunk: 10 # Интервал проверки спавнеров в новых чанках (в тиках) # По умолчанию: 20, рекомендуемый диапазон: 10-40 check-interval: 20 # Проверять спавнеры только в активных чанках? (true/false) # Если true, проверяет только чанки с игроками в радиусе active-chunks-only: true # Радиус для определения активных чанков (в блоках) # По умолчанию: 64, рекомендуемый диапазон: 32-128 active-chunk-radius: 64 # Кэширование проверок радиуса игроков # Использует кэш для оптимизации поиска игроков # Уровень оптимизации: Средний player-radius-cache: # Включен ли параметр? (true/false) enabled: true # Интервал обновления кэша (в тиках) # По умолчанию: 10, рекомендуемый диапазон: 5-20 update-interval: 10 # Динамическая регулировка интервала обновления dynamic-interval: # Включен ли параметр? (true/false) enabled: true # Минимальный TPS, при котором интервал увеличивается low-tps-threshold: 15.0 # Множитель интервала при низком TPS low-tps-multiplier: 1.5 # Максимальный интервал (в тиках) max-interval: 20 # Радиус кэширования (в чанках) # Ограничивает проверку игроков в радиусе от спавнеров radius: 8 # Режим кэширования # - FULL: кэшировать все чанки с игроками # - SPAWNER_ONLY: кэшировать только чанки со спавнерами # - PLAYER_ONLY: кэшировать только чанки с игроками # - ADAPTIVE: переключаться между режимами mode: ADAPTIVE # Максимальное число кэшируемых чанков max-chunks: 1000 # # Рекомендации по настройке параметров optimization.yml для оптимизации плагина # под различные характеристики сервера # # Ниже приведены рекомендации по настройке каждого параметра в зависимости от характеристик # сервера (CPU, RAM) и поведения, описанного пользователем: сервер с 6 ГБ RAM и 200% CPU # испытывает задержки в прогрузке чанков (1-2 секунды), а сервер с 10 ГБ RAM работает стабильно # с быстрой прогрузкой чанков. Эти рекомендации помогут минимизировать задержки и нагрузку # # Текущие параметры по умолчанию установлены для сервера со средними характеристиками # (примерно 8 ГБ RAM, 2-4 ядра CPU с частотой 3.0+ ГГц). Они обеспечивают баланс # между производительностью и функциональностью, но могут быть не оптимальны для # серверов с меньшими (6 ГБ RAM, 200% CPU) или большими (10 ГБ RAM и выше) ресурсами # # === database === # - batch-processing.size: # Для сервера с 6 ГБ RAM: Установите 20-30, чтобы снизить нагрузку на базу данных # при ограниченных ресурсах. Меньший размер пакета уменьшает пиковую нагрузку на CPU # Для сервера с 10 ГБ RAM: Можно установить 50-70 для более быстрой обработки, # так как ресурсов достаточно # - batch-processing.deduplication: # Рекомендуется включить (true) для обоих случаев. Это уменьшает количество # операций записи, что полезно при любой нагрузке # - batch-processing.index-owner: # Для сервера с 6 ГБ RAM: Отключите (false), чтобы минимизировать затраты на # индексацию, так как это может замедлить запись при ограниченной памяти # Для сервера с 10 ГБ RAM: Включите (true), если плагин часто выполняет поиск # спавнеров по владельцу, так как это ускорит запросы без значительных затрат # # === holograms === # - visibility.limit.enabled: # Включите (true) для обоих серверов, чтобы ограничить видимость голограмм и # снизить нагрузку на рендеринг # - visibility.limit.radius: # Для сервера с 6 ГБ RAM: Установите 10-15 блоков, чтобы уменьшить количество # отображаемых голограмм и снизить нагрузку # Для сервера с 10 ГБ RAM: Можно установить 20-25 блоков для лучшей видимости # без значительного влияния на производительность # - visibility.no-update.enabled: # Включите (true) для обоих серверов. Это предотвращает обновление голограмм, # если рядом нет игроков, что снижает нагрузку # - visibility.no-update.radius: # Для сервера с 6 ГБ RAM: Установите 10-15 блоков, чтобы минимизировать проверки # Для сервера с 10 ГБ RAM: Установите 20 блоков для баланса между оптимизацией # и функциональностью # - cleanup.enabled: # Включите (true) для обоих серверов, чтобы удалять устаревшие голограммы # - cleanup.interval: # Для сервера с 6 ГБ RAM: Установите 1800-2400 тиков (90-120 секунд), чтобы # реже выполнять очистку и снизить нагрузку # Для сервера с 10 ГБ RAM: Установите 600-1200 тиков (30-60 секунд) для более # частой очистки и поддержания актуальности # - cleanup.loaded-chunks-only: # Включите (true) для обоих серверов, чтобы ограничить проверки загруженными # чанками и снизить нагрузку на CPU # # === mobs === # - cleanup.enabled: # Включите (true) для обоих серверов, чтобы удалять мобов, которые находятся # далеко от спавнеров, снижая общее количество сущностей # - cleanup.max-distance: # Для сервера с 6 ГБ RAM: Установите 30-40 блоков, чтобы минимизировать количество # мобов в памяти # Для сервера с 10 ГБ RAM: Установите 50-60 блоков, чтобы сохранить больше мобов # для геймплея # - cleanup.check-interval: # Для сервера с 6 ГБ RAM: Установите 300-400 тиков (15-20 секунд), чтобы реже # проверять мобов и снизить нагрузку # Для сервера с 10 ГБ RAM: Установите 100-200 тиков (5-10 секунд) для более # частой очистки # - cleanup.player-radius: # Для сервера с 6 ГБ RAM: Установите 5-10 блоков, чтобы быстрее удалять мобов # при отсутствии игроков # Для сервера с 10 ГБ RAM: Установите 10-15 блоков для сохранения мобов дольше # - density-limit.enabled: # Включите (true) для обоих серверов, чтобы ограничить плотность мобов и снизить # нагрузку на сервер # - density-limit.radius: # Для сервера с 6 ГБ RAM: Установите 15-20 блоков, чтобы ограничить область # проверки и снизить нагрузку # Для сервера с 10 ГБ RAM: Установите 25-30 блоков для более комфортного геймплея # - density-limit.max-mobs: # Для сервера с 6 ГБ RAM: Установите 10-15 мобов, чтобы минимизировать нагрузку # Для сервера с 10 ГБ RAM: Установите 20-25 мобов для более насыщенного спавна # - density-limit.mode: # Для сервера с 6 ГБ RAM: Установите SPAWNER_OWNED, чтобы проверять только мобов # конкретного спавнера, минимизируя вычисления # Для сервера с 10 ГБ RAM: Можно установить SAME_TYPE или ALL для более гибкого # контроля, если производительность позволяет # - freeze-ai.enabled: # Для сервера с 6 ГБ RAM: Включите (true), чтобы отключить ИИ мобов и снизить # нагрузку на CPU # Для сервера с 10 ГБ RAM: Можно оставить выключенным (false), если геймплей # требует активного ИИ мобов # - require-player.enabled: # Включите (true) для обоих серверов, чтобы спавнить мобов только при наличии # игроков, что значительно снижает нагрузку # - require-player.radius: # Для сервера с 6 ГБ RAM: Установите 30-40 блоков, чтобы ограничить спавн и # снизить нагрузку # Для сервера с 10 ГБ RAM: Установите 50-60 блоков для более широкого радиуса # спавна # - require-chunk-loaded.enabled: # Включите (true) для обоих серверов, чтобы предотвратить спавн в непрогруженных # чанках, что улучшает стабильность # - cleanup-no-players.enabled: # Включите (true) для обоих серверов, чтобы удалять мобов при отсутствии игроков # - cleanup-no-players.player-radius: # Для сервера с 6 ГБ RAM: Установите 20-25 блоков, чтобы быстрее удалять мобов # Для сервера с 10 ГБ RAM: Установите 30-40 блоков для сохранения мобов дольше # - cleanup-no-players.delay-seconds: # Для сервера с 6 ГБ RAM: Установите 5-10 секунд для быстрого удаления мобов # Для сервера с 10 ГБ RAM: Установите 10-15 секунд для более плавного геймплея # - cleanup-no-players.check-interval: # Для сервера с 6 ГБ RAM: Установите 300-400 тиков (15-20 секунд), чтобы реже # проверять мобов # Для сервера с 10 ГБ RAM: Установите 100-200 тиков (5-10 секунд) для частой # очистки # - cleanup-no-players.max-spawners-per-tick: # Для сервера с 6 ГБ RAM: Установите 5-10 спавнеров, чтобы ограничить проверки # Для сервера с 10 ГБ RAM: Установите 10-15 спавнеров для более быстрой обработки # - cleanup-no-players.mob-player-radius: # Для сервера с 6 ГБ RAM: Установите 32-64 блоков, чтобы ограничить проверки # Для сервера с 10 ГБ RAM: Установите -1 (все спавнеры) или 64-128 блоков, если # производительность позволяет # # === world-mob-limit === # - enabled: # Для сервера с 6 ГБ RAM: Включите (true), чтобы ограничить общее количество # мобов и снизить нагрузку # Для сервера с 10 ГБ RAM: Можно отключить (false), если геймплей требует больше # мобов # - max-mobs: # Для сервера с 6 ГБ RAM: Установите 200-300 мобов, чтобы минимизировать нагрузку # Для сервера с 10 ГБ RAM: Установите 400-600 мобов для более насыщенного мира # - overflow-action: # Для сервера с 6 ГБ RAM: Установите PAUSE, чтобы приостановить спавн при # превышении лимита # Для сервера с 10 ГБ RAM: Установите PRIORITIZE_ACTIVE, чтобы отдавать # приоритет активным чанкам # # === spawn-rate === # - enabled: # Включите (true) для обоих серверов, чтобы динамически регулировать спавн # - cooldown-multiplier.min: # Для обоих серверов: Установите 1.0 для стандартной частоты спавна # - cooldown-multiplier.max: # Для сервера с 6 ГБ RAM: Установите 2.0-2.5, чтобы замедлить спавн при # высокой нагрузке # Для сервера с 10 ГБ RAM: Установите 1.5-2.0 для меньшего замедления # - tps-scaling.enabled: # Включите (true) для обоих серверов, чтобы регулировать спавн по TPS # - tps-scaling.low-tps: # Для сервера с 6 ГБ RAM: Установите 14.0-15.0, чтобы раньше замедлять спавн # Для сервера с 10 ГБ RAM: Установите 16.0-17.0, так как сервер справляется лучше # - tps-scaling.low-tps-multiplier: # Для сервера с 6 ГБ RAM: Установите 2.0-2.5 для сильного замедления спавна # Для сервера с 10 ГБ RAM: Установите 1.5-1.8 для умеренного замедления # - tps-scaling.normal-tps-multiplier: # Для обоих серверов: Установите 0.8-1.0 для нормальной работы при высоком TPS # - player-scaling.enabled: # Для сервера с 6 ГБ RAM: Отключите (false), чтобы не увеличивать нагрузку # дополнительными проверками # Для сервера с 10 ГБ RAM: Включите (true), если нужно учитывать количество игроков # - player-scaling.radius: # Для сервера с 10 ГБ RAM: Установите 32-48 блоков для проверки игроков # - player-scaling.multiplier-step: # Для сервера с 10 ГБ RAM: Установите 0.1-0.2 для умеренного увеличения кулдауна # - player-scaling.max-players: # Для сервера с 10 ГБ RAM: Установите 10-15 игроков для ограничения проверок # - player-scaling.combination: # Для сервера с 10 ГБ RAM: Установите AVERAGE для более плавной регулировки # # === async-spawner-processing === # - enabled: # Включите (true) для обоих серверов, чтобы снизить нагрузку на основной поток # - async-operations: # Для сервера с 6 ГБ RAM: Установите [BLOCK_CHECK, SYNC_PARAMETERS], чтобы # минимизировать асинхронные задачи и избежать проблем с синхронизацией # Для сервера с 10 ГБ RAM: Установите [BLOCK_CHECK, SYNC_PARAMETERS, HOLOGRAM_UPDATE] # для максимальной оптимизации # - max-spawners-per-tick: # Для сервера с 6 ГБ RAM: Установите 10-15 спавнеров, чтобы ограничить нагрузку # Для сервера с 10 ГБ RAM: Установите 20-30 спавнеров для более быстрой обработки # - interval: # Для сервера с 6 ГБ RAM: Установите 15-20 тиков, чтобы реже выполнять проверки # Для сервера с 10 ГБ RAM: Установите 5-10 тиков для более частой обработки # # === chunks === # - processing-limit.enabled: # Включите (true) для обоих серверов, чтобы ограничить обработку чанков # - processing-limit.max-chunks-per-tick: # Для сервера с 6 ГБ RAM: Установите 3-4 чанка, чтобы минимизировать задержки # при прогрузке # Для сервера с 10 ГБ RAM: Установите 5-7 чанков для более быстрой прогрузки # - unload-chunks.enabled: # Включите (true) для обоих серверов, чтобы выгружать неактивные чанки # - unload-chunks.player-radius: # Для сервера с 6 ГБ RAM: Установите 64-96 блоков, чтобы быстрее выгружать чанки # Для сервера с 10 ГБ RAM: Установите 128-192 блока для сохранения чанков дольше # - unload-chunks.check-interval: # Для сервера с 6 ГБ RAM: Установите 800-1200 тиков (40-60 секунд), чтобы реже # проверять чанки # Для сервера с 10 ГБ RAM: Установите 400-600 тиков (20-30 секунд) для частой # проверки # - unload-chunks.min-tps: # Для сервера с 6 ГБ RAM: Установите 12.0-14.0, чтобы раньше выгружать чанки # Для сервера с 10 ГБ RAM: Установите 14.0-16.0 для менее агрессивной выгрузки # - chunk-load-limit.enabled: # Включите (true) для обоих серверов, чтобы устранить задержки при прогрузке чанков # - chunk-load-limit.max-chunks-per-tick: # Для сервера с 6 ГБ RAM: Установите 1-2 чанка, чтобы минимизировать задержки # (1-2 секунды, как указано) # Для сервера с 10 ГБ RAM: Установите 3-4 чанка, так как сервер справляется лучше # - chunk-load-limit.delay-between-loads: # Для сервера с 6 ГБ RAM: Установите 15-20 тиков, чтобы увеличить паузу между # загрузками и снизить нагрузку # Для сервера с 10 ГБ RAM: Установите 5-10 тиков для более быстрой прогрузки # - chunk-load-limit.prioritize-player-chunks: # Включите (true) для обоих серверов, чтобы ускорить прогрузку чанков с игроками # - spawner-check-limit.enabled: # Включите (true) для обоих серверов, чтобы ограничить проверки спавнеров # - spawner-check-limit.max-spawners-per-chunk: # Для сервера с 6 ГБ RAM: Установите 5-8 спавнеров, чтобы снизить нагрузку # Для сервера с 10 ГБ RAM: Установите 10-15 спавнеров для более быстрой обработки # - spawner-check-limit.check-interval: # Для сервера с 6 ГБ RAM: Установите 30-40 тиков, чтобы реже проверять спавнеры # Для сервера с 10 ГБ RAM: Установите 10-20 тиков для частой проверки # - spawner-check-limit.active-chunks-only: # Включите (true) для обоих серверов, чтобы обрабатывать только активные чанки # - spawner-check-limit.active-chunk-radius: # Для сервера с 6 ГБ RAM: Установите 32-48 блоков, чтобы ограничить проверки # Для сервера с 10 ГБ RAM: Установите 64-96 блоков для более широкого охвата # - player-radius-cache.enabled: # Включите (true) для обоих серверов, чтобы кэшировать проверки игроков # - player-radius-cache.update-interval: # Для сервера с 6 ГБ RAM: Установите 15-20 тиков, чтобы реже обновлять кэш # Для сервера с 10 ГБ RAM: Установите 5-10 тиков для частого обновления # - player-radius-cache.dynamic-interval.enabled: # Включите (true) для обоих серверов, чтобы адаптировать интервал к TPS # - player-radius-cache.dynamic-interval.low-tps-threshold: # Для сервера с 6 ГБ RAM: Установите 14.0-15.0, чтобы раньше увеличивать интервал # Для сервера с 10 ГБ RAM: Установите 16.0-17.0 для менее агрессивной регулировки # - player-radius-cache.dynamic-interval.low-tps-multiplier: # Для сервера с 6 ГБ RAM: Установите 1.5-2.0 для сильного увеличения интервала # Для сервера с 10 ГБ RAM: Установите 1.2-1.5 для умеренного увеличения # - player-radius-cache.dynamic-interval.max-interval: # Для сервера с 6 ГБ RAM: Установите 25-30 тиков, чтобы ограничить частоту # Для сервера с 10 ГБ RAM: Установите 15-20 тиков для более частого обновления # - player-radius-cache.radius: # Для сервера с 6 ГБ RAM: Установите 4-6 чанков, чтобы ограничить проверки # Для сервера с 10 ГБ RAM: Установите 8-10 чанков для более широкого охвата # - player-radius-cache.mode: # Для сервера с 6 ГБ RAM: Установите SPAWNER_ONLY или PLAYER_ONLY, чтобы # минимизировать кэшируемые чанки # Для сервера с 10 ГБ RAM: Установите ADAPTIVE или FULL для максимальной # эффективности # - player-radius-cache.max-chunks: # Для сервера с 6 ГБ RAM: Установите 500-700 чанков, чтобы ограничить память # Для сервера с 10 ГБ RAM: Установите 1000-1500 чанков для более полного кэша # # === Общие рекомендации === # Для сервера с 6 ГБ RAM и задержками при прогрузке чанков (1-2 секунды): # - Сосредоточьтесь на минимизации проверок и обработок, используя меньшие радиусы, # более редкие интервалы и ограничения на количество спавнеров/чанков за тик # Включите параметры, такие как require-player, require-chunk-loaded, и # cleanup-no-players, чтобы минимизировать спавн и очистку мобов # - Используйте SPAWNER_OWNED для density-limit.mode и отключите player-scaling, # чтобы избежать лишних вычислений # # Для сервера с 10 ГБ RAM и стабильной прогрузкой чанков: # - Можно использовать более агрессивные настройки (больше спавнеров/чанков за тик, # меньшие интервалы, большие радиусы), так как сервер справляется с нагрузкой # Включите player-scaling и index-owner, если геймплей требует сложных проверок # - Используйте ADAPTIVE или FULL для player-radius-cache.mode, чтобы максимально # использовать доступную память # # Эти настройки помогут сбалансировать производительность и функциональность плагина, # устраняя задержки при прогрузке чанков на сервере с 6 ГБ RAM и поддерживая # стабильную работу на сервере с 10 ГБ RAM
- Исправлен баг в обработке события входа игрока, из-за которого возникала ошибка, связанная с некорректной загрузкой голограмм спавнеров. Теперь голограммы обновляются стабильно, обеспечивая правильную работу плагина без сбоев
- Исправлен баг, из-за которого плагин выдавал ошибку при попытке проверить расстояние до игроков, находящихся в другом мире
- Исправлен баг, из-за которого голограммы спавнеров создавали спам в консоли при использовании ProtocolLib. Теперь логирование статуса ProtocolLib происходит один раз при инициализации, а голограммы работают стабильно
- Более оптимизирован класс, отвечающий за голограммы. Теперь при большом скоплении спавнеров в одном месте, голограммы не будут сильно нагружать сервер
- Исправлен баг, связанный с тем, что каким-то образом мобы из спавнера не спавнились. Ошибка возникла из-за неправильного кода, который неправильно вычислял радиус игроков и затем сохранял эти данные
- Исправлен очень серьёзный баг, из-за которого спавнер после смены типа моба продолжал спавнить старый тип мобов. Теперь при изменении типа моба все данные спавнера сбрасываются, и он корректно спавнит только новый тип мобов
- Улучшено логирование в консоль: удалены логи, которые бесконечно спамили в консоль, замены и объединены некоторые логи в классе, управляющим голограммами
- Добавлен новый параметр в конфиге "explosion-spawners", позволяющий включить и выключить взрывоустойчивость от любых взрывов для спавнеров спавнеров
- Добавлен новый параметр "protocollib", для включения/выключения плагина ProtocolLib для лучшей оптимизации и упрощения голограмм)
YAML:# # █░█ █▀█ █▀▀ █▀█ ▄▀█ █▀▄ █▀▀ █▀ █▀█ ▄▀█ █░█░█ █▄░█ █▀▀ █▀█ █▀ # █▄█ █▀▀ █▄█ █▀▄ █▀█ █▄▀ ██▄ ▄█ █▀▀ █▀█ ▀▄▀▄▀ █░▀█ ██▄ █▀▄ ▄█ # # By MilkyWay for GornaWorld.fun and sale # # Настройки параметров плагина settings: # Включение вывода логов плагина в консоль для отладки ошибок logs-in-console: # Активны ли логи? (true/false) enabled: false # Список миров, где плагин не будет работать disable-worlds: # Включён ли запрет для указанных миров? (true/false) enabled: false # Названия миров worlds: - "CustomWorld" - "CustomWorld2" - "CustomWorld_3" # Удалять ли яйцо призыва моба из инвентаря игрока при его установке в спавнер consume-spawn-egg: # Включено ли удаление яйца? (true/false) # Если true, яйцо будет удаляться из основной или дополнительной руки игрока после установки # Если false, яйцо останется в инвентаре игрока enabled: true # Ограничение изменения яйца в спавнере в чужих регионах WorldGuard restrict-spawner-egg-change: # Включено ли ограничение? (true/false) enabled: true # Право, позволяющее обойти ограничение bypass-permission: "upgradespawners.bypass.egg-change" message: enabled: false message: "&cВы не можете изменить яйцо в спавнере в этом регионе!" # Ограничение открытия меню спавнера в чужих регионах WorldGuard restrict-spawner-menu-access: # Включено ли ограничение? (true/false) enabled: true # Право, позволяющее обойти ограничение bypass-permission: "upgradespawners.bypass.menu-access" message: enabled: false message: "&cВы не можете открыть меню спавнера в этом регионе!" # Включение взрывоустойчивости спавнеров explosion-spawners: # Включена ли взрывоустойчивость? (true/false) # (Если true, спавнеры нельзя будет разрушить взрывами или любым другим способом) # (Если false, спавнеры можно будет разрушать как обычно) enabled: false # Интеграция с плагином PlaceholderAPI для использования его плейсхолдеров placeholderapi: # (Рекомендуется выключить данный параметр для снижения нагрузки, если вы не используете его нигде) enabled: true # Интеграция с плагином ProtocolLib позволяет использовать его методы для создания голограммя # (Для использования данного параметра должен обязательно установлен плагин ProtocolLib) protocollib: # (Рекомендуется выключить данный параметр для лучшей оптимизации и упрощения голограмм) enabled: true # Учёт только убийств мобов, совершённых игроками, для прокачки спавнера count-only-player-kills: # Включён ли режим учёта только убийств игроками? (true/false) # Если true, спавнер будет засчитывать только мобов, убитых игроками напрямую # Если false, будут учитываться все смерти мобов, включая падение, лаву, других мобов и т.д. enabled: true # Время хранения данных удалённых спавнеров перед их окончательным удалением из памяти # Укажите 0, чтобы отключить автоматическое удаление (данные будут храниться до перезапуска сервера) removed-spawners-timeout: # Время в секундах, после которого данные спавнера будут удалены из временного хранилища, если спавнер не был восстановлен # (Рекомендуется значение 60-600 секунд) time: 300 # Время ожидания подтверждения для команды очистки базы данных (/us cleardb) # Укажите 0, чтобы отключить таймер (подтверждение будет активно до ручного выполнения или перезапуска сервера) cleardb-confirmation-timeout: # Время в секундах, после которого запрос на подтверждение очистки базы данных будет отменён time: 30 # Сбрасывать ли уровень спавнера при установке нового яйца призыва в спавнер reset-level-on-new-egg: # Включён ли сброс уровня? (true/false) enabled: true # Сбрасывать ли время до спавна мобов на значение текущего уровня при повышении уровня спавнера reset-cooldown-on-level-up: # Включён ли сброс времени до спавна? (true/false) enabled: true # Количество попыток найти место для спавна мобов spawn-attempts: # Сколько раз пытаться найти координаты? (Рекомендуется 5–20) count: 10 # Настройки частиц при спавне мобов из спавнера particles: # Включены ли частицы? (true/false) enabled: true # Тип частиц (доступные: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html) type: "SMOKE_NORMAL" # Сколько частиц отображать? count: 100 # Расстояние разброса частиц по осям X, Y, Z offset-x: 0.5 offset-y: 0.5 offset-z: 0.5 # Ограничение на количество спавнеров для каждого игрока limit-spawners-the-players: # Активен ли лимит? (true/false) enabled: true # Максимальное число спавнеров на игрока max-spawners: 5 # Сообщение игроку при превышении лимита message: "&cСтоп! &fВы &cне можете &fпоставить более &c{limit-spawners} &fспанеров!" # Право, позволяющее обойти лимит bypass-permission: upgradespawners.bypass.limit-spawners # Ограничение по высоте установки спавнеров limit-coordinates-y-spawners: # Активен ли лимит высоты? (true/false) enabled: true # Минимальная допустимая высота (Y) min-y: -30 # Сообщение при установке ниже минимума message-min: "&cСтоп! &fВы &cне можете &fпоставить спавнер ниже &c{limit-min-y} &fвысоты!" # Максимальная допустимая высота (Y) max-y: 180 # Сообщение при установке выше максимума message-max: "&cСтоп! &fВы &cне можете &fпоставить спавнер выше &c{limit-max-y} &fвысоты!" # Право, позволяющее игнорировать лимит высоты bypass-permission: upgradespawners.bypass.limit-coordinates-y # Настройки голограмм над спавнерами holograms: # Голограмма для спавнера с установленным мобом active-mob: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдеры {level}, {time}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавн через: &e{time}с." # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Голограмма для пустого спавнера (работает с версии 1.19.3 и выше) empty-mob: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдер {level}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавнер пуст" # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Голограмма для приостановленного спавнера stop-spawner: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдер {level}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавнер приостановлен" # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Радиус, в котором убийство мобов засчитывается для прокачки спавнера radius-kill-mobs-spawner: # Расстояние в блоках radius: 20 # Радиус, в котором игроки получают сообщение о повышении уровня спавнера radius-message-level-up-spawner: # Расстояние в блоках radius: 20 # Настройка сообщений плагина # Чтобы убрать сообщение, оставьте его пустым messages: spawners-messages: spawner-level-up: "&aСпавнер в {blocks} блоков от вас повысился до {level} уровня!" spawner-max-level: "&aСпавнер в {blocks} блоков от вас достиг максимального {level} уровня!" plugin-messages: reload: config: "&aКонфиг успешно перезагружен за {time}мс.!" spawners: "&aВсе спавнера успешно перезагружены за {time}мс.!" all: "&aВесь плагин успешно перезагружен за {time}мс.!" save: "&aУспешно сохранено {count} спавнеров!" no-console: "&cТолько игрок может использовать данную команду!" no-found-player: "&cИгрок {player} не найден!" no-permission: "&cНедостаточно прав!" spawner-menu-closed: "&cМеню спавнера было закрыто из-за перезагрузки, пожалуйста подождите..." spawner-egg-change-denied: "&cВы не можете изменить яйцо в спавнере в этом регионе!" spawner-menu-access-denied: "&cВы не можете открыть меню спавнера в этом регионе!" usage-commands: - "" - " &aКоманды плагина:" - "" - " &6/us reload (all/config/spawners) &f- Перезагрузить что-либо в плагине" - " &6/us logs [on/off] &f- Включить/выключить логи" - " &6/us tpspawner [Айди] (Никнейм) &f- Телепортироваться к любому спавнеру" - " &6/us getid &f- Получить айди спавнера, если смотреть на него" - " &6/us setlevel [Уровень] (Айди/all) (-nocd) &f- Установить уровень спавнера" - " &6/us toggle [stop/continue] (Айди/all) &f- Приостановить/продолжить работу спавнера(ов)" - " &6/us delete (Айди) &f- Удалить спавнер из базы данных" - " &6/us cleardb &f- Очистить всю базу данных" - " &6/us openmenu [Айди] &f- Очистить всю базу данных" - "" logs: enabled: "&aЛоги: включены" already-enabled: "&cЛоги уже включены!" disabled: "&aЛоги: выключены" already-disabled: "&cЛоги уже выключены!" tpspawner: success: - "&aИгрок {player} телепортирован к спавнеру с айди {id-spawner}!" - "&aКоординаты: {x-spawner} {y-spawner} {z-spawner}, Мир: {world-spawner}" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" getid: success: "&aАйди данного спавнера: {id-spawner}" not-found: "&cЭтот спавнер не зарегистрирован в базе данных!" no-spawner: "&cВы должны смотреть на спавнер!" setlevel: success: "&aУровень спавнера с айди {spawner-id} успешно обновлён до {level}!" success-no-cooldown: "&aУровень спавнера с айди {spawner-id} обновлён до {level} без сброса таймера!" invalid-level: "&cУкажите корректный уровень!" no-spawner: "&cВы должны смотреть на спавнер!" level-too-high: "&cУровень {level} превышает максимальный ({max-level})!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" success-all: "&aУровень всех спавнеров изменён на {level}! (Всего их: {amount-all-spawners})" success-all-no-cooldown: "&aУровень всех спавнеров изменён на {level} без сброса таймера! (Всего их: {amount-all-spawners})" toggle: success-stop: "&aСпавнер с айди {spawner-id} успешно приостановлен в работе!" success-stop-all: "&aВсе спавнера успешно приостановлены в работе! (Всего их: {amount-all-spawners})" success-continue: "&aСпавнер с айди {spawner-id} успешно продолжен в работе!" success-continue-all: "&aВсе спавнера успешно продолжены в работе! (Всего их: {amount-all-spawners})" no-spawner: "&cВы должны смотреть на спавнер!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" already-stop: "&cДанный спавнер уже приостановлен в работе!" already-continue: "&cДанный спавнер уже продолжен в работе!" already-stop-all: "&cВсе спавнера уже приостановлены в работе!" already-continue-all: "&cВсе спавнера уже продолжены в работе!" delete: success: "&aСпавнер с айди {id-spawner} успешно удалён!" not-found: "&cЭтот спавнер не зарегистрирован в базе данных!" no-spawner: "&cВы должны смотреть на спавнер!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" cleardb: confirm-message: - "&a▌&6" - "&a▌&6 &fВы точно хотите &aочистить &fбазу данных?" - "&a▌&6" - "&a▌&6 {confirm-button}" - "&a▌&6 " confirm-button: "&a[Подтвердить]" confirm-hover: "&fНажмите, чтобы &aочистить &fвсю базу данных \nУ вас есть &a30сек.&f, чтобы &aподтвердить &fоперацию" must-click: "&cНажмите на кнопку &a[Подтвердить]&c, чтобы очистить базу данных!" success: - "&aБаза данных очищена за {time}мс.!" - "&aВсего очищено спавнеров: {clear-total-spawners}" no-spawners: "&cБаза данных уже полностью пуста!" error: "&cПроизошла ошибка при очистке базы данных спавнеров! Подробности в консоли." time-up: "&cВремя на подтверждение вышло, команда отменена..." already-confirmed: "&cВы уже подтвердили очистку или время истекло!" openmenu: success: "&aМеню спавнера с айди {id-spawner} успешно открыто!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!"
- Исправлены незначительные недочёты/баги в классах плагина
- Более оптимизированы некоторые классы для быстрой и эффективной работы
- Улучшена базу данных, чтобы снизить нагрузку на сервер
- Оптимизирован класс, отвечающий за управление и распределение команд. Ранее он создавал значительную нагрузку на сервер (около 1,5%), но теперь полностью оптимизирован
- Оптимизирован класс, управляющий базой данных. Он тоже создавал большую нагрузку (около 1,2%), но теперь работает эффективнее
- Оптимизирован класс, контролирующий все спавнера в мире. Раньше он тоже сильно нагружал сервер (около 3,3%), но теперь функционирует лучше
- Исправлен баг, связанный с тем, что команда для перезагрузки всех спавнеров /us reload spawners обновляла только те спавнеры, которые находились в загруженных чанках рядом с игроками, а не все спавнеры из базы данных
- Исправлен очень критический баг, связанный с тем, что если сначала удалить базу данных вручную, а затем ввести команду /us reload all, сервер переставал работать и выдавал бесконечные ошибки в консоль. После этого сервер нельзя было выключить иначе, как принудительно, что приводило к потере данных
- Исправлен баг, из-за которого голограммы объединялись, если спавнеры находились слишком близко друг к другу
- Исправлен баг, связанный с тем, что при установке нового яйца призыва моба, у тебя вместо одного яйца забирались сразу все
- Исправлен баг, связанный с тем, что при нехватке прав на открытие меню спавнера, игроку отправлялось два сообщения о недостатке прав, вместо одного
- Добавлены новые функции в конфиг, связанные с поддержой плагинов WorldEdit и WorldGuard:
- Новый параметр "restrict-spawner-egg-change" отвечает за блокировку установки нового яйца призыва в спавнер в чужом регионе (Пермишен для обхода функции устанавливается в этом же параметре)
- Новый параметр "restrict-spawner-menu-access" отвечает за блокировку открытия меню в чужом регионе (Пермишен для обхода функции устанавливается в этом же параметре)
- Улучшен optimization.yml:
- Улучшена читаемость самого файла, стало более понятнее
- Добавлен новый параметр "dynamic-spawn-rate", отвечающий за динамическую регулировку частоты спавна мобов при больших лагах и низком tps
- Улучшен параметр "limit-mobs-radius": добавился мод лимита мобов "mode", в котором можно выбрать ограничения спавна мобов
- Добавлен новый параметр "world-mob-density", ограничивающий кол-во всех мобов в мире
- Улучшен параметр player-radius-cache, для более лучшего кэширования радиуса игроков
- Исправлен баг, связанный с пропаданием видимости голограммы, если один игрок находиться далеко от спавнера, а другой игрок - близко к спавнеру (Параметр "limit-visibility")
- Исправлен баг, связанный с тем, что параметр "dont-spawn-if-not-player" не работал и спавнил мобов даже тогда, когда игроков не было в радиусе, также баг, связанный с тем, что если игрок выйдет с сервера, то через некоторое время, зайдя на сервер, голограмма над спавнеров пропадёт и больше не появиться
Новая конфигурация:
YAML:# # █░█ █▀█ █▀▀ █▀█ ▄▀█ █▀▄ █▀▀ █▀ █▀█ ▄▀█ █░█░█ █▄░█ █▀▀ █▀█ █▀ # █▄█ █▀▀ █▄█ █▀▄ █▀█ █▄▀ ██▄ ▄█ █▀▀ █▀█ ▀▄▀▄▀ █░▀█ ██▄ █▀▄ ▄█ # # By MilkyWay for GornaWorld.fun and sale # # Настройки параметров плагина settings: # Включение вывода логов плагина в консоль для отладки ошибок logs-in-console: # Активны ли логи? (true/false) enabled: false # Список миров, где плагин не будет работать disable-worlds: # Включён ли запрет для указанных миров? (true/false) enabled: false # Названия миров worlds: - "CustomWorld" - "CustomWorld2" - "CustomWorld_3" # Удалять ли яйцо призыва моба из инвентаря игрока при его установке в спавнер consume-spawn-egg: # Включено ли удаление яйца? (true/false) # Если true, яйцо будет удаляться из основной или дополнительной руки игрока после установки # Если false, яйцо останется в инвентаре игрока enabled: true # Ограничение изменения яйца в спавнере в чужих регионах WorldGuard restrict-spawner-egg-change: # Включено ли ограничение? (true/false) enabled: true # Право, позволяющее обойти ограничение bypass-permission: "upgradespawners.bypass.egg-change" message: enabled: false message: "&cВы не можете изменить яйцо в спавнере в этом регионе!" # Ограничение открытия меню спавнера в чужих регионах WorldGuard restrict-spawner-menu-access: # Включено ли ограничение? (true/false) enabled: true # Право, позволяющее обойти ограничение bypass-permission: "upgradespawners.bypass.menu-access" message: enabled: false message: "&cВы не можете открыть меню спавнера в этом регионе!" # Интеграция с плагином PlaceholderAPI для использования его плейсхолдеров placeholderapi: # (Рекомендуется выключить данный параметр для снижения нагрузки, если вы не используете его нигде) enabled: true # Учёт только убийств мобов, совершённых игроками, для прокачки спавнера count-only-player-kills: # Включён ли режим учёта только убийств игроками? (true/false) # Если true, спавнер будет засчитывать только мобов, убитых игроками напрямую # Если false, будут учитываться все смерти мобов, включая падение, лаву, других мобов и т.д. enabled: true # Время хранения данных удалённых спавнеров перед их окончательным удалением из памяти # Укажите 0, чтобы отключить автоматическое удаление (данные будут храниться до перезапуска сервера) removed-spawners-timeout: # Время в секундах, после которого данные спавнера будут удалены из временного хранилища, если спавнер не был восстановлен # (Рекомендуется значение 60-600 секунд) time: 300 # Время ожидания подтверждения для команды очистки базы данных (/us cleardb) # Укажите 0, чтобы отключить таймер (подтверждение будет активно до ручного выполнения или перезапуска сервера) cleardb-confirmation-timeout: # Время в секундах, после которого запрос на подтверждение очистки базы данных будет отменён time: 30 # Сбрасывать ли уровень спавнера при установке нового яйца призыва в спавнер reset-level-on-new-egg: # Включён ли сброс уровня? (true/false) enabled: true # Сбрасывать ли время до спавна мобов на значение текущего уровня при повышении уровня спавнера reset-cooldown-on-level-up: # Включён ли сброс времени до спавна? (true/false) enabled: true # Количество попыток найти место для спавна мобов spawn-attempts: # Сколько раз пытаться найти координаты? (Рекомендуется 5–20) count: 10 # Настройки частиц при спавне мобов из спавнера particles: # Включены ли частицы? (true/false) enabled: true # Тип частиц (доступные: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html) type: "SMOKE_NORMAL" # Сколько частиц отображать? count: 100 # Расстояние разброса частиц по осям X, Y, Z offset-x: 0.5 offset-y: 0.5 offset-z: 0.5 # Ограничение на количество спавнеров для каждого игрока limit-spawners-the-players: # Активен ли лимит? (true/false) enabled: true # Максимальное число спавнеров на игрока max-spawners: 5 # Сообщение игроку при превышении лимита message: "&cСтоп! &fВы &cне можете &fпоставить более &c{limit-spawners} &fспанеров!" # Право, позволяющее обойти лимит bypass-permission: upgradespawners.bypass.limit-spawners # Ограничение по высоте установки спавнеров limit-coordinates-y-spawners: # Активен ли лимит высоты? (true/false) enabled: true # Минимальная допустимая высота (Y) min-y: -30 # Сообщение при установке ниже минимума message-min: "&cСтоп! &fВы &cне можете &fпоставить спавнер ниже &c{limit-min-y} &fвысоты!" # Максимальная допустимая высота (Y) max-y: 180 # Сообщение при установке выше максимума message-max: "&cСтоп! &fВы &cне можете &fпоставить спавнер выше &c{limit-max-y} &fвысоты!" # Право, позволяющее игнорировать лимит высоты bypass-permission: upgradespawners.bypass.limit-coordinates-y # Настройки голограмм над спавнерами holograms: # Голограмма для спавнера с установленным мобом active-mob: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдеры {level}, {time}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавн через: &e{time}с." # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Голограмма для пустого спавнера (работает с версии 1.19.3 и выше) empty-mob: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдер {level}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавнер пуст" # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Голограмма для приостановленного спавнера stop-spawner: # Показывать голограмму? (true/false) enabled: true # Текст голограммы (поддерживает плейсхолдер {level}) text: - "&6▸ &fУровень: &e{level}" - "&6▸ &fСпавнер приостановлен" # Смещение голограммы относительно спавнера (X, Y, Z) offset: x: 0.5 y: 1.2 z: 0.5 # Расстояние между строками текста line-spacing: 0.3 # Как часто обновлять голограмму? (в секундах) update-interval: 1 # Радиус, в котором убийство мобов засчитывается для прокачки спавнера radius-kill-mobs-spawner: # Расстояние в блоках radius: 20 # Радиус, в котором игроки получают сообщение о повышении уровня спавнера radius-message-level-up-spawner: # Расстояние в блоках radius: 20 # Настройка сообщений плагина # Чтобы убрать сообщение, оставьте его пустым messages: spawners-messages: spawner-level-up: "&aСпавнер в {blocks} блоков от вас повысился до {level} уровня!" spawner-max-level: "&aСпавнер в {blocks} блоков от вас достиг максимального {level} уровня!" plugin-messages: reload: config: "&aКонфиг успешно перезагружен за {time}мс.!" spawners: "&aВсе спавнера успешно перезагружены за {time}мс.!" all: "&aВесь плагин успешно перезагружен за {time}мс.!" no-console: "&cТолько игрок может использовать данную команду!" no-found-player: "&cИгрок {player} не найден!" no-permission: "&cНедостаточно прав!" spawner-menu-closed: "&cМеню спавнера было закрыто из-за перезагрузки, пожалуйста подождите..." spawner-egg-change-denied: "&cВы не можете изменить яйцо в спавнере в этом регионе!" spawner-menu-access-denied: "&cВы не можете открыть меню спавнера в этом регионе!" usage-commands: - "" - " &aКоманды плагина:" - "" - " &6/us reload (all/config/spawners) &f- Перезагрузить что-либо в плагине" - " &6/us logs [on/off] &f- Включить/выключить логи" - " &6/us tpspawner [Айди] (Никнейм) &f- Телепортироваться к любому спавнеру" - " &6/us getid &f- Получить айди спавнера, если смотреть на него" - " &6/us setlevel [Уровень] (Айди/all) (-nocd) &f- Установить уровень спавнера" - " &6/us toggle [stop/continue] (Айди/all) &f- Приостановить/продолжить работу спавнера(ов)" - " &6/us delete (Айди) &f- Удалить спавнер из базы данных" - " &6/us cleardb &f- Очистить всю базу данных" - " &6/us openmenu [Айди] &f- Очистить всю базу данных" - "" logs: enabled: "&aЛоги: включены" already-enabled: "&cЛоги уже включены!" disabled: "&aЛоги: выключены" already-disabled: "&cЛоги уже выключены!" tpspawner: success: - "&aИгрок {player} телепортирован к спавнеру с айди {id-spawner}!" - "&aКоординаты: {x-spawner} {y-spawner} {z-spawner}, Мир: {world-spawner}" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" getid: success: "&aАйди данного спавнера: {id-spawner}" not-found: "&cЭтот спавнер не зарегистрирован в базе данных!" no-spawner: "&cВы должны смотреть на спавнер!" setlevel: success: "&aУровень спавнера с айди {spawner-id} успешно обновлён до {level}!" success-no-cooldown: "&aУровень спавнера с айди {spawner-id} обновлён до {level} без сброса таймера!" invalid-level: "&cУкажите корректный уровень!" no-spawner: "&cВы должны смотреть на спавнер!" level-too-high: "&cУровень {level} превышает максимальный ({max-level})!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" success-all: "&aУровень всех спавнеров изменён на {level}! (Всего их: {amount-all-spawners})" success-all-no-cooldown: "&aУровень всех спавнеров изменён на {level} без сброса таймера! (Всего их: {amount-all-spawners})" toggle: success-stop: "&aСпавнер с айди {spawner-id} успешно приостановлен в работе!" success-stop-all: "&aВсе спавнера успешно приостановлены в работе! (Всего их: {amount-all-spawners})" success-continue: "&aСпавнер с айди {spawner-id} успешно продолжен в работе!" success-continue-all: "&aВсе спавнера успешно продолжены в работе! (Всего их: {amount-all-spawners})" no-spawner: "&cВы должны смотреть на спавнер!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" already-stop: "&cДанный спавнер уже приостановлен в работе!" already-continue: "&cДанный спавнер уже продолжен в работе!" already-stop-all: "&cВсе спавнера уже приостановлены в работе!" already-continue-all: "&cВсе спавнера уже продолжены в работе!" delete: success: "&aСпавнер с айди {id-spawner} успешно удалён!" not-found: "&cЭтот спавнер не зарегистрирован в базе данных!" no-spawner: "&cВы должны смотреть на спавнер!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!" cleardb: confirm-message: - "&a▌&6" - "&a▌&6 &fВы точно хотите &aочистить &fбазу данных?" - "&a▌&6" - "&a▌&6 {confirm-button}" - "&a▌&6 " confirm-button: "&a[Подтвердить]" confirm-hover: "&fНажмите, чтобы &aочистить &fвсю базу данных \nУ вас есть &a30сек.&f, чтобы &aподтвердить &fоперацию" must-click: "&cНажмите на кнопку &a[Подтвердить]&c, чтобы очистить базу данных!" success: - "&aБаза данных очищена за {time}мс.!" - "&aВсего очищено спавнеров: {clear-total-spawners}" no-spawners: "&cБаза данных уже полностью пуста!" error: "&cПроизошла ошибка при очистке базы данных спавнеров! Подробности в консоли." time-up: "&cВремя на подтверждение вышло, команда отменена..." already-confirmed: "&cВы уже подтвердили очистку или время истекло!" openmenu: success: "&aМеню спавнера с айди {id-spawner} успешно открыто!" no-found-id: "&cСпавнер с айди {id-spawner} не найден!" incorrect-id: "&cУкажите корректный айди спавнера!"
Новый optimization.yml:
YAML:# # █░█ █▀█ █▀▀ █▀█ ▄▀█ █▀▄ █▀▀ █▀ █▀█ ▄▀█ █░█░█ █▄░█ █▀▀ █▀█ █▀ # █▄█ █▀▀ █▄█ █▀▄ █▀█ █▄▀ ██▄ ▄█ █▀▀ █▀█ ▀▄▀▄▀ █░▀█ ██▄ █▀▄ ▄█ # # By MilkyWay for GornaWorld.fun and sale # # Настройки оптимизации для снижения нагрузки на сервер optimization: # Оптимизация базы данных # Настройки для повышения производительности работы с базой данных # Уровень оптимизации: Высокий database: # Параметры пакетной обработки batch-processing: # Размер пакета для пакетной записи # Определяет, сколько операций записи объединяется в одну транзакцию # По умолчанию: 50, рекомендуемый диапазон: 10-100 size: 50 # Включение дедупликации операций в очереди # Если включено, повторные обновления одного спавнера перезаписывают предыдущие # Уменьшает нагрузку на базу данных # Уровень оптимизации: Средний deduplication: true # Индексация для ускорения запросов # Создание индекса по полю "owner" для ускорения запросов # Включайте, если плагин часто ищет спавнеры по владельцу # Может увеличить время записи, но ускорит поиск # Уровень оптимизации: Низкий index-owner: false # Оптимизация голограмм # Контроль отображения и обновления голограмм для снижения нагрузки # Уровень оптимизации: Средний - Высокий holograms: # Управление видимостью и обновлением visibility: # Ограничение видимости голограмм # Голограммы скрываются, если игрок находится дальше указанного радиуса # Уровень оптимизации: Средний limit: enabled: true # Радиус видимости (в блоках) # По умолчанию: 20, рекомендуемый диапазон: 10-40 radius: 20 # Остановка обновления голограмм вне радиуса # Если включено, голограммы не обновляются, если игроков нет в радиусе # Уровень оптимизации: Высокий no-update: enabled: true # Радиус для проверки игроков (в блоках) # По умолчанию: 20, рекомендуемый диапазон: 10-40 radius: 20 # Управление мобами # Настройки для контроля спавна и удаления мобов # Уровень оптимизации: Высокий mobs: # Удаление мобов с замороженным интеллектом, находящихся далеко от спавнера # Работает только если включён параметр "freeze-ai" # Уровень оптимизации: Средний cleanup: enabled: true # Максимальное расстояние от спавнера (в блоках) # По умолчанию: 50, рекомендуемый диапазон: 30-100 max-distance: 50 # Интервал проверки (в тиках) # 1 секунда = 20 тиков # По умолчанию: 200, рекомендуемый диапазон: 100-400 check-interval: 200 # Радиус вокруг моба для проверки наличия игроков (в блоках) # По умолчанию: 10, рекомендуемый диапазон: 5-20 player-radius: 10 # Ограничение плотности мобов вокруг спавнера # Уровень оптимизации: Высокий density-limit: enabled: true # Радиус проверки (в блоках) # По умолчанию: 25, рекомендуемый диапазон: 10-50 radius: 25 # Максимальное количество мобов в радиусе # По умолчанию: 20, рекомендуемый диапазон: 10-50 max-mobs: 20 # Режим ограничения: # - ALL: Все мобы в радиусе (Уровень оптимизации: Высокий) # - SAME_TYPE: Только мобы того же типа (Уровень оптимизации: Средний) # - SPAWNER_OWNED: Только мобы, принадлежащие этому спавнеру (Уровень оптимизации: Низкий) mode: SPAWNER_OWNED # Заморозка интеллекта мобов # Отключает ИИ мобов для снижения нагрузки # Уровень оптимизации: Высокий freeze-ai: enabled: true # Запрет спавна мобов, если в радиусе нет игроков # Уровень оптимизации: Высокий require-player: enabled: true # Радиус для проверки игроков (в блоках) # По умолчанию: 50, рекомендуемый диапазон: 30-100 radius: 50 # Запрет спавна в непрогруженных чанках # Уровень оптимизации: Высокий require-chunk-loaded: enabled: true # Ограничение общего количества мобов в мире # Уровень оптимизации: Высокий world-mob-limit: enabled: false # Максимальное количество мобов во всём мире # По умолчанию: 500, рекомендуемый диапазон: 200-1000 max-mobs: 500 # Действие при превышении лимита: # - PAUSE: Приостанавливать спавн новых мобов # - PRIORITIZE_ACTIVE: Отдавать приоритет спавнерам в активных чанках # - RANDOM: Случайно выбирать спавнеры для спавна overflow-action: PAUSE # Динамическая регулировка частоты спавна # Замедляет спавн при низком TPS или большом количестве игроков # Уровень оптимизации: Высокий spawn-rate: enabled: true # Диапазон множителя кулдауна спавна # 1.0 = стандартная частота, 2.0 = спавн в 2 раза реже # Рекомендуемый диапазон: 1.0-3.0 cooldown-multiplier: min: 1.0 max: 2.0 # Регулировка по TPS сервера tps-scaling: enabled: true # Порог TPS, ниже которого спавн замедляется # По умолчанию: 16.0, рекомендуемый диапазон: 10.0-18.0 low-tps: 16.0 # Множитель при низком TPS # По умолчанию: 1.8, рекомендуемый диапазон: 1.0-3.0 low-tps-multiplier: 1.8 # Множитель при нормальном TPS # По умолчанию: 1.0, рекомендуемый диапазон: 0.5-1.5 normal-tps-multiplier: 1.0 # Регулировка по количеству игроков player-scaling: enabled: false # Радиус для подсчёта игроков (в блоках) # По умолчанию: 32, рекомендуемый диапазон: 16-64 radius: 32 # Увеличение множителя за каждого игрока # Например, 0.25 = +25% к кулдауну за игрока # По умолчанию: 0.25, рекомендуемый диапазон: 0.1-0.5 multiplier-step: 0.25 # Максимальное количество игроков для расчёта # По умолчанию: 10, рекомендуемый диапазон: 10-20 max-players: 15 # Режим комбинирования множителей # - MAX: Используется максимальный множитель # - AVERAGE: Используется среднее значение combination: MAX # Управление чанками со спавнерами # Выгружает чанки при отсутствии игроков или низком TPS # Уровень оптимизации: Высокий chunks: enabled: true # Радиус для проверки игроков (в блоках) # По умолчанию: 128, рекомендуемый диапазон: 64-256 player-radius: 128 # Интервал проверки чанков (в тиках) # По умолчанию: 600, рекомендуемый диапазон: 200-1200 check-interval: 600 # Минимальный TPS для выгрузки чанков # Если TPS ниже, чанки выгружаются быстрее # По умолчанию: 14.0, рекомендуемый диапазон: 10.0-16.0 min-tps: 14.0 # Кэширование проверок радиуса игроков # Использует кэш для оптимизации поиска игроков # Уровень оптимизации: Средний player-radius-cache: enabled: true # Интервал обновления кэша (в тиках) # По умолчанию: 10, рекомендуемый диапазон: 5-20 update-interval: 10 # Динамическая регулировка интервала обновления dynamic-interval: enabled: true # Минимальный TPS, при котором интервал увеличивается low-tps-threshold: 15.0 # Множитель интервала при низком TPS low-tps-multiplier: 1.5 # Максимальный интервал (в тиках) max-interval: 20 # Радиус кэширования (в чанках) # Ограничивает проверку игроков в радиусе от спавнеров radius: 5 # Режим кэширования # - FULL: кэшировать все чанки с игроками # - SPAWNER_ONLY: кэшировать только чанки со спавнерами # - PLAYER_ONLY: кэшировать только чанки с игроками # - ADAPTIVE: переключаться между режимами mode: ADAPTIVE # Максимальное число кэшируемых чанков max-chunks: 1000
- Добавлен новый параметр в конфиг "consume-spawn-egg", отвечающий за удаление яйцо призыва моба из инвентаря игрока при его установке в спавнер
- Исправлен баг, связанный с тем, что плейсхолдер "{spawner-max-level}" не работал в меню, если сам спавнер пустой
- Исправлен баг, связанный с неправильным отображением голограммы на координатах "y"
- Заменены некоторые параметры в самом коде плагина на их лучшую версию с полной оптимизацией и читабельностью
- Исправлен очень серьёзный баг, связанный с тем, что полная статистика всех прогруженных спавнеров в мирах полностью сбрасывалась, при перезагрузке именно сервера
- Исправлена серьёзная ошибка, связанная с загрузкой плагина PlaceholderApi, которая бесконечно спамила в консоль с предупреждением
- Исправлены ошибки в конфиге, в сообщениях
- Исправлена ошибка, связанная с занесением всех спавнеров в базу данных
- Добавлены новые параметры в файле с оптимизацией, оптимизирующие базу данных
- Добавлена новая команда для очищения всей базы данных от спавнеров - /us cleardb
- Улучшен и оптимизирован параметр, отвечающий за поиск подходящего места для спавна мобов из спавнера
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения