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

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

Discussion in 'Разработка плагинов для новичков' started by Shevchik, Oct 15, 2013.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Share This Page