Rider отлично подходит для разработки плагинов для Oxide/uMod. Настроим его так, чтобы плагин автоматически обновлялся в Rust при компиляции.
-
Создай новый проект C# (.NET Core Class Library):
File→New Solution- Выбери Class Library
- Назови, например,
RustPlugins - Путь к проекту лучше разместить рядом с сервером, например:
E:\Rust_Server\RustPlugins\
-
Добавь ссылку на API Oxide:
- Скачай
Oxide.Rust.dll(он находится в папкеRustDedicated_Data/Managed/на сервере). - В Rider добавь его в зависимости:
File → Settings → Project → Dependencies → Add Reference - Выбери
Oxide.Rust.dll.
- Скачай
Чтобы код сразу загружался в Rust, нужно копировать скомпилированные .cs файлы в папку oxide/plugins/.
- Добавь в
csprojфайл проекта Post-Build Event:Здесь<Target Name="PostBuild" AfterTargets="Build"> <ItemGroup> <PluginFiles Include="$(ProjectDir)*.cs" /> </ItemGroup> <Copy SourceFiles="@(PluginFiles)" DestinationFolder="E:\Rust_Server\rustds\oxide\plugins\" OverwriteReadOnlyFiles="true" /> </Target>
E:\Rust_Server\rustds\oxide\plugins\— путь к плагинам Rust.
Можно настроить символическую ссылку (mklink), чтобы плагины из Rider автоматически появлялись в папке сервера.
- Открой командную строку (cmd) от имени администратора.
- Создай симлинк на папку плагинов:
mklink /D "E:\Rust_Server\rustds\oxide\plugins\RiderPlugins" "C:\Users\Run\RiderProjects\Rust.Oxide.Plugin\"
- Теперь просто сохраняй файлы в
RustPlugins/, и сервер Rust сразу их увидит.
Чтобы не перезапускать сервер Rust, можно ввести в консоли:
oxide.reload MyPlugin
Если хочешь автоматически перезагружать плагин после компиляции, создай .ps1-скрипт:
# Компиляция проекта
dotnet build --configuration Release
# Копирование в папку плагинов
Copy-Item -Path "C:\Users\Run\RiderProjects\Rust.Oxide.Plugin\Rust.Oxide.Plugin\TestPlugin.cs" -Destination "E:\Rust_Server\rustds\oxide\plugins\" -Force
# Перезагрузка в Rust
$rustConsole = "E:\Rust_Server\rustds\rust_console.bat"
Start-Process -NoNewWindow -FilePath $rustConsole -ArgumentList "oxide.reload MyPlugin"Теперь достаточно запускать этот скрипт после сборки.
- Добавь автозапуск сервера Rust в Rider (
Run → Edit Configurations→New Shell Script). - Проверяй логи (
oxide/logs/). - Используй
Puts()для отладки (Puts("Тестовое сообщение");).