Vault: что это и зачем нужен на Minecraft сервере (плагин-мост 2026)

Vault: что это и зачем нужен на Minecraft сервере (плагин-мост 2026)

Если вы хоть раз ставили EssentialsX, ChestShop, mcMMO, Jobs или почти любой плагин экономики, то видели в зависимостях строчку Vault. И сразу вопрос: что это за магический jar, почему его требуют десятки плагинов, и что произойдёт, если его не поставить. Короткий ответ: Vault это API-мост. Сам он ничего не делает, но без него плагины не смогут общаться с экономикой и пермишн-системой.

В этом материале разберём всё по делу: как устроен Vault внутри, зачем нужны service providers, как поставить, какие провайдеры экономики и прав поддерживаются в 2026, как ловить ошибку "no compatible economy plugin found", когда мигрировать на форк VaultUnlocked и в каких случаях Vault вообще не нужен.

Vault это API, а не функционал

Главное недопонимание в комьюнити: люди думают, что Vault сам по себе создаёт экономику, выдаёт права, рулит чатом. Это неверно.

Vault это абстрактный слой. Грубо говоря, когда плагин ChestShop хочет узнать баланс игрока, он не звонит напрямую в EssentialsX. Он звонит в Vault: "дай мне баланс игрока X". А Vault уже делегирует запрос тому плагину, который зарегистрировал себя как Economy Provider. Это может быть EssentialsX Eco, CMI, TNE, GemsEconomy, BeastTokens, что угодно.

Зачем такой слой? Чтобы один плагин шопов работал поверх любой экономики, не зная её внутренностей. Разработчик ChestShop пишет код один раз против Vault API, а админ сервера сам выбирает, какую экономику поднять под капотом.

Аналогично с правами. mcMMO хочет проверить, есть ли у игрока пермишн mcmmo.skills.mining. Он спрашивает Vault, Vault обращается к зарегистрированному Permission Provider (это LuckPerms, GroupManager, PermissionsEx и так далее), и возвращает true или false.

Vault поддерживает три API:

  • Economy (net.milkbowl.vault.economy.Economy)
  • Permission (net.milkbowl.vault.permission.Permission)
  • Chat (net.milkbowl.vault.chat.Chat)

Без зарегистрированного провайдера API существует, но возвращает заглушку. Поэтому ошибка "no compatible economy plugin found" означает: Vault стоит, но никто не зарегистрировался как провайдер экономики.

Как устроен Service Provider механизм

Bukkit/Paper имеют встроенный класс ServicesManager. Это реестр сервисов: любой плагин может зарегистрировать реализацию интерфейса, любой другой плагин может попросить эту реализацию.

Под капотом всё работает примерно так. EssentialsX при старте делает:

Bukkit.getServicesManager().register(
    Economy.class,
    new EssentialsEconomy(),
    essentialsPlugin,
    ServicePriority.Normal
);

А ChestShop при старте делает:

RegisteredServiceProvider<Economy> rsp =
    Bukkit.getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
    log.severe("No compatible economy plugin found!");
    return;
}
Economy econ = rsp.getProvider();

Vault сам себя в этой схеме не регистрирует как реализацию. Он только определяет интерфейсы и обвешивает их совместимостью между разными версиями API. Поэтому когда вы видите в логах "Hooked into Vault", это плагин нашёл в classpath классы Vault и теперь может через них общаться с провайдером.

Если в загрузке плагинов порядок неправильный (например, плагин экономики стартует позже шопа), регистрация может прийти с опозданием. Vault это решает через ленивую проверку: шоп не должен запоминать ссылку на Economy в onEnable, лучше получать её при первом запросе.

Установка Vault

Это самая короткая глава во всём гайде. Vault это один jar.

  1. Идите на github.com/MilkBowl/Vault/releases и скачайте последнюю стабильную версию (на момент 2026 это ветка 1.7.x).
  2. Закиньте Vault.jar в папку plugins/.
  3. Перезапустите сервер. Не /reload, это ломает регистрацию сервисов.

Проверка:

/plugins

В списке появится зелёным Vault. Дальше команда /vault-info покажет, какие провайдеры подключены:

/vault-info

Типичный вывод на здоровом сервере:

Vault v1.7.3-SNAPSHOT Information
Economy: EssentialsX Economy [Enabled]
Permissions: LuckPerms [Enabled]
Chat: LuckPerms-Chat [Enabled]

Если рядом с Economy написано (Disabled) или none, никакой плагин не зарегистрировался как провайдер. Идём в раздел про ошибки.

Провайдеры экономики

Vault сам не хранит балансы. Их хранит провайдер. В 2026 на Paper 1.21+ актуальный набор такой.

EssentialsX Economy

Самый популярный вариант. Идёт в составе EssentialsX. Скачиваете полный пакет: EssentialsX.jar, EssentialsXChat.jar, плюс отдельно есть EssentialsX Geo, AntiBuild и тому подобное. Сама экономика находится в основном EssentialsX.jar модуле.

Конфигурация в plugins/Essentials/config.yml:

currency-symbol: '$'
starting-balance: 100.0
max-money: 10000000000000
min-money: -10000

После старта команда /bal показывает баланс, /pay переводит, /eco админит. Vault автоматически подхватывает регистрацию.

CMI Economy

CMI это платный all-in-one плагин (заменяет EssentialsX, AdminFun, многое другое). Имеет свою экономику внутри.

В plugins/CMI/config.yml:

Economy:
  Enabled: true
  StartingMoney: 100.0
  Currency:
    Format: '$ {amount}'

CMI регистрируется в Vault приоритетом Normal. Если у вас параллельно стоит EssentialsX Eco, может произойти конфликт: оба регистрируются, побеждает тот, кто стартанул раньше. Решение, отключить экономику в одном из плагинов или использовать ServicePriority в конфиге.

TheNewEconomy (TNE)

TheNewEconomy это самостоятельный плагин экономики без обвески. Поддерживает мультивалюту (несколько валют на одном сервере), банки, проценты, региональные настройки.

Core:
  Currency:
    Default:
      Major_Name: Dollar
      Major_Plural: Dollars
      Symbol: '$'
      Decimal_Places: 2

TNE отлично подходит для серверов с несколькими валютами (например, основная валюта и токены за голосование).

GemsEconomy

GemsEconomy тоже мультивалютный, проще TNE по фичам, но удобнее в админке. Сохраняет в MySQL, нормально работает в BungeeCord/Velocity сети.

Совместимость экономик с Vault

ПровайдерVaultVaultUnlockedМультивалютаХранилище
EssentialsX EcoдаданетYAML
CMI EconomyдаданетSQLite/MySQL
TheNewEconomyдададаMySQL/H2
GemsEconomyдададаMySQL
BeastTokensдачерез адаптерда (токены)MySQL
iConomyустарелонетнетYAML

Вывод: для типового SMP берите EssentialsX Eco, для сложного RPG/PvP проекта смотрите в сторону TNE или GemsEconomy.

Провайдеры пермишнов

С пермишнами в 2026 фактически один реальный выбор, LuckPerms. Остальное либо мертво, либо легаси.

LuckPerms

LuckPerms идёт королём. Стандартная установка, кладёте LuckPerms-Bukkit-5.x.x.jar в plugins/, всё. Vault автоматически видит провайдера прав и провайдера чата (для префиксов и суффиксов).

Проверка:

/vault-info

Должно показать:

Permissions: LuckPerms [Enabled]
Chat: LuckPerms-Chat [Enabled]

LuckPerms нативно реализует Vault API. Никаких лишних настроек.

GroupManager

GroupManager идёт в составе старого EssentialsX, в современных версиях его выпилили. Если по какой-то причине вы на 1.8 и используете GroupManager, имейте в виду: он давно не развивается, а кошельковая интеграция с Vault работает криво.

PermissionsEx (PEX)

Мёртвый проект. Не используйте, имеет критические баги с потерей прав. Если у вас сервер на PEX, мигрируйте на LuckPerms через /lp import pex.

Bukkit superperms

Если permission плагин не стоит вообще, Vault падает к стандартной Bukkit superperms системе. Это значит, что права читаются из permissions.yml и оперативно работают только команды /op. Для серьёзного сервера такой режим бесполезен.

Сравнение пермишн-провайдеров

ПровайдерПоддержкаVaultКонтекстыРекомендация
LuckPermsактивнаядадабери
GroupManagerмёртвданетне бери
PermissionsExмёртвдачастичномигрируй
Bukkit superpermsбазоваячерез заглушкунетне бери

Провайдеры чата

Chat API в Vault это про префиксы, суффиксы и группы для красивого отображения. Например, плагин EssentialsXChat или Carbon берёт префикс из чат-провайдера.

В 99% случаев чат-провайдером будет тот же LuckPerms, потому что он реализует и Permission, и Chat интерфейс одновременно. Никаких отдельных шагов делать не нужно: поставили LuckPerms, чат-провайдер появился.

Если используете GroupManager (зачем?), он тоже регистрируется как Chat. CMI имеет свой чат-модуль и при включённой опции Chat.Vault тоже регистрируется.

Проверка через /vault-info и /papi parse

Самый быстрый способ убедиться, что Vault видит всё что нужно:

/vault-info

или короткая версия:

/vault

Покажет три строки: Economy, Permissions, Chat, и для каждой имя провайдера с состоянием.

Дальше можно проверить через PlaceholderAPI. Поставьте PAPI и расширения vault (/papi ecloud download Vault):

/papi parse <player_name> %vault_eco_balance%
/papi parse <player_name> %vault_eco_balance_formatted%
/papi parse <player_name> %vault_prefix%
/papi parse <player_name> %vault_suffix%
/papi parse <player_name> %vault_group%

Если плейсхолдеры возвращают пустую строку или исходный текст без подстановки, Vault не подцепил провайдера. Если возвращают цифру или префикс, всё работает.

Программная проверка из конфига плагина (например, у Citizens, Quests):

hooks:
  vault: true

После рестарта плагин в логах должен сказать "Hooked into Vault" или аналогичную строчку.

Типичная ошибка: no compatible economy plugin found

Самый частый запрос в саппорт. В логе:

[ChestShop] No compatible economy plugin found!
[Jobs] Vault dependency found, but no economy plugin registered.
[mcMMO] Could not find Vault economy hook.

Причины и порядок диагностики.

1. Vault не установлен

/plugins

Если в списке нет Vault зелёным, скачайте jar и положите в plugins/.

2. Vault установлен, но провайдер экономики нет

/vault-info

Если Economy: None или Disabled. Поставьте EssentialsX или CMI или TNE. Один из них.

3. Провайдер стоит, но не активировал экономику

Частый случай у CMI. В plugins/CMI/config.yml:

Economy:
  Enabled: false

Поставить true, перезапустить.

У EssentialsX редкий случай: модуль экономики физически отсутствует. Скачайте EssentialsX полностью с сайта essentialsx.net (не только Chat).

4. Конфликт двух провайдеров

В /vault-info пишется один провайдер, но плагины говорят, что баланс не меняется. Вариант: один плагин кладёт деньги в EssentialsX Eco, другой читает CMI Eco. Видны разные балансы. Решение: оставить один провайдер, у второго отключить регистрацию.

5. Старый Vault

Vault до 1.7 не понимает современные API изменения Paper 1.21+. Обновите до 1.7.3+.

6. Конфликт с прокси

В Velocity сети плагин экономики стоит на каждом из бэкенд серверов отдельно. Если стоит только на одном, остальные пишут "no economy". Vault не пробрасывает регистрацию через прокси: на каждом сервере свой набор плагинов.

VaultUnlocked: форк под современные нужды

Оригинальный Vault разрабатывается с 2011 года и иногда отстаёт от потребностей: нет нативной поддержки мультивалютной экономики, BigDecimal для больших чисел, асинхронных операций. Поэтому появился форк VaultUnlocked.

VaultUnlocked это:

  • Мультивалютная экономика на уровне API
  • BigDecimal вместо double для точных операций
  • Поддержка async balance lookup
  • Backwards-compatible со старым Vault API (плагины, написанные под Vault, продолжают работать)

Установка идентична: один jar в plugins/. Только не оба сразу, либо Vault, либо VaultUnlocked.

# Замена
rm plugins/Vault.jar
cp ~/downloads/VaultUnlocked.jar plugins/

После рестарта проверьте:

/vault-info

VaultUnlocked отобразит то же самое плюс пометит, какие провайдеры используют расширенный API. EssentialsX, CMI, LuckPerms работают с VaultUnlocked без изменений.

Когда переходить:

  • На сервере мультивалютная экономика (доллары + токены + кристаллы)
  • Используете TNE или GemsEconomy и хотите выжать асинхронные операции
  • Разрабатываете свои плагины и нужен BigDecimal

Когда не переходить: всё работает на классическом Vault, не трогайте.

Когда Vault не нужен

Не каждый сервер требует Vault. Случаи, когда его можно не ставить:

  • PvP-сервер без экономики и без сложных групп. Если на сервере нет шопов, нет EssentialsX Eco, и пермишны управляются опкой и базовым LuckPerms, Vault никто не вызывает.
  • Survival с одним шопом-плагином, который имеет встроенную экономику. Например, QuickShop умеет работать без Vault если стоит TNE или Treasury.
  • Майнигеймы под BungeeCord/Velocity. Bedwars/Skywars обычно используют свою валюту через коины-плагины и не лезут в Vault.
  • Чисто технический сервер. Тестовый, билд-сервер, креатив-сервер где у всех опка.

Современный тренд это Treasury, альтернативный API-мост, который обходит ограничения Vault. Если все плагины поддерживают и Vault, и Treasury, можно жить без Vault. Но в реальности 2026 года 90% популярных плагинов всё ещё хучатся именно в Vault.

Миграция со старых плагинов на современный стек

Если вы поднимаете сервер с нуля в 2026, базовый стек выглядит так:

plugins/
  Vault.jar             # или VaultUnlocked.jar
  LuckPerms-Bukkit.jar
  EssentialsX.jar
  EssentialsXChat.jar
  PlaceholderAPI.jar

Этого хватит для:

  • Экономики (/bal, /pay, /eco)
  • Прав через LuckPerms (/lp команды, веб-редактор)
  • Префиксов/суффиксов в чате
  • Любых других плагинов, требующих Vault

Если переходите со старого сервера: бэкап, обновить Vault до 1.7.x, EssentialsX до последней (минимум 2.20+), LuckPerms до 5.5+, перезапуск, проверка /vault-info. Балансы и группы сохраняются если хранилище плагинов не меняли.

Тонкая настройка приоритетов

В редких случаях когда стоят два провайдера экономики и нужно выбрать главного, посмотрите конфиг вашего основного плагина. У EssentialsX в Essentials/config.yml:

update-bed-at-daytime: true
# Vault приоритет регистрации не настраивается напрямую,
# управляется через порядок загрузки плагинов

Реальный workaround: переименовать jar плагина так, чтобы он грузился раньше или позже. Альфавитный порядок загрузки. AAA-EssentialsX.jar загрузится раньше чем CMI.jar. Хак, но работает.

Цивилизованный путь: оставить только один провайдер экономики на сервере. Параллельные две экономики практически всегда означают забытый плагин или неверную настройку.

FAQ

Vault сам по себе создаёт деньги или права?

Нет. Vault это API-мост. Он определяет интерфейсы Economy, Permission, Chat, и предоставляет ServicesManager обёртку. Сами деньги хранит провайдер (EssentialsX, CMI, TNE), сами права хранит LuckPerms.

Что происходит, если поставить Vault и не поставить ни одного провайдера?

Vault загрузится, плагины-зависимости тоже загрузятся, но при попытке получить баланс или проверить право они получат null. В логах появится "no compatible economy plugin found" или аналогичное.

Можно ли использовать Vault и VaultUnlocked одновременно?

Нет. Это два jar с одинаковыми пакетами и классами. Сервер либо не загрузится, либо будет работать непредсказуемо. Выберите один.

LuckPerms и GroupManager одновременно?

Технически Bukkit это позволяет, но не делайте. Они конфликтуют, борются за регистрацию, права теряются. Если переходите с GroupManager на LuckPerms: /lp import groupmanager, удалить GroupManager.

На прокси Velocity нужен Vault?

Прокси-плагины (на самом Velocity) Vault обычно не используют. Vault это Bukkit API. На бэкенд-серверах за прокси нужен. На каждом отдельный.

Почему ChestShop пишет "no economy" хотя стоит EssentialsX?

Проверьте, что в /vault-info Economy не None. Если None: модуль экономики EssentialsX отключён или не загрузился, смотрите логи Essentials/server.log. Если зелёный, перезапустите сервер: ChestShop может закэшировать null-результат при загрузке.

Закрывающие мысли

Vault это инфраструктурный плагин. Поставил один раз и забыл. Сложности начинаются когда выбор экономики или прав делается без понимания, какой провайдер во что регистрируется. Помните основное правило: один провайдер на каждый API, в логах после старта должно быть зелёным во всех трёх строках, и любые "no compatible plugin" решаются проверкой /vault-info за тридцать секунд.

Если ваш сервер уже атакуют и вы пытаетесь параллельно настраивать стек плагинов, ставьте проверенную DDoS-защиту от MineGuard и спокойно занимайтесь конфигурацией. Когда трафик не падает, разбираться с Vault и провайдерами становится сильно приятнее.


Protege tu servidor contra ataques DDoS

Protección gratuita con configuración en 5 minutos. 1 TB de tráfico incluido.

Probar gratis


Artículos relacionados