Переход с Oxide
Уже работающий сервер на Oxide можно перевести на Carbon вместе с плагинами, настройками, сохранениями и правами. Большинство .cs под Oxide при этом не переписывают. Два фреймворка на одной копии не оставляют: они занимают один и тот же запуск, вместе сервер ломается.
Подготовка
Остановите процесс.
Выключите автоустановку Oxide. Если панель хостинга или ваш скрипт при каждом старте заново кладёт Oxide, он вернётся после первого же обновления. На ApixHost фреймворк выбирают в настройках сервера: оставьте один Carbon, не кнопку Oxide.
Верните оригинальные файлы игры. Oxide подменяет библиотеки в RustDedicated_Data, Carbon работает с теми, что поставляет Facepunch. Проверка SteamCMD как раз возвращает их:
steamcmd +force_install_dir C:\rust-server +login anonymous +app_update 258550 -beta public validate +quitПуть замените на свой. Если команда не сходится, удалите в корне папку steamapps и запустите ещё раз.
Для более чистой сверки перед этим можно убрать RustDedicated_Data/Managed. Вместе с ней пропадут и расширения Oxide, файлы Oxide.Ext.*.dll. Если они вам нужны, скопируйте их заранее: Carbon забирает такие DLL в carbon/extensions.
После проверки папка Managed снова выглядит как у обычного сервера, без вшитого Oxide.
Установка
Распакуйте архив Carbon в корень, как в установке: папка carbon рядом с RustDedicated.exe.
Дальше либо автоперенос при первом запуске, либо копирование руками.
Сам при первом запуске
Просто стартуйте сервер. Если в папках Carbon ещё пусто, он найдёт старую oxide и перенесёт:
| Откуда | Куда |
|---|---|
oxide/plugins | carbon/plugins |
oxide/config | carbon/configs |
oxide/data | carbon/data |
oxide/lang | carbon/lang |
Oxide.Ext.*.dll из Managed | carbon/extensions |
В консоли будет смысл «свежая установка Carbon, переношу каталоги Oxide». Точная фраза может отличаться по версии.
Перенос делается один раз и только в пустые папки. Уже настроенный Carbon он не затирает. Если файлы разъехались, доделайте руками.
На текущем Oxide рабочие плагины часто лежат не в корневой oxide, а в server/server1/oxide. Автоперенос ищет привычный корневой каталог. Если после старта carbon/plugins пустой, копируйте из той oxide, где реально лежат ваши .cs.
Руками
- Плагины,
dataиlangскопируйте вcarbon, с заменой. - Содержимое
oxide/configположите вcarbon/configs. Имя папки другое, это главная путаница перехода. - DLL расширений — в
carbon/extensions. - Запустите сервер.
Старую папку oxide можно оставить как запасную копию или удалить, когда c.plugins покажет нужные имена. Игра её больше не читает.
Команды
o.reload и o.grant на Carbon не работают. Пишите c.reload и c.grant.
Привычные короткие команды можно вернуть через carbon/config.json:
"Aliases": {
"o.reload": "c.reload",
"o.load": "c.load",
"o.unload": "c.unload"
}После правки перезапустите сервер или выполните c.loadconfig.
Проверка: c.plugins без красных ошибок загрузки, c.show user 76561198000000000 показывает прежние группы. Игрок, у которого пропало только одно право, скорее всего получил плагин новее, чем группа: новое разрешение выдают отдельно.
По сравнению с Oxide хуки здесь включаются по мере надобности плагинов, сборка обновляется при старте, права можно унести в SQLite, в игре есть /cpanel. Это уже не повод держать второй фреймворк «на всякий случай».