Czysty (vanilla) serwer Rust sam nie potrafi uruchamiać pluginów. Potrzebuje frameworka modowania: Oxide albo Carbon. Ten poradnik wyjaśnia, co robi framework, czym się te dwa różnią, który wybrać, jak go zainstalować i co robić po każdej comiesięcznej aktualizacji Rusta.
Czego potrzebujesz
- Serwer Rust, który normalnie startuje bez frameworka
- Dostęp do plików serwera (menedżer plików, SFTP lub SSH na własnym VPS)
- Możliwość zatrzymania i uruchomienia serwera
- Około 20 minut
Rust w StormHost
Serwery Rust wciąż przygotowujemy. Ten poradnik dotyczy także serwera Rust na własnym VPS (poradnik instalacji).
Czym jest framework modowania#
Framework to dodatek do serwera, który ładuje się razem z Rustem i otwiera drogę pluginom. Plugin to zwykły plik tekstowy z kodem źródłowym C#, z rozszerzeniem .cs. Framework kompiluje go przy wczytaniu i potem uruchamia. Przesyłasz tylko plik .cs; niczego sam nie kompilujesz.
Co zapewnia framework:
- Hooki – punkty w grze, do których podpinają się pluginy (gracz się połączył, coś zbudowano, ktoś wykopał skałę…). Przez nie plugin może zmienić niemal wszystko.
- System uprawnień – grupy graczy i uprawnienia takie jak
kits.admin. Zobacz Uprawnienia na serwerze Rust. - Konfigurację, dane i tłumaczenia pluginów – każdy plugin tworzy własny plik ustawień (JSON), który edytujesz.
Gracze niczego nie instalują. Wszystko działa tylko na serwerze, a gracze łączą się tym samym klientem Rusta, którego używają na każdym innym serwerze.
Zakładka Modded w przeglądarce serwerów
Domyślnie zarówno Oxide, jak i Carbon oznaczają serwer jako modded. Gracze znajdują go wtedy w zakładce Modded i widzą w szczegółach serwera etykietę Oxide lub Carbon. Jeśli Twoje pluginy zmieniają rozgrywkę (szybsze zbieranie, kity, teleporty), zostaw serwer w Modded – tam gracze szukają takich serwerów.
Oxide i uMod: dlaczego dwie nazwy#
Oxide od dawna jest najszerzej używanym frameworkiem dla Rusta. Projekt został w pewnym momencie przemianowany na uMod i strona z pluginami umod.org (otwiera się w nowym oknie) wciąż działa pod tą nazwą. Sam framework dla Rusta nadal nazywa się jednak Oxide: pliki do pobrania noszą nazwę Oxide.Rust.zip, polecenia zaczynają się od oxide., a przeglądarka serwerów pokazuje etykietę „Oxide”. Potoczne „oxymod” lub „oxide mod” oznacza to samo.
Oxide pobieraj z oficjalnego repozytorium OxideMod/Oxide.Rust na GitHubie (otwiera się w nowym oknie). Nowe wersje wychodzą często, zwykle kilka razy w miesiącu i zawsze po aktualizacji Rusta.
Carbon#
Carbon to nowszy framework (pojawił się w 2022). Jest zaprojektowany tak, aby uruchamiać pluginy napisane dla Oxide bez żadnych zmian. Pluginy pobierasz z tych samych miejsc i używają one tych samych plików .cs.
Czym różni się od Oxide według twórców Carbona:
- Nie modyfikuje plików gry. Oxide nadpisuje pliki w folderze
RustDedicated_; Carbon trzyma wszystko we własnym folderzeData/ Managed carbon. - Aktualizuje się sam. Przy starcie serwera pobiera wersję pasującą do zainstalowanego Rusta.
- Hooki tylko w razie potrzeby. Wywołuje tylko hooki, których faktycznie używa jakiś plugin, co oszczędza wydajność.
- Wbudowane narzędzia. Panel admina w grze (polecenie
/cpanel), opcjonalne moduły (mnożniki zbierania, rozmiary stacków, niewidzialność admina, whitelista, automatyczny wipe) i profiler.
Carbon występuje w dwóch buildach: Release (pełny, z modułami i panelem) i Minimal (tylko ładowanie pluginów). Zacznij od Release.
Porównanie#
| Oxide | Carbon | |
|---|---|---|
| Pluginy z umod.org | Tak, natywnie | Tak, większość pluginów Oxide działa bez zmian |
| Gdzie się instaluje | Nadpisuje pliki gry w RustDedicated_ | Własny folder carbon w katalogu głównym serwera; pliki gry pozostają nietknięte |
| Po aktualizacji Rusta | Trzeba przesłać nową wersję Oxide (aktualizacja gry ją nadpisuje) | Aktualizuje się sam przy starcie; aktualizujesz tylko Rusta |
| Wydajność (według twórców Carbona) | Wszystkie hooki aktywne | Hooki włączane tylko wtedy, gdy potrzebuje ich plugin |
| Wbudowane narzędzia | Żadne, wszystko załatwiają pluginy | Panel admina, moduły, profiler, panel WWW |
| Folder pluginów | oxide/plugins | carbon/plugins |
| Konfiguracja pluginów | oxide/config | carbon/configs (uwaga na liczbę mnogą) |
| Dane, tłumaczenia, logi | oxide/data, oxide/lang, oxide/logs | carbon/data, carbon/lang, carbon/logs |
| Prefiks poleceń | oxide. lub krótkie o. | c. |
| Domyślne grupy uprawnień | default, admin | default, admin, moderator |
| Etykieta w przeglądarce serwerów | Oxide | Carbon |
Jak wybrać#
- Wybierz Oxide, jeśli chcesz najbardziej rozpowszechniony standard. Autorzy pluginów testują najpierw na nim i większość poradników w internecie go zakłada. Ceną jest ręczna aktualizacja po każdej aktualizacji Rusta.
- Wybierz Carbon, jeśli chcesz jak najmniej pracy z aktualizacjami, wbudowany panel admina i moduły. Jeśli jakiś plugin nie działa na Carbonie, daj znać autorowi pluginu albo społeczności Carbona.
Na serwerze może działać tylko jeden framework. Oxide i Carbon razem go zepsują.
Instalacja#
Zanim zaczniesz:
- Zaktualizuj serwer Rust do najnowszej wersji. Wersja frameworka musi pasować do wersji gry.
- Zrób kopię zapasową, jeśli serwer ma już świat. Zobacz Kopie zapasowe serwerów gier.
- Ustal, na jakim systemie operacyjnym działa serwer. Własny VPS i większość hostingów gier działają na Linuxie. Windows i Linux używają innych plików do pobrania.
Oxide
- Zatrzymaj serwer. Przesyłanie plików do działającego serwera może uszkodzić dane.
- Otwórz stronę Oxide.Rust – Releases (otwiera się w nowym oknie) i przy najnowszym wydaniu, które nie jest oznaczone jako „Pre-release”, rozwiń sekcję Assets.
- Pobierz plik dla systemu swojego serwera:
Oxide.Rust-linux.zipdla Linuxa,Oxide.Rust.zipdla Windows.
- Rozpakuj archiwum na komputerze. Zawiera jeden folder,
RustDedicated_Data. - Prześlij folder
RustDedicated_Dataz archiwum do folderu głównego serwera, czyli tam, gdzie jest plikRustDedicated(w WindowsRustDedicated.exe) i pierwotny folderRustDedicated_Data. Na pytanie potwierdź nadpisanie istniejących plików. - Uruchom serwer. Przy pierwszym starcie Oxide tworzy w katalogu głównym serwera folder
oxidez podfolderamiplugins,config,data,langilogs.
Na własnym VPS z Linuxem zrobisz to tymi poleceniami (ścieżki odpowiadają poradnikowi Własny serwer Rust 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 …– pobiera najnowszy stabilny build Oxide dla Linuxa do folderu domowego użytkownikarust.-fsprawia, że polecenie kończy się błędem, gdy plik nie istnieje,-Lpodąża za przekierowaniem GitHuba do właściwego pliku.unzip -o … -d /opt/rust/server– rozpakowuje archiwum do katalogu głównego serwera;-onadpisuje istniejące pliki bez pytania.
Uruchom to jako użytkownik, pod którym działa serwer (rust w poradniku; przełączysz się na niego z roota przez su - rust), aby nowe pliki należały do tego użytkownika. Program unzip musi być zainstalowany (apt install unzip).
Menedżer plików nie rozpakowuje archiwów
Jeśli menedżer plików Twojego hostingu nie potrafi rozpakowywać archiwów, prześlij rozpakowane pliki przez SFTP (FileZilla, WinSCP). Foldery są przesyłane z zachowaną strukturą.
Carbon
- Zatrzymaj serwer.
- Otwórz stronę Carbon – Releases (otwiera się w nowym oknie) i znajdź wydanie Production Build (wersja stabilna dla zwykłego Rusta).
- Pobierz plik dla systemu swojego serwera:
Carbon.dla Linuxa,Linux. Release. tar. gz Carbon.dla Windows.Windows. Release. zip
- Rozpakuj archiwum do folderu głównego serwera (tam, gdzie jest
RustDedicatedlubRustDedicated.exe). Foldercarbonz archiwum musi trafić bezpośrednio do katalogu głównego serwera, podobnie jak pliki z korzenia archiwum: w Linuxielibdoorstop.soicarbon.sh, w Windowswinhttp.dllidoorstop_config.ini. - Tylko Linux: Carbon jest ładowany przez zmienne środowiskowe. W skrypcie startowym serwera wczytaj (
source) plikcarbon/przed uruchomieniemtools/ environment. sh RustDedicated(szczegóły w poradniku VPS). Na hostingu gier zajmuje się tym dostawca; jeśli nie wspiera Carbona, ten się nie załaduje. - Uruchom serwer. Przy starcie Carbon pobiera aktualizacje dla Twojej wersji Rusta i tworzy w folderze
carbonpodfoldery dla pluginów, konfiguracji i logów.
Na własnym VPS z 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 …– pobiera stabilny (production) build Carbona dla Linuxa.tar -xzf … -C /opt/rust/server– rozpakowuje (-x) archiwum skompresowane gzipem (-z) z pliku (-f) do folderu serwera (-C).
Weryfikacja#
Oxide
Obserwuj konsolę podczas startu. Zobaczysz linie o ładowaniu Oxide i jego rozszerzeń.
Wpisz w konsoli serwera:
text oxide.versionZobaczysz wersję i gałąź, na przykład:
Wyniktext Oxide.Rust Version: 2.0.<NUMER_WERSJI> Oxide.Rust Branch: masterW konsoli F1 w grze wyjście wygląda inaczej:
Server is running Oxide … and Rust ….Sprawdź, czy w katalogu głównym serwera pojawił się folder
oxidez podfolderemplugins.
Carbon
Obserwuj konsolę podczas startu. Carbon wypisuje postęp ładowania i ewentualne pobieranie aktualizacji.
Wpisz w konsoli serwera:
text c.versionPolecenie wypisuje wersję Carbona i wersję Rusta, na której działa.
Sprawdź, czy folder
carbonzawiera podfolderyplugins,configsilogsoraz plikconfig.json.
Gdzie wpisywać polecenia: w konsoli serwera (na hostingu gier zakładka Konsola), przez RCON (zobacz Admin i RCON) albo w konsoli F1 w grze, jeśli jesteś adminem na serwerze.
Po każdej aktualizacji Rusta#
Facepunch wydaje dużą aktualizację Rusta raz w miesiącu, zwykle wieczorem w pierwszy czwartek miesiąca (domyślny czas timera wipe'u to 19:00 czasu londyńskiego, czyli 20:00 w Pradze i Warszawie). Mniejsze poprawki wychodzą pomiędzy. Po każdej aktualizacji gry musi nastąpić pasująca wersja frameworka.
Oxide
- Poczekaj, aż na GitHubie (otwiera się w nowym oknie) pojawi się nowa wersja Oxide (zwykle krótko po aktualizacji Rusta).
- Zatrzymaj serwer.
- Zaktualizuj Rusta (na hostingu gier przez aktualizację lub reinstalację gry, na VPS przez SteamCMD).
- Prześlij Oxide ponownie tak samo jak przy instalacji. Aktualizacja gry nadpisuje pliki w
RustDedicated_czystymi kopiami, co usuwa Oxide.Data/ Managed - Uruchom serwer i sprawdź
oxide.version.
Folder oxide z pluginami, konfiguracją i danymi zostaje; aktualizacja gry go nie usuwa.
Carbon
- Zatrzymaj serwer.
- Zaktualizuj Rusta.
- Uruchom serwer. Przy starcie Carbon porównuje swoją wersję z wersją Rusta i sam pobiera właściwy build. Twórcy publikują wersję stabilną dla comiesięcznej aktualizacji mniej więcej godzinę przed wydaniem Rusta.
- Sprawdź
c.version.
Duże aktualizacje mogą zepsuć także pluginy
Comiesięczna aktualizacja może zmienić kod gry, z którym pracuje plugin. Jeśli plugin zgłasza błąd kompilacji, sprawdź na jego stronie, czy jest nowa wersja. Comiesięczna aktualizacja zwykle oznacza też nowy świat (force wipe), zobacz Wipe serwera Rust.
Przejście z Oxide na Carbon#
Carbon potrafi przejąć konfiguracje, dane, tłumaczenia i uprawnienia z Oxide. Kroki według dokumentacji Carbona:
- Zatrzymaj serwer.
- Wyłącz wszystko, co automatycznie instalowałoby lub aktualizowało Oxide (na przykład opcję „zainstaluj Oxide” u dostawcy albo krok we własnym skrypcie startowym).
- Przywróć pliki gry do czystego stanu: zweryfikuj pliki gry (SteamCMD z parametrem
validate, „weryfikuj pliki” na hostingu gier albo reinstalacja gry bez usuwania danych). Usuwa to pliki nadpisane przez Oxide. - Zainstaluj Carbona zgodnie z opisem wyżej.
- Uruchom serwer. Przy pierwszym starcie Carbon znajduje pozostałości Oxide i automatycznie kopiuje konfiguracje, dane, tłumaczenia, użytkowników i grupy do własnego folderu. Rozszerzenia Oxide (pliki
Oxide.Ext.*.dllwRustDedicated_) przenosi doData/ Managed carbon/extensions. - Sprawdź
c.version, a przezc.pluginsupewnij się, że pluginy się załadowały.
Jeśli automatyczna konwersja nie nastąpiła (wykonuje się tylko raz), przekonwertuj dane ręcznie:
- skopiuj zawartość folderu
oxidedocarbon, z wyjątkiem folderuconfig, - skopiuj zawartość
oxide/configdocarbon/configs, - przenieś pliki
Oxide.Ext.*.dllzRustDedicated_doData/ Managed carbon/extensions.
Po konwersji folder oxide nie jest już potrzebny. Polecenia z prefiksami oxide. i o. nie działają w Carbonie; używaj zamiast nich c. (na przykład c.grant zamiast oxide.grant).
Rozwiązywanie problemów#
Serwer nie rozpoznaje polecenia oxide.version#
Oxide się nie załadował. Najczęstsze przyczyny:
- Pliki są o poziom za głęboko: przesłano cały folder archiwum i powstało coś w rodzaju
Oxide.. FolderRust/ RustDedicated_ Data/… RustDedicated_Dataz archiwum musi nadpisać pierwotny w katalogu głównym serwera. - Przesłano wersję dla Windows (
Oxide.Rust.zip) na serwer linuksowy albo odwrotnie. - Po przesłaniu Oxide uruchomiła się aktualizacja gry i nadpisała pliki (zobacz następną sekcję).
Po restarcie Oxide zniknął#
Skrypt startowy lub hosting aktualizuje i weryfikuje pliki gry przy każdym starcie. Weryfikacja przywraca pliki do czystego stanu i usuwa z nich Oxide. Wyłącz automatyczną aktualizację przy starcie albo przesyłaj Oxide ponownie po każdej aktualizacji.
Serwer pada przy starcie po instalacji frameworka#
Wersja frameworka nie pasuje do wersji gry. Zaktualizuj zarówno Rusta, jak i framework do najnowszych wersji. W przypadku Oxide pobierz wydanie opublikowane po ostatniej aktualizacji Rusta. Szczegóły znajdziesz w logu serwera i w folderze oxide/logs lub carbon/logs.
Carbon nie ładuje się na Linuxie, serwer działa jako vanilla#
Skrypt startowy nie wczytuje carbon/ przed uruchomieniem RustDedicated. Dodaj linię source zgodnie z poradnikiem VPS. Dokumentacja Carbona zaznacza, że niektóre środowiska (głównie Docker) potrzebują też export TERM=xterm.
Mam zainstalowane zarówno Oxide, jak i Carbon#
Oba frameworki nie mogą działać razem. Zatrzymaj serwer, zweryfikuj pliki gry (validate), zostaw tylko jeden z nich i postępuj według sekcji Przejście z Oxide na Carbon.
Plugin działa na Oxide, ale nie na Carbonie#
Upewnij się, że masz najnowszą wersję zarówno pluginu, jak i Carbona. Wyjście błędu znajdziesz w konsoli i w carbon/logs. Jeśli błąd się utrzymuje, zgłoś go autorowi pluginu albo społeczności Carbona i dołącz wyjście.
Nie chcę serwera w zakładce Modded#
W Carbonie c.whymodded wypisuje, dlaczego serwer jest oznaczony jako modded, a c.gocommunity wprowadza zmiany potrzebne do zakładki Community. W Oxide flagą steruje opcja "Modded" w oxide/oxide.config.json. Jeśli jednak Twoje pluginy zmieniają rozgrywkę, zostaw serwer w Modded.
Podsumowanie
- Do pluginów wymagany jest framework (Oxide lub Carbon). Gracze niczego nie instalują.
- Oxide jest najbardziej rozpowszechniony; Carbon uruchamia te same pluginy, aktualizuje się sam i ma wbudowane narzędzia.
- Na serwerze może być tylko jeden framework.
- Oxide trafia do katalogu głównego serwera przez folder
RustDedicated_Data, Carbon jako foldercarbon(plusenvironment.shna Linuxie). - Weryfikacja:
oxide.versionlubc.version. - Po każdej aktualizacji Rusta prześlij Oxide ponownie; Carbon aktualizuje się sam.
Dalsza lektura#
- Oxide: instalacja (oficjalna dokumentacja) (otwiera się w nowym oknie)
- Oxide.Rust – wydania na GitHubie (otwiera się w nowym oknie)
- Carbon: instalacja (otwiera się w nowym oknie)
- Carbon: przenoszenie z Oxide (otwiera się w nowym oknie)
- Carbon na wiki Facepunch (otwiera się w nowym oknie)
- Pluginy Rust na umod.org (otwiera się w nowym oknie)