Content-Philosophie

  • Der Content ist die Gesamtheit aller Daten, die weder zu den ausführbaren Programmdateien noch zu den (eher temporären) Benutzereinstellungen gehören. Zur Unterscheidung und für das Rechtemanagement werden IDs vergeben.

    1 Prinzip

    1.1 Container

    LOTUS liest den Content aus Containern (*.lct-Dateien), die in einem von vier Unterordnern liegen können:

    • Base und BaseAddons: Content, der von LOTUS mitgebracht wird. Achtung: Diese Ordner werden von Steam verwaltet! Hier keine eigenen Dateien hineinlegen!
    • Addons: Hier können Addon-Container von anderen Leuten abgelegt werden.
    • MyContent: Hier legt das eigene ContentTool und der eigene MapEditor seine Container ab.

    Gehören die Container dagegen zu einem Workshop-Item, dann liegen sie im entsprechend von Steam zugeordneten Ordner, von wo aus LOTUS zugreift.


    Ein Container enthält oft mehr als ein Content-Element, also z.B. eine ganze Gruppe von Straßenobjekten. Außerdem sind Container verschlüsselt und können nur von der eigentlichen Simulation geladen werden. Container können aber nicht von den LOTUS-Tools geöffnet und/oder manipuliert werden.

    1.2 ContentTool


    Mit dem ContentTool werden die Rohdateien in Form von *.bmp- und *.dds-Dateien für Texturen, *.x3d-Dateien für die 3D-Modelle und *.wav-Dateien für die Sounds importiert und konfiguriert. Dann kann man die fertig importierten und konfigurierten Szenerieobjekte, Fahrzeuge, Texturen, Soundsets, Sprachen oder Schriftarten als Content-Quelldatei speichern.


    Für den künftigen Container wird ein Arbeits-Ordner angelegt, der sich nicht im LOTUS- oder einem sonstigen Programmverzeichnis befinden soll. Viel besser ist z.B. der "Dokumente"-Ordner von Windows geeignet. Dort hinein werden alle zugehörigen Rohdateien gelegt und ebenfalls die Content-Quelldatei gespeichert. Das ContentTool legt dann dort einen "Export"-Unterordner an, in den es wichtige Dateien speichert, die im Normalfall nicht gelöscht werden dürfen!


    Nun kann das ContentTool diesen Ordner "packen", d.h. alle Quelldateien im Ordner werden in einen Container zusammengefasst und dieser wird automatisch in das LOTUS-MyContent-Verzeichnis verschoben.


    Keinesfalls darf der Ordner mit den Quelldateien gelöscht werden!!! Nur mit ihm kann am betreffenden Content weiter mit dem ContentTool gearbeitet werden!

    1.3 MapEditor

    Der MapEditor dient natürlich dem Erstellen und Bearbeiten von Karten. Für den MapEditor wird ein Arbeitsverzeichnis ausgewählt, worin er für jede Karte einen Unterordner legt, worin er wiederum die Quelldateien gelegt werden. Diese können dann vom MapEditor geladen und gespeichert werden. Auch diese Ordner dürfen nicht gelöscht werden, solange an der Karte gearbeitet werden soll: Auch der MapEditor kann keine Karten aus Containern laden!

    1.4 Content-Quelldateien

    Es gibt folgende Quelldatei-Typen, die das ContentTool bzw. der MapEditor laden und speichern können:

    • *.ltx: Texturen
    • *.lob: Objekte (Szenerieobjekte oder Fahrzeuge)
    • *.lge: Zusatzinformationen zum Objekt, gehört immer zu einer *.lob-Datei
    • *.lgo: Grafisches Objekt, sind immer einer *.lob-Datei zugeordnet
    • *.lgp: Zusatzinformationen zum grafischen Objekt, gehört immer zu einer *.lgo-Datei
    • *.lsd: Soundset
    • *.llg: Sprach-Dateien
    • *.mgl: Karten-Hauptdatei
    • *.mge: Karten-Zusatzinformationen
    • *.mtl: Karten-Kachel
    • *.mte: Zusatzinformationen zur Karten-Kachel

    1.5 Content-ID

    1.5.1 Damit immer klar ist, welcher Content von wem gebaut wurde, in welcher Version er vorliegt und mit welchen Rechten er versehen ist, trägt jede Content-Datei die sogenannte ContentID. Sie wird beim Anlegen des jeweiligen Content-Elementes einmalig und eindeutig zugewiesen und besteht aus drei Elementen:

    • Content-User-ID oder -Team-ID, diese identifiziert den Autor
    • Content-SubID, diese unterteilt und identifiziert die verschiedenen Content-Elemente des Autors
    • Version, hierbei handelt es sich einfach um das Erstellungs-Datum.

    Die User-ID wird automatisch für jeden LOTUS-Nutzer beim erstmaligen Anmelden mit seinem Steam-Account angelegt, ist fortan mit diesem Steam-Account verknüpft und wird danach nicht mehr geändert.


    Die Vergabe der Content-SubID erfolgt automatisch: Wenn mit der Arbeit an einem neuen Content-Element begonnen wird (z.B. auf einem bisher leerem Gebiet der Karte oder an einem neuen Gebäude), dann wird eine neue Content-SubID generiert, wobei grundsätzlich eine Zufallszahl zwischen 1.000.001 und 999.999.999 vergeben wird.


    Wenn das Content-Tool während der Bearbeitung eines Fremdobjektes eine neue Content-ID vergeben muss (wenn beispielsweise bei der Arbeit an einem fremden Fahrzeug eine neue Textur importiert werden soll), dann wird in diesem Fall die User-ID des ursprünglichen Autors (also des Fremdobjektes) verwendet und eine neue zufällige Content-SubID generiert, die aber in diesem Fall zur Vermeidung von Kollisionen in den Bereich 1.001.000.001 bis 1.999.999.999 gelegt wird.

    1.6 Teams

    Jeder Benutzer kann ein Team anlegen (und wird zum Admin) und dazu weitere Benutzer hinzufügen. Jedem Team wird automatisch eine ID zugewiesen. Alle Mitglieder dieses Teams können dann beim Start von ContentTool und MapEditor entscheiden, ob sie für dieses Team oder für sich privat entwickeln. Der Vorteil hierbei ist, dass der vom Team erstellte Content eine einheitliche Content-Team-ID erhält und nicht "durcheinander" die einzelnen User-IDs der Mitglieder.



    ................


    1.7 Nutzungsrechte

    Für kommerzielle Angebote kann Content mit einem Aktivierungs-Mechanismus versehen werden, der eine Bezahlung und Aktivierung des Contents notwendig macht, bevor man diesen nutzen kann. Unter den Begriff "Nutzung" fallen insbesondere:

    • Befahren von Karten (Nutzung der Karte) oder
    • Fahren von Fahrzeugen (Nutzung des Fahrzeuges)
    • Verwendung von Fahrzeugen für die KI auf einer eigenen Karte (Nutzung des Fahrzeuges)
    • Verwenden von Szenerie-Objekten o.Ä. auf eigenen Karten (Nutzung des Szenerieobjektes)

    Texturen und Soundsets können nicht geschützt werden.

    1.7.1 Einrichtung

    • Im Content-Tool kann Szenerieobjekten und Fahrzeugen ein oder mehrere WS/DLC-Idents zugewiesen werden, die in dessen Header eingetragen werden
    • Im Map-Editor können auf Maps bestimmte Bereiche durch WS/DLC-Items geschützt werden. Hierzu zählen sowohl Kacheln, die dann nicht mehr von Straßenfahrzeugen, als auch Gleise, die nicht mehr von Schienenfahrzeugen befahren werden dürfen, wenn der User diesen Bereich nicht aktiviert hat.

    1.7.2 Ablauf

    • LOTUS prüft beim Start zunächst, welche Addons oder (kommerziellen) Workshop-Items (WS/DLC-Items) vom User erworben wurde
    • Im zweiten Schritt wird (ebenfalls beim Start) für jedes Fahrzeug oder Szenerieobjekt geprüft, ob ein oder mehrere WS/DLC-Items in dessen Header eingetragen wurden.
      • Ist diese Liste leer, dann gilt das Content-Element als Freeware und ist nutzbar. Die Nutzungsprüfung war erfolgreich.
      • Hat der User von den aufgelisteten WS/DLC-Items mindestens eines erworben, gilt das Objekt als erworben und ist nutzbar. Die Nutzungsprüfung war erfolgreich.
      • Andernfalls gilt das Objekt als gesperrt bzw. die Nutzungsprüfung als fehlgeschlagen.
    • Vor dem Laden der Map wird geprüft, ob diese gesperrte Szenerieobjekte oder gesperrte Fahrzeuge als KI benötigt und geprüft, welche ggf. geschützte Teilbereiche der Karte vom Nutzer befahren werden dürfen.

    1.7.3 Auswirkungen

    1.7.3.1 Karte

    Die Karte darf nur dann geladen werden, wenn für sämtliche Szenerieobjekte, die von der Karte verwendet werden, mindestens eine Bedingung erfüllt wird:

    • Nutzungsprüfung war erfolgreich
    • Karte und Objekt verfügen über mindestens eine gemeinsame WS/DLC-ID

    Dieselben Bedingungen gelten entsprechend für die Verwendung von KI-Fahrzeugen in KI-Listen. Ist für ein Fahrzeug diese Bedingung nicht erfüllt, wird es auf dieser Karte nicht als KI-Fahrzeug genutzt und ersatzlos gestrichen.


    Falls die Karte geladen werden durfte und solange sich der Nutzer in der freien Kamera oder im Ego-Modus befindet, kann er sämtliche Kacheln betrachten/begehen bzw. mit KI-Fahrzeugen auf allen Kacheln mitfahren. Der Nutzer kann aber nicht

    • ein neues Fahrzeug oder das aktive Fahrzeug auf einer gesperrten Kachel platzieren,
    • ein KI-Fahrzeug übernehmen, solange sich dieses außerhalb des freigeschalteten Bereiches aufhält oder
    • mit seinem Fahrzeug den freigeschalteten Bereich verlassen. In diesem Fall fährt er allerdings nicht hart gegen eine Glaswand, sondern wird sanft abgebremst.
    1.7.3.2 Fahrzeuge

    Falls die Nutzungsprüfung von Fahrzeugen erfolgreich war, dürfen diese uneingeschränkt genutzt werden (vorausgesetzt, der User hat das jeweilige Modul erworben).


    Ist die Nutzungsprüfung dennoch fehlgeschlagen, tritt das Fahrzeug trotzdem wie folgt in Erscheinung:

    • Zur Darstellung von Fahrzeugen anderer Multiplayer-Teilnehmer.
    • Als KI-Verkehr (sofern die Bedingungen zum Laden der Karte grundsätzlich erfüllt wurden, d.h. das Fahrzeug zum selben WS/DLC-Item gehört, wie die Karte)

    Der Nutzer kann das Fahrzeug aber selbst nicht fahren. Dies äußert sich darin, dass der Nutzer ein betroffenes Fahrzeug nicht auswählen oder übernehmen kann.

    1.7.3.3 Map-Editor

    Sowohl für die Verwendung von fremden, kommerziellen Szenerieobjekten beim Bau einer Karte, als auch für die Verwendung von fremden, kommerziellen Fahrzeugen für die KI-Listen gilt, dass der Karten-Ersteller die zugehörigen WS/DLC-Items zuvor "normal" erworben haben muss. Es gibt keine differenzierten Lizenzen o.Ä.; alles, was ge-/befahren werden darf, darf auch in fremden Karten genutzt werden. Er sollte sich aber im Klaren darüber sein, dass seine Karte dann nur noch von Personen geladen werden darf, die sämtliche verwendeten WS/DLC-Items auch selbst gekauft haben muss.

    1.8 Bearbeitungsrechte

    Normalerweise kann jeder User nur seinen eigenen Content im ContentTool laden, bearbeiten und überschreiben. Die Eigentümerschaft wird dabei über die User-ID geprüft.


    Damit ein User fremden Content bearbeiten kann, muss er zunächst die Quelldateien vom ursprünglichen Autor erhalten, da der Container nicht bearbeitet werden kann.


    Darüber hinaus muss der User das Recht zur Bearbeitung erhalten:

    • Entweder wurden die Content-Quelldateien vom ursprünglichen Autor als Public-Domain gekennzeichnet (diese Einstellung ist standardmäßig aus)
    • oder der ursprüngliche Autor muss ihm die Bearbeitungsrechte explizit einräumen.

    Handelt es sich um Public-Domain-Content, darf der Content bearbeitet und entweder unter der originalen ID (mit der User-ID des ursprünglichen Autors) oder unter einer neuen ID (mit der User-ID des neuen Autors) gespeichert werden.


    Andernfalls kann der ursprüngliche Autor einem ausgewählten User die Bearbeitungsrechte einräumen. Hierbei kann er wahlweise einem anderen User pauschal alle Rechte an seinem gesamten Content einräumen oder explizit Rechte für einzelne Content-Elemente vergeben. Bei letzterer Variante kann er entscheiden, ob er wahlweise das Überschreiben (selbe Content-ID inkl. User-ID) und/oder das Speichern unter einer neuen Content-ID inkl. der neuen User-ID erlaubt.


    Sobald es mehr als einen Autor gibt, werden sämtliche Autoren in eine Liste im Header der Datei eingetragen, sodass die Mitautorenschaft im Nachhinein geprüft werden kann.