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

Помогите Как лучше сохранять игроков?

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

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

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

    Баллы:
    76
    Многие знают про то, что при рестарте/релоаде серва очищаются все list-ы, массивы, переменные, и т. д... У меня есть HashMap<ИмяИгрока,ДанныеИгрокаКакКласс>. В данных находится много разной статистики... Сколько денег, сколько чего ломал, уровень, и прочее. В общем, довольно много инфы на каждого игрока. И тут встаёт вопрос: как же всё это дело сохранять? Не буду же я старый getConfig() юзать, а для MySQL многовато данных наверное... Хз. Прост данных много, все нужные, а когда на серве зарегается 1000+ игроков - будет не сладко...
     
  2. Grom_Fake

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

    Баллы:
    66
    Имя в Minecraft:
    Grom_Fake
    Если не хочешь MySQL и в кфг, тогда сохраняй в обычный .yml файл.
     
  3. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Для базы данных может и многовато если каждый тип данных будешь в отдельном столбике делать. Но если тебе не нужно ничего искать по базе данных, то эти столбики тебе не нужны и ты можешь просто записать все в один. Например в формате Ник | Данные, где Данные будут в виде Json строки.

    А вообще в будущем желательно научиться правильно работать с базами данных в асинхронных потоках и не кешировать все в память, а брать только тогда, когда это нужно. На то БД и нужны. Исключительный случай - когда данные нужно брать сверх быстро.
     
  4. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Что именно тебе нужно? Если просто сбор некоторой статистики, то, думаю, лучше использовать какую-нибудь sql, вроде h2 или mysql. Если конкретно данные игроков, которые нужны только когда совершается то или иное действие по отношению к игроку(в том числе его вход/выход), то вариант с сохранением данных в .yml - самый простой для начала. Таким боком работает сохранение данных об игроках в том же Essentials - для каждого нового игрока создается файл UUID.yml, и когда в очередной раз что-то происходит - файл игрока подгружается.
     
  5. alexandrage

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

    Баллы:
    173
    По файлу на игрока yml - стандартный конфиг или json - gson либ, что тебе удобней.
    Если данных очень много, можно заюзать nbt.
     
  6. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    И для чего тут json юзать? Да и поцан сто процентов не сможет норм работать с ним в дб, просто raw string запишет и все. Ну и собсна лучше в мускуле хранить в обычном таблице по типу id | name | property | value, повесить индексв на нейм и проперти и спокойно жить
     
  7. Nikolai_Faint

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

    Баллы:
    96
     
  8. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Все утыкается в то, что нужно ТС'у. Если нужны сразу все данные игроков - то это, конечно, не вариант. Однако, если данные игроков нужны не 24/7, то это вполне адекватный вариант - просто выгружать при ненадобности(или не загружать вовсе).
     
  9. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Кто-то Prison пишет, хехехехехех
     

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