Перейти к содержимому

Переход с Oxide ​

Если у вас уже есть сервер на Oxide, его можно перевести на Carbon вместе с плагинами, их настройками, данными и правами. Большинство плагинов для Oxide работают в Carbon без изменений.

Carbon и Oxide не работают вместе

Oxide и Carbon решают одну задачу разными способами, поэтому на сервере может стоять только один из них. Если запустить сервер с обоими, он сломается.

Подготовка ​

  1. Остановите сервер.
  2. Отключите автоустановку Oxide. Если панель хостинга или ваш скрипт запуска сами ставят и обновляют Oxide, отключите это. Иначе Oxide снова окажется на сервере.
  3. Верните оригинальные файлы Rust. Oxide заменяет часть файлов сервера своими изменёнными версиями, а Carbon вносит изменения на лету при запуске и работает с оригинальными файлами. Проще всего вернуть их проверкой файлов через SteamCMD с параметром validate. На локальном сервере из нашего курса это делает update.bat.

Пример команды SteamCMD. Путь установки и ветка у вас могут отличаться:

bat
steamcmd +force_install_dir C:\games\rust +login anonymous +app_update 258550 -beta public validate +quit

TIP

Если проверка через SteamCMD не проходит, удалите папку steamapps в корне сервера и повторите.

Для полной очистки можно перед проверкой удалить папку RustDedicated_Data/Managed. Но вместе с ней удалятся DLL расширений Oxide с названиями вида Oxide.Ext.*.dll, поэтому сначала скопируйте их в другое место.

INFO

С Carbon папка RustDedicated_Data/Managed всегда остаётся в том виде, в каком её поставляет Facepunch.

Установка Carbon ​

Распакуйте архив Carbon в корень сервера, как в статье установка Carbon: папка carbon должна оказаться рядом с RustDedicated.exe, а файлы из корня архива - в корне сервера.

Дальше выберите автоматический или ручной перенос.

Автоматический перенос ​

Просто запустите сервер. Carbon найдёт папку oxide и сам перенесёт файлы:

ОткудаКудаЧто происходит
oxide/pluginscarbon/pluginsкопируются плагины
oxide/configcarbon/configsкопируются конфигурации
oxide/datacarbon/dataкопируются дата-файлы, в том числе файлы с группами и правами
oxide/langcarbon/langкопируется локализация
RustDedicated_Data/Managed/Oxide.Ext.*.dllcarbon/extensionsпереносятся расширения

В консоли сервера при этом появится сообщение Fresh Carbon installation detected. Migrating Oxide directories.

Только один раз

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

Ручной перенос ​

  1. Плагины, данные и локализация. Скопируйте из папки oxide в папку carbon всё, кроме папки config, с заменой файлов.
  2. Конфигурации. Скопируйте содержимое папки oxide/config в папку carbon/configs. Обратите внимание: в Carbon эта папка называется configs.
  3. Расширения. Перенесите DLL расширений Oxide (Oxide.Ext.*.dll) из RustDedicated_Data/Managed в папку carbon/extensions.
  4. Запустите сервер.

После перехода ​

  • Папка oxide больше не используется, её можно удалить или оставить.
  • Команды o. в Carbon не работают, все команды Carbon начинаются с c.. Вместо o.reload пишите c.reload, вместо o.grant - c.grant.

Если вы привыкли к старым командам, добавьте замены в раздел Aliases файла carbon/config.json:

json
"Aliases": {
  "carbon": "c.version",
  "o.reload": "c.reload",
  "o.load": "c.load",
  "o.unload": "c.unload"
}

После правки перезапустите сервер или выполните c.loadconfig.

Чем Carbon отличается от Oxide ​

По данным разработчиков Carbon:

ВозможностьCarbonOxide
Хуки срабатывают, только когда они нужны загруженным плагинамДаНет
Самообновление под версию RustДаНет
Обновление хуков без полного обновления фреймворкаДаНет
Встроенный профайлерДаНет
Хранение прав в SQLiteДаНет
Harmony 2.0ДаДа

Заключение ​

После переноса проверьте консоль сервера на ошибки и убедитесь командой c.plugins, что плагины загрузились. Права игрока можно проверить командой c.show user Steam64ID.

Дальше переходите к статье установка на хостинг.

Опубликовано под лицензией MIT.
Данный проект не является официальной документацией Facepunch/Rust.
Это общественная база знаний, созданная для удобства администраторов и игроков.