Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Shevchik

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

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

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

Команды
/imsql help сам всё расскажет.
 
эх где ты был =).... А то пришлось делать самому подобный этому плагин ^_^
 
Радует, что хоть кто-то не изобретает велосипед, а использует YamlConfiguration :)
А то очень удивляет, что функционал, появившийся ещё в 1.0.1-R1 версии практически никто не использует.
 
ммм я когда свой писал тоже использовал конфиг =), у меня еще там хранится энедерсундук и прочие личные данные игрока типо здоровья уровня голода и тд.
 
Буквально неделю назад написал небольшой скрипт продажи блоков из БД с помощью твоего плагина, но он пока что сырой...
А вообще плагин - класс, много разных вещей придумать можно
 
Буквально неделю назад написал небольшой скрипт продажи блоков из БД с помощью твоего плагина, но он пока что сырой...
А вообще плагин - класс, много разных вещей придумать можно
Неделю назад способ хранения инфы был другой.
 
Почему каждый раз обращаясь в базу ты создаёшь новое подключение? Почему не создать один такой и давать ссылку каждый раз?
 
Просто на случай разрыва соединения.
Я не хочу писать проверку работоспособности соединения, но в то же время писать пул соединений тоже не имеет смысла, ибо соединений сразу много быть не может.
Поэтому пкаждый раз создаю новое соединение.
 
Не понимаю.
Такая конструкция выдержит 50-200 запросов при максимальной нагрузке?
Это вопрос к базе данных, джаве вообще пофигу сколько соединений создавать.

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

Так же я хз откуда тут возьмётся 50-200 запросов, ибо я не думаю что игроки будут закладвыать вещи туда-обратно каждую секунду.
 
Я бы посоветовал процесс передачи вещей в базу данных сделать автоматическим на кэше. Как известно, оригинальный сервер хранит инфу в файле и при загрузке игрока держит инфу в памяти сервера, до тех пор, пока игрок не выйдет. Тоже самое примерно и вам надо. Держать кэшируемую версию всех предметов игрока и время от времени ее обновлять.
 
Я бы посоветовал процесс передачи вещей в базу данных сделать автоматическим на кэше. Как известно, оригинальный сервер хранит инфу в файле и при загрузке игрока держит инфу в памяти сервера, до тех пор, пока игрок не выйдет. Тоже самое примерно и вам надо. Держать кэшируемую версию всех предметов игрока и время от времени ее обновлять.
А смысл? Тем более что к одной бд могут быть подключены несколько серверов.
 
Я бы посоветовал процесс передачи вещей в базу данных сделать автоматическим на кэше. Как известно, оригинальный сервер хранит инфу в файле и при загрузке игрока держит инфу в памяти сервера, до тех пор, пока игрок не выйдет. Тоже самое примерно и вам надо. Держать кэшируемую версию всех предметов игрока и время от времени ее обновлять.
От этого выигрыш очень сомнительный.
 
Не сомнительние самого плагина. А какой смысл в плагине? Несколько серверов? Вам показать как работать с бд?
 
Смысл плагина - в переносе вещей с сервера на сервер самим игроком, а также торговля этими вещами (в будущем).
 
Смысл плагина - в переносе вещей с сервера на сервер самим игроком, а также торговля этими вещами (в будущем).
Ну вот, торговлю этими вещами, передача между серверами. Зачем лишния команда, когда все будет на руке?
 
запилил бы лучше, что бы из ender-chest в mysql сливало предметы, получилось бы тоже самое без команд, не?
 
запилил бы лучше, что бы из ender-chest в mysql сливало предметы, получилось бы тоже самое без команд, не?
У него ограничения по количество вещей, а если делать через отдельный интерфейс - инвентарь между серверами может быть бесконечным.
 

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

Назад
Верх