ForumMillida
Войти
Гайды

Как установить и настроить плагин Millida Trade

Это пошаговый гайд по установке плагина Millida Services — одного плагина сразу для донат-магазина (Trade) и рейтинга сервера (Rating). За 5 минут ты доведёшь сервер от «скачал .jar» до зелёного индикатора «онлайн» и начнёшь принимать покупки и награждать игроков за голоса.

Плагин работает на Paper / Spigot / Folia, прокси BungeeCord / Velocity и модах Fabric / Forge / NeoForge. Никаких прав root и открытых портов не нужно — соединение всегда исходящее.

Не делись токеном сервера ни с кем. Это пароль, который позволяет выдавать товары на твоём сервере. Если токен утёк — сгенерируй новый в админке (см. FAQ ниже).

Какую версию выбрать

Есть две основные сборки. Если сомневаешься и у тебя обычный сервер — бери Modern (Paper / Spigot / Folia).

  • Modern: Minecraft 1.13 – 1.21+, Java 17+, софт Paper / Spigot / Folia, опционально PlaceholderAPI.
  • Legacy: Minecraft 1.8.8 – 1.12.2, Java 8+, софт Spigot / Bukkit, SSL-сертификаты вшиты прямо в JAR.

На Folia работает modern-версия: плагин сам определит Folia и переключится на регионализованный планировщик. Внешние зависимости (LuckPerms / Vault / EssentialsX) не требуются — плагин выдаёт команды от лица консоли.

Прокси и моды. Для BungeeCord / Velocity и для Fabric / Forge / NeoForge есть отдельные сборки. Bukkit-сборка и прокси работают на всех версиях Minecraft одним файлом; сборки модов идут под конкретные версии Minecraft (1.20.1, 1.21.1).

Шаг 1. Скачай сборку под свою платформу

Выбери файл под свой сервер. Если сомневаешься и у тебя обычный сервер — бери Paper / Spigot / Folia. Моды собираются под конкретную версию Minecraft, так что бери файл со своей версией. Нужна другая версия MC — напиши в поддержку, добавим в сборку.

  • MillidaServices-Paper.jar — Paper / Spigot / Folia (1.13+)
  • MillidaServices-BungeeCord.jar — BungeeCord (прокси)
  • MillidaServices-Velocity.jar — Velocity (прокси)
  • MillidaServices-Fabric-1.21.1.jar — Fabric · 1.21.1
  • MillidaServices-Fabric-1.20.1.jar — Fabric · 1.20.1
  • MillidaServices-Forge-1.21.1.jar — Forge · 1.21.1
  • MillidaServices-Forge-1.20.1.jar — Forge · 1.20.1
  • MillidaServices-NeoForge-1.21.1.jar — NeoForge · 1.21.1
  • MillidaTrade-legacy.jar — Legacy · Spigot 1.8 – 1.12

Шаг 2. Положи JAR в plugins/

Скопируй файл в папку plugins/ своего сервера — через FTP, SFTP или панель хостинга. На модах файл кладётся в папку mods/.

  • Пример пути на хостинге: /home/minecraft/server/plugins/MillidaServices-Paper.jar
  • На модах: /home/minecraft/server/mods/MillidaServices-Fabric-1.21.1.jar

Шаг 3. Перезапусти сервер

Полный рестарт нужен один раз, чтобы плагин создал файл plugins/MillidaServices/config.yml. Дальше изменения применяются командой /ms reload без перезапуска. В консоли сервера выполни stop, затем запусти заново (например, ./start.sh).

Шаг 4. Возьми токен в админке

Открой Админка → Магазин → раздел «Серверы» → твой сервер → кнопка «Скопировать токен». Токен выглядит как mt_XXXXXXXXXXXXXXXX. Если сервера ещё нет — нажми «+ Добавить сервер», укажи название (например, «Анархия #3»), и токен сгенерируется автоматически.

Токен сервера показывается один раз — копируй сразу.

Шаг 5. Вставь токен в config.yml

Открой plugins/MillidaServices/config.yml (на модах — config/millidaservices/config.json) и впиши токен в поле server-token. Это единственное обязательное поле — остальное опционально. Адрес API подставляется автоматически, указывать его не нужно.

  • server-token: "mt_XXXXXXXXXXXXXXXXXXXXXXXX" — токен сервера (обязательно)
  • server-name: "Анархия #3" — имя сервера
  • mode-name: "Анархия" — режим
  • services.trade.enabled: true — автодонат
  • services.rating.enabled: true — награды за голоса
  • logging.show-errors: true — выводить ошибки плагина в консоль
  • error-reporting.enabled: true — обезличенные отчёты об ошибках в Millida

Шаг 6. Перезагрузи конфиг и проверь статус

В консоли сервера или из игры (с правами оператора) выполни команду /ms reload. В админке во вкладке «Серверы» статус сервера сменится на «● Онлайн» в течение 30 секунд. Готово — можно принимать покупки. Если не загорелось зелёным, загляни в раздел «Что-то не работает» ниже.

Команды плагина

Основная команда — /ms. Алиасы: /millida, /mt, /millidatrade. Админ-команды требуют права millidaservices.admin (по умолчанию оно у операторов); команда /ms top доступна всем игрокам.

  • /ms top — топ голосующих сервера, доступна всем игрокам.
  • /ms status — версия, server ID, очередь событий, последний flush, активные сервисы. Ничего не меняет.
  • /ms reload — перечитать конфиг и заново сделать handshake. После смены токена или настроек.
  • /ms test — ping на api.millida.trade, проверка сети/файрвола без перезагрузки.
  • /ms update — проверить и скачать обновление плагина (если включено на бэкенде).

Рейтинг: награды за голоса

Игрок голосует за твой сервер на сайте Millida (там же защита от накрутки: Discord, Cloudflare, история игры). Плагин узнаёт о засчитанном голосе и выдаёт награды локально — командами, которые ты настраиваешь сам в config.yml. Можно давать бонус за каждый голос и отдельные бонусы за стрик (голоса несколько дней подряд).

  • rating.vote-rewards — команды за КАЖДЫЙ голос, поддерживают плейсхолдеры {player}, {streak}, {server}. Пример: "eco give {player} 100" и "crate give {player} vote 1".
  • rating.streak-milestones: [7, 30] — на каких днях стрика срабатывают бонусы.
  • rating.streak-rewards — команды за стрик: на 7 дней, например, "crate give {player} weekly 1"; на 30 дней — "lp user {player} parent addtemp vip 30d".
  • rating.top.size: 10 — сколько мест показывать в /ms top и плейсхолдерах.
  • rating.messages.vote — сообщение при голосе, например: "&8[&dRating&8] &f{player} проголосовал — спасибо!"

Топ голосующих и голограммы

Команда /ms top показывает топ. Для голограмм используй плейсхолдеры (их рендерят DecentHolograms / HolographicDisplays) — нужен установленный PlaceholderAPI.

  • %millida_rating_top_1_name% — ник игрока на 1-м месте (и _2_, _3_ … до top.size).
  • %millida_rating_top_1_votes% — голоса игрока на 1-м месте.
  • %millida_rating_votes% — голоса текущего игрока.
  • %millida_rating_streak% — стрик игрока (дней подряд).
  • %millida_rating_position% — позиция игрока в топе.

API для разработчиков

Другие плагины могут расширять Millida Services. На Bukkit/Paper — через ServicesManager и события. Стабильная точка интеграции — пакет ru.millida.services.core.api.

  • Получить API: MillidaServicesApi api = getServer().getServicesManager().load(MillidaServicesApi.class);
  • api.serverId() — ID сервера.
  • api.ratingTop(10) — топ голосующих.
  • api.ratingPlayer("Steve") — голоса, стрик и позиция игрока.
  • Событие MillidaVoteRewardEvent (через @EventHandler) — реакция на награду за голос, у e.getInfo() доступны nickname() и streak().
  • На любой платформе доступна подписка api.onVoteReward(listener).

Прокси-сервер

Если у тебя BungeeCord или Velocity и фронт-сервер раздаёт игроков по бэк-нодам — плагин ставится на каждый бэк-сервер, который принимает покупки. На самом прокси-сервере плагин не нужен.

BungeeCord / Waterfall

В spigot.yml бэк-сервера убедись, что включена опция settings.bungeecord: true. Плагин автоматически прочитает hostname из BungeeCord handshake — никаких дополнительных настроек.

Velocity (только modern)

В paper-global.yml на бэк-сервере должна быть включена секция proxies.velocity: enabled: true, online-mode: true и secret: 'твой-velocity-secret'. Secret должен совпадать со значением в velocity.toml на прокси. На legacy-версии (1.8 – 1.12) Velocity не поддерживается — только BungeeCord.

Что-то не работает

Пройдись по чек-листу сверху вниз. В 90% случаев это одна из четырёх причин.

1. Сервер не появляется онлайн в админке

Проверь по порядку токен, файрвол, версию Minecraft/Java и загрузку плагина.

  • Токен — скопирован полностью, без пробелов, начинается с mt_. После правки выполни /mt reload.
  • Файрвол — сервер должен иметь исходящий доступ к api.millida.trade по порту 443 (HTTPS). Проверка: /mt test — должно вернуть «API отвечает».
  • Версия Minecraft / Java — modern требует MC 1.13+ и Java 17+. Если у тебя 1.12 или ниже — нужна Legacy-версия.
  • Плагин загрузился — в консоли при старте должна быть строка [MillidaServices] Millida Services v… запущен.

2. Где смотреть логи

Все сообщения плагина пишутся в стандартный лог сервера: logs/latest.log (текущий) и logs/2026-06-01-1.log.gz (архивные). Ищи строки с тегом [MillidaServices] или [MillidaTradeLegacy].

  • server-token не указан — поле в config.yml пустое.
  • Handshake failed: 401 — токен неверный или сервер удалён из админки.
  • UnknownHostException: api.millida.trade — нет DNS или интернета.
  • SSLHandshakeException — устаревшая Java на legacy (см. FAQ ниже).

3. Версия Java несовместима

Проверь версию Java на сервере командой java -version.

  • Modern — Java 17 или выше (как и сам Paper 1.18+).
  • Legacy — Java 8 или выше.

4. Игроки не получают покупки

  • В админке статус сервера «● Онлайн» (зелёный).
  • Игрок реально в онлайне на нужном сервере. Плагин выдаёт только онлайн-игрокам, оффлайн — копит в очередь и выдаст при входе.
  • В консоли нет ошибок с тегом [MillidaServices].
  • Команды товара в админке корректные — частая ошибка: опечатка в плейсхолдере {player}.

FAQ

Как ротировать токен?

Зайди в Админка → Серверы, открой нужный сервер, нажми «Сгенерировать заново». Старый токен сразу перестанет работать. Скопируй новый, вставь в config.yml и выполни /mt reload.

Обновление со старой версии плагина

Просто замени JAR в plugins/ на новый и перезапусти сервер. config.yml сохранится — плагин дольёт новые поля со значениями по умолчанию. Если переезжаешь с Legacy на Modern (обновил MC до 1.13+ и Java до 17+) — удали MillidaTradeLegacy.jar, положи MillidaTrade.jar и перенеси server-token в новый config. Server ID в админке останется тем же.

SSL-ошибка на старой Java

Для legacy-плагина (1.8 – 1.12) мы кладём корневые сертификаты Let's Encrypt (ISRG Root X1) прямо в JAR — подключение к api.millida.trade работает из коробки даже на Java 8. Если всё равно ловишь SSL-handshake — обнови Java до 11+.

Как работает плагин «под капотом»?

Плагин держит лёгкое long-poll соединение с api.millida.trade (heartbeat) и каждые несколько секунд проверяет, есть ли новые покупки на выдачу. Когда покупка приходит — выполняет команду товара от лица консоли. Никакие порты на твоём сервере открывать не нужно — соединение всегда исходящее.

Несколько серверов на один магазин

Да. В админке создаёшь несколько серверов (у каждого свой токен), ставишь плагин на каждый и в config.yml вписываешь соответствующий токен. По желанию объединяешь сервера в режим (например, «Анархия») — тогда покупатель на витрине сначала выбирает режим, потом конкретный сервер.

Поддомен — как настроить DNS

В админке (раздел «Поддомены») добавь свой поддомен — например, blogger.shop.ru. Затем в DNS-провайдере (Cloudflare, рег.ру и т.д.) создай CNAME-запись. Через 5 – 60 минут (зависит от провайдера) поддомен начнёт работать, SSL-сертификат выпустим автоматически.

  • Тип: CNAME
  • Хост: blogger.shop.ru
  • Цель: millida.trade
  • TTL: 300 (или auto)
tradeтуториал

Похожие статьи

Комментарии 0