Плагины на сервер Rust: Oxide или Carbon, установка и почему всё ломается после вайпа
Как поставить Oxide (uMod) или Carbon на свой сервер Rust, куда класть плагины .cs, как выдавать права командами oxide.grant и что делать, когда после ежемесячного обновления плагины перестали компилироваться.
Сервер Rust без плагинов — это ванильный Rust. Киты, телепорт, магазины, кланы, защита от рейда офлайн — всё это плагины. Ставятся они через мод-фреймворк: Oxide (он же uMod) или Carbon.
Установка занимает пять минут. Проблемы начинаются в первый четверг месяца, когда выходит обновление Rust. Разберём и то и другое.
Сначала сам сервер
Сервер ставится через SteamCMD, у него отдельный номер приложения:
force_install_dir C:\RustServer
login anonymous
app_update 258550 validate
quit
Запускается батником с параметрами. Минимальный вариант для своих:
RustDedicated.exe -batchmode +server.port 28015 +server.level "Procedural Map" +server.seed 12345 +server.worldsize 3000 +server.maxplayers 10 +server.hostname "Мой сервер" +server.identity "myserver" +rcon.port 28016 +rcon.password "сложный_пароль" +rcon.web 1
server.identity задаёт имя папки, где лежат сохранения и настройки этого сервера. Порт
игры по умолчанию 28015, RCON обычно ставят на соседний. Пароль RCON задай обязательно и
не открывай его порт наружу без нужды.
Oxide или Carbon
Oxide — старый стандарт. Почти все плагины в интернете написаны под него.
Carbon — более новый фреймворк. Он совместим с плагинами Oxide: по словам хостеров и
авторов, без переделок запускается подавляющее большинство. Carbon считается легче по
нагрузке и даёт встроенную админ-панель в игре по команде /cpanel.
| Oxide | Carbon | |
|---|---|---|
| Плагины | oxide/plugins | carbon/plugins |
| Перезагрузить плагин | oxide.reload Имя | c.reload Имя |
| Совместимость | стандарт | большинство плагинов Oxide |
Для первого сервера разницы почти нет. Если планируешь много плагинов и важна производительность, посмотри на Carbon. Если хочется, чтобы любой гайд из интернета совпадал с тем, что видишь, бери Oxide.
Ставь что-то одно. Два фреймворка на одном сервере не нужны.
Установка Oxide
- Скачай
Oxide.Rust.zipдля своей платформы с umod.org. - Останови сервер.
- Распакуй содержимое архива прямо в корень папки сервера, с заменой файлов.
- Запусти сервер.
После первого запуска рядом появится папка oxide:
| Папка | Что там |
|---|---|
oxide/plugins | файлы плагинов .cs |
oxide/config | настройки плагинов в JSON |
oxide/data | данные плагинов |
oxide/lang | тексты сообщений |
oxide/logs | логи |
Если папка oxide не появилась, почти всегда архив распакован не в корень, а во вложенную
папку.
Установка плагина
Плагин для Oxide — это исходник на C#, файл .cs. Сервер сам компилирует его при
загрузке. Берут плагины на umod.org и Codefling.
Положи файл в oxide/plugins. Сервер подхватит его без перезапуска. После первой загрузки
в oxide/config появится JSON с настройками плагина. Поменял настройки — выполни в консоли
oxide.reload ИмяПлагина.
Полезные команды:
oxide.reload * перезагрузить все плагины
oxide.grant user 76561198000000000 kits.use выдать право игроку
oxide.grant group default kits.use выдать право всем
oxide.group add vip создать группу
В oxide.grant user нужен SteamID64 игрока. Имена прав плагин обычно перечисляет на своей
странице и пишет в лог при загрузке.
Почему всё ломается после обновления
В первый четверг каждого месяца у Rust выходит обязательное обновление. Вместе с игрой меняются её внутренние сборки, и старый Oxide с ними несовместим. Отсюда типичная картина после вайпа:
- сервер стартует, но плагинов нет, а
oxideв консоли не отвечает; - часть плагинов пишет ошибки компиляции;
- права и данные «пропали».
Порядок действий такой. Сначала обнови сам сервер через SteamCMD. Потом скачай свежий
Oxide.Rust.zip и распакуй его поверх. Если свежей сборки Oxide под новую версию игры ещё
нет, остаётся подождать её выхода: запускать старый Oxide на новом Rust бесполезно.
Если отдельный плагин не компилируется, значит его автор ещё не обновил код под новую
версию. Проверь страницу плагина. Удалять данные в oxide/data ради этого не нужно.
Перед каждым обновлением копируй oxide/config и oxide/data. Там настройки и
накопленные данные плагинов: киты, балансы, кланы. Сами .cs скачиваются заново, а вот
конфиги, которые ты настраивал неделю, — нет.
Carbon вкратце
Установка по смыслу та же: скачать сборку Carbon под свою платформу и распаковать в корень
сервера. Плагины кладутся в carbon/plugins, команды начинаются с c.: c.load,
c.reload, c.unload. Имя плагина в командах чувствительно к регистру. Для перехода с
Oxide у Carbon есть перенос данных, но папки oxide сохрани до того, как убедишься, что всё
переехало.
Как отдать рутину агенту
Вокруг плагинов много однообразной работы. Прочитать сотни строк ошибок компиляции после обновления. Свести настройки двадцати JSON-файлов. Выдать права пачке игроков. Разобраться, почему плагин молчит.
Дока — ИИ-агент, который работает с файлами и терминалом на твоём компьютере. Покажи ей папку сервера и попроси:
- «После обновления три плагина не компилируются. Прочитай лог и скажи, какие из них сломались из-за игры, а какие из-за моих правок»;
- «Сделай копию
oxide/configиoxide/dataс сегодняшней датой»; - «В конфиге китов поменяй кулдаун стартового набора на 30 минут, остальное не трогай»;
- «Напиши простой плагин: при входе игрока писать в чат приветствие с его именем».
Последнее вполне по силам агенту. Плагин Oxide — обычный C# с хуками вроде
OnPlayerConnected, а документация хуков открыта на umod.org. Агент пишет .cs, кладёт в
oxide/plugins, читает лог компиляции и правит, пока плагин не загрузится.
Резервное копирование конфигов перед обновлением можно поставить на расписание на утро первого четверга.
С чего начать
Подними чистый сервер, зайди на него, потом поставь Oxide и один плагин без зависимостей. Когда это заработает, добавляй остальные по одному.
Если разбор логов после вайпа съедает вечер, скачай Доку и отдай ей первую же ошибку компиляции. У нас есть похожие разборы для Project Zomboid и DayZ.