Plugins und Mods erweitern viele Spiele, brechen aber gern nach einem Spiel-Update oder wenn eine Datei fehlt. Die Abschnitte unten behandeln typische Meldungen aus CS2 mit CounterStrikeSharp, Valheim mit BepInEx, Conan Exiles, SCP: Secret Laboratory, Project Zomboid und The Forest sowie allgemeine Fehler von .NET-Plugins. Jeder Abschnitt zeigt eine Meldung, erklärt sie und nennt die nächsten Schritte.
Die vollständige Meldung findest du in der Konsole und in den Logdateien des Spiels unter Dateien. Viele Fehler bestehen aus mehreren Zeilen. Der Stacktrace darunter, die Liste der aufgerufenen Programmteile, nennt oft das betroffene Plugin; eine Exception ist ein Programmfehler, den .NET oder Unity meldet. Bevor du Plugins, Mods oder Konfigurationsdateien austauschst, lege unter Sicherungen eine Sicherung an.
CS2-Skins-Plugin findet weapons.json nicht
So sieht die Meldung aus:
System.InvalidOperationException: Missing required weapons definition file: <Plugin-Ordner>/weapons.json
Was dahintersteckt: Skins-Plugins für CS2 brauchen eine Liste aller Waffen und ihrer Kennungen. Sie steht in der Pflichtdatei weapons.json im Datenordner des Plugins. Fehlt diese Datei, kann das Plugin nicht initialisieren, also gar nicht erst starten: Die Skin-Funktion fällt komplett aus. Das passiert zum Beispiel, wenn beim Hochladen nur die Programmdatei des Plugins übertragen wurde und nicht das ganze Paket.
So behebst du es:
- Lies den Pfad in der Meldung. Er zeigt, in welchem Ordner das Plugin die Datei erwartet.
- Lade das Plugin in derselben Version erneut herunter und installiere es vollständig neu, mit allen Ordnern aus dem Paket.
- Alternativ kopierst du
weapons.jsonaus dem Paket derselben Plugin-Version unter Dateien in den genannten Ordner. Nimm keine Datei aus einer anderen Version. - Starte den Server neu und prüfe in der Konsole, ob das Plugin ohne Fehler lädt.
Gut zu wissen: Ausführlich zu CS2-Plugins: CS2-Plugins: MetaMod, CounterStrikeSharp und MatchZy.
WeaponPaints: gamedata.json passt nicht zum CS2-Update
So sieht die Meldung aus:
Method CAttributeList_SetOrAddAttributeValueByName not found in gamedata.json
Was dahintersteckt: WeaponPaints findet bestimmte Funktionen im CS2-Programm über Signaturen, also Erkennungsmerkmale, die in der Datei gamedata.json stehen. Nach einem CS2-Update stimmt eine dieser Signaturen nicht mehr, und das Plugin findet die Funktion nicht. Dann kann es nicht starten. Das liegt nicht an deinen Einstellungen, sondern daran, dass Spiel und Plugin nicht mehr zusammenpassen.
So behebst du es:
- Prüfe, ob CS2 kürzlich ein Update bekommen hat. Das ist der übliche Auslöser.
- Aktualisiere CounterStrikeSharp und WeaponPaints gemeinsam auf die neueste Version und übernimm dabei die aktuelle
gamedata.jsonvon WeaponPaints. - Gibt es noch keine angepasste Version, nimm WeaponPaints vorübergehend heraus, bis der Autor nachgezogen hat.
- Starte den Server neu und prüfe, ob die Meldung verschwunden ist.
Gut zu wissen: Nach großen CS2-Updates dauert es manchmal eine Weile, bis Plugin-Autoren angepasste Versionen veröffentlichen. Mehr zu Spiel-Updates: CS2-Server updaten: Build-Drift erkennen und sicher neu starten.
Conan Exiles: Spieler wegen abweichender Mod-Liste abgewiesen
So sieht die Meldung aus:
[<Datum>-<Uhrzeit>][<Nr>]LogNet: PreLogin failure: <Mod A> (<Workshop-ID>), <Mod B> (<Workshop-ID>), <Mod C> (<Workshop-ID>).
Was dahintersteckt: Ein Spieler wollte beitreten und wurde abgewiesen, weil seine aktiven Mods nicht exakt zur Mod-Liste deines Servers passen. Wichtig: Die Mods in der Zeile sind die Soll-Liste des Servers, nicht die falschen Mods des Spielers. Welche Mods der Spieler wirklich aktiv hat, steht nicht im Log. Conan Exiles verlangt exakte Übereinstimmung, ein fehlender Mod blockt genauso wie ein zusätzlicher. Der Spieler sieht keinen Grund: Sein Spiel bleibt bei „Spielbeitritt wird versucht“ stehen. Das wirkt wie eine Zeitüberschreitung, ist aber eine sofortige Ablehnung.
So behebst du es:
- Vergleiche die Liste aus dem Log mit den Mods, die der Spieler im Conan-Launcher aktiviert hat. Die Zusammensetzung muss gleich sein, ohne Zusätze.
- Deaktiviert der Spieler jeden Mod, der nicht in der Liste steht, und aktiviert er die fehlenden, kann er sich wieder verbinden.
- Soll ein zusätzlicher Mod erlaubt sein, installiere ihn auf dem Server unter Mods und starte den Server neu.
- Nach jeder Änderung an den Server-Mods müssen alle Spieler ihre Mod-Liste angleichen.
CounterStrikeSharp: Fehler in einem Plugin-Ereignis („Error invoking callback“)
So sieht die Meldung aus:
<Uhrzeit> [EROR] (cssharp:…) Error invoking callback
Was dahintersteckt: CounterStrikeSharp ist eine Plugin-Plattform für CS2. Plugins hängen sich dort an Ereignisse wie „Spieler verbindet sich“ oder „Runde beginnt“; die Funktion, die dann aufgerufen wird, heißt Callback. In einem solchen Callback hat ein Plugin einen Fehler ausgelöst, eine sogenannte Exception. Der Server läuft weiter, aber die betroffene Plugin-Funktion hat nicht geklappt. Welches Plugin es war und warum, steht im Stacktrace darunter, der Liste der aufgerufenen Programmteile.
So behebst du es:
- Lies den vollständigen Stacktrace unter der Meldung. Der Name des Plugins steht dort meist als Teil der Klassennamen oder als Dateiname.
- Aktualisiere dieses Plugin und CounterStrikeSharp auf Versionen, die zueinander passen. Die Plugin-Seite nennt die unterstützte CounterStrikeSharp-Version.
- Starte den Server vollständig neu, nicht nur das Plugin.
- Tritt der Fehler danach weiter auf, entferne das Plugin und melde den Fehler seinem Autor.
CS2-SimpleAdmin: Datenbank passt nicht zur Plugin-Version
So sieht die Meldung aus:
A parameterless default constructor or one matching signature (…) is required for CS2_SimpleAdmin.<Klasse> materialization
Was dahintersteckt: CS2-SimpleAdmin speichert Bans, Mutes und den IP-Verlauf in einer MySQL-Datenbank. Die Meldung heißt, dass die Tabellenspalten nicht zu der Version passen, die das Plugin erwartet. Typisch ist das nach einem Plugin-Update, dessen Datenbank-Migration (die automatische Anpassung der Tabellen) nicht durchgelaufen ist, oder wenn eine Datenbank aus einer älteren Installation weiterverwendet wird. Die Admin-Funktionen des Plugins arbeiten dann nicht zuverlässig, der CS2-Server selbst läuft weiter.
So behebst du es:
- Sichere den Inhalt der Datenbank, bevor du etwas änderst, zum Beispiel per Export.
- Aktualisiere CS2-SimpleAdmin auf die neueste Version und starte den Server einmal neu, damit die Migration läuft.
- Bleibt die Meldung, vergleiche die Tabellen deiner Datenbank mit dem Schema, also dem Tabellenaufbau, der installierten Plugin-Version.
- Kannst du auf die alten Ban-Daten verzichten, lege unter Datenbanken eine frische Datenbank an, trage ihre Zugangsdaten in der Konfiguration des Plugins ein und starte neu.
WeaponPaints startet nicht („TypeInitializationException“)
So sieht die Meldung aus:
TypeInitializationException: The type initializer for 'WeaponPaints.WeaponPaints' threw an exception.
---> <innere Exception>: <Ursache>
Was dahintersteckt: Beim ersten Zugriff führt WeaponPaints eine statische Startroutine aus (Type Initializer). Diese ist gescheitert, deshalb startet das Plugin nicht. Die Meldung selbst ist nur die Hülle: Die eigentliche Ursache nennt die innere Exception direkt danach, zum Beispiel eine fehlerhafte Konfiguration, eine fehlende Datendatei oder eine Abhängigkeit, die nicht passt.
So behebst du es:
- Lies die erste innere Exception unter dieser Meldung, meist eingeleitet mit
--->. - Aktualisiere WeaponPaints und CounterStrikeSharp gemeinsam auf zueinander passende Versionen.
- Korrigiere danach nur, was die innere Exception konkret nennt: die Konfigurationsdatei, eine fehlende Datendatei wie
weapons.jsonoder die Verbindung zur Datenbank. Die Zugangsdaten deiner Datenbank findest du unter Datenbanken. - Starte den Server neu und prüfe die Konsole.
.NET-Plugin: Abhängigkeit fehlt („Could not load file or assembly“)
So sieht die Meldung aus:
System.IO.FileNotFoundException: Could not load file or assembly '<Name>, Version=<Version>, Culture=neutral, PublicKeyToken=<…>' or one of its dependencies. The system cannot find the file specified.
Was dahintersteckt: Viele Spiele laden Plugins über .NET, etwa CS2 mit CounterStrikeSharp, Valheim mit BepInEx oder SCP: Secret Laboratory. Eine Assembly ist eine .NET-Programmdatei, meist eine .dll. Die Meldung heißt: Ein Plugin braucht eine bestimmte Assembly, die nicht installiert ist, oder die Versionen seiner Abhängigkeiten passen nicht zusammen. Das betroffene Plugin startet dann nicht oder nur teilweise.
So behebst du es:
- Lies den Namen und die Version in den Anführungszeichen. Das ist die fehlende Abhängigkeit.
- Prüfe auf der Plugin-Seite, welche Abhängigkeiten in welcher Version nötig sind. Oft liegen sie als zusätzliche
.dll-Dateien im Download-Paket. - Installiere die Abhängigkeit in der geforderten Version unter Dateien in dem Ordner, den die Plugin-Seite angibt.
- Starte den Server neu und prüfe, ob die Meldung verschwunden ist.
.NET-Komponente scheitert beim Initialisieren
So sieht die Meldung aus:
System.TypeInitializationException: The type initializer for '<Klasse>' threw an exception
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
Was dahintersteckt: Eine .NET-Komponente, also ein Plugin, eine Mod oder ein Teil des Loaders, ist in ihrer Startroutine oder in einem Callback gescheitert. Ein Callback ist eine Funktion, die bei einem bestimmten Ereignis aufgerufen wird. Diese Meldungen sind nur Hüllen um den eigentlichen Fehler: Die unmittelbar folgende innere Exception enthält die Ursache. Die betroffene Komponente arbeitet danach nicht oder nur eingeschränkt.
So behebst du es:
- Stelle fest, welche Komponente betroffen ist. Der Name in den Anführungszeichen oder die Zeilen im Stacktrace nennen sie.
- Aktualisiere diese Komponente und den verwendeten Mod- oder Plugin-Loader, zum Beispiel BepInEx oder CounterStrikeSharp.
- Starte den Server neu und lies im Log die erste innere Exception, meist eingeleitet mit
--->. Bei Unity-Spielen steht die ursprüngliche Exception oft direkt über einer Zeile mitRethrow as. - Behebe, was diese innere Exception nennt, etwa eine fehlende Datei oder eine falsche Einstellung.
.NET-Plugin kann seine Klassen nicht laden
So sieht die Meldung aus:
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
System.Exception: Unable to find plugin in assembly
Was dahintersteckt: Der Plugin-Loader hat die Plugin-Datei geöffnet, konnte aber ihre Klassen nicht laden oder ihren Einstiegspunkt nicht finden, also die Stelle, an der er das Plugin startet. Entweder passt die Plugin-Datei nicht zur installierten Loader- oder Spielversion, oder im Plugin-Ordner liegt die falsche Datei, etwa eine reine Hilfsbibliothek statt des Plugins selbst. Das Plugin bleibt dann inaktiv.
So behebst du es:
- Aktualisiere Plugin und Loader gemeinsam, sodass beide zur aktuellen Spielversion passen.
- Prüfe unter Dateien, dass die richtige Plugin-Datei in dem Ordner liegt, den die Plugin-Seite angibt.
- Lösche ältere Kopien desselben Plugins, damit nur eine Version geladen wird.
- Starte den Server neu und prüfe die Konsole.
Valheim: Mod passt nicht zur Spielversion und bleibt wirkungslos
So sieht die Meldung aus:
Rethrow as TypeInitializationException: The type initializer for '<Mod-Klasse>' threw an exception.
Was dahintersteckt: BepInEx, der Mod-Loader für Valheim, hat die Mod geladen, doch sie ist beim Initialisieren sofort abgestürzt. Sie greift auf etwas im Spiel zu, das es in der laufenden Valheim-Version nicht oder nicht mehr gibt. Der Server startet trotzdem normal und ist voll bespielbar. Die Mod erscheint weiter als installiert, tut aber nichts, und im Spiel gibt es dazu keine Fehlermeldung. Häufigster Auslöser ist ein Valheim-Update: Der Server aktualisiert sich bei jedem Start selbst, die Mod bleibt auf ihrem Stand. Den Namen der Mod nennt die Zeile darüber.
So behebst du es:
- Merke dir den Mod-Namen aus der Zeile über der Meldung.
- Prüfe unter Mods, ob es eine neuere Version gibt, die zur aktuellen Valheim-Version passt. Wenn ja, installiere sie und starte den Server neu.
- Gibt es keine passende Version, deinstalliere die Mod vorerst. Sonst belegt sie nur Platz und erweckt den Eindruck, sie sei aktiv.
- Mods, die für deinen Server wichtig sind, aktivierst du erst wieder, wenn ihr Autor auf die neue Spielversion nachgezogen hat.
Ausführlich: Valheim 1.0: Server-Update, alte Welt und Mods sicher prüfen
Valheim-Mod sucht das entfernte Feld „ZRoutedRpc.Everybody“
So sieht die Meldung aus:
MissingFieldException: Field not found: .ZRoutedRpc.Everybody
Was dahintersteckt: ZRoutedRpc ist der Teil von Valheim, über den Server und Spieler Nachrichten austauschen. Eine BepInEx-Mod wurde für eine andere Valheim-Version gebaut und erwartet dort das Feld Everybody, das es in der installierten Version nicht gibt. Die Mod kann ihre Funktion an dieser Stelle nicht ausführen und arbeitet nicht oder nur teilweise.
So behebst du es:
- Suche im Stacktrace, der Liste der aufgerufenen Programmteile unter der Meldung, die erste Mod. Sie ist betroffen.
- Aktualisiere sie unter Mods auf eine Version für den aktuellen Valheim-Build, also die laufende Spielversion.
- Gibt es noch keine, deinstalliere die Mod vorerst und starte den Server neu.
- Läuft die Mod auch bei deinen Mitspielern, sollten alle dieselbe Version nutzen.
Ausführlich: Valheim 1.0: Server-Update, alte Welt und Mods sicher prüfen
SCP: Secret Laboratory: Plugin lässt sich nicht laden
So sieht die Meldung aus:
[LabApi] System.BadImageFormatException: <Details zur Plugin-Datei>
Was dahintersteckt: LabApi ist die Plugin-Schnittstelle von SCP: Secret Laboratory. Sie konnte eine Plugin-Datei nicht laden, weil deren Format nicht zur Server-Version passt. Typisch ist das nach einem Spiel-Update, wenn ein Plugin noch für die vorherige Version gebaut ist, oder wenn die Datei beim Hochladen beschädigt wurde. Das betroffene Plugin bleibt inaktiv, der Server startet ohne es.
So behebst du es:
- Prüfe, ob die Meldung den Namen der Plugin-Datei nennt.
- Lade das Plugin in einer Fassung für deine aktuelle SCP:SL-Version erneut hoch und starte den Server neu. Die Plugin-Seite nennt die unterstützten Versionen.
- Weißt du nicht, welches Plugin es ist, entferne unter Dateien die zuletzt hinzugefügte Datei aus dem Plugin-Ordner und starte erneut.
- Vergleiche nach dem Hochladen die Dateigröße mit dem Original. Weicht sie ab, war die Übertragung unvollständig.
Gut zu wissen: Grundlagen zum Server findest du unter SCP Secret Laboratory Server einrichten.
Project Zomboid: Map oder Mod nutzt eine unbekannte Kachel-Eigenschaft
So sieht die Meldung aus:
IsoPropertyTypeNotFoundException: Property Name not found: <Eigenschaft>
Was dahintersteckt: Karten in Project Zomboid bestehen aus Kacheln (Tiles). Jede Kachel hat Eigenschaften, die etwa festlegen, ob etwas ein Behälter, eine Tür oder ein Hindernis ist. Eine Map oder Mod nutzt hier eine Eigenschaft, die deine Project-Zomboid-Version nicht kennt. Betroffene Objekte können fehlen oder falsch funktionieren, der Server läuft meist weiter. Häufig ist die Map oder Mod für eine andere Spielversion gebaut, zum Beispiel nach dem Wechsel auf Build 42.
So behebst du es:
- Finde heraus, welche Map oder Mod betroffen ist. Ist die Meldung neu, ist die zuletzt installierte oder aktualisierte der erste Verdacht.
- Aktualisiere die Map oder Mod auf eine Version, die zu deiner installierten Project-Zomboid-Version passt.
- Begann es nach einem Mod-Update, stell die vorherige kompatible Version der Mod wieder her.
- Willst du eine Map-Mod ganz entfernen, lege vorher unter Sicherungen eine Sicherung an. Fehlt eine Karte, die dein Spielstand schon nutzt, kann das die Welt verändern.
Gut zu wissen: Zum Umstieg auf Build 42 gibt es Project Zomboid Build 42 auf dem eigenen Server.
The Forest: „Bolt is already running“ nach einem Neustart
So sieht die Meldung aus:
BoltException: Bolt is already running, you must call BoltLauncher.Shutdown() before starting a new instance of Bolt.
at BoltCore.BeginStart (…)
Was dahintersteckt: The Forest nutzt für den Mehrspielerbetrieb die Netzwerkbibliothek Bolt. Die Meldung heißt: Der Server wollte eine zweite Bolt-Instanz starten, obwohl die erste noch läuft. Das kann nach einem fehlerhaften Soft-Restart passieren, also einem Neustart innerhalb des laufenden Programms statt eines echten Neustarts des Prozesses. Die neue Sitzung kann so nicht sauber starten.
So behebst du es:
- Stoppe den Server im Panel und warte, bis er vollständig aus ist.
- Starte ihn danach wieder. Ein frischer Prozess startet Bolt nur einmal.
- Nutze zum Neustart keine Funktion im Spiel und kein Neuladen im laufenden Betrieb, sondern immer den Neustart über das Panel.
- Für regelmäßige Neustarts richtest du unter Aufgaben einen geplanten Neustart ein.
Gut zu wissen: Wie das geht, steht unter Automatische Neustarts für deinen Server planen.
The Forest kann die Netzwerkadapter nicht auslesen
So sieht die Meldung aus:
NetworkInformationException: File not found.
at CoopDedicatedServerStarter.getMachineIp ()
Was dahintersteckt: Beim Start versucht der dedizierte Server von The Forest, seine Netzwerkadapter und damit seine eigene IP-Adresse zu ermitteln. Die Betriebssystem-Schnittstelle, die er dafür abfragt, steht in der Serverumgebung nicht zur Verfügung. Ist der Server trotzdem erreichbar, hat die Meldung keine weitere Wirkung.
So behebst du es:
- Prüfe, ob der Server erreichbar ist: Taucht er in der Serverliste auf, und können Spieler beitreten?
- Wenn ja, kannst du die Meldung ignorieren.
- Wenn nicht, bring den Server auf den aktuellen Build, also die neueste Serverversion des Spiels, und starte ihn neu.
- Bleibt er unerreichbar, öffne ein Ticket und nenne die Uhrzeit der Meldung. Die Startumgebung des Servers kannst du nicht selbst ändern.
Gut zu wissen: Grundlagen zum Server findest du unter The Forest Server einrichten.
Mod meldet „CS0246: Typ oder Namensraum nicht gefunden“
So sieht die Meldung aus:
<Datei>.cs(<Zeile>,<Spalte>): error CS0246: The type or namespace name '<Typ>' could not be found
Was dahintersteckt: Der Compiler, der C#-Quelltext in ausführbare Programmteile übersetzt, findet einen benutzten Typ nicht. Der Name lässt sich weder im vorhandenen Quelltext noch über die eingebundenen Bibliotheken auflösen. Dadurch lässt sich die betroffene Mod nicht laden. Bei mitgelieferten oder angepassten Mod-Dateien müssen Quelltext und Bibliotheken zur Spielversion passen.
So behebst du es:
- Lies die vollständige Fehlermeldung in der Konsole. Sie nennt Datei, Zeile und den fehlenden Typ.
- Sichere eigene Änderungen unter Dateien, bevor du Mod-Dateien austauschst.
- Installiere eine zur Spielversion passende Fassung der betroffenen Mod samt benötigten Abhängigkeiten. Prüfe bei eigenem Quelltext die Schreibweise, den Namensraum und die Bibliotheksverweise.
- Starte den Server neu und prüfe, ob der Compiler weitere Fehler meldet.
Deine Meldung ist nicht dabei?
Lies die ganze Meldung in der Konsole oder in der Logdatei des Spiels, auch die Zeilen davor. Bei .NET- und Unity-Spielen steckt die eigentliche Ursache oft in der inneren Exception. Welches Plugin oder welche Mod beteiligt ist, verraten die Ordner- und Dateinamen im Stacktrace. Lege vor jedem Austausch unter Sicherungen eine Sicherung an. Abstürze und gescheiterte Updates behandelt Gameserver stürzt ab oder Steam-Update scheitert. Kommst du nicht weiter, öffne ein Ticket und nenne die Uhrzeit der Meldung.