Экономика и работы (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()) трекинг требует
одновременно:
Transaction-Tracking.enable: trueSettings.transaction-record: truestorage-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). Раз в неделю вручную:
/job top <профессия>— по каждой из 14 профессий, топ-1 берёт награду (сумму и предмет админ определяет сам).- Кнопка «Рейтинг» в GUI или соответствующая команда — топ-1 компания.
- Выдать награду командой (
/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).