
EzEconomy
Современный и быстрый плагин экономики для серверов Minecraft через Vault. Поддержка YML, MySQL, SQLite, MongoDB, многовалютность, асинхронное кэширование и гибкие права. Подходит для серверов любого размера.
EzEconomy - это современный и быстрый плагин экономики для серверов Minecraft, который работает через Vault API. Если вы ищете замену стандартной экономике из EssentialsX, обратите внимание на EzEconomy - он предлагает многовалютность, асинхронное кэширование и поддержку разных баз данных. На большом сервере с магазинами, приватами и торговлей стабильная экономика - основа всего. EzEconomy справляется с этой задачей на ура: по тестам он в 50 раз быстрее некоторых популярных аналогов.
Плагин поддерживает YML, MySQL, SQLite, MongoDB и даже пользовательские хранилища. Встроенная многовалютность позволяет создать свою валютную систему (например, доллары, евро, алмазы) с конвертацией. Асинхронное кэширование снижает нагрузку на сервер, а гибкие права (permissions) дают полный контроль над командами и банковскими операциями.
Ключевые возможности
- Совместимость с Vault - работает с любыми плагинами, использующими Vault API
- YML, MySQL, SQLite, MongoDB или своё хранилище
- Потокобезопасность и надёжная обработка ошибок
- Многовалютность: опционально, настраивается под каждого игрока
- Асинхронное кэширование - оптимизация для больших серверов
- Полный набор команд: /balance, /eco, /baltop, /bank, /pay, /currency
- Детальные права на каждую команду и банковские операции
Команды
- /balance - просмотр своего баланса
- /balance <игрок> - баланс другого игрока (право: ezeconomy.balance.others)
- /eco <give|take|set> <игрок> <сумма> - админская команда (право: ezeconomy.eco)
- /eco gui - показать GUI с балансами
- /baltop [количество] - топ игроков по балансу
- /bank <create|delete|balance|deposit|withdraw|addmember|removemember|info> ... - управление банками (право: ezeconomy.bank.*)
- /pay <игрок> <сумма> - перевести деньги другому игроку (право: ezeconomy.pay)
- /currency [валюта] - установить или посмотреть предпочитаемую валюту (право: ezeconomy.currency)
- /ezeconomy cleanup - удалить данные ушедших игроков (право: ezeconomy.admin)
- /ezeconomy daily reset - сбросить ежедневные награды (право: ezeconomy.admin)
- /ezeconomy reload - перезагрузить конфиг (право: ezeconomy.admin)
- /ezeconomy reload messages - перезагрузить только файл сообщений (право: ezeconomy.admin)
- /ezeconomy database info - информация о подключении к БД (право: ezeconomy.admin)
- /ezeconomy database test - проверить подключение к БД (право: ezeconomy.admin)
- /ezeconomy database reset - сбросить все таблицы БД (ОПАСНО) (право: ezeconomy.admin)
Права (Permissions)
ezeconomy.balance.others- просмотр баланса других игроковezeconomy.eco- использование админской команды /ecoezeconomy.pay- использование /payezeconomy.currency- использование /currencyezeconomy.admin- админские команды /ezeconomy (cleanup, reload, database, daily reset)
Банковские права:
ezeconomy.bank.create- создать банкezeconomy.bank.delete- удалить банкezeconomy.bank.balance- просмотр баланса банкаezeconomy.bank.deposit- внести деньги в банкezeconomy.bank.withdraw- снять деньги из банкаezeconomy.bank.addmember- добавить участника в банкezeconomy.bank.removemember- удалить участника из банкаezeconomy.bank.info- информация о банкеezeconomy.bank.admin- все админские действия с банками
Пример конфигурации
config.yml (только глобальные настройки):
storage: yml
multi-currency:
enabled: false
default: "dollar"
currencies:
dollar:
display: "Dollar"
symbol: "$"
decimals: 2
euro:
display: "Euro"
symbol: "€"
decimals: 2
conversion:
dollar:
euro: 0.95
gem: 0.01
euro:
dollar: 1.05
gem: 0.012
gem:
dollar: 100
euro: 80
config-yml.yml (настройки YML-хранилища):
yml:
file: balances.yml
per-player-file-naming: uuid
data-folder: data
config-mysql.yml (настройки MySQL):
mysql:
host: localhost
port: 3306
database: ezeconomy
username: root
password: password
table: balances
config-sqlite.yml (настройки SQLite):
sqlite:
file: ezeconomy.db
table: balances
banksTable: banks
config-mongodb.yml (настройки MongoDB):
mongodb:
uri: mongodb://localhost:27017
database: ezeconomy
collection: balances
banksCollection: banks
Установка
- Поместите файл
EzEconomy.jarв папку plugins - Настройте
config.ymlи соответствующийconfig-*.ymlпод ваш тип хранилища - Перезапустите сервер
Интеграция
- EzEconomy автоматически регистрируется как Vault-провайдер - никакой дополнительной настройки для совместимых плагинов не требуется
- Поддержка PlaceholderAPI: используйте плейсхолдеры в чате, скорборде и других плагинах:
%ezeconomy_balance%- ваш баланс%ezeconomy_balance_<валюта>%- баланс в конкретной валюте (например,%ezeconomy_balance_euro%)%ezeconomy_bank_<банк>%- баланс банка%ezeconomy_top_1%- баланс игрока на 1-м месте (замените 1 на нужный ранг)%ezeconomy_currency%- ваша текущая валюта
Разработчикам: кастомные хранилища
EzEconomy поддерживает любые кастомные хранилища (YML, MySQL, SQLite, MongoDB или свои). Вы можете реализовать свой провайдер для любой базы данных.
Как добавить свой провайдер:
- Реализуйте интерфейс
StorageProviderв своём плагине или модуле - Зарегистрируйте провайдер до загрузки EzEconomy:
EzEconomy.registerStorageProvider(new YourProvider(...)); - Можно зарегистрировать только один провайдер. Если он установлен, EzEconomy будет использовать его вместо YML/MySQL.
- Смотрите полную документацию StorageProvider для реализации всех методов.
Это позволяет использовать SQLite, MongoDB, Redis или любую другую систему для хранения балансов и банков.
Сравнение производительности
Тесты экономических операций
| Плагин | Версия | Хранилище | Redis | Статус | Время (с) | Депозит ср. (мс) | Снятие ср. (мс) | Баланс/Проверка ср. (мс) | RAM ср. (MiB) | RAM пик (MiB) | Сравнение с EzEconomy (депозит) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| essentialsx | 2.21.1 | file | off | ok | 1.021 | 0.483072 | 0.276326 | 0.005248 | 465.76 | 466.50 | N/A |
| ezeconomy | 3.1.2 | mysql | off | ok | 0.090 | 0.008794 | 0.007697 | 0.004436 | 415.20 | 415.50 | 1.00x |
| ezeconomy | 3.1.2 | mysql | on | ok | 0.098 | 0.012991 | 0.008751 | 0.004505 | 405.67 | 406.02 | 1.48x |
| ezeconomy | 3.1.2 | sqlite | off | ok | 0.034 | 0.008090 | 0.003718 | 0.003299 | 420.58 | 420.78 | 1.00x |
| ezeconomy | 3.1.2 | sqlite | on | ok | 0.036 | 0.007114 | 0.004541 | 0.003127 | 447.34 | 447.37 | 0.88x |
| xconomy | 2.26.3 | mysql | off | ok | 0.547 | 0.164429 | 0.129993 | 0.191681 | 465.28 | 467.52 | 18.70x |
| xconomy | 2.26.3 | sqlite | off | ok | 0.290 | 0.109194 | 0.061594 | 0.080283 | 428.20 | 430.39 | 13.50x |
Тесты банковских операций
| Плагин | Версия | Хранилище | Redis | Статус | Время (с) | Депозит в банк ср. (мс) | Снятие из банка ср. (мс) | Баланс/Проверка банка ср. (мс) | RAM ср. (MiB) | RAM пик (MiB) |
|---|---|---|---|---|---|---|---|---|---|---|
| essentialsx | 2.21.1 | file | off | пропущено (Vault bank API не поддерживается) | N/A | N/A | N/A | N/A | N/A | N/A |
| ezeconomy | 3.1.2 | mysql | off | ok | 3.330 | 1.225967 | 1.153788 | 0.567417 | 449.95 | 458.75 |
| ezeconomy | 3.1.2 | mysql | on | ok | 3.090 | 1.122824 | 1.078041 | 0.516253 | 440.06 | 448.27 |
| ezeconomy | 3.1.2 | sqlite | off | ok | 2.126 | 0.960253 | 0.838308 | 0.061351 | 463.86 | 469.28 |
| ezeconomy | 3.1.2 | sqlite | on | ok | 1.864 | 0.827309 | 0.747836 | 0.064934 | 490.66 | 496.37 |
| xconomy | 2.26.3 | mysql | off | пропущено (Vault bank API не поддерживается) | N/A | N/A | N/A | N/A | N/A | N/A |
| xconomy | 2.26.3 | sqlite | off | пропущено (Vault bank API не поддерживается) | N/A | N/A | N/A | N/A | N/A | N/A |
