Медленная прогрузка префиксов

WinstonCode

winston.php
Пользователь
Сообщения
156
Решения
1
Добрый день. Использую на своей связке серверов плагины:

LuckPerms для установки группам людям префиксов (LP на спиготах и Банджи подключены к одной БД (localhost) ),
TAB для отображения префиксов,
SpigotBoard для создания борда (в котором так же отображается префикс).

Суть проблемы в том, что при заходе на начальный сервер Банджи, префиксы отображаются нормально, однако при переходе на другие сервера, префиксы появляются либо с задержкой, либо только после /lp sync, либо не появляются вовсе. В чём может быть проблема?
 
[OFFTOPIC]
Для начала очень не советую использовать LuckPerms на банже, если в нее встроена капча.
LuckPerms работает так, что даже если еще игрок находится на проверке капчи, он все-равно будет писать данные и при бот атаке это скажется анормально. Создатель плагина отказался это исправлять, аргументировав, что зачем вообще капча нужна, если есть онлайн мод
[/OFFTOPIC]
Префиксы не отображаются в чате или в табе?
 
WinstonCode, в чате используешь официальный плейсхолдер для префикса, надеюсь, а не как кто-то предлагал использовать дополнение к papi?
Потому что префиксы в чате и в табе две разные стихии.


Банджа с антиботом, с РуБаккита. А какие есть аналоги? (плагина на пермишн)
Лучше вообще не использовать на банже плагин на пермишены и все реализовать в пределах спигота.
 
Этот плагин можно и на спигот поставить.
В любом случае, в твоем случае остается только дебажить и откатывать/обновлять версии лакпермс, возможно, кривая версия.
 
BuseSo, [OFFTOPIC]
Щас объясню.
Java:
    @EventHandler(priority = -32)
    public void onPlayerLogin(final LoginEvent e) {
        final PendingConnection c = e.getConnection();
        if (this.plugin.getConfiguration().get(ConfigKeys.DEBUG_LOGINS)) {
            this.plugin.getLogger().info("Processing pre-login for " + c.getUniqueId() + " - " + c.getName());
        }
        if (e.isCancelled()) {
            this.plugin.getLogger().info("Another plugin has cancelled the connection for " + c.getUniqueId() + " - " + c.getName() + ". No permissions data will be loaded.");
            return;
        }
        e.registerIntent((Plugin)this.plugin.getBootstrap());
        final PendingConnection pendingConnection;
        User user;
        this.plugin.getBootstrap().getScheduler().executeAsync(() -> {
            try {
                user = this.loadUser(pendingConnection.getUniqueId(), pendingConnection.getName());
                this.recordConnection(pendingConnection.getUniqueId());
                this.plugin.getEventDispatcher().dispatchPlayerLoginProcess(pendingConnection.getUniqueId(), pendingConnection.getName(), user);
            }
            catch (Exception ex) {
                this.plugin.getLogger().severe("Exception occurred whilst loading data for " + pendingConnection.getUniqueId() + " - " + pendingConnection.getName());
                ex.printStackTrace();
                if (this.plugin.getConfiguration().get(ConfigKeys.CANCEL_FAILED_LOGINS)) {
                    e.setCancelReason(TextComponent.fromLegacyText(Message.LOADING_DATABASE_ERROR.asString(this.plugin.getLocaleManager(), new Object[0])));
                    e.setCancelled(true);
                }
                this.plugin.getEventDispatcher().dispatchPlayerLoginProcess(pendingConnection.getUniqueId(), pendingConnection.getName(), null);
            }
            e.completeIntent((Plugin)this.plugin.getBootstrap());
        });
    }
Он на LoginEvent'eначинает начинает загружать данные для игроков. Это означает, что на момент PreLoginEvent'a нужно работать с капчей, что априори невозможно, потому что невозможно получить никакие данные, кроме айпи, версии игрока и т.п.
Значит игрок, еще не пройдя капчу, уже будет подгружаться лакпермсом, что очень негативно скажется, когда уйма ботов будет пытаться соединиться к серверу и будут стоять на проверке капчи. Лакпермс их тупо будет подгружать постоянно и кранты.
[/OFFTOPIC]
 
[OFFTOPIC]
Мое дело предупредить, а окончательное решение уже принимать вам :)
Когда работал на одном популярном проекте, столкнулись с такой проблемой и даже обращались к создателю плагина. Пришлось исправлять самому ручками.
[/OFFTOPIC]
 
Назад
Сверху Снизу