MAATRIX GAMES / Блог / Экономика сервера Rust через плагины

Экономика сервера Rust через плагины

MAATRIX GAMES

Голый ванильный Rust — это только лут с земли и с трупов, и на вайпе это работает, но через пару недель постоянного онлайна игроки начинают спрашивать «а у вас магазин есть?». Кастомная экономика — это то, что превращает сервер из очередного анонимного вайпа в место, куда возвращаются: у игрока появляется смысл фармить не только на апгрейд керы, но и на внутриигровую валюту, которую можно потратить с толком. Если сервер уже поднят и работает на Oxide/uMod, дальше — как накрутить на него реальную экономику, не превратив её в Pay2Win-помойку и не подарив дюперам весь баланс за первую неделю.

Экономический плагин: выбор и база

В экосистеме Oxide/uMod для Rust экономика почти всегда строится на одном из двух плагинов-ядер: Economics (простой, хранит баланс в одной валюте, минимум настроек) или ServerRewards (система очков RP, которая изначально задумывалась под связку с внешними магазинами и Discord-ботами). Разница принципиальная: Economics — это буквально «деньги», ServerRewards — это «очки лояльности», которые многие владельцы серверов осознанно не называют деньгами, чтобы не пересекаться с законами о виртуальных валютах в некоторых юрисдикциях. Для старта разницы почти нет, берите то, с чем плагины-магазины у вас лучше интегрируются.

Оба плагина кладутся в oxide/plugins/ через FTP или SFTP, конфиг генерируется при первом запуске в oxide/config/Economics.json (или ServerRewards.json). Базовые поля конфига:

{
  "Currency Name": "Coins",
  "Currency Name Plural": "Coins",
  "Starting Balance": 100.0,
  "Enable Logging": true
}

Стартовый баланс в 100-200 условных единиц — рабочая практика: игрок сразу может позволить себе что-то мелкое в магазине (пачку бинтов или лоу-грейд), не тратя первый час на фарм ради тестовой покупки.

Начисление за действия вешается либо через хуки самого экономического плагина (у Economics и ServerRewards есть API Economics.API.AddPoints / ServerRewards.AddPoints, которые дёргают другие плагины), либо через отдельный плагин-мост вроде RewardsHook или самописный C#-скрипт на пару десятков строк, слушающий OnEntityDeath и OnDispenserGather. Логика в духе «за киллы и добычу ресурсов»:

  • убийство игрока — фиксированная сумма (по практике серверов, что-то в районе 10-25 монет, точную цифру подбирайте под свою экономику);
  • убийство NPC/скрытного зверья (медведь, волк) — сумма поменьше;
  • добыча ресурсов через OnDispenserGather — по проценту от количества сырья (например, 1 монета за каждые N добытой серы или металла), а не фиксированно за клик, иначе игроки начнут абузить дешёвые ноды.

Здесь стоит держать в голове честную оговорку: точные цифры баланса — это не наука, а подбор методом проб под конкретную популяцию сервера. То, что работает на 50-слотовом PvE-friendly сервере, за неделю обвалит экономику PvP-вайпа с активным фармом группами.

Магазин: команда /shop

Магазин — это плагин уровня Shop (или его форки под конкретный экономический бэкенд), который вешает команду /shop и открывает игроку GUI-меню с категориями товаров. Конфиг магазина — это, по сути, список товаров с ценой и привязкой к предмету или Skin ID:

{
  "Categories": [
    {
      "Name": "Ресурсы",
      "Items": [
        { "Shortname": "wood", "Amount": 1000, "Price": 50 },
        { "Shortname": "stones", "Amount": 1000, "Price": 60 },
        { "Shortname": "metal.fragments", "Amount": 500, "Price": 120 }
      ]
    },
    {
      "Name": "Расходники",
      "Items": [
        { "Shortname": "bandage", "Amount": 5, "Price": 40 },
        { "Shortname": "ammo.rifle", "Amount": 60, "Price": 90 }
      ]
    }
  ]
}

Ключевое имя предмета (Shortname) берётся из внутриигрового справочника Rust (F1-консоль → item.list игроку не покажет, но у сообщества давно есть открытые таблицы shortname'ов — держите такую под рукой при заполнении конфига). Ошибка в shortname — самая частая причина, почему товар в GUI не покупается или крашит плагин при клике: проверяйте написание вплоть до точек (metal.fragments, а не metalfragments).

Что стоит и чего лучше избегать в товарной матрице:

  • ресурсы (дерево, камень, металл, сера) — безопасная база, ускоряет геймплей, но не даёт прямого боевого преимущества;
  • расходники (бинты, еда, патроны низкого тира) — тоже нейтрально, экономит время без читерского эффекта;
  • строительные наборы (двери, шкафы, замки) — спорно: удобно новичкам, но обесценивает фарм для тех, кто строит с нуля;
  • оружие и броня среднего/высокого тира — здесь начинается зона риска, разберём её отдельно.

Поднять сервер Rust за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Донат-система: где граница Pay2Win

Это самая важная развилка во всей статье. Если магазин продаёт игровую валюту за реальные деньги, а валюта напрямую покупает AK-47 и броню — вы построили классический Pay2Win, и часть аудитории (обычно самая вовлечённая, PvP-ориентированная) уйдёт с сервера при первом же матче против «доначенного» игрока. Это не теория — это регулярная жалоба в отзывах на серверные листинги, где Rust-игроки прямо пишут «донат решает бои».

Рабочий баланс, который используют серверы с долгим удержанием аудитории:

  • донат даёт косметику и удобство: скины на предметы, кастомные никнеймы, приоритетный слот входа на вайпе, увеличенный крафт-инвентарь, VIP-очередь при рестарте;
  • донат ускоряет, но не заменяет фарм: например, доп. очки экономики за донат-статус (множитель x1.5 к обычному начислению) — донатер всё ещё должен играть, просто быстрее копит на то же, что доступно бесплатным игрокам;
  • донат НЕ продаёт: топовое оружие, броню, кулдауны крафта, вертолёты/подлодки напрямую — это прямой путь потерять конкурентную честность боя.

Технически граница проводится просто: держите донат-плагин (обычно интеграция через Tebex, PayPal-хуки или собственный магазин на сайте, синхронизированный через Oxide-плагин BuyBack или API-мост) отдельно от игрового /shop, и не давайте донат-валюте прямого обменного курса на боевой лут. Если всё же хотите продавать ресурсы за реальные деньги — ограничьте лимитами в сутки (например, не больше 500 металла в день с доната), чтобы это не превращалось в полное снабжение армии без единого удара кирки.

Защита экономики от эксплойтов

Кастомная экономика — это новая поверхность для абуза, и дюп-баги (когда игрок находит способ бесконечно копировать предмет или деньги через баг сохранения/сети) на Rust всплывают после почти каждого крупного патча. Что снижает риск:

  • логирование всех транзакций: и Economics, и ServerRewards умеют писать лог в oxide/logs/, каждая выдача и списание монет должна попадать туда — без лога вы не докажете постфактум, откуда у игрока миллион на балансе;
  • лимиты на разовое начисление: если плагин-мост начисляет за добычу ресурсов, ставьте верхний потолок в тик (например, не более 50 монет за один вызов хука) — это гасит эксплойты вида «спам одного действия в цикле»;
  • алерты на аномальный баланс: плагин вроде AdminRadar или самописный крон-скрипт, сверяющий топ-балансы раз в час, ловит резкие скачки быстрее, чем жалобы игроков в чат;
  • бэкап базы экономики перед вайпом и после патчей: файлы данных лежат в oxide/data/Economics.json (или аналог у ServerRewards) — копируйте их вручную перед каждым апдейтом Rust, откат при обнаруженном дюпе занимает минуты, если бэкап под рукой, и часы разборок в Discord, если его нет;
  • честно отслеживайте патчноуты Rust и Oxide: дюп-баги чаще всего появляются на стыке свежего апдейта игры и plugin-фреймворка, который ещё не успел адаптироваться — первые 24-48 часов после четверга обновления держите логи под особым вниманием.

Отдельно: не давайте магазину или экономическому плагину прямой доступ к серверным командам через RCON без ограничения прав — если плагин скомпрометирован или у него баг в проверке прав, чрезмерные права консольного доступа превращают уязвимость экономики в уязвимость всего сервера.

Интеграция с внешними сервисами

Если сервер уже растёт и донат обрабатывается не вручную, а через магазин на отдельном сайте (Tebex — самый распространённый вариант в Rust-комьюнити), синхронизация с игровой экономикой идёт через плагин-webhook, слушающий вебхуки Tebex и дёргающий API экономического плагина на сервере. Здесь важно не путать два потока: покупки за реальные деньги логируются отдельно от игровых начислений, чтобы при разборе спорной транзакции (чарджбэк, ошибка платежа) можно было откатить именно донат-часть баланса, не трогая честно заработанные игроком монеты.

Discord-бот с привязкой к экономике (показ баланса командой, топ-лидерборд, уведомления о крупных покупках в магазине) — не обязательный, но заметно повышающий вовлечённость элемент: игроки, которые видят свой прогресс вне игры, возвращаются на вайп охотнее.

Поднять сервер Rust за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Economics или ServerRewards — что лучше для старта?

Для одного сервера без внешних сайтов разницы почти нет, берите Economics — конфиг проще. ServerRewards имеет смысл, если планируете сайт-магазин с Tebex или похожей интеграцией.

Можно ли продавать оружие за донат, если аккуратно с балансом?

Технически можно, но риск оттока конкурентных игроков растёт пропорционально тиру продаваемого оружия — большинство успешных серверов ограничивают донат косметикой и ускорением фарма, а не прямой боевой мощью.

Что делать, если нашли дюп-баг уже после того, как экономика раздулась?

Откатывайте данные экономического плагина из последнего чистого бэкапа (oxide/data/), уведомите игроков в Discord/чате честно — прозрачность про баг обычно воспринимается лучше, чем молчаливый сброс балансов без объяснений.

Нужно ли ограничивать, сколько ресурсов можно купить в магазине за раз?

Да, лимиты по сумме или по времени (например, не больше N покупок одной позиции в час на аккаунт) — это дешёвая защита от ботов и скриптового фарма магазина, а не только от дюпа.

Сбрасывается ли экономика при вайпе карты?

Это ваш выбор в конфиге плагина: полный вайп экономики вместе с картой подталкивает к активному фарму каждый цикл, сохранение баланса между вайпами больше подходит для серверов с долгоиграющей прогрессией и VIP-статусами.