Это в основном быстрый фикс проблемы, из-за которой экспресс-очереди не отправляли игроков, если в стандартную очередь никто не заходил.
Изменения:
Исправлена ошибка, при которой игроки из экспресс-очереди не отправлялись, если в стандартную очередь никто ни разу не заходил (и наоборот).
Логика экспресс-очередей полностью пропускается в бесплатной версии — дополнительные проверки больше не выполняются, так как они там не используются.v2.9.0 — Экспресс-очереди и более точные ETA
Это обновление добавляет две давно запрашиваемые функции. Обе они потребовали серьёзных внутренних изменений, поэтому если у вас есть аддоны или вы их разрабатываете, возможно, потребуется обновление. По всем вопросам можно обращаться к разработчику.
Обе новые функции используют новые сообщения, которые заменяют старые. Старые сообщения останутся в файле сообщений, а новые добавляются автоматически со значениями по умолчанию. Если вы полностью изменяли сообщения ajQueue, возможно, потребуется вручную скопировать новые, обратив внимание на различия.
Начиная с этой версии, ajQueue обязательно требует Velocity 3.2.0 или новее. Требования к BungeeCord не изменились.Основные новые возможности
Экспресс-очереди (ajQueuePlus)
Экспресс-очереди предназначены как более справедливая замена системе приоритетов. При обычных приоритетах возможна ситуация, когда при постоянном заходе приоритетных (платных) игроков обычные игроки вообще не будут отправляться.
Экспресс-очередь — это отдельная очередь, доступная только платным игрокам. ajQueue поочерёдно отправляет игроков из стандартной и экспресс-очереди. Соотношение можно настроить в конфигурации (по умолчанию 1:1).
Так как экспресс-очередь доступна ограниченному числу игроков, она обычно короче, что позволяет платным игрокам заходить быстрее, не блокируя обычных. Система приоритетов при этом остаётся и может использоваться даже внутри экспресс-очереди.
Для входа в экспресс-очередь требуется разрешение ajQueue.express.<server>, поэтому по умолчанию для игроков ничего не меняется.
Улучшенные ETA
ajQueue теперь измеряет время, необходимое для отправки игроков на сервер, и использует скользящее среднее для более точного расчёта ETA. Это позволяет показывать ETA даже для полностью заполненных серверов.
По умолчанию используется среднее значение по последним 10 отправкам, но это можно изменить в конфигурации. При необходимости новую систему ETA можно полностью отключить.Прочие изменения
Учёт параметра supported-protocols при балансировке групп (для default и first балансировщиков)
Исправлено игнорирование части сообщений приоритета после второго двоеточия
Добавлена опция treat-negative-one-max-player-as-infinite
Запрещена мгновенная отправка, если в очереди более одного игрока без bypass
Исправлена попытка обращения к PlaceholderAPI, если он не установлен
Команда /ajqueue list теперь показывает не более 50 игроков на очередь
Исправлено исключение ConcurrentModificationException при выходе игрока с p####i
Исправлена редкая ошибка NullPointerException при отправке событий очереди, когда игрок находится между серверами
Оптимизирована логика bypass и приоритетов в ajQueuePlus
Небольшие дополнительные оптимизации для обеих версий
Исправлен конфликт с nLogin, из-за которого queue-server не работал при редиректе премиум-игрока
Исправлена обработка алиасов серверов после второго двоеточия
Исправлён апдейтер конфигурации, который некорректно переносил priority-messages
Исправлена поддержка hex-цветов в velocity-kick-reason
Исправлен комментарий make-room, где разрешение указывалось дважды
Исправлено срабатывание SuccessfulSendEvent при remove-player-on-server-switch
Добавлен балансировщик first-strict, всегда выбирающий первый сервер в группе
Добавлены названия протоколов 1.21.10 и 1.21.11 в сообщения по умолчанию
Добавлено предупреждение при сбое auto-add-to-queue-on-kick с рекомендацией увеличить задержку
Добавлена настройка ping-timeout для Velocity
Исправлена проблема с instant send, если в очереди находился офлайн-игрок
Уточнено, что velocity-kick-message не применяется к офлайн или переполненным серверам
Повторная проверка разрешения stayqueued при выходе игрока для актуального времени офлайна
Прошёл год с последнего релиза — вот новое обновление.
🔹 Новый автообновлятор: используется собственная система. Для ajQueuePlus теперь требуется авторизация в updater-config.yml (только для платной версии). Бесплатным пользователям авторизация не нужна. При ручном обновлении делать ничего не требуется.
🔹 Обновлён список протоколов — добавлены версии с 1.20.4 по 1.21.8. Можно добавлять свои, но теперь эти есть по умолчанию.
🔹 Добавлено:🔹 Исправлено:
- Новый автообновлятор и проверка обновлений
- Плейсхолдер %ajqueue_queued_status%
- Сообщение status.skipping-queue-server (по умолчанию отключено)
- Опция disable-p####i-communication
- Опция auto-add-excluded-servers в конфиг
- Возможность отключить команды на Spigot/Backend
- Возможность отключить /server alias
- Новые сообщения кика для Velocity в messages.yml
🔹 Примечание: теперь обязательно указывать два сервера в queue-servers.
- Отправка игрока на недоступный сервер
- Сообщение автоочереди не использовало алиасы
- Предупреждение при неправильных plus priority правах
- Обновление PlaceholderAPI после входа
- Поведение skip-queue-server-if-possible и /ajQueue kick
- Ошибка с /listqueues и pausequeueserver
- Сбои при переключении серверов
- Комментарии в конфиге и ссылка на список протоколов обновлены
Прошло 8 месяцев с момента последнего релиза. Извините, что так долго не было обновлений. Я все еще вношу изменения, но я усложнил процесс выпуска, когда попытался автоматизировать релизы. Возвращаемся к ручным обновлениям, надеюсь, чуть чаще 🙂 .
Изменения
Добавлена поддержка Folia (для бэкенда)
Добавлена функция skip-queue-server-if-possible
Добавлена возможность сделать /send псевдонимом для /ajQueue send
Снятие с регистрации встроенной команды velocity /server, если она должна быть заменена командой queue
Исправлена консольная ошибка при попытке автозаполнения в команде leavequeue
Улучшена подсказка по использованию /ajQueue
Улучшена команда /ajQueue version
Возможно, исправлены некоторые ошибки с получением времени последнего изменения сервера (я не смог воспроизвести, но это должно быть исправлено)
Добавление PriorityCalculationEvent в API, что позволяет добавлять приоритеты программно
Исправлено удаление игроков из очереди серверов, когда они уходят и имеют разрешение остаться в очереди
Исправлена ошибка, которая могла возникнуть при проверке наличия сервера в белом списке
Проверка ViaVersion только один раз, а не каждый раз, когда создается экземпляр AdaptedPlayer
Исправлена ошибка при выполнении команды отладки списка разрешений из консоли
Исправлена ошибка, при которой сообщение velocity-kick-message не отправлялось при возникновении ошибки
Исправлена ошибка, при которой символ цветового кода устаревшей секции нарушал velocity-kick-message
Исправлено, что имена протоколов не считывались из файла сообщений
Добавлены новые события API: AutoQueueOnKickEvent, BuildServersEvent и PreConnectEvent (Спасибо KamikazeJAM/Jake Moore)
Добавлена опция act-like-no-permission-servers-dont-exist
Больше не отправляет сообщение ack, когда отключена проверка p####i-response
Предотвращение спама при использовании плейсхолдеров PAPI
См. изменения на github
- Исправлены недействительные серверы в placeholders, которые выдают ошибку вместо того, чтобы просто сказать, что сервер недействителен
- Переформатирование конфигурации
- В конфигурацию добавлена опция require-queueserver-permission
- Исправлено неработающее отображение статуса игрока
- Исправлено не отображение статуса "белый список" для заполнителя статуса неигрока
- Улучшено получение игроков для spigot api
- Добавлен plus-level-fallback, позволяющий некоторым уровневым разрешениям на ajQueuePlus работать без поддерживаемого плагина разрешений
- Исправлена ошибка, когда QueueScoreboardActivator не активировался на нужном игроке
- Игнорировать таймауты в заполнителях
- Исправление нулевых точек при изменении очереди
- Добавить возможность разрешить повторную очередь для групп
- Исправить ситуацию, когда игрок удалялся до того, как срабатывала опция allow-group-requeue
- Фильтр аргументов автозаполнения
- Добавлено разрешение ajqueue.make-room (по умолчанию отключено)
- Исправлено, что при использовании make-room не учитывались приоритеты
- Добавлена опция re-check-priority для повторной постановки игроков в очередь при повышении их приоритета
- перемещение имен протоколов в messages.yml и добавление имен новых версий
- В конфиг добавлена опция manual-max-players, которая позволяет задать максимальное количество игроков для серверов/групп
- Исправлена ошибка wait-after-online, которая ничего не делала
- Не парсить placeholder, если игрока больше нет в сети
- Игнорирование ошибки, связанной с тем, что игрок больше не находится в сети
- Добавлен API QueueHolder
- Добавлен api для регистрации пользовательских PermissionHooks
- Добавлена возможность задержки серверов очереди на 3 секунды
- Исправлено игнорирование задержки сервера очереди командой force-queue-server-target
- Исправлено игнорирование командами slash-сервера предварительных проверок очереди (например, разрешения joinfrom)
- Пропуск недействительных имен протоколов при их перемещении