К содержимому
aDonate.
Minecraft

Как сделать донат на сервере Minecraft

Донат на сервере Minecraft складывается из четырёх частей: привилегий на самом сервере, сайта магазина, кассы, которая принимает оплату, и плагина, который выдаёт покупку в игре. Ниже - порядок настройки на примере aDonate и LuckPerms, от пустого сервера до первой проверенной выдачи.

Что понадобится

  • Сервер Paper, Spigot, Purpur, Folia или Forge с поддержкой плагинов (Arclight, Mohist), Minecraft 1.8.8 или новее.
  • Плагин прав LuckPerms или другой плагин прав вместе с Vault: в нём живут привилегии.
  • Аккаунт aDonate и договор с платёжной кассой: деньги игроков приходят в неё напрямую.
  • Доступ к консоли сервера и к папке plugins.

Отдельный хостинг для сайта не нужен: магазин открывается на адресе вида название.adonate.app или на вашем домене. Если сервер стоит на бесплатном Aternos, сначала прочитайте, почему там нельзя принимать донат.

Шаг 1. Настройте привилегии на сервере

Привилегия - это группа прав. Создайте группу в LuckPerms, унаследуйте ей права обычного игрока, добавьте свои права и префикс в чате:

lp creategroup vip
lp group vip parent add default
lp group vip permission set essentials.fly true
lp group vip meta setprefix 10 "&6[VIP] "

Права зависят от ваших плагинов: essentials.fly - право EssentialsX на полёт, имена остальных смотрите в документации плагинов. Проверьте группу на себе командами lp user <ник> parent add vip и lp user <ник> parent remove vip.

Сроки, продление и частые ошибки LuckPerms разобраны в инструкции «Привилегия на время в LuckPerms».

Шаг 2. Создайте магазин и товары

  1. Зарегистрируйтесь в aDonate и нажмите «Создать магазин»: выберите Minecraft и задайте название.
  2. В разделе «Серверы» добавьте сервер. Если серверов несколько, например режимы за прокси, добавьте каждый: игрок выберет сервер при покупке.
  3. В разделе «Товары» создайте товар: название, категорию, картинку и описание.
  4. Во вкладке «Цена» задайте цену или варианты: 30 дней, 90 дней, навсегда, у каждого своя цена.

Игрок видит товары и цены на странице магазина без входа и регистрации. Правила Mojang требуют показывать содержимое и цены до того, как игрок зайдёт на сервер, и открытая витрина это требование закрывает. Что можно продавать, а что нет, - в инструкции «Что можно продавать на сервере Minecraft».

Шаг 3. Задайте команды выдачи

Во вкладке «Выдача» товара перечислите консольные команды, которые даёт покупка. Плагин выполнит их от имени консоли и подставит данные покупки:

ПеременнаяЧто подставится
{player}Ник игрока строчными буквами
{quantity}Количество в заказе
{duration}Срок варианта в днях, у варианта «навсегда» пусто
{order}Номер заказа

Для привилегии на срок кабинет предлагает готовую команду: «Выдача» → «Готовая команда для привилегии на срок».

adonate group {player} vip {duration}

Одна команда подходит ко всем вариантам товара: у варианта без срока {duration} пустой, и группа выдаётся навсегда. Повторная покупка добавляет дни к остатку, а снимает группу по окончании срока сам LuckPerms. Другие примеры команд:

give {player} diamond 64
eco give {player} 5000
kit start {player}
broadcast &e{player} &fкупил привилегию

Шаг 4. Подключите кассу

В разделе «Касса» выберите платёжный сервис и введите ключи из его личного кабинета. Деньги игроков поступают на ваш счёт в кассе, минуя aDonate.

Комиссия aDonate - 6% от успешного платежа. Она не добавляется к цене для игрока, а списывается с баланса магазина, поэтому перед стартом пополните его там же: «Касса» → «Пополнить баланс». Как выбрать кассу и что она потребует от вас, - в инструкции «Как принимать оплату доната».

Шаг 5. Установите плагин

  1. В разделе «Плагин и API» нажмите «Создать ключ» и выберите сервер. Окно нового ключа отдаст aDonate.jar с уже записанным ключом.
  2. Положите файл в папку plugins сервера и перезапустите сервер.
  3. В консоли появится строка [aDonate] Подключено к магазину…, а у ключа в кабинете - «На связи».

Один ключ - один сервер. В сети на Velocity или BungeeCord плагин ставится на каждый игровой сервер за прокси, у каждого свой ключ: покупка приходит на тот сервер, который игрок выбрал в магазине.

Шаг 6. Проверьте выдачу без оплаты

В разделе «Пользователи» нажмите «Выдать товар» и укажите свой ник, сервер и товар. Выдача бесплатна и записывается в журнал магазина. Зайдите на сервер: через несколько секунд появится надпись «Покупка получена», а команды товара выполнятся.

Если выдать не получилось, например группы нет или не стоит плагин прав, покупка ждёт в ящике игрока, а консоль пишет, что исправить. Команда adonate status показывает подключение и плагин прав одним экраном, adonate check <ник> - что ждёт игрока. Путь оплаты проверит первая настоящая покупка недорогого товара.

Как игрок получает покупку

Раз в 15 секунд и сразу при входе игрока плагин забирает оплаченные покупки игроков, которые сейчас на сервере. Покупка сначала записывается в ящик игрока и только потом подтверждается магазину, поэтому сбой сети её не теряет и не выдаёт дважды.

Если игрок не в сети, покупка ждёт его входа. Если он на экране смерти или ещё не вошёл по паролю в AuthMe или nLogin, плагин дождётся возрождения или входа. Свои покупки и сроки привилегий игрок видит командой /store.

ЕСТЬ ВОПРОСЫ?

Вопросы по теме

Всё, что стоит знать
перед подключением.

01Нужно ли открывать порт или RCON для доната?

Нет. Плагин aDonate сам обращается к магазину по HTTPS и забирает оплаченные покупки. Входящие порты и пароль RCON ему не нужны.

02Что будет, если игрок купил привилегию, когда сервер выключен?

Покупка дождётся сервера. Когда он запустится и игрок зайдёт, плагин заберёт покупку и выдаст её.

03Сколько стоит подключить донат?

Абонентской платы нет. Комиссия aDonate - 6% с успешного платежа, касса берёт свою комиссию по своему тарифу.

04Можно ли сделать донат на Aternos?

Нет. Условия Aternos запрещают коммерческое использование сервиса и загрузку своих исполняемых файлов, поэтому плагин доната туда не поставить.

ВАШ СЛЕДУЮЩИЙ ШАГ

Ваш сервер. Ваш магазин.

Магазин, касса и выдача на сервер настраиваются в одном кабинете. Абонентской платы нет.

Создать магазин