Ein Rust-Plugin ist eine einzelne Datei mit der Endung .cs. Sie laden sie in den richtigen Ordner hoch, und das Framework lädt sie selbstständig, ohne Neustart des Servers. Diese Anleitung zeigt, wo Sie Plugins finden, wie Sie sie installieren, konfigurieren, übersetzen, aktualisieren und entfernen und was zu tun ist, wenn sie nicht laden.
Was Sie brauchen
Rust bei StormHost
Rust-Server bereiten wir noch vor. Diese Anleitung gilt auch für einen Rust-Server auf Ihrem eigenen VPS (Installationsanleitung).
So funktionieren Plugins#
- Ein Plugin ist C#-Quellcode. Das Framework überwacht den Plugin-Ordner und kompiliert und lädt jede neue oder geänderte Datei selbstständig. Dafür müssen Sie den Server nicht neu starten.
- Beim ersten Laden legt ein Plugin meist eine Konfigurationsdatei (JSON) mit demselben Namen wie das Plugin an, gegebenenfalls auch Daten (Homes der Spieler, Cooldowns …) und Sprachdateien.
- Oxide und Carbon verwenden dieselben Plugins. Nur die Ordnernamen und das Befehlspräfix unterscheiden sich.
Wo Sie Plugins finden#
- umod.org (öffnet sich in einem neuen Fenster) – die Website des Oxide-Projekts mit Tausenden kostenloser Plugins (sie funktionieren auch unter Carbon). Filtern Sie die Liste nach dem Spiel Rust.
- Kostenpflichtige Marktplätze und Websites der Autoren – dort werden größere Plugins verkauft (Events, Wirtschaftssysteme, Karten). Kaufen Sie nur beim ursprünglichen Verkäufer.
Prüfen Sie vor der Installation eines Plugins:
- Das Datum der letzten Aktualisierung. Ein Plugin, das nach einem großen Rust-Update nicht aktualisiert wurde, lässt sich unter Umständen nicht kompilieren.
- Die Beschreibung der Berechtigungen und Befehle auf der Seite des Plugins. Ohne sie können Sie es nicht einrichten.
- Abhängigkeiten. Manche Plugins brauchen ein anderes Plugin (zum Beispiel ImageLibrary für Bilder in Menüs).
Ein Plugin installieren#
Oxide
Laden Sie die Plugin-Datei herunter, zum Beispiel
Kits.cs. Benennen Sie sie nicht um und ändern Sie die Endung nicht: Der Dateiname muss mit dem Namen des Plugins im Code übereinstimmen.Laden Sie die Datei im Hauptverzeichnis des Servers in den Ordner
oxide/pluginshoch. Nicht in einen Unterordner.Beobachten Sie die Serverkonsole. Innerhalb weniger Sekunden erscheint eine Zeile über das Laden des Plugins:
Ausgabetext Loaded plugin Kits v<VERSION> by k1lly0uLäuft der Server gerade nicht, wird das Plugin beim nächsten Start geladen.
Carbon
- Laden Sie die Plugin-Datei herunter, zum Beispiel
Kits.cs. Benennen Sie sie nicht um – sonst gibt Carbon eine Warnung aus, dass der Name des Plugins nicht zum Dateinamen passt. - Laden Sie die Datei im Hauptverzeichnis des Servers in den Ordner
carbon/pluginshoch. - Beobachten Sie die Serverkonsole. Ein erfolgreiches Laden meldet eine Zeile, die mit
Loaded pluginbeginnt, gefolgt von Name, Version und Autor. - Läuft der Server gerade nicht, wird das Plugin beim nächsten Start geladen.
Prüfen Sie, ob das Plugin läuft, indem Sie die Plugins in der Konsole auflisten:
Oxide
oxide.pluginsListet alle Plugins mit Version, Autor und der Gesamtzeit in Hooks auf. Ein Plugin, das nicht geladen werden konnte, erscheint in der Liste mit dem Grund des Fehlers.
Carbon
c.pluginsListet die geladenen Plugins auf. c.plugininfo <PLUGIN_NAME> zeigt Details zu einem einzelnen Plugin.
Ordnerstruktur#
| Was dort liegt | Oxide | Carbon |
|---|---|---|
Plugins (.cs) | oxide/plugins | carbon/plugins |
| Konfiguration der Plugins (JSON) | oxide/config | carbon/configs |
| Daten der Plugins (Homes, Statistiken …) | oxide/data | carbon/data |
| Übersetzungen | oxide/lang/<Sprache> | carbon/lang/<Sprache> |
| Logs und Fehler | oxide/logs | carbon/logs |
Erweiterungen (.dll-Dateien) | RustDedicated_ | carbon/extensions |
| Einstellungen des Frameworks | oxide/oxide.config.json | carbon/config.json |
Der Unterschied zwischen Konfiguration und Daten: Die Konfiguration bearbeiten Sie (wie sich das Plugin verhalten soll), die Daten verwaltet das Plugin selbst (was es sich über die Spieler merkt). Bearbeiten Sie Daten nicht von Hand, wenn Sie nicht genau wissen, was Sie tun.
Die Konfiguration eines Plugins bearbeiten#
Die Konfiguration ist nach dem Plugin benannt: Das Plugin Kits.cs speichert seine Einstellungen in oxide/config/Kits.json (unter Carbon carbon/configs/Kits.json). Ist die Datei nach dem Laden des Plugins nicht erschienen, hat das Plugin entweder nichts zu konfigurieren oder es wurde nicht geladen (prüfen Sie die Logs).
Ein sicheres Vorgehen, bei dem das Plugin Ihre Änderungen nicht überschreibt:
Oxide
- Erstellen Sie eine Kopie der Konfigurationsdatei (laden Sie sie auf Ihren Computer herunter).
- Entladen Sie das Plugin:
oxide.unload Kits - Bearbeiten und speichern Sie
oxide/config/Kits.json. - Laden Sie das Plugin wieder:
oxide.load Kits - Prüfen Sie in der Konsole, ob das Plugin einen Fehler meldet.
Carbon
- Erstellen Sie eine Kopie der Konfigurationsdatei.
- Entladen Sie das Plugin:
c.unload Kits - Bearbeiten und speichern Sie
carbon/configs/Kits.json. - Laden Sie das Plugin wieder:
c.load Kits - Prüfen Sie in der Konsole, ob das Plugin einen Fehler meldet.
Warum zuerst entladen: Manche Plugins speichern beim Entladen ihre aktuelle Konfiguration. Hätten Sie die Datei bei laufendem Plugin bearbeitet und dann nur reload ausgeführt, könnte das Plugin Ihre Änderungen mit den alten Werten überschreiben. Bei Plugins, die das nicht tun, genügt es, die Datei zu speichern und oxide.reload Kits (c.reload Kits) auszuführen.
JSON-Regeln#
{
"Enabled": true,
"Cooldown (seconds)": 600,
"Welcome message": "Willkommen auf dem Server!",
"Allowed items": [
"rock",
"torch"
],
"Colors": {
"Admin": "#ff5555",
"Player": "#55aaff"
}
}- Schlüssel und Texte immer in doppelten Anführungszeichen (
"Enabled"). Einfache Anführungszeichen kennt JSON nicht. - Ein Komma nach jedem Eintrag außer dem letzten im jeweiligen Block. Ein überzähliges Komma vor
}oder]ist der häufigste Fehler. trueundfalsekleingeschrieben und ohne Anführungszeichen."true"in Anführungszeichen ist Text, nicht „eingeschaltet“.- Zahlen ohne Anführungszeichen:
600; Dezimalzahlen mit Punkt:1.5. - Eine Liste steht in eckigen Klammern
[ ], eine Gruppe von Einstellungen in geschweiften Klammern{ }. - JSON unterstützt keine Kommentare. Ändern Sie nicht die Namen der Schlüssel, nur die Werte nach dem Doppelpunkt.
Prüfen Sie die Datei vor dem Hochladen mit einem JSON-Validator (ein Editor wie Visual Studio Code erledigt das und unterstreicht den Fehler). Wenn Sie die Konfiguration völlig zerstört haben, löschen Sie sie und laden Sie das Plugin neu – es legt eine Standarddatei an.
Plugins in andere Sprachen übersetzen#
Die Texte, die ein Plugin an Spieler sendet, stehen in den Dateien oxide/ (Carbon: carbon/lang/…). Das Plugin wählt die Sprache danach, welche Sprache der Spieler im Spiel eingestellt hat. Gibt es für diese Sprache keine Datei, verwendet es die Sprache des Servers und zuletzt Englisch.
Sie haben zwei Möglichkeiten:
- Alle Spieler in Ihrer Sprache: Übersetzen Sie direkt die englische Datei
oxide/. Sie sehen alle, die keine eigene Sprachversion haben.lang/ en/ <Plugin>. json - Ihre Sprache nur für Spieler, deren Spiel sie verwendet: Legen Sie einen Ordner mit dem Sprachcode an (zum Beispiel
oxide/lang/defür Deutsch), kopieren Sie die englische Datei hinein und übersetzen Sie sie. Sehen Spieler mit dieser Spielsprache trotzdem englische Texte, nutzen Sie die erste Möglichkeit.
Übersetzen Sie nur die Texte nach dem Doppelpunkt. Platzhalter wie {0} oder {player} lassen Sie unverändert; das Plugin setzt die Werte ein. Farb-Tags wie <color=#ff5555>…</color> können Sie beibehalten oder anpassen. Bei einer Aktualisierung des Plugins fügt das Framework der Sprachdatei nur neue Texte hinzu, Ihre Übersetzungen bleiben also erhalten.
Die Standardsprache des Servers stellen Sie mit dem Befehl oxide.lang in der Serverkonsole ein, zum Beispiel oxide.lang de für Deutsch (unter Carbon c.lang de).
Abhängigkeiten und Erweiterungen#
Eine Abhängigkeit von einem anderen Plugin steht in der Beschreibung des Plugins oder zeigt sich als Fehler in der Konsole (siehe Fehlerbehebung). Die Lösung: Installieren Sie das benötigte Plugin auf dieselbe Weise in den Plugin-Ordner. Ein typisches Beispiel ist ImageLibrary, das Menübilder für andere Plugins herunterlädt und speichert.
Eine Erweiterung ist eine .dll-Datei, keine .cs. Sie werden zum Beispiel von eigenen Karten aus dem Editor RustEdit oder für die Discord-Anbindung verwendet. Erweiterungen werden nur beim Start des Servers geladen:
- Oxide: Laden Sie die
.dllnachRustDedicated_hoch und starten Sie den Server neu.Data/ Managed - Carbon: Laden Sie die
.dllnachcarbon/extensionshoch und starten Sie den Server neu.
Ein Hinweis zu Oxide: Ein Update des Spiels überschreibt Dateien im Ordner RustDedicated_. Ihre eigenen Erweiterungen Oxide.Ext.*.dll überstehen das meist, aber wenn Sie den Ordner Managed einmal löschen (zum Beispiel beim Reparieren einer beschädigten Installation), sind sie weg. Bewahren Sie Sicherungen davon auch außerhalb des Servers auf.
Befehle zur Verwaltung von Plugins#
| Aktion | Oxide | Carbon |
|---|---|---|
| Plugins auflisten | oxide.plugins (kurz: plugins) | c.plugins |
| Plugin laden | oxide.load Kits | c.load Kits |
| Plugin entladen | oxide.unload Kits | c.unload Kits |
| Plugin neu laden | oxide.reload Kits | c.reload Kits |
| Alle neu laden | oxide.reload * | c.reload * |
| Version des Frameworks | oxide.version | c.version |
Ersetzen Sie Kits durch den Namen des Plugins, also den Dateinamen ohne .cs. Geben Sie die Befehle in der Serverkonsole, über RCON oder als Admin in der F1-Konsole im Spiel ein.
Ein Plugin aktualisieren#
- Lesen Sie das Changelog auf der Seite des Plugins. Große Versionssprünge (zum Beispiel von 3.x auf 4.x) können die Konfiguration verändern.
- Sichern Sie die Konfiguration und die Daten des Plugins.
- Laden Sie die neue
.cs-Datei über die alte hoch (gleicher Name). - Das Framework erkennt die Änderung und lädt das Plugin selbstständig neu. In der Konsole sehen Sie, wie das Plugin entladen und wieder geladen wird.
Konfiguration und Daten bleiben erhalten. Die meisten Plugins ergänzen neue Einstellungen aus der neuen Version selbstständig in der Konfiguration.
Ein Plugin entfernen#
- Entladen Sie das Plugin:
oxide.unload Kits(Carbon:c.unload Kits). - Löschen Sie die Datei
Kits.csaus dem Plugin-Ordner. - Wenn Sie das Plugin auch künftig nicht wollen, löschen Sie zusätzlich seine Konfiguration, Daten und Sprachdateien (nach dem Plugin benannte Dateien und Ordner in
config/configs,dataundlang).
Die Berechtigungen des entfernten Plugins bleiben den Gruppen zugewiesen. Das schadet nicht, trägt aber nicht zur Ordnung bei. Unter Carbon räumt sie der Befehl c.cleanup orphans auf.
Sicherheit#
- Ein Plugin kann auf dem Server alles: Dateien lesen und löschen, Konsolenbefehle ausführen, Daten ins Internet senden. Installieren Sie nur Plugins, denen Sie vertrauen.
- Installieren Sie nie „geleakte“ (illegal verbreitete) kostenpflichtige Plugins. Sie sind oft so verändert, dass sie einem Angreifer Admin-Rechte oder Zugriff auf den Server verschaffen.
- Ein Plugin ist lesbarer Quellcode. Finden Sie darin verschleierten Code oder Downloads von unbekannten Adressen, verwenden Sie es nicht.
- Fügen Sie Ihr RCON-Passwort nie in Websites und Werkzeuge ein, die Sie nicht kennen.
Fehlerbehebung#
In der Konsole steht Error while compiling Kits:#
Das Plugin ließ sich nicht kompilieren. Nach dem Doppelpunkt (Oxide nennt den Namen des Plugins ohne .cs) folgt eine Liste von Fehlern mit Zeilennummern (zum Beispiel error CS0246). Denselben Grund zeigt oxide.plugins bei einem nicht geladenen Plugin. Unter Carbon beginnt ein ähnlicher Fehler mit Failed compiling 'Kits.cs':. Die häufigsten Ursachen:
- Das Plugin ist für die aktuelle Version von Rust oder des Frameworks veraltet. Laden Sie die neueste Version des Plugins herunter oder warten Sie, bis der Autor nach dem Rust-Update eine veröffentlicht.
- Die Datei wurde beschädigt heruntergeladen (zum Beispiel eine Webseite statt Code). Öffnen Sie sie in einem Editor: Sie muss C#-Code enthalten (Zeilen wie
using …undnamespace Oxide.Plugins), kein HTML. Laden Sie sie erneut herunter.
In der Konsole steht … plugin requires missing dependency: …#
Das Plugin braucht ein anderes Plugin, das nicht auf dem Server ist. Den Namen des fehlenden Plugins finden Sie am Ende der Meldung. Installieren Sie es, dann lädt das Plugin von selbst (oder laden Sie es mit oxide.load). Unter Carbon lautet die Meldung Couldn't find required plugin '…' for '…', retrying...
Das Plugin ist gar nicht erschienen, die Konsole schweigt#
- Die Datei liegt in einem Unterordner (zum Beispiel
oxide/). Sie muss direkt im Ordnerplugins/ Kits/ Kits. cs pluginsliegen. - Die Datei hat eine andere Endung:
.cs.txt,.zipoder.dll. Entpacken Sie Archive zuerst auf Ihrem Computer und laden Sie nur die.cshoch. - Das Framework läuft nicht. Prüfen Sie
oxide.version(Carbon:c.version), siehe Oxide und Carbon.
Änderungen an der Konfiguration sind nach einem Neustart verschwunden#
Das Plugin hat die Datei überschrieben. Entweder haben Sie sie bei laufendem Plugin bearbeitet und das Plugin hat beim Entladen seine eigene Version gespeichert, oder das JSON war ungültig und das Plugin hat Standardeinstellungen angelegt. Halten Sie sich an das sichere Vorgehen (entladen, bearbeiten, laden) und prüfen Sie die Datei vorher mit einem Validator.
Das Plugin meldet einen Fehler beim Lesen der Konfiguration#
Der Fehler enthält meist JsonReaderException oder JsonSerializationException und eine Position wie line 12, position 5. In dieser Zeile steckt ein JSON-Fehler, meist ein fehlendes oder überzähliges Komma oder Anführungszeichen. Beheben Sie ihn oder stellen Sie Ihre Sicherung wieder her.
Ein Befehl des Plugins funktioniert bei Spielern nicht#
Die Spieler haben die Berechtigung nicht. Bei den meisten Plugins müssen Sie Berechtigungen an die Gruppe default oder eine bestimmte Gruppe vergeben. Siehe Berechtigungen auf einem Rust-Server.
Zusammenfassung
- Ein Plugin = eine
.cs-Datei. Laden Sie sie ohne Umbenennen nachoxide/pluginsodercarbon/pluginshoch, und sie lädt von selbst. - Die Konfiguration liegt in
oxide/config(Carbon:carbon/configs) im JSON-Format. Entladen Sie das Plugin vor dem Bearbeiten und laden Sie es danach wieder. - Die Texte von Plugins übersetzen Sie durch Bearbeiten der Dateien in
lang. - Abhängigkeiten installieren Sie als weitere Plugins;
.dll-Erweiterungen brauchen einen Neustart. - Installieren Sie Plugins nur aus vertrauenswürdigen Quellen, nie geleakte kostenpflichtige Plugins.
Weiterführende Links#
- Oxide: Plugins installieren (öffnet sich in einem neuen Fenster)
- Oxide: Plugins konfigurieren (öffnet sich in einem neuen Fenster)
- Oxide: Lokalisierung (öffnet sich in einem neuen Fenster)
- Carbon: Dokumentation für Serverbetreiber (öffnet sich in einem neuen Fenster)
- Rust-Plugins auf umod.org (öffnet sich in einem neuen Fenster)