- Баллы
- 123
- Имя в Minecraft
- Reality_SC
В этой теме представлен мой форк широко известного плагина Fé-economy, сокр. просто Fe. За основу взята последняя на текущий момент версия 0.8.2.
Внимание: выяснилось, плагин некорректно работает с SQLite, поэтому до объявления о фиксе, пожалуйста, используйте MySQL.
Конфигурация плагина.
По сравнению с оригинальной версией, на которой основан мой форк, файл config.yml претерпел значительные изменения. Однако, плагин полноценно проводит конвертацию в новый формат и сохраняет бекап старого конфига.
Стоит отметить, что плагин имеет внутреннее название Fe2 (вместо Fe) и создаёт соответствующую папку для конфига. Чтобы использовать старый конфиг, перед запуском просто сделайте копию папки и config.yml.
Команды и пермишены.
Поведение относительно UUID-ов.
В оригинальной версии использовался Player UUID Fetcher, который запрашивал пачками uuid-ы игроков по их никам у лицензионных серверов Mojang. Мой этого не делает. Каждому игроку при входе на сервер создаётся запись — имя и uuid берутся из PlayerJoinEvent. Если в БД имелась запись с таким ником (созданная командой, например) и/или таким uuid-ом, к ней будет добавлена недостающая часть. uuid имеет приоритет над именем, поэтому если uuid старый, а ник новый, то обновится именно ник.
История изменений.
Конкретно в моём случае я использую СУБД, значительно отдалённый от игрового сервера, и если включить maximum-consistency, то даже 1-2 игрока, постоянно продающих в админ-шопе, могут приложить сервер. Есть на рубакките программисты, которые утверждают, что старые версии без uuid-ов работают без лагов и при этом перечитывают данные из БД при каждом обращении к счёту. Я в этом сомневаюсь, но всегда готов к конструктивной критике и тем более советам по деталям кода.
Внимание: выяснилось, плагин некорректно работает с SQLite, поэтому до объявления о фиксе, пожалуйста, используйте MySQL.
Скачать | Исходный код
Страница оригинального Fé на spigotmc.org
Страница оригинального Fé на dev.bukkit.org
Страница оригинального Fé на spigotmc.org
Страница оригинального Fé на dev.bukkit.org
Конфигурация плагина.
По сравнению с оригинальной версией, на которой основан мой форк, файл 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.?
Поведение относительно 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):
Мой форк (Fe2):
Мой форк (Fe2):
Последнее редактирование:
