Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
- Оптимизирован класс, отвечающий за управление и распределение команд. Ранее он создавал значительную нагрузку на сервер (около 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 для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения