Skip to content

VorlageDokuKonfiguration

Steffen Schuemann edited this page Oct 12, 2019 · 2 revisions

Konfiguration

Allgemeines

Vorlage verwendet zum Ablegen von Konfigurationsdaten eine Textdatei in der die Daten in Kapiteln gegliedert abgelegt sind. Der Aufbau dieser Dateien ist Zeilenorientiert, d.h. eine Zeile kann nicht umgebrochen werden.

Zeilen die mit einem Semikolon beginnen sind Kommentarzeilen und werden ebenso wie Leerzeilen ignoriert und können zur Strukturierung und Dokumentation der Konfigurationsdatei verwendet werden.

Kapitel zeichnen sich durch einen Kapitelnamen in eckigen Klammern aus. Der Name muss dabei ohne weitere Kommentare oder Leerzeichen solo in einer Zeile stehen.

Je nach Art des Kapitels können danach eine oder mehrere Zeilen mit Nutzdaten folgen.

Kapiteltypen

Um den Ansprüchen verschiedener Konfigurationsdaten gerecht zu werden können die Daten in den Kapiteln auf unterschiedliche Weise strukturiert werden. Dabei werden im Allgemeinen folgende Typen unterschieden:

Zuweisungskapitel ist ein Kapitel das zur Zeit nur für das Kapitel [Options] Verwendung findet. Hier wird dann in jeder Zeile ein Konfigurationswert gesetzt. So wird zum Beispiel mit


Passwort = "Foobar"

ein Default-Passowort für Computer-Reporte ohne Passwort festgelegt (z.B. Eressea). Folgende Einträge sind zur Zeit möglich:

Passwort
Default-Passwort für Reports ohne gesetztes Passwort. (Der Wert muss in Anführungszeichen angegeben werden)
EBase
Zahlenbasis für Einheitennummern (wird i.d.R. automatisch ermittelt)
BBase
Zahlenbasis für Gebäudenummern sowie Schiffsnummern (normalerweise ebenfalls automatisch)
PBase
Zahlenbasis für Parteinummern (s.o.)

TABH ist eine Objekt-Tabelle die auf eine horizontale Anordnung der Objekte spezialisiert ist. Jede Spalte enthält dabei ein bestimmtes Attribut und jede Zeile ein Objekt. In der Standard-Konfiguration ist [Terrains] ein Beispiel für diese Art von Tabellen. Die Namen der Attribute werden dabei nicht aus der Datei gelesen, sondern intern vergeben, bzw. beim Einlesen mittels #config als Parameter übergeben. Die erste Spalte dient als Index bzw. Schlüssel für die Tabelle.

TABV ist eine Objekt-Tabelle, bei der jede Spalte ein Objekt darstellt und die Zeilen die Attribute enthalten. Hierbei sind die Objektschlüssel die Einträge in der ersten Zeile, d.h. das erste Attribut eines Objektes ist sein Schlüssel und auch als Attribut NAME zu erreichen. Die erste Spalte enthält die Namen der Attribute, so dass hier alle Information in der Tabelle untergebracht sind.

NESTED ist eine Objekt-Tabelle die komplexere Objekte abbildet, indem sie eine Schachtelung in einer Ebene ermöglicht. Jede Zeile enthält ein Objekt, Spalten gibt es in dem Sinne keine. Der Aufbau einer Objektzeile ist dabei:


Schlüssel|  numer. Attribute  | 1. Subobjekt mit Attributen    | etc.
---------+--------------------+--------------------------------+-----
"<Key>",  [<num>, "Name", ...] ["SubObj", <num>, "Name", [...]] [...]

Spielspezifische Konfiguration

Vorlage liest bei der Ausführung spielspezifische Daten aus Konfigurationsdateien deren Name sich nach dem Spiel richtet. Der Name wird i.d.R. aus dem Computer-Report ermittelt. Die Konventionen haben sich dabei inzwischen etwas geändert:

  **Vorlage bis V1.6rc4**   **Win** **Unix** Eressea `eressea.cfg` `.eressearc` Sitanleta `gav62mod.cfg` `.gav62modrc` Vinyambar I `vinyambar i.cfg` `.vinyambar irc` Vinyambar II `vinyambar ii.cfg` `.vinyambar iirc`
  **Vorlage ab V1.6rc5**   **Win default** **Win user** Eressea `eressea.cfg` `eressea-user.cfg` Sitanleta `gav62mod.cfg` `gav62mod-user.cfg` Vinyambar I `vinyambari.cfg` `vinyambari-user.cfg` Vinyambar II `vinyambarii.cfg` `vinyambarii-user.cfg`   **Unix default** **Unix user** Eressea `.eressearc` `.eressea-user-rc` Sitanleta `.gav62modarc` `.gav62mod-user-rc` Vinyambar I `.vinyambarirc` `.vinyambari-user-rc` Vinyambar II `.vinyambariirc` `.vinyambarii-user-rc`

Dabei wird ab V16.rc5 immer erst geschaut, ob es das entsprechende Kapitel in der User-Datei gibt, und wenn das nicht der Fall ist, oder es diese User-Datei nicht gibt, wird die Default-Datei verwendet. Auf diese Weise kann man dann Änderungen in der User-Datei machen und sie werden nicht durch neue Versionen der Default-Dateien überschrieben und diese müssen nicht immer wieder auf die eigenen Bedürfnisse angepasst werden.

Clone this wiki locally