Čistý (vanilla) Rust server pluginy spouštět neumí. Potřebuje k tomu modovací framework: buď Oxide, nebo Carbon. Vysvětlíme, co framework dělá, jak se ty dva liší, který si vybrat, jak ho nainstalovat a co dělat po každé měsíční aktualizaci Rustu.
Co budete potřebovat
- Rust server, který se bez frameworku normálně spustí
- Přístup k souborům serveru (správce souborů, SFTP nebo SSH na vlastní VPS)
- Možnost server vypnout a znovu spustit
- Asi 20 minut
Rust u StormHostu
Rust servery u nás připravujeme. Návod platí i pro Rust server na vlastní VPS (postup instalace).
Co je modovací framework#
Framework je doplněk serveru, který se načte spolu s Rustem a otevře mu „dveře“ pro pluginy. Plugin je obyčejný textový soubor se zdrojovým kódem v jazyce C# a příponou .cs. Framework ho při načtení sám přeloží (zkompiluje) a spustí. Vy tedy nahráváte jen soubor .cs, nic dalšího nepřekládáte.
Co framework přináší:
- Hooky – místa ve hře, na která se pluginy „zavěsí“ (hráč se připojil, něco se postavilo, někdo vytěžil kámen…). Díky nim plugin může změnit skoro cokoli.
- Systém oprávnění – skupiny hráčů a práva typu
kits.admin. Viz Oprávnění na Rust serveru. - Konfigurace, data a překlady pluginů – každý plugin si vytvoří vlastní soubor nastavení (JSON), který upravujete vy.
Hráči si nic neinstalují. Všechno běží jen na serveru a hráč se připojuje stejným klientem Rustu jako na jakýkoli jiný server.
Záložka Modded v seznamu serverů
Oxide i Carbon ve výchozím nastavení označí server jako modded. Hráči ho pak najdou v záložce Modded a v detailu serveru uvidí štítek Oxide, nebo Carbon. Pokud pluginy mění hratelnost (rychlejší těžba, kity, teleporty), nechte server v Modded – hráči tam takové servery hledají.
Oxide a uMod: proč dva názvy#
Oxide je dlouhodobě nejrozšířenější framework pro Rust. Projekt se v minulosti přejmenoval na uMod a pod tímto jménem dodnes běží web s pluginy umod.org (otevře se v novém okně). Samotný framework pro Rust se ale stále jmenuje Oxide: soubory ke stažení se jmenují Oxide.Rust.zip, příkazy začínají oxide. a v seznamu serverů je štítek „Oxide“. Hovorové „oxymod“ nebo „oxide mod“ je totéž.
Oxide stahujte z oficiálního repozitáře OxideMod/Oxide.Rust na GitHubu (otevře se v novém okně). Nová verze vychází často, typicky několikrát do měsíce a vždy po aktualizaci Rustu.
Carbon#
Carbon je novější framework (vznikl v roce 2022). Je postavený tak, aby spouštěl pluginy napsané pro Oxide, a to bez úprav. Pluginy tedy stahujete ze stejných míst a používají stejné soubory .cs.
Rozdíly oproti Oxide podle autorů Carbonu:
- Nemění soubory hry. Oxide přepisuje soubory ve složce
RustDedicated_, Carbon má vše ve vlastní složceData/ Managed carbon. - Aktualizuje se sám. Při startu serveru si stáhne verzi, která odpovídá nainstalovanému Rustu.
- Hooky jen podle potřeby. Volá jen ty hooky, které nějaký plugin opravdu používá, což šetří výkon.
- Vestavěné nástroje. Administrátorský panel ve hře (příkaz
/cpanel), volitelné moduly (násobení těžby, velikost stacků, neviditelnost pro adminy, whitelist, automatický wipe) a profiler.
Carbon existuje ve dvou sestaveních: Release (plné, s moduly a panelem) a Minimal (jen spouštění pluginů). Pro začátek zvolte Release.
Srovnání#
| Oxide | Carbon | |
|---|---|---|
| Pluginy z umod.org | Ano, nativně | Ano, většina pluginů pro Oxide funguje beze změn |
| Kam se instaluje | Přepíše soubory hry v RustDedicated_ | Vlastní složka carbon v kořeni serveru, soubory hry nemění |
| Po aktualizaci Rustu | Musíte nahrát novou verzi Oxide (aktualizace hry ho přepíše) | Aktualizuje se sám při startu, stačí aktualizovat Rust |
| Výkon (podle autorů Carbonu) | Všechny hooky aktivní | Hooky se zapínají, jen když je plugin potřebuje |
| Vestavěné nástroje | Žádné, vše řeší pluginy | Admin panel, moduly, profiler, webový panel |
| Složka s pluginy | oxide/plugins | carbon/plugins |
| Konfigurace pluginů | oxide/config | carbon/configs (pozor, množné číslo) |
| Data, překlady, logy | oxide/data, oxide/lang, oxide/logs | carbon/data, carbon/lang, carbon/logs |
| Předpona příkazů | oxide. nebo zkráceně o. | c. |
| Výchozí skupiny oprávnění | default, admin | default, admin, moderator |
| Štítek v seznamu serverů | Oxide | Carbon |
Jak vybrat#
- Oxide zvolte, pokud chcete nejrozšířenější standard. Autoři pluginů ho testují jako první a většina návodů na internetu počítá s ním. Cenou je ruční aktualizace po každém updatu Rustu.
- Carbon zvolte, pokud chcete co nejméně práce s aktualizacemi, vestavěný admin panel a moduly. Když nějaký plugin na Carbonu nefunguje, dejte vědět autorovi pluginu nebo komunitě Carbonu.
Na jednom serveru smí běžet jen jeden framework. Oxide a Carbon dohromady server rozbijí.
Instalace#
Než začnete:
- Aktualizujte Rust server na nejnovější verzi. Verze frameworku musí odpovídat verzi hry.
- Udělejte zálohu, pokud server už nějaký svět má. Viz Zálohy herních serverů.
- Zjistěte operační systém serveru. Vlastní VPS a většina herních hostingů běží na Linuxu. Pro Windows a Linux se stahují jiné soubory.
Oxide
- Server vypněte. Nahrávat soubory do běžícího serveru může poškodit data.
- Otevřete stránku Oxide.Rust – Releases (otevře se v novém okně) a u nejnovějšího vydání, které není označené jako „Pre-release“, rozbalte část Assets.
- Stáhněte soubor podle systému serveru:
Oxide.Rust-linux.zippro Linux,Oxide.Rust.zippro Windows.
- Rozbalte archiv v počítači. Uvnitř je jediná složka
RustDedicated_Data. - Nahrajte složku
RustDedicated_Dataz archivu do kořenové složky serveru, tedy tam, kde je souborRustDedicated(na WindowsRustDedicated.exe) a původní složkaRustDedicated_Data. Když se program zeptá, potvrďte přepsání existujících souborů. - Server spusťte. Při prvním startu Oxide vytvoří v kořeni serveru složku
oxides podsložkamiplugins,config,data,langalogs.
Na vlastní VPS s Linuxem to uděláte příkazy (cesty odpovídají 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 …– stáhne poslední stabilní Linux verzi Oxide do domovské složky uživatelerust.-fukončí příkaz chybou, když soubor neexistuje,-Lnásleduje přesměrování GitHubu na skutečný soubor.unzip -o … -d /opt/rust/server– rozbalí archiv do kořene serveru;-opřepíše existující soubory bez ptaní.
Spouštějte to jako uživatel, pod kterým server běží (v návodu rust, z roota se na něj přepnete příkazem su - rust), aby nové soubory patřily jemu. Program unzip musí být nainstalovaný (apt install unzip).
Správce souborů neumí rozbalit archiv
Pokud správce souborů vašeho hostingu archivy nerozbaluje, nahrajte rozbalené soubory přes SFTP (FileZilla, WinSCP). Složky se nahrají i se strukturou.
Carbon
- Server vypněte.
- Otevřete stránku Carbon – Releases (otevře se v novém okně) a najděte vydání Production Build (stabilní verze pro běžný Rust).
- Stáhněte soubor podle systému serveru:
Carbon.pro Linux,Linux. Release. tar. gz Carbon.pro Windows.Windows. Release. zip
- Rozbalte archiv do kořenové složky serveru (tam, kde je
RustDedicatedneboRustDedicated.exe). Složkacarbonz archivu musí skončit přímo v kořeni serveru a soubory z kořene archivu také v kořeni serveru: na Linuxulibdoorstop.soacarbon.sh, na Windowswinhttp.dlladoorstop_config.ini. - Jen na Linuxu: Carbon se zavádí přes proměnné prostředí. Ve spouštěcím skriptu serveru proto před spuštěním
RustDedicatednačtěte souborcarbon/(podrobně v návodu pro VPS). Na herním hostingu tohle zařizuje poskytovatel; když Carbon nepodporuje, nenačte se.tools/ environment. sh - Server spusťte. Carbon si při startu stáhne aktualizace pro vaši verzi Rustu a vytvoří ve složce
carbonpodsložky pro pluginy, konfigurace a logy.
Na vlastní VPS s Linuxem:
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 …– stáhne stabilní (production) sestavení Carbonu pro Linux.tar -xzf … -C /opt/rust/server– rozbalí archiv (-x), který je komprimovaný gzipem (-z), ze souboru (-f) do složky serveru (-C).
Ověření#
Oxide
Sledujte konzoli při startu. Objeví se řádky s načítáním Oxide a jeho rozšíření.
Do konzole serveru zadejte:
text oxide.versionUvidíte verzi a větev, například:
Výstuptext Oxide.Rust Version: 2.0.<CISLO_VERZE> Oxide.Rust Branch: masterVe hře v konzoli F1 má výpis jinou podobu:
Server is running Oxide … and Rust ….Zkontrolujte, že v kořeni serveru vznikla složka
oxides podsložkouplugins.
Carbon
Sledujte konzoli při startu. Carbon vypisuje průběh načítání a případné stahování aktualizace.
Do konzole serveru zadejte:
text c.versionPříkaz vypíše verzi Carbonu a verzi Rustu, na které běží.
Zkontrolujte, že ve složce
carbonjsou podsložkyplugins,configsalogsa souborconfig.json.
Kde zadávat příkazy: v konzoli serveru (na herním hostingu záložka Konzole), přes RCON (viz Admin a RCON), nebo ve hře v konzoli F1, pokud jste na serveru admin.
Po každé aktualizaci Rustu#
Facepunch vydává velkou aktualizaci Rustu jednou měsíčně, obvykle první čtvrtek v měsíci večer (výchozí čas wipe časovače je 19:00 londýnského času, tedy 20:00 našeho času). Mezitím občas vyjdou menší opravy. Po aktualizaci hry musí přijít i odpovídající verze frameworku.
Oxide
- Počkejte, až na GitHubu (otevře se v novém okně) vyjde nová verze Oxide (obvykle krátce po aktualizaci Rustu).
- Server vypněte.
- Aktualizujte Rust (na hostingu aktualizací nebo přeinstalací hry, na VPS přes SteamCMD).
- Nahrajte Oxide znovu stejným postupem jako při instalaci. Aktualizace hry přepíše soubory v
RustDedicated_čistou verzí a Oxide tím zmizí.Data/ Managed - Server spusťte a ověřte
oxide.version.
Složka oxide s pluginy, konfigurací a daty zůstává, aktualizace hry ji nemaže.
Carbon
- Server vypněte.
- Aktualizujte Rust.
- Server spusťte. Carbon při startu porovná svou verzi s verzí Rustu a sám si stáhne správné sestavení. Autoři vydávají stabilní verzi pro měsíční aktualizaci zhruba hodinu před vydáním Rustu.
- Ověřte
c.version.
Velké aktualizace mohou rozbít i pluginy
Po měsíční aktualizaci se může změnit kód hry, se kterým plugin pracuje. Pokud plugin hlásí chybu kompilace, zkontrolujte na jeho stránce, jestli vyšla nová verze. Měsíční aktualizace navíc obvykle znamená i nový svět (force wipe), viz Wipe Rust serveru.
Přechod z Oxide na Carbon#
Carbon umí převzít konfigurace, data, překlady i oprávnění z Oxide. Postup podle dokumentace Carbonu:
- Server vypněte.
- Vypněte vše, co by Oxide automaticky instalovalo nebo aktualizovalo (například volbu „instalovat Oxide“ u poskytovatele nebo krok ve vlastním spouštěcím skriptu).
- Vraťte soubory hry do čisté podoby: proveďte ověření souborů hry (SteamCMD s parametrem
validate, na hostingu „ověřit soubory“ nebo přeinstalaci hry bez mazání dat). Tím zmizí soubory, které Oxide přepsal. - Nainstalujte Carbon podle návodu výše.
- Server spusťte. Carbon při prvním startu najde zbytky Oxide a automaticky zkopíruje konfigurace, data, překlady, uživatele a skupiny do své složky. Rozšíření Oxide (soubory
Oxide.Ext.*.dllveRustDedicated_) přesune doData/ Managed carbon/extensions. - Ověřte
c.versiona příkazemc.pluginszkontrolujte, že se pluginy načetly.
Pokud automatický převod neproběhl (běží jen jednou), převeďte data ručně:
- obsah složky
oxidezkopírujte docarbonkromě složkyconfig, - obsah
oxide/configzkopírujte docarbon/configs, - soubory
Oxide.Ext.*.dllpřesuňte zRustDedicated_doData/ Managed carbon/extensions.
Po převodu už složku oxide nepotřebujete. Příkazy s předponou oxide. a o. v Carbonu nefungují, používejte c. (například c.grant místo oxide.grant).
Když něco nefunguje#
Příkaz oxide.version server nezná#
Oxide se nenačetl. Nejčastější příčiny:
- Soubory jsou o úroveň vedle: nahráli jste celou složku archivu a vzniklo například
Oxide.. SložkaRust/ RustDedicated_ Data/… RustDedicated_Dataz archivu musí přepsat tu původní v kořeni serveru. - Na Linux server jste nahráli Windows verzi (
Oxide.Rust.zip) nebo naopak. - Po nahrání Oxide proběhla aktualizace hry, která soubory přepsala (viz další bod).
Po restartu Oxide zmizel#
Spouštěcí skript nebo hosting při každém startu aktualizuje a ověřuje soubory hry. Ověření vrátí soubory do čisté podoby a Oxide z nich odstraní. Vypněte automatickou aktualizaci při startu, nebo po ní Oxide pokaždé nahrajte znovu.
Server po instalaci frameworku padá při startu#
Verze frameworku neodpovídá verzi hry. Aktualizujte Rust i framework na nejnovější verze. U Oxide stahujte vydání, které vyšlo po poslední aktualizaci Rustu. Podrobnosti najdete v logu serveru a ve složce oxide/logs nebo carbon/logs.
Carbon se na Linuxu nenačte, server běží jako vanilla#
Spouštěcí skript nenačítá carbon/ před spuštěním RustDedicated. Doplňte řádek source podle návodu pro VPS. Dokumentace Carbonu upozorňuje, že v některých prostředích (hlavně v Dockeru) je navíc potřeba nastavit export TERM=xterm.
Mám nainstalovaný Oxide i Carbon#
Oba frameworky dohromady fungovat nemohou. Vypněte server, ověřte soubory hry (validate), nechte jen jeden z nich a postupujte podle části Přechod z Oxide na Carbon.
Plugin funguje na Oxide, ale na Carbonu ne#
Zkontrolujte, že máte nejnovější verzi pluginu i Carbonu. Chybový výpis najdete v konzoli a v carbon/logs. Pokud chyba trvá, nahlaste ji autorovi pluginu nebo komunitě Carbonu a přiložte výpis.
Chci, aby server nebyl v záložce Modded#
V Carbonu příkaz c.whymodded vypíše, proč je server označený jako modded, a c.gocommunity provede změny potřebné pro záložku Community. V Oxide je označení řízené volbou "Modded" v souboru oxide/oxide.config.json. Pokud ale pluginy mění hratelnost, nechte server v Modded.
Shrnutí
- Framework (Oxide nebo Carbon) je podmínka pro pluginy. Hráči nic neinstalují.
- Oxide je nejrozšířenější, Carbon spouští stejné pluginy, aktualizuje se sám a má vestavěné nástroje.
- Na serveru smí být jen jeden framework.
- Oxide se nahrává do kořene serveru přes složku
RustDedicated_Data, Carbon jako složkacarbon(na Linuxu navícenvironment.sh). - Ověření:
oxide.version, neboc.version. - Po každé aktualizaci Rustu nahrajte znovu Oxide; Carbon se aktualizuje sám.
Další zdroje#
- Oxide: instalace (oficiální dokumentace) (otevře se v novém okně)
- Oxide.Rust – vydání na GitHubu (otevře se v novém okně)
- Carbon: instalace (otevře se v novém okně)
- Carbon: přechod z Oxide (otevře se v novém okně)
- Carbon na wiki Facepunche (otevře se v novém okně)
- Pluginy pro Rust na umod.org (otevře se v novém okně)