Плагин для серверов Майнкрафт, который добавляет общий аукцион для одного сервера или целой сети. Игроки выставляют предметы на продажу через меню, ищут лоты, сортируют их, добавляют продавцов в избранное и забирают невыкупленные предметы из хранилища.
Возможности
- Несколько независимых аукционов: обычный, для привилегий, событий или отдельной валюты. Для каждого задаются свои правила, доступ, налоги, лимиты лотов, срок размещения и валюта.
- Поддерживаются Vault, PlayerPoints, опыт, CoinsEngine и валюта в виде предметов.
- В меню есть категории, поиск, фильтры, сортировка, избранные продавцы, активные лоты, история покупок и продаж, а также раздел для возврата предметов.
- При продаже можно выбрать количество и забрать из инвентаря только полностью совпадающие предметы — учитываются данные предмета, название и зачарования. До подтверждения предмет хранится в безопасном окне продажи и возвращается при отмене или закрытии меню.
- Лоты могут иметь ограниченный срок или оставаться бессрочными. Непроданный предмет переносится в раздел возврата; продавец получает уведомление и забирает его командой
/ah claim. - Можно ограничивать продажу по мирам, предметам и игрокам, задавать белые и чёрные списки, задержки, комиссии продавца и покупателя, минимальную и максимальную цену.
- Для каждого аукциона настраивается формат цены: символ до или после числа, MiniMessage и значки из ресурс-паков. При установленном PlaceholderAPI символ может подставляться отдельно для каждого игрока.
- Есть история сделок, журнал действий, административное меню, восстановление предметов из возврата и очистка старой истории.
- Поддерживаются искусственные лоты: они используют заданные предметы, ники и диапазоны цен, выглядят в каталоге как обычные и продаются по тем же правилам.
- Для списка избранных продавцов можно показывать головы со скинами через SkinsRestorer или Mojang.
- Уведомления о сделках можно отправлять в Discord и Telegram через вебхуки.
- Сообщения лежат в
lang/messages_*.ymlи поддерживают MiniMessage, HEX-цвета, градиенты и многострочный вывод. - При наличии PlaceholderAPI автоматически доступны плейсхолдеры
soulauction: например,%soulauction_active_count%,%soulauction_claims%,%soulauction_items_sold%и%soulauction_money_made%. Варианты с суффиксом_rawвозвращают значение без форматирования.
Команды
Игрокам
/ah— открыть основной аукцион./ah <auctionId>— открыть выбранный аукцион./ah sell <price>— выставить предмет из руки на основном аукционе./ah sell <auctionId> <price>— выставить предмет на выбранном аукционе./ah my [auctionId]или/ah selling [auctionId]— открыть свои активные лоты./ah expired [auctionId]— открыть раздел просроченных предметов./ah purchased [auctionId]— история покупок./ah history [auctionId]— история продаж./ah search <text>— найти предмет; поиск продолжается через чат./ah search <auctionId> <text>— поиск на конкретном аукционе./ah search cancel— отменить поиск./ah page <number> [auctionId]— открыть страницу аукциона./ah claim [all]— забрать возвращённые предметы./ah cancel <id>— снять свой лот и вернуть предмет.
Псевдонимы основной команды задаются в config.yml через commandAliases.
Администраторам
/ah reload— перезагрузить конфиги и сообщения./ah purge <days>— удалить историю сделок старше указанного числа дней./ah admin history <player> [limit]— показать историю игрока в чате./ah admin selling <player> [auctionId]— открыть активные лоты игрока./ah admin blacklist add|remove <player>— изменить список игроков, которым запрещена продажа./ah admin recover <claimId>— выдать предмет из возврата./ah admin audit [limit]— показать последние записи журнала./ah admin cache stats|rebuild|invalidate— управлять кэшем каталога./ah admin sellfor <player> <auctionId> <price>— выставить предмет из руки от имени игрока./ah admin fake <nick> <auctionId> <price>— создать искусственный лот с предметом из руки./ah admin gui [page]— открыть административное меню аукционов./ah admin parse tags|nbt— прочитать данные предмета из руки./ah view <player> [auctionId]— посмотреть лоты игрока.
Права
soulauction.command.ah— команда/ah.soulauction.command.sell— продажа через/ah sell.soulauction.command.my— просмотр своих лотов.soulauction.command.claim— получение возвращённых предметов.soulauction.command.reload— перезагрузка конфигурации.soulauction.command.admin— административные команды и очистка истории.soulauction.command.cancel.any— снятие чужих лотов.soulauction.priority.<N>— приоритет лота в сортировке.soulauction.<auctionId>.<N>— максимум активных лотов на конкретном аукционе.soulauction.all.<N>— общий максимум активных лотов.soulauction.tax.bypass— отключение налогов.soulauction.tax.discount.<percent>— скидка на налог продавца.soulauction.price.min.<price>иsoulauction.price.max.<price>— персональные границы цены.
Для каждого аукциона в config.yml задаются отдельные права openPermission, buyPermission и sellPermission, например soulauction.open.vip, soulauction.buy.vip, soulauction.sell.vip.
Настройка
Хранилище выбирается в конфигурации: JSON, YAML, SQLITE или MYSQL. Для сети серверов используется общая MySQL-база и Redis с включённым redis.enabled: это синхронизирует каталог между серверами и защищает лоты от двойной покупки.
Параметры каждого аукциона находятся в auctions/*.yml. Среди основных полей:
currencySymbol— значок или текст валюты.currencySymbolPosition— положение значка:BEFOREилиAFTER.currencySymbolPlaceholderApi— обработка плейсхолдера PlaceholderAPI в значке валюты.listingTtlSeconds— срок жизни лота в секундах; значение0и меньше делает его бессрочным.saleTaxPercentиbuyTaxPercent— налог продавца и покупателя.minPriceиmaxPrice— границы цены для аукциона.fake-activity-enabled— включение искусственных лотов для конкретного аукциона.
Настройки искусственной активности находятся в plugins/SoulAuction/fake-activity/: settings.yml задаёт интервалы, лимиты, цены и задержки, sellers.yml содержит ники, а items.yml — предметы, их вес и диапазоны цен. Ограничить искусственные лоты конкретными аукционами можно через auction-ids.
Настройки голов продавцов находятся в config.yml в разделе seller-skins. Поле source принимает auto, skins-restorer, mojang или off; для запасного и общего скина искусственных продавцов используются fallback-skin и fake-seller-skin.
Требования
Плагин предназначен для Paper и Folia. Для общей торговой площадки на нескольких серверах нужны MySQL и Redis.
Vault, PlayerPoints, CoinsEngine, PlaceholderAPI и SkinsRestorer подключаются по необходимости: первые три добавляют соответствующие валюты, PlaceholderAPI нужен для внешних плейсхолдеров и значков валюты, SkinsRestorer — для скинов голов продавцов, особенно на серверах без проверки лицензии.
