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

Помогите PlayerLoginEvent и MySQL

Тема в разделе "Разработка плагинов для новичков", создана пользователем pro100koder, 4 май 2020.

Статус темы:
Закрыта.
  1. Автор темы
    pro100koder

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

    Баллы:
    76
    Нужно загружать информацию игрока из БД ещё до того, как сработает PlayerJoinEvent. Заставлять весь сервер подвисать при каждом заходе игрока, конечно, не хочется. Поэтому используем асинхр. поток. Но вот незадача: информация может загрузиться уже после того, как игрок зайдёт из за этой задержки и сработает PlayerJoinEvent! Как предотвращать? Как не впускать игрока на сервер до тех пор, пока не придёт ответ от запроса в БД? В самом PlayerLoginEvent видел только методы allow/disallow, а ещё какую-то странную проверку isAsynchronous()...
    Не знаю, как приказать ивенту "впустить после загрузки информации, но при этом не стопить весь серв на несколько тиков при каждом заходе игрока".
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    AsyncPlayerPreLoginEvent. Да и что такое надо было сделать с базой, чтоб получить больше 50 мс в запросе? :D Установить сервер с мускулом на необитаемом острове?
     
    Последнее редактирование: 4 май 2020
Статус темы:
Закрыта.

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