Донат на сервере Minecraft: автовыдача привилегий
Настройка автовыдачи донат-привилегий на сервере Minecraft через LuckPerms, RCON и магазин. Команды, конфиги, защита от чарджбэков.
Кратко: Автовыдача привилегий работает через RCON - магазин доната отправляет команду LuckPerms сразу после оплаты. Настроить это можно за час на любом Java-сервере. Временные привилегии управляются командой
parent addtempи истекают без ручного вмешательства.
Донат на сервере Minecraft: автовыдача привилегий
Ручная выдача привилегий после каждой покупки - одна из самых частых причин, по которой новые серверы теряют доверие игроков. Купил игрок донат в 2 часа ночи - ждёт до утра, пока администратор проснётся. В 2026 году стандартом стала полная автоматизация: магазин получил платёж, отправил RCON-команду, LuckPerms выдал группу. Всё это занимает несколько секунд. В статье разберём полную цепочку - от настройки RCON и LuckPerms до защиты от чарджбэков и идей для кейсов.
Pterohost - игровой хостинг с NVMe-дисками, защитой от DDoS и поддержкой 24/7, где удобно держать донат-сервер с высокой доступностью. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг
Как работает автовыдача: общая схема
Цепочка автовыдачи состоит из трёх звеньев:
- Магазин доната - принимает платёж, хранит очередь команд.
- RCON - протокол, через который магазин отправляет команды на сервер.
- LuckPerms - плагин прав, выполняет команду и сохраняет группу игрока.
Игрок оплатил -> Магазин (Tebex/DonateCase) -> RCON -> server.jar -> LuckPerms
Если сервер был офлайн в момент оплаты - нормальный магазин буферизует команды и выполнит их при следующем подключении. Это критически важно: без буферизации игрок может заплатить и не получить ничего.
Требования к серверу
- Java Minecraft (Paper 1.20+ или Folia, Fabric с соответствующими модами)
- LuckPerms 5.x (актуальная версия на 2026 год)
- Открытый RCON-порт (по умолчанию 25575, не путать с игровым 25565)
- Магазин доната с поддержкой RCON или webhook
Настройка RCON на сервере
RCON включается в файле server.properties. Найди и измени следующие строки:
enable-rcon=true
rcon.port=25575
rcon.password=ТвойСложныйПароль2026
broadcast-rcon-to-ops=false
Пароль должен быть длинным и случайным - не “admin”, не “123456”. RCON-порт закрой файрволом от всех IP кроме сервера магазина. На Linux с ufw:
ufw allow from <IP_магазина> to any port 25575
ufw deny 25575
Если магазин и игровой сервер на одной машине - используй 127.0.0.1 как хост RCON в настройках магазина, внешний порт вообще не открывай.
После изменений перезапусти сервер. Проверить соединение можно утилитой mcrcon:
mcrcon -H 127.0.0.1 -P 25575 -p ТвойСложныйПароль2026 "list"
В ответ придёт список онлайн-игроков - значит RCON работает.
Структура групп в LuckPerms
Перед настройкой магазина определись со структурой групп. Пример типичной иерархии для коммерческого сервера:
| Группа | Примерная цена | Что даёт |
|---|---|---|
| default | бесплатно | базовые права |
| vip | 199 руб. | цветной ник, /nick, /fly в лобби |
| premium | 499 руб. | + /hat, /craft, увеличенный инвентарь |
| elite | 999 руб. | + /back, /top, кастомный префикс |
| god | 1999 руб. | все права, уникальные эффекты |
Создай группы командами в консоли сервера (или через /lp):
lp creategroup vip
lp creategroup premium
lp creategroup elite
lp creategroup god
Настрой наследование - каждая следующая группа наследует права предыдущей:
lp group premium parent add vip
lp group elite parent add premium
lp group god parent add elite
Это позволяет не дублировать права - достаточно добавить только уникальные для каждой группы.
Назначение прав группам
Пример базовой настройки для группы vip:
lp group vip permission set essentials.nick true
lp group vip permission set essentials.fly true
lp group vip meta setprefix "&b[VIP] "
lp group vip meta setsuffix " &7✦"
Проверь, что права реально работают командой:
lp group vip permission check essentials.nick
Команды автовыдачи через RCON
Это главная часть - команды, которые магазин отправляет через RCON при подтверждении платежа.
Постоянная привилегия
lp user %player% parent add vip
%player% - плейсхолдер ника, который магазин подставляет автоматически. Команда добавляет игрока в группу навсегда.
Временная привилегия
lp user %player% parent addtemp vip 30d accumulate
Разбор параметров:
30d- срок действия (d=дни, h=часы, m=минуты). Можно7d,1mo(месяц),90d.accumulate- если игрок уже в группе vip на 10 дней и купил ещё 30, итоговый срок станет 40 дней. Альтернатива -replace(заменяет) иdeny(отклоняет повторную покупку).
После истечения срока LuckPerms автоматически удаляет группу - ничего делать вручную не нужно.
Повышение группы
Если у игрока уже есть vip и он купил premium, нужно удалить старую группу и добавить новую:
lp user %player% parent remove vip
lp user %player% parent add premium
Или через один set (полностью заменяет основную группу):
lp user %player% parent set premium
Выдача предметов и денег вместе с привилегией
Часто донат включает не только группу, но и стартовый бонус. Пример набора команд для одного пакета (все отправляются последовательно через RCON):
lp user %player% parent addtemp vip 30d accumulate
give %player% diamond 16
eco give %player% 5000
broadcast &6Игрок %player% приобрёл &b[VIP] &6- спасибо за поддержку!
В Tebex каждая команда вводится отдельной строкой в настройках пакета. Порядок выполнения - сверху вниз.
Настройка магазина доната
Tebex (BuiltByBit / Buycraft)
Tebex - наиболее распространённый вариант для международных и российских серверов в 2026 году. Имеет бесплатный план с комиссией 10% и платный с фиксированной оплатой.
Подключение к серверу:
- Установи плагин Tebex (скачай с официального сайта под свою версию Paper).
- В консоли:
tebex secret <твой_секрет_из_панели_Tebex>. - Tebex сам создаст защищённое соединение - отдельно RCON не нужен (плагин обрабатывает команды внутри сервера).
Команды настраиваются в панели Tebex -> Packages -> Commands. Используй плейсхолдер {username} (не %player% - у Tebex свой формат):
lp user {username} parent addtemp vip 30d accumulate
Буферизация команд включена по умолчанию - если игрок купил донат когда сервер офлайн, команды выполнятся при следующем запуске.
DonateCase
DonateCase - российская альтернатива, популярная на постсоветском пространстве. Работает как плагин с встроенным HTTP-сервером для приёма вебхуков от платёжных систем.
Конфиг подключения (plugins/DonateCase/config.yml):
rcon:
enabled: true
host: "127.0.0.1"
port: 25575
password: "ТвойСложныйПароль2026"
Команды задаются в конфиге кейса или пакета:
commands:
- "lp user %player% parent addtemp vip 30d accumulate"
- "give %player% diamond 8"
Собственный сайт с RCON
Если пишешь магазин сам (PHP, Python, Node.js), подключение к RCON выглядит так (пример на Python с библиотекой mcrcon):
from mcrcon import MCRcon
def give_privilege(player: str, group: str, days: int):
with MCRcon("127.0.0.1", "ТвойПароль", port=25575) as mcr:
resp = mcr.command(f"lp user {player} parent addtemp {group} {days}d accumulate")
print(resp)
# Вызов после подтверждения платежа
give_privilege("Steve", "vip", 30)
Установка библиотеки: pip install mcrcon
Важно: вызывай RCON-команды только после финального подтверждения платежа от платёжной системы (не после редиректа пользователя - он ненадёжен).
Защита от чарджбэков
Чарджбэк - отмена платежа через банк. Для игрового сервера это означает потерю денег при уже выданной привилегии. Несколько уровней защиты:
На уровне платёжной системы
- ЮKassa - минимальный риск чарджбэка на российских картах, интеграция через API.
- Robokassa - поддерживает мультивалютность, встроенные антифрод-инструменты.
- QIWI API - популярен среди подростковой аудитории Minecraft, платежи финальны.
- Избегай PayPal для игрового контента - высокий процент чарджбэков.
В публичной оферте сервера укажи: “Цифровые товары (игровые привилегии и предметы) не подлежат возврату согласно статье 26.1 Закона о защите прав потребителей” - это законная формулировка для электронных услуг.
Автоматический отзыв привилегий
Настрой webhook от платёжной системы на endpoint своего сайта. При получении уведомления о чарджбэке:
def handle_chargeback(player: str, group: str):
with MCRcon("127.0.0.1", "ТвойПароль", port=25575) as mcr:
# Удаляем привилегию
mcr.command(f"lp user {player} parent remove {group}")
# Баним игрока с причиной
mcr.command(f"ban {player} Chargeback - возврат платежа")
# Оповещаем администраторов
mcr.command(f"tellraw @a[tag=admin] {{\"text\":\"Чарджбэк от {player}\",\"color\":\"red\"}}")
В Tebex эта функциональность частично встроена: в настройках магазина есть раздел Chargebacks с опцией автобана.
Логирование транзакций
Всегда сохраняй лог: ник игрока, IP при покупке, время, сумму, идентификатор транзакции. При спорных ситуациях это доказательная база. Минимальный пример таблицы MySQL:
CREATE TABLE donations (
id INT AUTO_INCREMENT PRIMARY KEY,
player VARCHAR(64) NOT NULL,
package VARCHAR(64) NOT NULL,
amount DECIMAL(10,2) NOT NULL,
transaction_id VARCHAR(128) UNIQUE,
player_ip VARCHAR(45),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('pending','completed','charged_back') DEFAULT 'pending'
);
Донат-кейсы: идеи и реализация
Донат-кейсы - формат лутбоксов, популярный на выживальных и мини-игровых серверах. Игрок платит за открытие кейса и получает случайный приз.
Что класть в кейсы (баланс важен)
Хорошо работающий кейс содержит призы разной ценности:
| Вероятность | Приз |
|---|---|
| 40% | Ресурсы (алмазы, изумруды, редкие блоки) |
| 25% | Зелья и зачарования |
| 15% | Кастомные скины брони (через ItemMeta) |
| 10% | Питомцы или эффекты частиц (плагин Cosmetics/Citizens) |
| 7% | Валюта сервера (5000-10000 монет) |
| 2.5% | Временный VIP на 7 дней |
| 0.5% | Топ-привилегия или уникальный ник-эффект |
Не клади в кейсы предметы, дающие боевое преимущество (God-броня из коробки разрушает экономику). Редкие призы должны быть косметическими или экономическими, но не PvP-доминирующими.
Реализация через DonateCase
В plugins/DonateCase/cases/epic.yml пример структуры:
case:
title: "&6&lEPIC CASE"
animation: "wheel"
open_cost: 149
currency: "vault"
items:
diamonds:
material: DIAMOND
amount: 32
chance: 40
display_name: "&b32 Алмаза"
commands:
- "give %player% diamond 32"
temp_vip:
material: EMERALD
amount: 1
chance: 2.5
display_name: "&a[VIP] на 7 дней"
commands:
- "lp user %player% parent addtemp vip 7d accumulate"
- "broadcast &a%player% выбил [VIP] из Epic Case!"
Ключи к кейсам
Ключи продаются в магазине или выдаются за активность. Пример выдачи ключа через RCON:
donatecase key give %player% epic 1
Или физическим предметом через команду плагина (зависит от версии DonateCase):
donatecase give %player% epic
Уведомления игрокам об истечении привилегий
LuckPerms сам удаляет просроченные группы, но игрок не получает уведомление по умолчанию. Добавь напоминание через плагин скриптов (Skript) или расписание задач.
Пример скрипта Skript (plugins/Skript/scripts/vip-reminder.sk):
every 24 hours:
loop all players:
set {_exp} to expiry time of group "vip" of loop-player
if {_exp} is set:
if {_exp} < (now + 3 days):
send "&eТвоя привилегия &b[VIP] &eистекает менее чем через 3 дня! Продли на %link%." to loop-player
Это увеличивает конверсию на продление - игрок видит напоминание и идёт в магазин.
Типичные ошибки при настройке
RCON не отвечает - убедись, что enable-rcon=true в server.properties, сервер перезапущен, порт не заблокирован файрволом.
Команда выполняется, но привилегия не выдаётся - проверь регистр ника (LuckPerms чувствителен к регистру в некоторых режимах хранения). Используй lp user <ник> info для диагностики.
Привилегия выдаётся дважды - магазин отправил команду два раза из-за таймаута. Используй режим accumulate в parent addtemp - повторная выдача просто продлит срок.
Игрок офлайн при покупке - Tebex буферизует команды автоматически. В собственном решении храни очередь в базе данных и выполняй при входе игрока на сервер (событие PlayerJoinEvent + RCON).
Связанные материалы
Для настройки полноценного сервера с донатом также читай: команды EssentialsX - плагин даёт большинство экономических команд (/pay, /balance, /eco), основные параметры server.properties - корректная настройка базы сервера перед добавлением плагинов, и устранение лагов сервера - высокая нагрузка от кейсов и привилегий требует оптимизированного сервера.
Заключение
Автовыдача донат-привилегий - это не сложно, если понять цепочку: платёж -> RCON -> LuckPerms. Временные привилегии через parent addtemp с режимом accumulate решают большинство задач без дополнительных скриптов. Защита от чарджбэков начинается с выбора платёжной системы и заканчивается автоматическим отзывом прав через вебхук. Донат-кейсы хорошо работают когда призы сбалансированы - косметика и временные бонусы без разрушения игровой экономики. Настроив всё один раз, получишь систему которая работает без участия администратора круглосуточно.
Pterohost - хостинг Minecraft-серверов с SSD-дисками NVMe, постоянной DDoS-защитой и технической поддержкой в любое время суток. Промокод 4START даёт -20% на первый заказ. Заказать Minecraft хостинг