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

Как сделать автодонат на сервере Rust (Oxide и Carbon)

На Rust плагин aDonate - один файл aDonate.cs, который работает и на Oxide (uMod), и на Carbon. Он открывает магазин прямо в игре по команде /store, выдаёт группы и права на срок, предметы и баланс Economics или ServerRewards. Ниже - установка и настройка товаров от начала до первой выдачи.

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

  • Сервер Rust с Oxide (uMod) или Carbon.
  • Магазин aDonate для Rust с сервером, добавленным в разделе «Серверы», и товарами.
  • Группы Oxide или Carbon для привилегий с нужными правами.
  • Подключённая касса: деньги игроков приходят в неё напрямую.

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

  1. В разделе «Плагин и API» создайте ключ для сервера и скачайте aDonate.cs и файл adonate.json из окна ключа.
  2. Положите aDonate.cs в oxide/plugins на Oxide или в carbon/plugins на Carbon. Фреймворк сам скомпилирует и загрузит плагин.
  3. Положите adonate.json в oxide/config/aDonate/ или в carbon/configs/aDonate/.
  4. Перезагрузите плагин: o.reload aDonate на Oxide или c.reload aDonate на Carbon.

В консоли появится Connected to shop "…". Состояние в любой момент показывает adonate.status. Один ключ - один сервер: утечка одного ключа не затронет остальные.

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

Привилегия на Rust - группа Oxide или Carbon с правами плагинов:

o.group add vip
o.group parent vip default
o.grant group vip <право плагина>

На Carbon те же команды начинаются с c.: c.group add vip, c.grant group vip <право плагина>. Имена прав объявляют плагины, они есть в их описании и в выводе o.show perms. Подробный справочник - в инструкции «Группы и права Oxide для доната».

Шаг 3. Настройте выдачу товаров

Есть два способа, и их можно сочетать.

Команды выдачи из кабинета

Во вкладке «Выдача» товара задайте консольные команды. {player} - SteamID64 игрока, {duration} - срок варианта в днях, {quantity} - количество. Для привилегий на срок у плагина свои команды: по окончании срока он снимет группу или право сам, даже у игроков не в сети.

adonate.group {player} vip {duration}
adonate.permission {player} kits.vip {duration}
inventory.giveto {player} rifle.ak {quantity}

adonate.group без срока выдаёт группу навсегда, повторная покупка добавляет дни к остатку. kits.vip здесь - пример права, подставьте своё.

Соответствие в настройках плагина

Товар можно описать и без команд, в aDonate.json в oxide/config или carbon/configs: предметы, группы, права, баланс Economics или очки ServerRewards на одну единицу товара. Плагин повторит их столько раз, сколько куплено.

"rust-vip": { "Groups": ["vip"] },
"rust-starter": { "Items": [{ "Shortname": "rifle.semiauto", "Amount": 1 }] },
"rust-coins": { "Economics": 1000 }

ID товаров, вариантов и наград рулетки этого сервера печатает команда adonate.products.

Шаг 4. Магазин в игре

Игрок пишет /store и видит окно с вкладками «Покупки», «Магазин», «Корзина» и «Заказы»: каталог с картинками и вариантами, промокод и оформление заказа. Ссылка на оплату показывается в окне и дублируется в консоль F1. Окно открывается и биндом: bind f7 adonate.open.

По умолчанию игрок забирает покупку кнопкой «Забрать», когда ему удобно, например когда освободится инвентарь. Выдавать сразу, без кнопки, включает настройка «Give purchases out as soon as they arrive».

Шаг 5. Проверьте выдачу

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

Если группы нет на сервере, покупка остаётся в ящике с пометкой «Ждёт настройки», а консоль подсказывает, что сделать, например создать группу командой o.group add vip.

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

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

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

01Работает ли плагин aDonate на Carbon?

Да. Один файл aDonate.cs работает и на Oxide, и на Carbon; меняются только папки и префикс команд: o. на Oxide, c. на Carbon.

02Нужен ли RCON для автодоната в Rust?

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

03Что будет с покупкой, если игрок не в сети?

Она ждёт в aDonate. Когда игрок зайдёт на сервер, плагин заберёт покупку, и игрок получит её в /store.

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

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

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

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