Переход с Oxide
Если у вас уже есть сервер на Oxide, его можно перевести на Carbon вместе с плагинами, их настройками, данными и правами. Большинство плагинов для Oxide работают в Carbon без изменений.
Carbon и Oxide не работают вместе
Oxide и Carbon решают одну задачу разными способами, поэтому на сервере может стоять только один из них. Если запустить сервер с обоими, он сломается.
Подготовка
- Остановите сервер.
- Отключите автоустановку Oxide. Если панель хостинга или ваш скрипт запуска сами ставят и обновляют Oxide, отключите это. Иначе Oxide снова окажется на сервере.
- Верните оригинальные файлы Rust. Oxide заменяет часть файлов сервера своими изменёнными версиями, а Carbon вносит изменения на лету при запуске и работает с оригинальными файлами. Проще всего вернуть их проверкой файлов через SteamCMD с параметром
validate. На локальном сервере из нашего курса это делаетupdate.bat.
Пример команды SteamCMD. Путь установки и ветка у вас могут отличаться:
steamcmd +force_install_dir C:\games\rust +login anonymous +app_update 258550 -beta public validate +quitTIP
Если проверка через 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/plugins | carbon/plugins | копируются плагины |
oxide/config | carbon/configs | копируются конфигурации |
oxide/data | carbon/data | копируются дата-файлы, в том числе файлы с группами и правами |
oxide/lang | carbon/lang | копируется локализация |
RustDedicated_Data/Managed/Oxide.Ext.*.dll | carbon/extensions | переносятся расширения |
В консоли сервера при этом появится сообщение Fresh Carbon installation detected. Migrating Oxide directories.
Только один раз
Автоматический перенос срабатывает, только если в папках Carbon для плагинов, конфигураций, данных и локализации ещё нет файлов. Так Carbon не затрёт уже настроенный сервер. Если что-то пошло не так, перенесите файлы вручную.
Ручной перенос
- Плагины, данные и локализация. Скопируйте из папки
oxideв папкуcarbonвсё, кроме папкиconfig, с заменой файлов. - Конфигурации. Скопируйте содержимое папки
oxide/configв папкуcarbon/configs. Обратите внимание: в Carbon эта папка называетсяconfigs. - Расширения. Перенесите DLL расширений Oxide (
Oxide.Ext.*.dll) изRustDedicated_Data/Managedв папкуcarbon/extensions. - Запустите сервер.
После перехода
- Папка
oxideбольше не используется, её можно удалить или оставить. - Команды
o.в Carbon не работают, все команды Carbon начинаются сc.. Вместоo.reloadпишитеc.reload, вместоo.grant-c.grant.
Если вы привыкли к старым командам, добавьте замены в раздел Aliases файла carbon/config.json:
"Aliases": {
"carbon": "c.version",
"o.reload": "c.reload",
"o.load": "c.load",
"o.unload": "c.unload"
}После правки перезапустите сервер или выполните c.loadconfig.
Чем Carbon отличается от Oxide
По данным разработчиков Carbon:
| Возможность | Carbon | Oxide |
|---|---|---|
| Хуки срабатывают, только когда они нужны загруженным плагинам | Да | Нет |
| Самообновление под версию Rust | Да | Нет |
| Обновление хуков без полного обновления фреймворка | Да | Нет |
| Встроенный профайлер | Да | Нет |
| Хранение прав в SQLite | Да | Нет |
| Harmony 2.0 | Да | Да |
Заключение
После переноса проверьте консоль сервера на ошибки и убедитесь командой c.plugins, что плагины загрузились. Права игрока можно проверить командой c.show user Steam64ID.
Дальше переходите к статье установка на хостинг.