So fügst du Mods zu deinem Soldat 2 Server hinzu
Soldat 2 hat keinen Workshop und kein Mod-Paketformat. Stattdessen liegt praktisch alles, was das Spiel ausmacht, als einzelne Datei im Serververzeichnis – Karten, Spielmodi, Modifier, Kartenrotationen und Skripte. Du lädst sie per SFTP hoch und bindest sie über die Konfiguration oder die Konsole ein.
Achtung
Ob eigene Karten, Modifier und Skripte automatisch an deine Mitspieler übertragen werden, ist nicht dokumentiert. Gib die Dateien, die du auf den Server lädst, deshalb sicherheitshalber auch direkt an deine Mitspieler weiter – so hat jeder denselben Stand.
Die Ordnerstruktur
Alle Ordner liegen im Hauptverzeichnis deines Servers:
| Ordner | Inhalt |
|---|---|
Levels/ | Karten als JSON-Dateien, jeweils in einem eigenen Unterordner |
Modifiers/Custom/ | Modifier – verändern Objekte, Waffenwerte und Spielparameter |
Rules/Custom/ | Spielmodi und Rundenregeln |
Scripts/Custom/ | Eigene C#-Skripte |
Cycles/Custom/ | Kartenrotationen |
Hinweis
Karten liegen bei Soldat 2 als .json-Datei vor – nicht als .pms wie beim ersten Soldat. Dateien aus dem Vorgänger funktionieren hier nicht.
Eigene Karten hinzufügen
Karte herunterladen
Lade die gewünschte Karte herunter. Eine große Sammlung findest du untertms2.jrgp.org.Server stoppen
Stoppe deinen Server über die Verwaltung.Karte hochladen
Lade die Karte per SFTP in einen Unterordner vonLevels/hoch – so, wie die Karte ausgeliefert wird:Levels/<Ordner>/<Kartenname>.jsonServer starten
Starte deinen Server.Karte laden
Öffne im Spiel die Konsole und lade die Karte mit einem Spielmodus – der Spielmodus heißt genauso wie die zugehörige Datei inRules/:rcon loadmap dm_epitaph Deathmatch
Achtung
Der Kartenname wird ohne Pfad und ohne die Endung .json angegeben. Die Schreibweise unterscheidet Groß- und Kleinschreibung – auf deinem Linux-Server ist das entscheidend. Welche Karten der Server kennt, zeigt dir rcon listmaps.
Modifier hinzufügen
Modifier sind der schnellste Weg, das Spielgeschehen zu verändern: Sie überschreiben Werte von Objekten, Waffen und Spielparametern.
Server stoppen
Stoppe deinen Server über die Verwaltung.Vorlage ansehen
Öffne per SFTP die DateiModifiers/_default.json. Sie enthält alle Standardwerte und dient als Nachschlagewerk – bearbeite sie nicht.Eigenen Modifier anlegen
Lege eine neue Datei an:Modifiers/Custom/MeinModifier.jsonWerte eintragen
Trage nur die Werte ein, die du ändern möchtest. Die Parameter stehen im Abschnitt"Objects". Alles, was du nicht angibst, bleibt auf dem Standardwert.Server starten
Speichere die Datei und starte deinen Server.Modifier aktivieren
Öffne die Konsole und aktiviere den Modifier über seinen Dateinamen ohne.json:rcon addmodifier MeinModifier rcon restart
Listen erweitern statt ersetzen
Bei Werten, die eine Liste enthalten, kannst du gezielt ergänzen oder entfernen, statt die ganze Liste neu zu schreiben: Ein vorangestelltes + fügt einen Eintrag hinzu, ein - entfernt ihn.
Achtung
rcon addmodifier wirkt erst nach einem rcon restart der Runde. Mit rcon removemodifier <Name> schaltest du einen Modifier wieder ab.
Eigene Spielmodi über Regeldateien
Spielmodi und Rundenregeln liegen als JSON-Datei unter Rules/Custom/. Darüber steuerst du zum Beispiel, wie lang eine Runde dauert und wie viele Punkte zum Sieg nötig sind:
| Schlüssel | Bedeutung |
|---|---|
Match.MatchSecs | Rundendauer in Sekunden |
Match.ScoreLimit | Punktelimit, ab dem die Runde endet |
GameScript | Name des C#-Skripts, das für diesen Spielmodus geladen wird |
Server stoppen
Stoppe deinen Server über die Verwaltung.Regeldatei anlegen
Kopiere dir eine vorhandene Datei ausRules/als Vorlage und lege sie unter neuem Namen ab:Rules/Custom/MeinModus.jsonWerte anpassen
Passe die gewünschten Werte an.Modus einbinden
Damit dein Modus gespielt wird, trägst du seinen Dateinamen ohne.jsonin deiner Kartenrotation unter"Rules"ein – siehe Kartenrotation einrichten.Server starten
Speichere die Datei und starte deinen Server.
Tipp
Einzelne Regelwerte kannst du auch im laufenden Betrieb testen, ohne den Server zu stoppen:
rcon set Match.MinimumPlayers 4Solche Änderungen gelten nur für die laufende Sitzung.
Eigene Skripte einbinden
Für eigene Spiellogik bringt Soldat 2 ein C#-Skriptsystem mit.
Server stoppen
Stoppe deinen Server über die Verwaltung.Skript hochladen
Lade deine.cs-Datei per SFTP hoch:Scripts/Custom/MeinSkript.csSkript einbinden
Trage das Skript über den SchlüsselGameScriptin einer Regeldatei unterRules/Custom/ein. Alternativ bindest du es über einen Modifier ein.Server starten
Starte deinen Server und prüfe in der Serverkonsole der Verwaltung, ob das Skript fehlerfrei kompiliert wurde.
Tipp
Änderst du ein Skript, musst du den Server nicht neu starten. Mit folgendem Befehl kompiliert der Server alle Skripte neu:
rcon reloadWichtig
Skripte laufen mit den Rechten deines Servers. Installiere nur Skripte aus Quellen, denen du vertraust.
Kartenrotation einrichten
Eine Kartenrotation legst du als Cycle-Datei an. Der Server arbeitet die darin aufgeführten Runden nacheinander ab.
Server stoppen
Stoppe deinen Server über die Verwaltung.Cycle-Datei anlegen
Kopiere dir eine vorhandene Datei ausCycles/als Vorlage und lege sie unter neuem Namen ab:Cycles/Custom/MeineRotation.jsonRunden eintragen
Jede Runde besteht aus einem Spielmodus ("Rules") und einer Karte ("Level") – beide ohne Dateiendung:[{ "Rules": "Deathmatch", "Level": "dm_epitaph" }]Rotation aktivieren
Trage in derautoconfig.inifolgende Werte ein:GamesCycleFile=Cycles/Custom/MeineRotation.json UseLobby=False AllowVoting=FalseServer starten
Speichere die Datei und starte deinen Server.
Achtung
Ohne UseLobby=False und AllowVoting=False übersteuern Lobby und Spielerabstimmung deine Rotation – der Server springt dann auf andere Karten, als in der Cycle-Datei stehen.
Tipp
Eine Rotation lässt sich auch im laufenden Betrieb laden:
rcon loadcycle Cycles/Custom/MeineRotation.jsonBefehle im laufenden Betrieb
| Befehl | Beschreibung |
|---|---|
rcon listmaps | Verfügbare Karten anzeigen |
rcon loadmap <mapname> <gamemode> | Karte mit einem Spielmodus laden |
rcon nextmap | Zur nächsten Karte wechseln |
rcon addmodifier <Name> | Modifier aktivieren |
rcon removemodifier <Name> | Modifier deaktivieren |
rcon restart | Runde neu starten – nötig, damit ein Modifier greift |
rcon loadcycle <Datei> | Kartenrotation laden |
rcon reload | Skripte neu kompilieren |
Änderungen an der autoconfig.ini
Wichtig
Die autoconfig.ini wird beim Stoppen des Servers komplett neu geschrieben. Änderungen, die du bei laufendem Server in die Datei schreibst, gehen dabei verloren. Bearbeite die Datei deshalb ausschließlich, wenn der Server gestoppt ist.
Achtung
Die Werte Name, Port, WebSocketsPort, WebSocketsRconPort, RconPassword, MaxPlayers, GreetMessage, AdminPlayfabId und ServerPassword werden bei jedem Serverstart aus der Verwaltung in die autoconfig.ini geschrieben. Diese Werte gehören deshalb in die Verwaltung und nicht in die Datei.
Tipp
Sichere deine Konfiguration und deine eigenen Inhalte, bevor du größere Änderungen vornimmst: Backup erstellen.