Repository navigation
Mod Format DE
🇬🇧 English · 🇩🇪 Deutsch
Diese Seite beschreibt die mod.json, die WolfSDK Loader und WolfSDK Studio 0.2.0 lesen, Feld für Feld, so wie modloader/wolfsdk/mod.py sie prüft. Die Beispiele sind echte Dateien aus den Mods der 0.2.0-Pakete. Wer eine Mod ohne JSON bauen will, nimmt das WolfSDK Studio. Welche Decls und Pfade es gibt: Modding Guide (Englisch).
Keywords: Mod-Format, mod.json, Manifest, Dateiformat einer Mod, Mod von Hand schreiben, mod format, write a mod by hand
- Leg im Ordner
modsnebenWolfSDK.cmdeinen Ordner an, z. B.mods\meine_mod(Open folder auf der Seite Mods öffnet ihn). - Leg eine
mod.jsonhinein (Felder unten). Dateien, auf die sie zeigt, kommen in denselben Ordner, z. B.mods\meine_mod\decls\x.decl. - Auf der Seite Mods auf Reload klicken, die Mod anhaken, dann Check (oder Check mod set auf der Seite Overview).
- Apply mods, Start game.
Ein Gerüst über die Kommandozeile, im entpackten Ordner:
python\python.exe -m wolfsdk new-mod meine.mod --name "Meine Mod"
Das schreibt mods\meine_mod\mod.json mit einem Beispiel-set. Der Loader liest jeden Ordner in mods mit einer mod.json; eine kaputte wird mit ! unter Checks & messages aufgeführt.
Keywords: wie schreibe ich eine Mod, Mod schreiben, Mod erstellen, neue Mod, eigene Mod, Mod-Ordner, new-mod, write a mod
| Feld | Pflicht | Standard | Bedeutung |
|---|---|---|---|
id |
ja | – | eindeutige ID, z. B. example.big_magazine
|
name |
ja | – | Name auf der Seite Mods |
version |
nein | "0.0.0" |
auf der Seite Mods angezeigt |
author |
nein | "" |
wer sie gemacht hat |
description |
nein | "" |
was sie tut und was getestet ist |
priority |
nein | 100 |
ganze Zahl; niedrig zuerst, höher gewinnt |
spiel |
nein | "tno" |
das Spiel: "tno" oder "tnc"
|
assets |
nein | {} |
Änderungen, Schlüssel typ:name, mit set/file
|
cvars |
nein | {} |
Cvars, die beim Spielstart gesendet werden |
Andere Schlüssel werden ignoriert. Das Studio schreibt "studio": {"version": 1} in die Mods, die es erstellt.
Keywords: Felder der mod.json, alle Felder, Schlüssel, Aufbau, Referenz, mod.json fields, keys
id und name sind die einzigen Pflichtfelder; beide müssen nicht-leerer Text sein.
-
idkennzeichnet die Mod. Der Loader merkt sich angehakte Mods über ihreid, also halte sie zwischen Versionen stabil. Zwei Mods mit derselbenid: Die zweite wird mit „Duplicate mod id“ übersprungen. Die mitgelieferten Mods nutzen IDs mit Punkt wieexample.big_magazine,wolfsdk.tnc_photo_modeoderstudio.sandbox_tools. -
nameist das, was die Seite Mods anzeigt.
version, author und description sind optionaler Text. Die Seite Mods zeigt Name, Version, Priorität und die Zahl der Assets.
Keywords: id, name, Mod-ID, Mod-Name, Pflichtfelder, Duplicate mod id, version, author, description, required fields
spiel ist "tno" (The New Order) oder "tnc" (The New Colossus). Ohne das Feld ist eine Mod eine The New Order-Mod. Jeder andere Wert ist ein Fehler („'spiel' must be 'tno' or 'tnc'“).
Die beiden Spiele teilen weder Asset-Namen noch Archivformat. Der Loader zeigt und wendet nur die Mods des Spiels an, das oben rechts gewählt ist.
Achtung: Die Apps lesen spiel, nicht game. Eine mod.json mit nur "game": "tnc" gilt als The New Order-Mod und erscheint bei The New Colossus nicht. Die SDK-Pakete nutzen game (siehe Vergleich unten).
Keywords: spiel, game, tno, tnc, welches Spiel, New Order, New Colossus, Mod erscheint nicht, Mod wird nicht angezeigt, which game
priority ist eine ganze Zahl, Standard 100. Mods werden nach priority, dann id angewendet, die niedrigste zuerst. Jede Mod arbeitet auf dem Ergebnis der vorherigen.
- Zwei Mods ändern verschiedene Werte derselben Decl: Beide wirken.
- Zwei Mods setzen mit
setdenselben Wert: Die höhereprioritygewinnt, ein Konflikt wird gemeldet. - Zwei Mods ersetzen dasselbe Asset mit
file: Die höhereprioritygewinnt, als Konflikt gemeldet. - Zwei Mods schreiben dieselbe Textur (Asset
imageodertexdb): abgelehnt, bevor etwas geschrieben wird („They can't be used together - please tick only one of them“).
Konflikte blockieren das Anwenden nicht; sie stehen unter Checks & messages.
Keywords: priority, Priorität, Reihenfolge, Ladereihenfolge, Konflikt, zwei Mods, überschreiben, höchste gewinnt, load order, conflict
assets ist ein Objekt. Jeder Schlüssel benennt ein Asset als typ:name, getrennt am ersten Doppelpunkt, z. B. weapon:weapon/handgun_base, material:models/weapons/handgun/handgun_hg oder cfile:snapdemo.cfg. Jeder Wert ist ein Objekt mit set, file oder beidem.
Regeln, die der Loader prüft:
- Ein Schlüssel ohne Doppelpunkt ist ein Fehler („asset key must look like 'type:name'“).
- Ein Eintrag ohne
setund ohnefileist ein Fehler. - Das Asset muss im gewählten Spiel existieren („asset does not exist in the game“).
- Retail-Namen sind klein geschrieben. Schreib ein Asset überall gleich; zwei Schreibweisen werden abgelehnt („the same asset is spelled differently“).
"assets": {} ist erlaubt, für eine Mod, die nur Cvars setzt.
Keywords: assets, Asset-Schlüssel, typ:name, Asset-Name, Asset-ID, asset key
set ordnet Pfaden mit Punkten in einer Decl neue Werte zu. Nur diese Werte ändern sich; Kommentare, Einrückung und alles andere bleiben.
"damage:damage/tungsten/mg60": {
"set": {
"edit.damageParms.minDamage": 22.0,
"edit.damageParms.maxDamage": 30.0
}
}- Ein Pfad muss in der Decl schon existieren, sonst „unknown path(s)“.
setkann keine neuen Felder anlegen; dafürfilenehmen. -
true/falsewerden alstrue/falsegeschrieben. Zahlen werden so geschrieben, wie sie angegeben sind:30.0bleibt30.0,30bleibt30. - Text bekommt Anführungszeichen, wenn der Originalwert welche hatte. Blockwerte wie
virtualmappingbrauchen ihre Klammern:"{ 0.015625, 0.015625, 0.000000, 0.062500 }". - Eine als Text angegebene Zahl (
"0.00") wird genau so geschrieben.
Keywords: set, Pfad, Wert ändern, Decl-Pfad, Zahlenformat, edit value
file ist ein Pfad relativ zum Mod-Ordner. Seine Bytes ersetzen das Asset vollständig. Aus der mitgelieferten Mod cheats_gamemode:
"gamemodesp:gamemode/campaign": { "file": "assets/gamemodesp__gamemode_campaign.decl" }- Der Pfad muss im Mod-Ordner bleiben („points outside the mod folder“), und die Datei muss existieren („file is missing“).
- Mit
setundfileauf einem Asset kommt zuerstfile, dannsetdarauf. - Die Bytes werden geschrieben, wie sie sind. The New Colossus-
cfile-Einträge (verschlüsselte Configs wiesnapdemo.cfg) müssen für ihren Namen verschlüsselt sein: Lass sie von der Text-Ersetzung des Studios speichern. Reiner Text funktioniert dort nicht. - Lieber
set: Einefile-Mod kollidiert mit jeder anderen Mod auf diesem Asset.
Keywords: file, Datei ersetzen, ganze Datei, Asset ersetzen, cfile, verschlüsselt, replace asset
cvars ordnet Cvar-Namen je einen Wert zu (Text, Zahl oder true/false; Listen und Objekte werden abgelehnt). Sie werden bei jedem Spielstart mit Start game oder Spielen.cmd gesendet und gewinnen gegen dieselbe Cvar auf Cheats & QoL.
-
The New Order: Startargumente; Cheat-Cvars zusätzlich als
+toggle, damit der Cheat-Reset beim Start sie nicht löscht. -
The New Colossus: Cvars, die die Retail-Konsole annimmt, gehen als Startargumente, der Rest in die
default.cfgdes Spiels; Revert entfernt sie. Namen, die keine The New Colossus-Cvars sind, werden übersprungen. Ersetzt eine andere angehakte Modcfile:default.cfg, bleiben diese Cvars weg, mit Meldung.
Schreib Werte als Text ("1"): Der Loader macht aus jedem Wert Text, und aus true würde True.
Keywords: cvars, Cvar, Konsolenvariablen, Einstellungen, Startparameter, default.cfg, +toggle, settings
Die mitgelieferte Mod example_big_magazine für The New Order, vollständig:
{
"id": "example.big_magazine",
"name": "Big Pistol Magazine (Example)",
"version": "1.0.0",
"author": "wolfsdk",
"description": "Raises the pistol magazine from 20 to 66. ...",
"priority": 100,
"assets": {
"weapon:weapon/handgun_base": {
"set": { "edit.validAmmoClips.item[0].clipSize": 66 }
}
}
}Kein spiel, also eine The New Order-Mod. Ein set auf einen Pfad; der Rest der Waffen-Decl bleibt unberührt.
Keywords: Beispiel, mod.json Beispiel, Vorlage, Beispiel-Mod, kleinste Mod, großes Magazin, clipSize, example, template
Aus der mitgelieferten Mod tnc_erste (2 ihrer 7 Assets gezeigt):
{
"id": "wolfsdk.tnc_erste",
"name": "Invulnerable (TNC)",
"version": "1.0.0",
"priority": 100,
"spiel": "tnc",
"assets": {
"table:playerdamage/normal": { "set": { "min": "0.0", "max": "0.0" } },
"table:playerdamage/hard": { "set": { "min": "0.00", "max": "0.00" } }
}
}"spiel": "tnc" macht sie zu einer The New Colossus-Mod. Die Werte sind Text, damit jeder genau die Länge des Originalwerts behält.
Keywords: Beispiel, The New Colossus Mod, TNC-Mod, spiel tnc, unverwundbar, playerdamage, table, example, TNC mod
Die mitgelieferte Mod tnc_hidden_options ändert gar kein Asset (Beschreibung gekürzt):
{
"id": "wolfsdk.tnc_hidden_options",
"name": "Hidden Menu Options",
"version": "1.0.0",
"author": "wolfsdk",
"description": "Turns on menu options the retail game hides: ...",
"priority": 100,
"spiel": "tnc",
"cvars": {
"menu_showOptionForDevMenu": "1",
"menu_showOptionForSASMenu": "1",
"menu_allowMeinLeben": "1",
"g_setting_photomode": "1"
},
"assets": {}
}Die Konsole lehnt diese Entwickler-Cvars ab, also schreibt der Loader sie in default.cfg. Im Spiel noch nicht bestätigt.
Keywords: Beispiel, nur Cvars, Cvar-Mod, Menüoptionen, Hidden Menu Options, default.cfg, example, cvars only
Die mitgelieferte Mod tnc_photo_mode (Beschreibung gekürzt):
{
"id": "wolfsdk.tnc_photo_mode",
"name": "Photo Mode",
"version": "1.0.0",
"author": "wolfsdk",
"description": "One key freezes the game for screenshots: ...",
"priority": 100,
"spiel": "tnc",
"assets": {
"cfile:default_snap.cfg": { "file": "assets/default_snap_cfg.bin" }
}
}assets/default_snap_cfg.bin ist die verschlüsselte Form der unbenutzten SnapMap-Config default_snap.cfg. Im Spiel: bind F8 "resourceExec default_snap.cfg -s". Im Spiel noch nicht bestätigt.
Keywords: Beispiel, Datei ersetzen, cfile, Photo Mode, Fotomodus, resourceExec, bin-Datei, example, file replacement
Mit der Kommandozeile im entpackten Ordner (für The New Colossus --title tnc dazu):
python\python.exe -m wolfsdk --title tnc list --type weapon --grep pistol
python\python.exe -m wolfsdk --title tnc cat weapon:<name>
python\python.exe -m wolfsdk --title tnc paths weapon:<name>
list zeigt Asset-Namen, cat gibt ein Asset aus, paths listet die Pfade, die set ändern kann, mit ihren aktuellen Werten. types listet die Asset-Typen. Im WolfSDK Studio kannst du Texturen und Texte durchsuchen und direkt ersetzen. Pfade für Waffen, Skins und Gegner mit Beispielen: Modding Guide (Englisch).
Keywords: Asset finden, Asset-Namen, Pfade finden, list, cat, paths, types, Kommandozeile, CLI, Decl-Pfade, find asset, command line
- Im Loader: Check auf der Seite Mods oder Check mod set auf der Seite Overview.
- Auf der Kommandozeile:
python\python.exe -m wolfsdk check
Die Prüfung baut jede Änderung im Speicher und prüft Asset-Namen, Decl-Pfade, Konflikte und die geplanten Schreibvorgänge. Sie schreibt nichts. Ergebnisse und Fehler erscheinen unter Checks & messages.
Anwenden beginnt jedes Mal bei den Originaldateien und schreibt den ganzen angehakten Satz, deshalb lässt ein fehlgeschlagenes Anwenden das Spiel im Original: Schlägt es fehl, werden die vorher angewendeten Mods zurückgesetzt, und der Loader sagt das.
Keywords: Mod prüfen, mod.json prüfen, testen, Probelauf, Check, Check mod set, wolfsdk check, check mod, validate mod.json, dry run
Diese erscheinen nach Reload mit ! unter Checks & messages; die Mod wird nicht aufgeführt:
-
invalid JSON (...): Ein Komma, Anführungszeichen oder eine Klammer stimmt nicht. -
field 'id' is missing/field 'name' is missingodermust be a non-empty string. -
'spiel' must be 'tno' or 'tnc'. -
'priority' must be a whole number. -
'assets' must be an object,asset key must look like 'type:name',... has neither 'file' nor 'set',... .set must be an object. -
... .file points outside the mod folder. -
'cvars' must be an object,cvar '...' needs a single value (text, number or true/false). -
Duplicate mod id.
Keywords: Fehler in mod.json, Fehlermeldung, invalid JSON, Feld fehlt, kaputte Mod, Mod lädt nicht, mod.json error, error message
Diese kommen von Check, Check mod set oder Apply mods:
-
asset does not exist in the game (...): falscher Name, oder die Mod ist für das andere Spiel (spiel). -
unknown path(s): ...: Derset-Pfad steht nicht in dieser Decl. Vielleicht steht er in der Eltern-Decl (inherit);pathszeigt, was existiert. -
file is missing: ...: Diefile-Datei liegt nicht im Mod-Ordner. -
... change the same textures ... please tick only one of them: zwei Textur-Mods für dasselbe Asset. -
the same asset is spelled differently: Schreib den Asset-Schlüssel in jeder Mod gleich. -
Not enough disk space: Platz auf dem Laufwerk des Spiels freimachen und erneut anwenden.
Keywords: Fehler beim Anwenden, Fehler beim Prüfen, asset does not exist, unknown path, file is missing, gleiche Texturen, Speicherplatz, apply error
Die SDK-Pakete (pip, npm, cargo, go) nutzen eine andere mod.json, festgelegt in spec/mod.schema.json im Repository:
| Apps (Loader, Studio) | SDK-Schema | |
|---|---|---|
| Spiel | nur spiel
|
game; spiel als alter Alias |
id |
Pflicht | nicht im Schema |
name |
Pflicht | optional (Ordnername) |
Standard-priority
|
100 |
0 |
| gleiche Priorität | nach id sortiert |
Eingabereihenfolge |
| Asset-Einträge auf oberster Ebene | ignoriert | angenommen, wenn assets fehlt |
cvars, author
|
gelesen | nicht im Schema |
Schlüssel außer set/file in einem Asset |
ignoriert | nicht erlaubt |
Beide wenden zuerst file an, dann set darauf. Das SDK und seine eigene Kommandozeile wolfsdk -g: Modding Guide, Teil für Programmierer (Englisch).
Keywords: SDK-Schema, mod.schema.json, game oder spiel, Unterschied, SDK mod.json, Kompatibilität, SDK schema
Schreib sie so, dass beide sie gleich lesen:
-
idundname(die Apps brauchen beide; das SDK nimmt zusätzliche Schlüssel an). -
spielfür das Spiel; das SDK liest es als alten Namen vongame. Schreibst du auchgame, gib ihm denselben Wert. -
priorityausschreiben, weil die Standardwerte verschieden sind (100gegen0). - Alles unter
assets, jeder Eintrag nur mitsetund/oderfile. -
cvarswirken nur in den Apps.
Keywords: kompatible mod.json, beide Formate, SDK und Loader, portable Mod, game und spiel, kompatibel, compatible mod.json
- Mods anwenden und zurücksetzen mit Backups: Im Spiel bestätigt.
-
setauf einer The New Colossus-Decl: Im Spiel bestätigt (das 30-Schuss-Magazin der Explosive Pistol). -
fileauf einer The New Colossus-cfile: Im Spiel bestätigt (Sandbox Tools: Gottmodus und unendlich Munition). -
cvarsin The New Colossus überdefault.cfgund in The New Order über Startargumente und+toggle: Im Spiel noch nicht bestätigt. - The New Order: Gepatchte Archive laden ohne Fehler (gemessen, Modding Limits §4); was die meisten einzelnen Wertänderungen im Spiel bewirken, ist Im Spiel noch nicht bestätigt.
Keywords: im Spiel bestätigt, getestet, Status, funktioniert set, funktioniert file, funktionieren cvars, confirmed in game, tested
English Wiki generated from the measured research notes in docs/. Evidence grades and uncertainty are preserved intentionally.
- WolfSDK Loader · DE
- WolfSDK Studio · DE
- FAQ · DE
- Mod format · DE
- Modding Guide
- Modding Surface
- CVar Catalog
- CVar Validation (old scrape)
- Texture Database
- Developer Mode
- Dev Menu
- Custom-Map Status