1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [MISC] ProxyPackFix — предотвращение повторной установки ресурспака

Тема в разделе "Неподтвержденные плагины", создана пользователем FeniksDEV, 8 июл 2022.

  1. Автор темы
    FeniksDEV

    FeniksDEV Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    [​IMG]

    Аналог плагина BungeePackFix от LoneDev, написанный с использованием Protocolize.

    Функциональность:

    — Предотвращает повторную установку ресурспака при переходе между серверами.
    — Предотвращает повторную установку ресурспака, выполняемую другими плагинами.

    Поддержка версий:
    Протестирована работа плагина на версиях 1.16-1.19.
    Теоретически возможна работа и на других версиях, вплоть до 1.8, поскольку маппинги для пакетов этих версий уже включены в плагин.

    Установка:
    Требуется установка Protocolize на прокси-сервер.
    ProxyPackFix также устанавливается на прокси-сервер (BungeeCord).


    PHP:
    # Включает расширенное логгирование для используемых пакетов
    debug-modefalse
    # Отправлять ли фейк-пакет, передающий статус установки ресурспака.
    # Всегда передает значение 0 (SUCCESSFULLY_LOADED), если игрок уже устанавливал ресурспак.
    # https://wiki.vg/Protocol#Resource_Pack_.28serverbound.29
    # В большинстве случаев необходимо для вызова PlayerResourcePackStatusEvent на бекенд-сервере.
    # https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerResourcePackStatusEvent.html
    send-fake-resourcepack-status-packettrue

    Команды и права:
    /ppf reload
    — перезагрузка конфигурации.
    /ppf clearcache — принудительная очистка истории установок ресурспаков игроками.
    Для работы с командами требуется разрешение proxypackfix.commands.

    P.S. Плагин был написан с целью опробовать Protocolize на практике. На странице репозитория GitHub опубликован список возможных обновлений, которые могут появится, если плагин будет востребован или мне снова не станет скучно.

    Исходный код: https://github.com/Feniksovich/ProxyPackFix/

     
    Последнее редактирование: 10 июл 2022
  2. Galster

    Galster Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    GalsterMC
    Звучит как то, чего мне очень давно не хватало. Да и наверное решит древнюю проблему с плагином, который выдавал ресурс паки. Очень хотелось бы версию под велосити
     
  3. Автор темы
    FeniksDEV

    FeniksDEV Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    Как только совладаю с реализацией конфигов на Velocity, так будет релиз (если не найдется других попутных проблем, конечно).
     
  4. Автор темы
    FeniksDEV

    FeniksDEV Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    Н-да, без проблем не обошлось.
    Protocolize отказывается работать на последней дев-версии Velocity, что автоматически урезает список поддерживаемых версий — максимум 1.18 (+ др. проблемы). Думаю, релиз так быстро не выйдет, но я продолжу ковырять дальше.
     
  5. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    По-моему у Velocity и так достаточно API для покрытия функционала без Protocolize?
     
  6. Автор темы
    FeniksDEV

    FeniksDEV Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    Хорошо, если так и есть. Спасибо за наводку, посмотрю.
    UPD: Да, для реализации этой фичи можно попробовать использовать built-in ивент. Но он впервые появился в версии 3.1.2, которая ныне не является релизной.
     
    Последнее редактирование: 10 июл 2022
  7. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Возможно больше подойдет PlayerResourcePackStatusEvent.
    Как правило, это не то, о чем стоит задумываться. Как и у Paper, коммиты в мастер автоматически обновляют сборку на странице скачивания.
     
  8. Автор темы
    FeniksDEV

    FeniksDEV Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Feniksovich
    Энивей, для игрока, установившего ресурспак ранее, требуется отменять ServerResourcePackSendEvent, однако в таком случае downstream серверу придет PlayerResourcePackStatusEvent со статусом DECLINED, а это не то, что нужно.

    В любом случае разработчик Velocity заверил, что постарается реализовать это на уровне ядра, поскольку над этой проблемой команда разработчиков уже задумывалась. Так что и плагин не понадбится :)
     

Поделиться этой страницей