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

Помогите Как правильно согласовать работу нескольких плагинов с единой базой данных

Тема в разделе "Разработка плагинов для новичков", создана пользователем MySoR, 18 апр 2022.

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

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

    Баллы:
    76
    Имя в Minecraft:
    MySoR
    В данный момент я пишу плагин который взаимодействует с балансом игроков в валюте Vault. Делаю что-то типа банковских вкладов. И информация о кол-ве монет хранится в базе данных и одним так сказать счетом может управлять сразу несколько людей с разных серверов. Так вот как я это реализую сейчас. Плагином выгружаю все счета с бд и регистрирую как объекты а после провожу все манипуляции с ними и при надобности записываю новые данные в бд. И конечно же обновляю данные раз в n-ое количество времени. Но вот я подумал что одновременно с 1 счета могут снять сразу несколько человек с разных серверов деньги и тем самым дюпнуть их так как данные будут не валидные.
    И очень часто тянуть кучу данных с бд чтобы они всегда были валидными не очень хорошо.
    И вытягивать по 1 счету я тоже не могу так как они нужны еще и для отмены кое-каких ивентов а ивент асинхронно я отменить не смогу.
    Вот думаю думаю и никак не могу допереть как в таких случаях поступать правильно.
     
  2. alexandrage

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

    Баллы:
    173
    Записывай изменения в базу и все.
     
  3. Автор темы
    MySoR

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

    Баллы:
    76
    Имя в Minecraft:
    MySoR
    Ну я записал изменения в базу. Но плагин подтянет эти изменения не сразу и будет рассинхрон с балансе и будет возможность стянуть с баланса монеты которые уже стянуты. А ежесекундно тянуть данные с бд плохо.
     
  4. alexandrage

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

    Баллы:
    173
    Зачем ежесекудно то, только когда проводишь списание или пополнение, смотришь баланс из базы.
     
  5. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Как вариант при изменении баланса записывать его на всех серверах например через PluginMessage
     

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