Bei Soldat gibt es zwei völlig unterschiedliche Arten von Mods. Klassische Mods – also andere Gostek-Grafiken, Waffenbilder, Sounds und Menüs – sind reine Client-Sache: Sie liegen im Soldat-Ordner auf dem PC des Spielers und werden dort über einen Startparameter geladen. Auf Deinen Server gehören sie nicht.
Serverseitig erweiterst Du Dein Spiel über drei Wege:
- Eigene Karten, die der Server automatisch an die Spieler überträgt
- Server-Scripting (ScriptCore 3) für eigene Spielregeln und Verwaltungsfunktionen
- Mod-Pakete (
.smod) – diese Möglichkeit gibt es nur bei OpenSoldat
Eigene Karten hinzufügen
Karten sind der praktischste Weg, Deinen Server individuell zu gestalten. Sie liegen als .pms-Datei vor.
-
Karte herunterladen
Lade die gewünschte Karte herunter. Du benötigst die.pms-Datei. -
Server stoppen
Stoppe Deinen Server über die Verwaltung. -
Karte hochladen
Lade die.pms-Datei per SFTP in den Maps-Ordner Deines Servers hoch. Bei OpenSoldat ist das der Ordnermaps/. -
Karte in die Rotation eintragen
Öffne die Dateimapslist.txtim Hauptverzeichnis Deines Servers und trage die Karte ein – eine Karte pro Zeile:ctf_Ash ctf_Laos ctf_Run -
Server starten
Speichere die Datei und starte Deinen Server.
Karten im laufenden Betrieb verwalten
Als angemeldeter Admin kannst Du die Rotation auch im Spiel anpassen:
| Befehl | Beschreibung |
|---|---|
/addmap <Mapname> |
Karte zur laufenden Rotation hinzufügen |
/delmap <Mapname> |
Karte aus der Rotation entfernen |
/map <Mapname> |
Sofort auf eine bestimmte Karte wechseln |
/nextmap |
Zur nächsten Karte wechseln |
/restart |
Aktuelle Runde neu starten |
Karten automatisch an die Spieler übertragen
Damit Mitspieler Deine eigenen Karten nicht selbst installieren müssen, überträgt der Server sie beim Beitritt.
-
Server stoppen
Stoppe Deinen Server über die Verwaltung. -
Einstellung setzen
Klassischer Server – im Abschnitt[NETWORK]dersoldat.ini:Allow_Download=1OpenSoldat – in der
configs/server.cfg:set net_allowdownload 1 set fileserver_enable 1 -
Server starten
Speichere die Datei und starte Deinen Server.
Server-Scripting aktivieren
Das eigentliche Mod-System für Soldat-Server ist das serverseitige Scripting (ScriptCore 3). Damit lassen sich eigene Spielmodi, Statistiken, Automatisierungen und Verwaltungsbefehle umsetzen.
-
Server stoppen
Stoppe Deinen Server über die Verwaltung. -
Scripting einschalten
Klassischer Server – im Abschnitt[NETWORK]derserver.ini:Scripting=1OpenSoldat – in der
configs/server.cfg. Dort ist Scripting bereits ab Werk aktiv, der Eintrag dient nur zur Kontrolle:set sc_enable 1 -
Script hochladen
Lade Dein Script per SFTP in einen eigenen Unterordner hoch:scripts/<Scriptname>/ -
Konfigurationsdatei anlegen
Lege im Scriptordner die Dateisc3.cfgan:[Config] Name=MeinScript MainFile=main.pas Sandboxed=2 -
Server starten
Starte Deinen Server und prüfe in der Serverkonsole, ob das Script fehlerfrei kompiliert wurde.
Optionen der sc3.cfg
| Option | Bedeutung |
|---|---|
Name |
Pflichtfeld, maximal 20 Zeichen – erscheint in allen Konsolenausgaben zu diesem Script |
MainFile |
Einstiegsdatei des Scripts, standardmäßig main.pas |
Debug |
Zusätzliche Debug-Ausgaben aktivieren |
Sandboxed |
Dateizugriff des Scripts: 0 gesamtes Laufwerk, 1 Serverordner, 2 nur die eigenen Scriptdaten (Standard) |
AllowDlls |
Erlaubt dem Script das Einbinden externer Bibliotheken |
AllowIniEdit |
Erlaubt dem Script das Lesen und Schreiben von soldat.ini und server.ini – wirkt nur mit Sandboxed=1 |
Gamemod |
Meldet den Server in der Lobby als Gamemod-Server |
Legacy |
Kompatibilitätsmodus für ältere Scripts (ScriptCore 2) |
Zusätzlich kennt die Datei die Abschnitte [SearchPaths] und [Defines].
Mod-Pakete bei OpenSoldat
Nur OpenSoldat kann serverseitig ein Mod-Paket laden. Mods liegen dort als .smod-Datei vor.
-
Server stoppen
Stoppe Deinen Server über die Verwaltung. -
Mod hochladen
Lade die.smod-Datei per SFTP in den Ordnermods/hoch. -
Mod eintragen
Trage in derconfigs/server.cfgden Dateinamen ohne die Endung.smodein:set fs_mod MeinMod -
Server starten
Speichere die Datei und starte Deinen Server.
