Как сделать донат на сервере 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. Создайте магазин и товары
- Зарегистрируйтесь в aDonate и нажмите «Создать магазин»: выберите Minecraft и задайте название.
- В разделе «Серверы» добавьте сервер. Если серверов несколько, например режимы за прокси, добавьте каждый: игрок выберет сервер при покупке.
- В разделе «Товары» создайте товар: название, категорию, картинку и описание.
- Во вкладке «Цена» задайте цену или варианты: 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. Установите плагин
- В разделе «Плагин и API» нажмите «Создать ключ» и выберите сервер. Окно нового ключа отдаст
aDonate.jarс уже записанным ключом. - Положите файл в папку
pluginsсервера и перезапустите сервер. - В консоли появится строка
[aDonate] Подключено к магазину…, а у ключа в кабинете - «На связи».
Один ключ - один сервер. В сети на Velocity или BungeeCord плагин ставится на каждый игровой сервер за прокси, у каждого свой ключ: покупка приходит на тот сервер, который игрок выбрал в магазине.
Шаг 6. Проверьте выдачу без оплаты
В разделе «Пользователи» нажмите «Выдать товар» и укажите свой ник, сервер и товар. Выдача бесплатна и записывается в журнал магазина. Зайдите на сервер: через несколько секунд появится надпись «Покупка получена», а команды товара выполнятся.
Если выдать не получилось, например группы нет или не стоит плагин прав, покупка ждёт в ящике игрока, а консоль пишет, что исправить. Команда adonate status показывает подключение и плагин прав одним экраном, adonate check <ник> - что ждёт игрока. Путь оплаты проверит первая настоящая покупка недорогого товара.
Как игрок получает покупку
Раз в 15 секунд и сразу при входе игрока плагин забирает оплаченные покупки игроков, которые сейчас на сервере. Покупка сначала записывается в ящик игрока и только потом подтверждается магазину, поэтому сбой сети её не теряет и не выдаёт дважды.
Если игрок не в сети, покупка ждёт его входа. Если он на экране смерти или ещё не вошёл по паролю в AuthMe или nLogin, плагин дождётся возрождения или входа. Свои покупки и сроки привилегий игрок видит командой /store.