Перейти к основному содержимому

Экономика и работы (JobSystem + XConomy)

Два плагина отвечают за игровую экономику:

  • VRX JobSystem — работы, компании, банк, аукцион, чёрный рынок, мэрия и выборы. Открывается игроками командой /job.
  • XConomy — базовая валюта сервера («монеты»), на неё завязаны Vault и JobSystem.

Оба переведены на русский язык (сентябрь 2026) — детали в разделе «Языковые файлы» ниже.

Панель администратора JobSystem​

/jobadmin [jobs|doctor|bank|event|election|mayor|updatecheck|reload]

Без аргументов открывает GUI «JobSystem Admin Control Center» с разделами:

РазделЧто внутри
Player EditorИнспектор игрока — работы, уровни, компания, баланс
Job EditorВключение/выключение работы, макс. уровень, редактор наград — правки точечные, комментарии в YAML не ломаются
Company EditorПросмотр и правка прогресса/баланса любой компании
Economy AnalyticsОтчёт по экономике сервера
Configuration DoctorАудит конфигов, работ, достижений и миссий — см. ниже
Audit LogЖурнал последних административных действий
Reload JobSystemПерезагрузка конфигов и языковых модулей

Команды без захода в меню​

Работают и как /job admin ..., и как /jobadmin ... — вторая форма особенно полезна из консоли (там нет игрока, от лица которого можно было бы вызвать /job).

КомандаЧто делает
/job admin player <ник>Открыть инспектор игрока
/job admin company <компания>Открыть инспектор компании
/job admin mission <ник>Управление миссиями игрока
/job admin setlevel <ник> <работа> <уровень>Задать уровень напрямую
/job admin addxp <ник> <работа> <кол-во>Начислить опыт
/job admin resetstats <ник>Сбросить статистику игрока
/job admin economyЭкономический отчёт (нужно право jobsystem.admin.economy)
/job admin event start|stop <id> [минуты]Запустить/остановить джоб-ивент вручную
/job admin election endДосрочно завершить выборы мэра
/jobadmin mayor eventproposal approve|rejectОдобрить/отклонить ивент, предложенный мэром
/jobadmin bank sync|reset <ник>Синхронизировать/сбросить внутренний банк из Vault
/job admin updatecheckПроверить обновление плагина на Modrinth вручную
/job admin reload allПерезагрузить вообще всё
/job admin reload <модуль>Перезагрузить один модуль — jobs, gui, languages, companies, mayor, economy и т.д.; точное слово написано в шапке-комментарии самого конфига (# Reload: /job admin reload ...)

Удаление компании администратором — через Company Editor в GUI (jobsystem.admin.company.delete), отдельной консольной команды нет.

Configuration Doctor​

Аудитор конфигурации — находит проблемы в Jobs/*.yml, configs/achievements.yml, configs/missions.yml и не только. Делит находки на предупреждения и ошибки, безопасные из них можно исправить одной командой:

/job doctor fix

Исправляет только то, что безопасно чинить автоматически — про остальное только сообщает, разбираться руками.

Языковые файлы и конфиги​

Всё живёт в plugins/JobSystem/:

ПутьСодержимое
config.ymlОбщие настройки: language: "ru", хранилище, престиж-таланты, модули
Jobs/*.ymlПо одному файлу на профессию — награды, макс. уровень, display-name
configs/*.ymlКомпании, контракты, события, экономика, достижения, календарь наград, мэрия, репутация и т.д.
gui/*.ymlРаскладка слотов меню
Languages/messages_ru.ymlВсе игровые сообщения на русском

Комментарии в начале каждого файла — не декоративные: «Missing options are added automatically while existing values are preserved» значит, что плагин сам дописывает новые ключи при обновлении, не трогая уже настроенные — конфиги можно смело редактировать руками, ничего не слетит при перезапуске.

После правки файлов вручную — /job admin reload all вместо перезапуска сервера.

Права: кто может администрировать​

Мастер-право jobsystem.admin (и вложенные jobsystem.admin.* — economy, bank, doctor, jobs, reload, update, company.delete, inspect, debug) по умолчанию доступны только operator'ам. То же самое у XConomy: xconomy.admin.* (give/take/set/permission/ balancetop/paytoggle) — тоже default: op.

Группа techadmin в LuckPerms (см. «Права») получает большинство серверных админ-прав явными нодами, но jobsystem.* и xconomy.* в неё пока не добавлены — сейчас это работает только потому, что аккаунт фактически ещё и полный OP. Если планируется реально разграничивать доступ (а не только косметику рангов), в консоли:

/lp group techadmin permission set jobsystem.* true
/lp group techadmin permission set xconomy.* true

Экономика: XConomy​

Валюта называется «монеты» (Currency.singular-name / plural-name в plugins/XConomy/config.yml).

КомандаЧто делает
/money give <ник> <сумма> [-s] [-q] [-r причина]Выдать деньги
/money take <ник> <сумма> [-s] [-q] [-r причина]Забрать деньги
/money set <ник> <сумма> [-s] [-q] [-r причина]Установить баланс
/money give|take|set * <all|online> <сумма> ...То же самое массово — всем или только тем, кто онлайн
/paypermission set <ник|*> <true|false>Разрешить/запретить игроку принимать переводы
/paypermission remove <ник>Сбросить персональную настройку
/xconomy reloadПеречитать конфиг и message.yml
/xconomy deldata <ник>Удалить экономические данные игрока
/xconomy migrate <SQLite|MySQL|MariaDB|PostgreSQL>Подготовить миграцию хранилища

Флаги у /money: -s тихо (без сообщения игроку), -q без подтверждения в чат отправителю, -r причина — попадёт в /xconomy track у игрока как комментарий к операции.

/xconomy track требует MySQL/MariaDB/PostgreSQL​

Пишет «Отслеживание транзакций отключено», даже если Transaction-Tracking.enable: true — это не баг конфига. По исходникам плагина (XConomyLoad.isTransactionTrackingEnabled()) трекинг требует одновременно:

  1. Transaction-Tracking.enable: true
  2. Settings.transaction-record: true
  3. storage-type в database.yml — MySQL, MariaDB или PostgreSQL

На SQLite (storage-type: SQLite, наш текущий вариант) третье условие не выполняется никогда — трекинг просто архитектурно недоступен, сколько галочек ни ставь. Проверить это можно и без исходников: при старте сервера с SQLite и transaction-record: true в консоли будет предупреждение Transaction tracking requires MySQL, MariaDB, or PostgreSQL....

Если трекинг действительно нужен (например, для расследования экономических споров) — единственный путь это /xconomy migrate на реально поднятую MySQL, MariaDB или PostgreSQL, перехода на SQLite недостаточно ни при каких настройках.

Банк JobSystem (/job bank) работает поверх XConomy в одном из двух режимов — Vault Mirror (просто зеркалит баланс) или Internal Bank (отдельный счёт с процентом). Режим задаётся в plugins/JobSystem/configs/economy.yml, менять на живом сервере не стоит без предупреждения игроков — Internal Bank хранит отдельный баланс, который при переключении не переносится автоматически.

Расследование пропажи денег или спора по компании — команда /xconomy track, разобрано в «Расследования нарушений» → Экономика.

Голограмма топ-баланса​

На спавне стоит голограмма из топ-10 по балансу — plugins/DecentHolograms/holograms/baltop.yml, использует плейсхолдеры %xconomy_top_player_N% и %xconomy_top_balance_formatted_N% (1–10). Переставить на новое место:

/dh holograms movehere baltop

Как сделать другую голограмму топа — «Голограммы топов».

Обновление после /xconomy reload или /job admin reload не нужно — голограмма тянет данные через PlaceholderAPI на лету, по своему update-interval.

Рейтинги, компании и контракты​

В JobSystem уже встроены рейтинги (/job top <профессия>, кнопка «Рейтинг» и топ-3 слоты в главном меню) и полноценная система компаний (configs/companies.yml) — казна, роли OWNER/MANAGER/MEMBER с зарплатами, доли/акции с динамической ценой, контракты компании. Порог создания — create-cost: 50000 в companies.yml.

Контракты компании (companies.yml → contracts.types) — это 9 жёстко зашитых в коде плагина типов (MINE_STONE, HARVEST_CROPS, JOB_EARNINGS, EXPLORE_CHUNKS, TRADER_DEALS, а с 1.1.4 ещё CRAFT_ITEMS, FISH_ITEMS, PLACE_BLOCKS, GAIN_JOB_XP), новый тип конфигом не добавить, только подкрутить цифры существующих. Более гибкая система — configs/contracts.yml: там объекты type: action/earnings

  • job + path-contains полностью произвольные.

Важное ограничение, найдено разбором байткода: GUI контрактов (ContractManager) показывает solo- и company-контракты через жёстко зашитые массивы SOLO_SLOTS/COMPANY_SLOTS — ровно по 7 слотов на каждый scope, не настраивается конфигом. Шаблоны рендерятся в порядке из templates: в YAML, и всё что не влезло в первые 7 — просто не показывается в меню (не ротация, а тихий обрез). Поэтому в contracts.yml сейчас ровно 7 solo и 7 company шаблонов:

  • Solo (7): шахтёр, лесоруб, фермер, охотник, рыбак, ремесленник, повар
  • Company (7): промышленный (любая профессия), алхимик, зачарователь, строитель, землекоп, инженер, исследователь
  • Торговец не входит в эти 7 — покрыт отдельно, через хардкод-тип TRADER_DEALS в companies.yml (свои 3 активных слота, active-slots: 3, независимая система).

Баги плагина, исправленные в 1.1.4​

В 1.1.3 мы нашли и отправили разработчику три бага. Все три исправлены в 1.1.4, обходные решения сняты:

  • EXPLORE_CHUNKS не засчитывался (discover_chunk против discover-chunk). В 1.1.3 тип был выключен, в 1.1.4 снова enabled: true. Исследователь при этом остаётся и в contracts.yml (company-explorer).
  • %job% в правах вех не подставлялся. У игроков, получивших вехи на 1.1.3, в LuckPerms осталась одинаковая нода jobsystem.perk.%job%.tier25. Плагин её не проверяет, так что она безвредна. Убрать можно командой /lp bulkupdate users delete "permission == jobsystem.perk.%job%.tier25".
  • Ачивки PLACE у строителя и инженера не росли. В 1.1.3 мы поставили им action: BREAK, потому что плагин так угадывал действие. С 1.1.4 плагин передаёт настоящий тип действия, и BREAK у них перестал бы засчитываться. Вернули action: PLACE (world_architect, master_engineer).

При обновлении JobSystem проверяйте, что action: в achievements.yml совпадает с тем, что реально делает профессия: сравнение строгое.

Server-scope в этот лимит не входит — там всегда только один активный контракт (ротируется целиком, а не выбирается из списка), в contracts.yml заведено 3 шаблона (server-daily-sprint 12ч, server-workforce 24ч, server-legendary-marathon 168ч) — они не показываются одновременно, а сменяют друг друга по server-rotation-hours.

Если нужно поменять состав семёрки — редактировать сам список шаблонов в contracts.yml (добавить/убрать enabled: true записи так, чтобы solo и company оставались ровно по 7), лишние сверх лимита безопасны для конфига, но бесполезны — никогда не отрендерятся.

Еженедельная награда за топ-1​

Автоматической выплаты топ-1 по рейтингу или компании в плагине нет, и на сервере не установлен планировщик команд (cron/Skript). Раз в неделю вручную:

  1. /job top <профессия> — по каждой из 14 профессий, топ-1 берёт награду (сумму и предмет админ определяет сам).
  2. Кнопка «Рейтинг» в GUI или соответствующая команда — топ-1 компания.
  3. Выдать награду командой (/money give через XConomy или предмет /give).

Динамические ивенты профессий​

configs/events.yml — временные бонусы x1.25–1.75 к деньгам/опыту на 15 минут, автозапуск включён (automatic.enabled: true, проверка раз в 15 минут, 10% шанс, нужно от 3 игроков онлайн). Заведены на все 14 профессий. Ручной запуск — /job admin event start <id> [минуты] (id — ключ из events.yml, например mining-rush).