TeaHost
Rustrustoxideumodмодификации5 мин. чтения

Установка Oxide (uMod) на сервер Rust

Установка Oxide на сервер Rust: включение в панели, ручная распаковка архива, проверка через oxide.version и переустановка после каждого патча игры

Кратко

На TeaHost Oxide для Rust ставится из панели одной кнопкой; вручную — остановить сервер, скачать Oxide.Rust-linux.zip из релизов OxideMod на GitHub и распаковать в корень сервера с перезаписью. Проверка — oxide.version. После каждого патча Rust порядок один: сначала обновить игру, потом заново накатить Oxide той же версии.

Установка Oxide — точка, с которой начинается любой немодифицированный-в-кавычках сервер Rust. Без Oxide вы не поставите ни один плагин: ни киты, ни магазин, ни защиту от читеров, ни даже простую команду /remove. Сам по себе Oxide (в проекте uMod) не меняет геймплей — это прослойка, которая внедряется в игровые сборки и даёт плагинам доступ к событиям сервера.

Разберу оба пути: через переключатель в панели и вручную по SSH, плюс главную вещь, о которую спотыкаются новички, — переустановку после патчей.

Как Oxide устроен

Oxide подменяет несколько библиотек в RustDedicated_Data/Managed, в первую очередь Assembly-CSharp.dll, дописывая туда точки перехвата. После первого запуска в корне сервера появляется структура:

код
oxide/
  plugins/   — .cs файлы плагинов
  config/    — конфиги, создаются при первом запуске плагина
  data/      — данные: киты, бан-листы, статистика
  lang/      — переводы сообщений
  logs/      — логи плагинов

Плагины пишутся на C# и компилируются прямо на сервере при загрузке. Отсюда два практических следствия: файлы .cs можно править текстовым редактором на лету, а ошибка компиляции видна в консоли сразу и не роняет сервер целиком.

Вариант первый: переключатель в панели

На игровом хостинге ничего скачивать не нужно. В панели TeaHost Oxide ставится одной кнопкой; в других панелях опция бывает подписана как uMod или Modding Framework. После установки перезапустите сервер.

При старте в консоли увидите примерно такие строки:

код
Loading Oxide Core v2.0.xxxx...
Loading extensions...
Loaded extension CSharp v2.0.xxxx by Oxide and Contributors
Loaded extension Rust v2.0.xxxx by Oxide and Contributors

Проверка после загрузки:

код
oxide.version

Сервер должен ответить версией Oxide и версией протокола Rust. Если команда неизвестна — Oxide не встал, смотрите консоль на предмет ошибок распаковки.

Плюс панельного способа не только в удобстве: обычно при каждом запуске проверяется актуальная версия Oxide и подтягивается свежая. Это критично, о чём ниже.

Установка Oxide вручную по SSH

На своём VPS или когда нужна конкретная версия:

  1. Остановите сервер. Ставить Oxide на работающий процесс нельзя — файлы заняты, и вы получите битые сборки.
  2. Скачайте Oxide.Rust-linux.zip из релизов Oxide на GitHub (для Windows-сервера — Oxide.Rust.zip). Берите последнюю стабильную версию, не помеченную как Pre-release.
  3. Распакуйте архив в корень сервера, туда же, где лежит RustDedicated, с перезаписью файлов — содержимое ляжет в RustDedicated_Data/Managed. Официальная пошаговая инструкция — в документации Oxide.
bash
cd /home/container
wget -O oxide.zip "https://github.com/OxideMod/Oxide.Rust/releases/latest/download/Oxide.Rust-linux.zip"
unzip -o oxide.zip
rm oxide.zip
./RustDedicated -batchmode +server.hostname "Мой сервер"

Ключ -o у unzip обязателен — без него распаковка остановится на первом же существующем файле и попросит подтверждения, а в неинтерактивном режиме просто зависнет.

После старта убедитесь, что появилась папка oxide/ и oxide.version отвечает.

Главная ловушка: обновления Rust

Facepunch выпускает обязательный патч в первый четверг каждого месяца, плюс мелкие хотфиксы между ними. Каждый такой патч перезаписывает Managed-сборки — и Oxide отваливается. Симптом однозначный: сервер стартует, но ни один плагин не грузится, а oxide.version не отвечает.

Лечение всегда одно — переустановить Oxide поверх обновлённых файлов. Порядок:

  1. Обновить сам Rust через SteamCMD.
  2. Только потом накатить Oxide.

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

Ещё одна деталь: сразу после месячного патча часть плагинов ломается, потому что Facepunch поменял внутренние методы. Ждать приходится от нескольких часов до пары дней, пока авторы обновят код. Держите список критичных плагинов коротким — тогда и вайп-день пройдёт спокойнее.

Первая настройка после установки

Проверьте, что работает базовое, ещё до того как ставить плагины:

код
oxide.version
oxide.plugins
oxide.show groups

Третья команда покажет группы прав. По умолчанию их две: default и admin. Права раздаются так:

код
oxide.grant group admin *
oxide.usergroup add 76561198000000000 admin

Первая даёт группе admin все разрешения, вторая добавляет в неё игрока по SteamID64. Подробный разбор — в заметке про права и группы Oxide.

Дальше можно ставить плагины: файл .cs кладётся в oxide/plugins/, и Oxide подхватывает его без перезапуска. Пошагово это описано в заметке про ручную установку, а подборка полезного собрана в обзоре плагинов Oxide.

Oxide или Carbon

С 2023 года у Oxide есть живая альтернатива — Carbon. Он совместим с большинством oxide-плагинов, быстрее компилирует их и меньше нагружает сервер, но экосистема вокруг Oxide всё ещё больше, а некоторые плагины требуют именно его.

Короткое правило: если сервер обычный и вы не гонитесь за производительностью — берите Oxide, документации и готовых конфигов по нему в разы больше. Если у вас x100 с сотней плагинов и упор в CPU — попробуйте Carbon. Ставить оба одновременно нельзя, они конфликтуют на уровне тех же самых сборок.

Что делать, если не работает

oxide.version не отвечает, папки oxide нет — архив распакован не в тот каталог. Он должен лежать рядом с исполняемым файлом RustDedicated, а Managed — по пути RustDedicated_Data/Managed.

В консоли Failed to initialize Oxide — несовпадение версий: вы поставили Oxide под другую версию Rust. Скачайте свежую сборку.

Плагины не грузятся, но Oxide есть — проверьте расширение файлов. Нужны именно .cs, а не .cs.txt, которое подсовывает браузер при сохранении. И убедитесь, что файлы лежат в oxide/plugins/, а не в корне.

Сервер вылетает при старте после установки — почти всегда битая распаковка. Обновите игру через SteamCMD с validate, потом накатите Oxide заново.

Итог

Схема простая: остановить сервер, обновить игру, распаковать Oxide поверх, запустить, проверить oxide.version, выдать себе права. И запомнить главное правило — после каждого патча Rust порядок «сначала игра, потом Oxide» повторяется без исключений.

Дальше стоит заняться конфигом самого сервера: настройка server.cfg определит рейты, слоты и правила. Если возиться с ручной установкой не хочется, на TeaHost Oxide ставится из панели одной кнопкой — тарифы под Rust.