Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

В разработке ItemMoveSQL

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Решил вернутся к разработке моего старого заброшенного плагина который позволяет игрокам класть вещи в базу данных и забирать их из неё.

    Короче исходники и тестовый джарник можно получить здесь.
    https://github.com/Shevchik/ItemMoveSQL/tree/test

    Конфиг:
    Код:
    mysql:
      address: jdbc:mysql://localhost/ #адрес БД
      dbname: itemmovesqldb #Имя БД
      login: root #логин
      password: password #пароль
      checkdb: true #проверять базу данный на существование перед попыткой использования
      maxparallelrequests: 8 #число потоков которые обрабатывают запросы игроков.
    items:
      max: 5 #Сколько вещей максимум может хранить игрок в базе
    Команды
    /imsql help сам всё расскажет.
     
    Сникерсни, Xakep_SDK, Linkinkov и 3 другим нравится это.
  2. Хостинг MineCraft
    <
  3. vovvaan96

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

    Баллы:
    88
    Skype:
    vovvan96
    Имя в Minecraft:
    vovvan
    эх где ты был =).... А то пришлось делать самому подобный этому плагин ^_^
     
  4. skynetxxx

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

    Баллы:
    123
    Имя в Minecraft:
    skynetxxx
    Радует, что хоть кто-то не изобретает велосипед, а использует YamlConfiguration :)
    А то очень удивляет, что функционал, появившийся ещё в 1.0.1-R1 версии практически никто не использует.
     
  5. vovvaan96

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

    Баллы:
    88
    Skype:
    vovvan96
    Имя в Minecraft:
    vovvan
    ммм я когда свой писал тоже использовал конфиг =), у меня еще там хранится энедерсундук и прочие личные данные игрока типо здоровья уровня голода и тд.
     
  6. Zard0nic

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

    Баллы:
    153
    Буквально неделю назад написал небольшой скрипт продажи блоков из БД с помощью твоего плагина, но он пока что сырой...
    А вообще плагин - класс, много разных вещей придумать можно
     
  7. Автор темы
    Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Неделю назад способ хранения инфы был другой.
     
  8. Zard0nic

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

    Баллы:
    153
    Что изменилось?
    Changelog бы не помешал
     
  9. skynetxxx

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

    Баллы:
    123
    Имя в Minecraft:
    skynetxxx
    Сравни ветки test и master...
     
  10. DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Почему каждый раз обращаясь в базу ты создаёшь новое подключение? Почему не создать один такой и давать ссылку каждый раз?
     
  11. Автор темы
    Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Просто на случай разрыва соединения.
    Я не хочу писать проверку работоспособности соединения, но в то же время писать пул соединений тоже не имеет смысла, ибо соединений сразу много быть не может.
    Поэтому пкаждый раз создаю новое соединение.
     
    ВремяПриключений нравится это.
  12. DJames

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

    Баллы:
    68
    Skype:
    xjameszzzx
    Имя в Minecraft:
    DJame5
    Не понимаю.
    Такая конструкция выдержит 50-200 запросов при максимальной нагрузке?
     
  13. Автор темы
    Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Это вопрос к базе данных, джаве вообще пофигу сколько соединений создавать.

    Кстати по дефолту ограничено 8 одновременных запросов(mxparallelthreads), остальны операии ждут завершения прошлых.

    Так же я хз откуда тут возьмётся 50-200 запросов, ибо я не думаю что игроки будут закладвыать вещи туда-обратно каждую секунду.
     
  14. ensirius

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

    Баллы:
    123
    Я бы посоветовал процесс передачи вещей в базу данных сделать автоматическим на кэше. Как известно, оригинальный сервер хранит инфу в файле и при загрузке игрока держит инфу в памяти сервера, до тех пор, пока игрок не выйдет. Тоже самое примерно и вам надо. Держать кэшируемую версию всех предметов игрока и время от времени ее обновлять.
     
  15. Автор темы
    Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А смысл? Тем более что к одной бд могут быть подключены несколько серверов.
     
  16. ptnk

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

    Баллы:
    173
    От этого выигрыш очень сомнительный.
     
  17. ensirius

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

    Баллы:
    123
    Не сомнительние самого плагина. А какой смысл в плагине? Несколько серверов? Вам показать как работать с бд?
     
  18. Автор темы
    Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Смысл плагина - в переносе вещей с сервера на сервер самим игроком, а также торговля этими вещами (в будущем).
     
  19. ensirius

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

    Баллы:
    123
    Ну вот, торговлю этими вещами, передача между серверами. Зачем лишния команда, когда все будет на руке?
     
  20. Semen4ik

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

    Баллы:
    123
    Skype:
    Semenov1215
    Имя в Minecraft:
    Semen4ik
    запилил бы лучше, что бы из ender-chest в mysql сливало предметы, получилось бы тоже самое без команд, не?
     
  21. ptnk

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

    Баллы:
    173
    У него ограничения по количество вещей, а если делать через отдельный интерфейс - инвентарь между серверами может быть бесконечным.
     

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