Какой фреймворк выбрать?
Голый выделенный сервер Раст плагины не читает. Нужен фреймворк: программа рядом с RustDedicated, которая загружает файлы .cs и даёт им доступ к игрокам, предметам и хукам. В инструкциях разобраны два варианта, Oxide и Carbon. Оба бесплатные, оба с открытым кодом, оба запускают плагины на C#.
Только один фреймворк
Oxide и Carbon на одну копию сервера вместе не ставят. Они занимают одно и то же место в запуске и начинают мешать друг другу. Сначала снимите копию папки, потом оставьте один.
Oxide
Oxide, его же uMod, давно стоит на серверах Раст. Сайт и каталог бесплатных плагинов: umod.org.
- Как ставится. В архиве лежат изменённые файлы игры: вызовы хуков уже вшиты в код сервера, таких точек сотни. При установке их копируют в
RustDedicated_Dataповерх старых. - Обновление игры. Вышло обновление Раст — нужна новая сборка Oxide. Её ставят заново. На части хостингов это делает панель, на своём компьютере это ручной шаг.
- Куда что класть. Плагины — в
oxide/plugins, их настройки — вoxide/config. Команды начинаются сoxide.или коротко сo., напримерo.reload ИмяПлагина. - Лицензия. MIT, код на GitHub.
Carbon
Carbon новее, его делают с 2022 года как другую реализацию той же задачи. Сайт: carbonmod.gg.
- Как ставится. Файлы игры он не подменяет. Папку
carbonкладут в корень сервера, и при запуске Carbon сам подключается и вешает хуки по ходу работы, только те, которые нужны уже загруженным плагинам. - Чужие плагины. Большая часть плагинов, написанных под Oxide, на Carbon запускается без переделки. Обратное неверно: плагин, собранный только под Carbon, на Oxide не встанет.
- Обновление игры. Carbon подтягивает свою сборку под текущий Раст при старте сервера, отдельно качать архив после каждого патча обычно не нужно.
- Что уже внутри. Админ-панель в игре по команде
/cpanel, модули вроде стаков, рейтов добычи и белого списка, права можно держать в SQLite, есть профайлер. - Куда что класть. Плагины — в
carbon/plugins, настройки — вcarbon/configs. Команды начинаются сc., напримерc.reload ИмяПлагина. - Лицензия. GPL-3.0, код на GitHub.
Сравнение
| Oxide | Carbon | |
|---|---|---|
| Установка | файлы копируют в RustDedicated_Data с заменой | архив с папкой carbon в корень сервера |
| После обновления Раст | скачать новую сборку или отдать это панели хостинга | обновляется сам при запуске |
| Плагин написан под Oxide | работает | чаще всего работает |
| Плагин только под Carbon | не запустится | работает |
| Хуки | вшиты в файлы сервера | появляются, когда они нужны плагинам |
| Панель в игре | нет, её ставят отдельным плагином | есть, команда /cpanel |
| Готовые модули | нет | стаки, рейты, белый список и другие |
| Где лежат права | файлы oxide.users.data и oxide.groups.data | те же файлы или база SQLite |
| Команды | oxide.* и o.* | c.* |
| Папка настроек | oxide/config | carbon/configs |
| Лицензия | MIT | GPL-3.0 |
Что брать
Oxide, если хостинг уже сам ставит и обновляет именно его, или если автор плагина на TopPlugin прямо пишет, что проверял сборку только на Oxide.
Carbon, если не хочется после каждого патча Раст заново заливать фреймворк, нужна панель /cpanel и модули без отдельных плагинов, или если в карточке товара указан Carbon.
Совместимость
Плагин под Oxide обычно идёт и там, и там. Плагин только под Carbon на Oxide молчит. Перед установкой откройте карточку на TopPlugin и посмотрите, какой фреймворк там назван.
Дальше один и тот же порядок: поднять сервер, поставить выбранный фреймворк, залить плагины, выдать права и обновить игру. Куда это ставить публично, разобрано в выборе хостинга. У Carbon в меню есть ещё модули и отдельная статья про переход с Oxide.