Як встановити плагіни Oxide і Carbon на сервер Rust
Коротка відповідь: встановіть на сервер Oxide або Carbon, а потім киньте файл .cs плагіна в oxide/plugins/ або carbon/plugins/. Він завантажується сам, без перезапуску, а файл його налаштувань з’являється в теці конфігів при першому завантаженні.
Плагін Rust це один файл C# (.cs), який фреймворк для модів компілює й запускає всередині вашого виділеного сервера. Плагіни працюють лише на сервері, тож гравцям нічого встановлювати не треба. Ванільний сервер їх запускати не може: спершу на сервері потрібен Oxide або Carbon.
Oxide чи Carbon
Section titled “Oxide чи Carbon”Обидва завантажують однакові плагіни, і на сервері одночасно може бути лише один, бо обидва патчать ті самі файли гри.
- Oxide (також uMod) це давній варіант. Його файли лежать у теці
oxide/сервера. - Carbon новіший і завантажує також плагіни, написані для Oxide. Його файли лежать у теці
carbon/.
Crucible Local Server встановлює будь-який із них за вас, коли ви створюєте на ньому сервер, і керує його плагінами на вкладці Моди; дивіться як встановити Carbon чи Oxide на сервер Rust.
Куди класти файли плагінів
Section titled “Куди класти файли плагінів”| Що | Oxide | Carbon |
|---|---|---|
Плагіни (.cs) | oxide/plugins/ | carbon/plugins/ |
Налаштування кожного плагіна (.json) | oxide/config/ | carbon/configs/ |
| Дані, які зберігає плагін | oxide/data/ | carbon/data/ |
| Повідомлення плагіна за мовами | oxide/lang/ | carbon/lang/ |
| Журнали | oxide/logs/ | carbon/logs/ |
Теки лежать поруч із RustDedicated.exe і з’являються при першому запуску сервера зі встановленим фреймворком. Плагін пише свій файл конфігу при першому завантаженні; відредагуйте його, а потім перезавантажте плагін.
Завантаження, перезавантаження й вивантаження
Section titled “Завантаження, перезавантаження й вивантаження”Киньте файл .cs у теку плагінів, і фреймворк сам скомпілює й завантажить його, без перезапуску. Змініть файл, і він перезавантажиться; видаліть, і він вивантажиться. Тоді консоль сервера показує рядок на кшталт Loaded plugin Hello World v1.0.0 by YourName або помилку компіляції, якщо код неправильний.
Те саме можна зробити вручну з консолі сервера чи RCON:
- Oxide:
oxide.load Name,oxide.reload Name,oxide.unload Name,oxide.plugins(кожна також працює якo.load,o.reloadі так далі). - Carbon:
c.load Name,c.reload Name,c.unload Name,c.plugins.
Name це назва файлу без .cs. Сервер, що працює на Oxide, позначає себе як модифікований.
Дозволи
Section titled “Дозволи”Більшість плагінів ставлять свої команди за дозволи, названі за плагіном (hello.use, kits.admin). Oxide стартує з двома групами: default, у якій усі гравці, і admin для адмінів сервера.
oxide.grant user <name or SteamID> <permission>дає один дозвіл одному гравцеві.oxide.grant group default <permission>дає його всім.oxide.revokeзабирає його, у такій самій формі.oxide.usergroup add <name or SteamID> <group>додає гравця в групу, аoxide.group add <group>створює нову.
Кожна команда Oxide з описом є наприкінці сторінки команди консолі Rust.
Ваш перший плагін
Section titled “Ваш перший плагін”Збережіть це як HelloWorld.cs у теці плагінів. Він пише рядок у консоль при завантаженні, ще один для кожного гравця, що заходить, і відповідає на /hello у чаті.
namespace Oxide.Plugins{ [Info("Hello World", "YourName", "1.0.0")] [Description("Says hello when a player types /hello in chat.")] public class HelloWorld : RustPlugin { private void OnServerInitialized() { Puts("Hello World is running."); }
private void OnPlayerConnected(BasePlayer player) { Puts($"{player.displayName} joined."); }
[ChatCommand("hello")] private void HelloCommand(BasePlayer player, string command, string[] args) { SendReply(player, $"Hello, {player.displayName}!"); } }}Що робить кожна частина:
- Назва файлу й назва класу мають збігатися (
HelloWorld.cs,class HelloWorld). [Info]задає назву, автора й версію плагіна, які консоль показує при завантаженні.- Методи, названі за хуком, запускаються, коли в грі щось відбувається:
OnServerInitializedколи сервер завершив запуск (або одразу, якщо він уже працює),OnPlayerConnectedколи гравець заходить. Фреймворк знаходить їх за назвою, тож помилка в написанні означає, що метод ніколи не запуститься, без жодної помилки. [ChatCommand("hello")]перетворює метод на команду чату.Putsпише в консоль сервера;SendReplyнадсилає повідомлення в чаті одному гравцеві.
Той самий файл працює на Carbon. Повний список хуків і того, що кожен отримує, є в документації Oxide на docs.oxidemod.com.
Назви й ідентифікатори, які використовують плагіни
Section titled “Назви й ідентифікатори, які використовують плагіни”Плагіни звертаються до речей у грі за їхніми ігровими назвами, які цей сайт перелічує прямо з гри:
- Предмети за shortname (
rifle.ak,wood): список предметів Rust. - Сутності за шляхом префаба (
assets/prefabs/deployable/large wood storage/box.wooden.large.prefab): сторінки префабів у довіднику з гри Rust. - Налаштування сервера за назвою convar (
server.maxplayers): змінні сервера Rust.
Протестуйте плагін до запуску
Section titled “Протестуйте плагін до запуску”Спершу запустіть його на локальній копії свого сервера, з тим самим фреймворком і тією ж мапою, щоб зламаний плагін ніколи не зустрівся з вашими гравцями. Crucible Local Server запускає такий на вашому власному ПК з Oxide чи Carbon, встановленим одним клацанням.
