Как сделать автодонат на сервере Rust (Oxide и Carbon)
На Rust плагин aDonate - один файл aDonate.cs, который работает и на Oxide (uMod), и на Carbon. Он открывает магазин прямо в игре по команде /store, выдаёт группы и права на срок, предметы и баланс Economics или ServerRewards. Ниже - установка и настройка товаров от начала до первой выдачи.
Что понадобится
- Сервер Rust с Oxide (uMod) или Carbon.
- Магазин aDonate для Rust с сервером, добавленным в разделе «Серверы», и товарами.
- Группы Oxide или Carbon для привилегий с нужными правами.
- Подключённая касса: деньги игроков приходят в неё напрямую.
Шаг 1. Установите плагин
- В разделе «Плагин и API» создайте ключ для сервера и скачайте
aDonate.csи файлadonate.jsonиз окна ключа. - Положите
aDonate.csвoxide/pluginsна Oxide или вcarbon/pluginsна Carbon. Фреймворк сам скомпилирует и загрузит плагин. - Положите
adonate.jsonвoxide/config/aDonate/или вcarbon/configs/aDonate/. - Перезагрузите плагин:
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.