Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
Плагин[ECON] Fé-economy v0.9.3 — простая экономика с поддержкой СУБД [1.7-1.8]
А он не работает? Я просто не могу попробовать, ибо сам их широко использую, но вроде как если нет UUID, плагин просто юзает ник как ключ.
Если есть конкретная проблема, постите сюда логи.
Конфигурация плагина.
По сравнению с оригинальной версией, на которой основан мой форк, файл config.yml претерпел значительные изменения. Однако, плагин полноценно проводит конвертацию в новый формат и сохраняет бекап старого конфига.
Стоит отметить, что плагин имеет внутреннее название Fe2 (вместо Fe) и создаёт соответствующую папку для конфига. Чтобы использовать старый конфиг, перед запуском просто сделайте копию папки и config.yml.
YAML:
settings:
# Количество монет для новых игроков
new-player-holdings: 10.00
# Максимально допустимое количество монет для каждого игрока
maximum-holdings: -1.0
# Сколько по умолчанию показывать наиболее богатых игроков
show-top: 10
# Префикс для ответов плагина в чате
prefix: Fe
# Настройки валюты
currency:
# Префикс валюты. Например, кол-во долларов пишется так: $100.
prefix: ''
# Возможен ли отрицательный баланс
negative: false
# Рубли/доллары/мажорная единица валюты
major:
single: Fe
multiple: Fe
# Копейки/центы/минорная единица валюты
minor:
# Включено или нет?
enabled: false
single: Fe
multiple: Fe
# Тип используемой БД: mysql или sqlite
database-type: sqlite
# SQLite в общем-то настройками не богат
sqlite: {}
# Настройки MySQL
mysql:
# Перечитывать ли счёт игрока из БД при каждом обращении к нему?
# Эта настройка необходима, если Вы используете ЛК, где можно тратить монеты.
# Если количество монет может меняться только на сервере, её можно выключить.
# Это значительно снизит нагрузку на сервер.
maximum-consistency: true
# Адрес, логин и пароль для подключения
connection:
database: localhost:3306/minecraft
username: user
password: pass
# Названия таблиц и колонок в них
tables:
accounts: fe_accounts
columns:
accounts:
uuid: uuid
username: name
money: money
# Удалять ли при запуске счета, на которых содержится количество
# монет по умолчанию?
autoclean: true
# Используется для автоматического обновления настроек. Не менять.
internal:
version: 1
Команды и пермишены.
fe top [#] — показать сколько-то самых богатых игроков. fe.top
fe balance [who] — показать свой или чужой баланс. fe.balance, fe.balance.other
fe send [who] [$] — послать монет со своего счёта на чужой. fe.send
fe create [who] — создать запись. fe.create
fe grant [who] [$] — зачисление монет на счёт. fe.grant
fe deduct [who] [$] — снятие монет со счёта. fe.deduct
fe set [who] [$] — установление точного значения кол-ва монет на счёте. fe.set
fe remove [who] — удаление записи. fe.remove
fe clean — удаление записей со счетами, равными значению по умолчанию. fe.clean
fe migrate <mysql|sqlite> — полный дамп из текущего хранилища в указанное (не может быть текущим). fe.migrate
fe debug — включение показа в консоли стека для каждого вызова методов обработчика VaultAPI. fe.debug
fe reload — перезагрузка плагина. fe.reload
fe help — показ справки по командам. fe.?
Часть пермишенов (для игроков) объединена в один fe.member, другая часть (для администраторов) — в fe.admin; на всякий случай все вместе они в пермишене fe.*.
Поведение относительно UUID-ов.
В оригинальной версии использовался Player UUID Fetcher, который запрашивал пачками uuid-ы игроков по их никам у лицензионных серверов Mojang. Мой этого не делает. Каждому игроку при входе на сервер создаётся запись — имя и uuid берутся из PlayerJoinEvent. Если в БД имелась запись с таким ником (созданная командой, например) и/или таким uuid-ом, к ней будет добавлена недостающая часть. uuid имеет приоритет над именем, поэтому если uuid старый, а ник новый, то обновится именно ник.
История изменений.
0.9.3: исправлен баг с дюпом счёта, мелкие исправления в коде.
0.9.1: возможен режим кэширования счёта игроков без постоянного перечитывания его из БД (нужно выставить settings.mysql.maximum-consistency: false).
0.9.0: запись в БД происходит отдельным потоком; добавлены команды /fe migrate и /fe debug.
0.8.4: изменен файл конфигурации, поведение относительно uuid, почищен код.
0.8.2, взята оригинальная версия.
Возможные проблемы.
Конкретно в моём случае я использую СУБД, значительно отдалённый от игрового сервера, и если включить maximum-consistency, то даже 1-2 игрока, постоянно продающих в админ-шопе, могут приложить сервер. Есть на рубакките программисты, которые утверждают, что старые версии без uuid-ов работают без лагов и при этом перечитывают данные из БД при каждом обращении к счёту. Я в этом сомневаюсь, но всегда готов к конструктивной критике и тем более советам по деталям кода.
А что насчёт нагрузки? Сейчас стоит ориг. версия, но из за неё заметно подвисает. Ясно. Конечно нагрузка в разы меньше чем от оригинального FE, но сам плагин багнутый
нулей в базу пишет и вообще творит хер пойми что.
Некоторые записи в MySQL создаются без имени пользователя с null, на разных никах так. Если у другого пользователя так же то запись перезаписывается под него. http://prntscr.com/aj3zdh
Это всё из-за того, что Fé пытается усидеть на двух стульях сразу: на старых серверах с ядрами, которые знать ничего не знают про UUID-ы, и на новых, где UUID является первичным, а ник теоретически может быть изменён.
По-хорошему, нужно забить на старые сервера, и юзать исключительно UUID-ы, но всё эту лишнюю логику выкинуть, больно много в ней потенциальных дыр...
Я не буду сейчас браться за это, лениво.
Это всё из-за того, что Fé пытается усидеть на двух стульях сразу: на старых серверах с ядрами, которые знать ничего не знают про UUID-ы, и на новых, где UUID является первичным, а ник теоретически может быть изменён.
По-хорошему, нужно забить на старые сервера, и юзать исключительно UUID-ы, но всё эту лишнюю логику выкинуть, больно много в ней потенциальных дыр...
Я не буду сейчас браться за это, лениво.
У меня тоже сервера Spigot 1.8.8, и вроде даже до этого были 1.7.10, плагин не менялся. Всё работает отлично.
Мои сервера находятся в online-mode, возможно влияет именно то, что проблемные сервера в offline-mode.
У Вас какой сервер?
И ещё, если у Вас MySQL находится на той же машине, что и игровой, попробуйте включить в конфиге опцию max-consistency.
У меня тоже сервера Spigot 1.8.8, и вроде даже до этого были 1.7.10, плагин не менялся. Всё работает отлично.
Мои сервера находятся в online-mode, возможно влияет именно то, что проблемные сервера в offline-mode.
У Вас какой сервер?
И ещё, если у Вас MySQL находится на той же машине, что и игровой, попробуйте включить в конфиге опцию max-consistency.
У меня тоже сервера Spigot 1.8.8, и вроде даже до этого были 1.7.10, плагин не менялся. Всё работает отлично.
Мои сервера находятся в online-mode, возможно влияет именно то, что проблемные сервера в offline-mode.
У Вас какой сервер?
И ещё, если у Вас MySQL находится на той же машине, что и игровой, попробуйте включить в конфиге опцию max-consistency.
Некоторые записи в MySQL создаются без имени пользователя с null, на разных никах так. Если у другого пользователя так же то запись перезаписывается под него.
Есть проблема с плагином. Версии выше 9.0 дюпают счет (фикс от дюпа не помогает).
Последний коммит без дюпа(возможно незаметен из-за проблем с записю в sql): https://github.com/RuBukkit/Fe-economy/commit/90a676e3a3942559fc7fa860d61ca9d70ff2b89c
Как проверить:
1. используем плагины Fe(9.1 и выше), Vault, Essentials(или EssentialsX - без разницы)
2. Fe настраиваем на работу с mysql
3. Устанавливаем в Essentials стоимость команды(я использовал /setwarp)
4. несколько раз используем платную команду Essentials
5. Профит.
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!