Čistý (vanilla) Rust server pluginy spúšťať nevie. Potrebuje na to modovací framework: buď Oxide, alebo Carbon. Vysvetlíme, čo framework robí, ako sa tie dva líšia, ktorý si vybrať, ako ho nainštalovať a čo robiť po každej mesačnej aktualizácii Rustu.
Čo budete potrebovať
- Rust server, ktorý sa bez frameworku normálne spustí
- Prístup k súborom servera (správca súborov, SFTP alebo SSH na vlastnej VPS)
- Možnosť server vypnúť a znova spustiť
- Asi 20 minút
Rust u StormHostu
Rust servery u nás pripravujeme. Návod platí aj pre Rust server na vlastnej VPS (postup inštalácie).
Čo je modovací framework#
Framework je doplnok servera, ktorý sa načíta spolu s Rustom a otvorí mu „dvere“ pre pluginy. Plugin je obyčajný textový súbor so zdrojovým kódom v jazyku C# a príponou .cs. Framework ho pri načítaní sám preloží (skompiluje) a spustí. Vy teda nahrávate iba súbor .cs, nič ďalšie neprekladáte.
Čo framework prináša:
- Hooky – miesta v hre, na ktoré sa pluginy „zavesia“ (hráč sa pripojil, niečo sa postavilo, niekto vyťažil kameň…). Vďaka nim môže plugin zmeniť takmer čokoľvek.
- Systém oprávnení – skupiny hráčov a práva typu
kits.admin. Pozrite Oprávnenia na Rust serveri. - Konfigurácia, dáta a preklady pluginov – každý plugin si vytvorí vlastný súbor nastavení (JSON), ktorý upravujete vy.
Hráči si nič neinštalujú. Všetko beží iba na serveri a hráč sa pripája rovnakým klientom Rustu ako na akýkoľvek iný server.
Záložka Modded v zozname serverov
Oxide aj Carbon v predvolenom nastavení označia server ako modded. Hráči ho potom nájdu v záložke Modded a v detaile servera uvidia štítok Oxide, alebo Carbon. Ak pluginy menia hrateľnosť (rýchlejšia ťažba, kity, teleporty), nechajte server v Modded – hráči tam také servery hľadajú.
Oxide a uMod: prečo dva názvy#
Oxide je dlhodobo najrozšírenejší framework pre Rust. Projekt sa v minulosti premenoval na uMod a pod týmto menom dodnes beží web s pluginmi umod.org (otvorí sa v novom okne). Samotný framework pre Rust sa ale stále volá Oxide: súbory na stiahnutie sa volajú Oxide.Rust.zip, príkazy začínajú oxide. a v zozname serverov je štítok „Oxide“. Hovorové „oxymod“ alebo „oxide mod“ je to isté.
Oxide sťahujte z oficiálneho repozitára OxideMod/Oxide.Rust na GitHube (otvorí sa v novom okne). Nová verzia vychádza často, typicky niekoľkokrát do mesiaca a vždy po aktualizácii Rustu.
Carbon#
Carbon je novší framework (vznikol v roku 2022). Je postavený tak, aby spúšťal pluginy napísané pre Oxide, a to bez úprav. Pluginy teda sťahujete z rovnakých miest a používajú rovnaké súbory .cs.
Rozdiely oproti Oxide podľa autorov Carbonu:
- Nemení súbory hry. Oxide prepisuje súbory v priečinku
RustDedicated_, Carbon má všetko vo vlastnom priečinkuData/ Managed carbon. - Aktualizuje sa sám. Pri štarte servera si stiahne verziu, ktorá zodpovedá nainštalovanému Rustu.
- Hooky iba podľa potreby. Volá iba tie hooky, ktoré nejaký plugin skutočne používa, čo šetrí výkon.
- Vstavané nástroje. Administrátorský panel v hre (príkaz
/cpanel), voliteľné moduly (násobenie ťažby, veľkosť stackov, neviditeľnosť pre adminov, whitelist, automatický wipe) a profiler.
Carbon existuje v dvoch zostaveniach: Release (plné, s modulmi a panelom) a Minimal (iba spúšťanie pluginov). Na začiatok zvoľte Release.
Porovnanie#
| Oxide | Carbon | |
|---|---|---|
| Pluginy z umod.org | Áno, natívne | Áno, väčšina pluginov pre Oxide funguje bez zmien |
| Kam sa inštaluje | Prepíše súbory hry v RustDedicated_ | Vlastný priečinok carbon v koreni servera, súbory hry nemení |
| Po aktualizácii Rustu | Musíte nahrať novú verziu Oxide (aktualizácia hry ho prepíše) | Aktualizuje sa sám pri štarte, stačí aktualizovať Rust |
| Výkon (podľa autorov Carbonu) | Všetky hooky aktívne | Hooky sa zapínajú, iba keď ich plugin potrebuje |
| Vstavané nástroje | Žiadne, všetko riešia pluginy | Admin panel, moduly, profiler, webový panel |
| Priečinok s pluginmi | oxide/plugins | carbon/plugins |
| Konfigurácia pluginov | oxide/config | carbon/configs (pozor, množné číslo) |
| Dáta, preklady, logy | oxide/data, oxide/lang, oxide/logs | carbon/data, carbon/lang, carbon/logs |
| Predpona príkazov | oxide. alebo skrátene o. | c. |
| Predvolené skupiny oprávnení | default, admin | default, admin, moderator |
| Štítok v zozname serverov | Oxide | Carbon |
Ako vybrať#
- Oxide zvoľte, ak chcete najrozšírenejší štandard. Autori pluginov ho testujú ako prvý a väčšina návodov na internete počíta s ním. Cenou je ručná aktualizácia po každom update Rustu.
- Carbon zvoľte, ak chcete čo najmenej práce s aktualizáciami, vstavaný admin panel a moduly. Keď nejaký plugin na Carbone nefunguje, dajte vedieť autorovi pluginu alebo komunite Carbonu.
Na jednom serveri smie bežať iba jeden framework. Oxide a Carbon dohromady server rozbijú.
Inštalácia#
Skôr než začnete:
- Aktualizujte Rust server na najnovšiu verziu. Verzia frameworku musí zodpovedať verzii hry.
- Urobte zálohu, ak server už nejaký svet má. Pozrite Zálohy herných serverov.
- Zistite operačný systém servera. Vlastná VPS a väčšina herných hostingov beží na Linuxe. Pre Windows a Linux sa sťahujú iné súbory.
Oxide
- Server vypnite. Nahrávanie súborov do bežiaceho servera môže poškodiť dáta.
- Otvorte stránku Oxide.Rust – Releases (otvorí sa v novom okne) a pri najnovšom vydaní, ktoré nie je označené ako „Pre-release“, rozbaľte časť Assets.
- Stiahnite súbor podľa systému servera:
Oxide.Rust-linux.zippre Linux,Oxide.Rust.zippre Windows.
- Rozbaľte archív v počítači. Vnútri je jediný priečinok
RustDedicated_Data. - Nahrajte priečinok
RustDedicated_Dataz archívu do koreňového priečinka servera, teda tam, kde je súborRustDedicated(na WindowsRustDedicated.exe) a pôvodný priečinokRustDedicated_Data. Keď sa program spýta, potvrďte prepísanie existujúcich súborov. - Server spustite. Pri prvom štarte Oxide vytvorí v koreni servera priečinok
oxides podpriečinkamiplugins,config,data,langalogs.
Na vlastnej VPS s Linuxom to urobíte príkazmi (cesty zodpovedajú návodu Vlastný Rust server na VPS):
curl -fL -o /opt/rust/oxide.zip https://github.com/OxideMod/Oxide.Rust/releases/latest/download/Oxide.Rust-linux.zip
unzip -o /opt/rust/oxide.zip -d /opt/rust/servercurl -fL -o /opt/rust/oxide.zip …– stiahne poslednú stabilnú Linux verziu Oxide do domovského priečinka používateľarust.-fukončí príkaz chybou, keď súbor neexistuje,-Lnasleduje presmerovanie GitHubu na skutočný súbor.unzip -o … -d /opt/rust/server– rozbalí archív do koreňa servera;-oprepíše existujúce súbory bez pýtania.
Spúšťajte to ako používateľ, pod ktorým server beží (v návode rust, z roota sa naň prepnete príkazom su - rust), aby nové súbory patrili jemu. Program unzip musí byť nainštalovaný (apt install unzip).
Správca súborov nevie rozbaliť archív
Ak správca súborov vášho hostingu archívy nerozbaľuje, nahrajte rozbalené súbory cez SFTP (FileZilla, WinSCP). Priečinky sa nahrajú aj so štruktúrou.
Carbon
- Server vypnite.
- Otvorte stránku Carbon – Releases (otvorí sa v novom okne) a nájdite vydanie Production Build (stabilná verzia pre bežný Rust).
- Stiahnite súbor podľa systému servera:
Carbon.pre Linux,Linux. Release. tar. gz Carbon.pre Windows.Windows. Release. zip
- Rozbaľte archív do koreňového priečinka servera (tam, kde je
RustDedicatedaleboRustDedicated.exe). Priečinokcarbonz archívu musí skončiť priamo v koreni servera a súbory z koreňa archívu tiež v koreni servera: na Linuxelibdoorstop.soacarbon.sh, na Windowswinhttp.dlladoorstop_config.ini. - Iba na Linuxe: Carbon sa zavádza cez premenné prostredia. V spúšťacom skripte servera preto pred spustením
RustDedicatednačítajte súborcarbon/(podrobne v návode pre VPS). Na hernom hostingu to zariaďuje poskytovateľ; keď Carbon nepodporuje, nenačíta sa.tools/ environment. sh - Server spustite. Carbon si pri štarte stiahne aktualizácie pre vašu verziu Rustu a vytvorí v priečinku
carbonpodpriečinky pre pluginy, konfigurácie a logy.
Na vlastnej VPS s Linuxom:
curl -fL -o /opt/rust/carbon.tar.gz https://github.com/CarbonCommunity/Carbon/releases/download/production_build/Carbon.Linux.Release.tar.gz
tar -xzf /opt/rust/carbon.tar.gz -C /opt/rust/servercurl -fL -o /opt/rust/carbon.tar.gz …– stiahne stabilné (production) zostavenie Carbonu pre Linux.tar -xzf … -C /opt/rust/server– rozbalí archív (-x), ktorý je komprimovaný gzipom (-z), zo súboru (-f) do priečinka servera (-C).
Overenie#
Oxide
Sledujte konzolu pri štarte. Objavia sa riadky s načítaním Oxide a jeho rozšírení.
Do konzoly servera zadajte:
text oxide.versionUvidíte verziu a vetvu, napríklad:
Výstuptext Oxide.Rust Version: 2.0.<CISLO_VERZE> Oxide.Rust Branch: masterV hre v konzole F1 má výpis inú podobu:
Server is running Oxide … and Rust ….Skontrolujte, že v koreni servera vznikol priečinok
oxides podpriečinkomplugins.
Carbon
Sledujte konzolu pri štarte. Carbon vypisuje priebeh načítania a prípadné sťahovanie aktualizácie.
Do konzoly servera zadajte:
text c.versionPríkaz vypíše verziu Carbonu a verziu Rustu, na ktorej beží.
Skontrolujte, že v priečinku
carbonsú podpriečinkyplugins,configsalogsa súborconfig.json.
Kde zadávať príkazy: v konzole servera (na hernom hostingu záložka Konzola), cez RCON (pozrite Admin a RCON), alebo v hre v konzole F1, ak ste na serveri admin.
Po každej aktualizácii Rustu#
Facepunch vydáva veľkú aktualizáciu Rustu raz mesačne, obvykle prvý štvrtok v mesiaci večer (predvolený čas wipe časovača je 19:00 londýnskeho času, teda 20:00 nášho času). Medzitým občas vyjdú menšie opravy. Po aktualizácii hry musí prísť aj zodpovedajúca verzia frameworku.
Oxide
- Počkajte, kým na GitHube (otvorí sa v novom okne) vyjde nová verzia Oxide (obvykle krátko po aktualizácii Rustu).
- Server vypnite.
- Aktualizujte Rust (na hostingu aktualizáciou alebo preinštalovaním hry, na VPS cez SteamCMD).
- Nahrajte Oxide znova rovnakým postupom ako pri inštalácii. Aktualizácia hry prepíše súbory v
RustDedicated_čistou verziou a Oxide tým zmizne.Data/ Managed - Server spustite a overte
oxide.version.
Priečinok oxide s pluginmi, konfiguráciou a dátami zostáva, aktualizácia hry ho nemaže.
Carbon
- Server vypnite.
- Aktualizujte Rust.
- Server spustite. Carbon pri štarte porovná svoju verziu s verziou Rustu a sám si stiahne správne zostavenie. Autori vydávajú stabilnú verziu pre mesačnú aktualizáciu zhruba hodinu pred vydaním Rustu.
- Overte
c.version.
Veľké aktualizácie môžu rozbiť aj pluginy
Po mesačnej aktualizácii sa môže zmeniť kód hry, s ktorým plugin pracuje. Ak plugin hlási chybu kompilácie, skontrolujte na jeho stránke, či vyšla nová verzia. Mesačná aktualizácia navyše obvykle znamená aj nový svet (force wipe), pozrite Wipe Rust servera.
Prechod z Oxide na Carbon#
Carbon vie prevziať konfigurácie, dáta, preklady aj oprávnenia z Oxide. Postup podľa dokumentácie Carbonu:
- Server vypnite.
- Vypnite všetko, čo by Oxide automaticky inštalovalo alebo aktualizovalo (napríklad voľbu „inštalovať Oxide“ u poskytovateľa alebo krok vo vlastnom spúšťacom skripte).
- Vráťte súbory hry do čistej podoby: vykonajte overenie súborov hry (SteamCMD s parametrom
validate, na hostingu „overiť súbory“ alebo preinštalovanie hry bez mazania dát). Tým zmiznú súbory, ktoré Oxide prepísal. - Nainštalujte Carbon podľa návodu vyššie.
- Server spustite. Carbon pri prvom štarte nájde zvyšky Oxide a automaticky skopíruje konfigurácie, dáta, preklady, používateľov a skupiny do svojho priečinka. Rozšírenia Oxide (súbory
Oxide.Ext.*.dllvRustDedicated_) presunie doData/ Managed carbon/extensions. - Overte
c.versiona príkazomc.pluginsskontrolujte, že sa pluginy načítali.
Ak automatický prevod neprebehol (beží iba raz), preveďte dáta ručne:
- obsah priečinka
oxideskopírujte docarbonokrem priečinkaconfig, - obsah
oxide/configskopírujte docarbon/configs, - súbory
Oxide.Ext.*.dllpresuňte zRustDedicated_doData/ Managed carbon/extensions.
Po prevode už priečinok oxide nepotrebujete. Príkazy s predponou oxide. a o. v Carbone nefungujú, používajte c. (napríklad c.grant namiesto oxide.grant).
Keď niečo nefunguje#
Príkaz oxide.version server nepozná#
Oxide sa nenačítal. Najčastejšie príčiny:
- Súbory sú o úroveň vedľa: nahrali ste celý priečinok archívu a vzniklo napríklad
Oxide.. PriečinokRust/ RustDedicated_ Data/… RustDedicated_Dataz archívu musí prepísať ten pôvodný v koreni servera. - Na Linux server ste nahrali Windows verziu (
Oxide.Rust.zip) alebo naopak. - Po nahraní Oxide prebehla aktualizácia hry, ktorá súbory prepísala (pozrite ďalší bod).
Po reštarte Oxide zmizol#
Spúšťací skript alebo hosting pri každom štarte aktualizuje a overuje súbory hry. Overenie vráti súbory do čistej podoby a Oxide z nich odstráni. Vypnite automatickú aktualizáciu pri štarte, alebo po nej Oxide zakaždým nahrajte znova.
Server po inštalácii frameworku padá pri štarte#
Verzia frameworku nezodpovedá verzii hry. Aktualizujte Rust aj framework na najnovšie verzie. Pri Oxide sťahujte vydanie, ktoré vyšlo po poslednej aktualizácii Rustu. Podrobnosti nájdete v logu servera a v priečinku oxide/logs alebo carbon/logs.
Carbon sa na Linuxe nenačíta, server beží ako vanilla#
Spúšťací skript nenačítava carbon/ pred spustením RustDedicated. Doplňte riadok source podľa návodu pre VPS. Dokumentácia Carbonu upozorňuje, že v niektorých prostrediach (hlavne v Dockeri) treba navyše nastaviť export TERM=xterm.
Mám nainštalovaný Oxide aj Carbon#
Oba frameworky dohromady fungovať nemôžu. Vypnite server, overte súbory hry (validate), nechajte iba jeden z nich a postupujte podľa časti Prechod z Oxide na Carbon.
Plugin funguje na Oxide, ale na Carbone nie#
Skontrolujte, že máte najnovšiu verziu pluginu aj Carbonu. Chybový výpis nájdete v konzole a v carbon/logs. Ak chyba trvá, nahláste ju autorovi pluginu alebo komunite Carbonu a priložte výpis.
Chcem, aby server nebol v záložke Modded#
V Carbone príkaz c.whymodded vypíše, prečo je server označený ako modded, a c.gocommunity vykoná zmeny potrebné pre záložku Community. V Oxide je označenie riadené voľbou "Modded" v súbore oxide/oxide.config.json. Ak ale pluginy menia hrateľnosť, nechajte server v Modded.
Zhrnutie
- Framework (Oxide alebo Carbon) je podmienka pre pluginy. Hráči nič neinštalujú.
- Oxide je najrozšírenejší, Carbon spúšťa rovnaké pluginy, aktualizuje sa sám a má vstavané nástroje.
- Na serveri smie byť iba jeden framework.
- Oxide sa nahráva do koreňa servera cez priečinok
RustDedicated_Data, Carbon ako priečinokcarbon(na Linuxe navyšeenvironment.sh). - Overenie:
oxide.version, aleboc.version. - Po každej aktualizácii Rustu nahrajte znova Oxide; Carbon sa aktualizuje sám.
Ďalšie zdroje#
- Oxide: inštalácia (oficiálna dokumentácia) (otvorí sa v novom okne)
- Oxide.Rust – vydania na GitHube (otvorí sa v novom okne)
- Carbon: inštalácia (otvorí sa v novom okne)
- Carbon: prechod z Oxide (otvorí sa v novom okne)
- Carbon na wiki Facepunchu (otvorí sa v novom okne)
- Pluginy pre Rust na umod.org (otvorí sa v novom okne)