Zugverkehr in OMSI 2

Bald ist es soweit: Unsere nächste Leitstellenfahrt findet statt. Weitere Informationen findet ihr hier.

  • OMSI 2 bietet die Möglichkeit, in gewissem Rahmen einen realistischen Zugverkehr als KI-Verkehr abzubilden. Dieser Wiki-Artikel befasst sich dabei mit den technischen Rahmenbedingungen. Als Anschauungsobjekt empfehle ich interessierten User*innen die Map Steinkirchen V2, auf der der Zugverkehr entsprechend umgesetzt ist. Kenntnisse in der Fahrplanerstellung für Buslinien in OMSI 2 werden dabei vorausgesetzt.

    1. Definition der Fahrtwege und Fahrzeiten

    1.1. Grundsätzliches

    Die Definition der Fahrtwege der Züge erfolgt, exakt wie bei Buslinien, über Tracks und Trips. Wichtig ist hierbei, auf Trips des Typs 1 zurückzugreifen und nicht die StationLinks zu nutzen. Es werden also Tracks angelegt und auf dieser Basis dann auch Trips mit Stations und einem oder mehreren Profiles (Fahrzeitprofilen). Die erste Besonderheit ergibt sich bei den Busstop-Würfeln, die am gewünschten Haltepunkt der Spitze des Zuges mittig auf dem Gleis zu platzieren sind. Sollte das vordere Fahrzeug des Zuges, also in der Regel die Lokomotive, später rückwärts unterwegs sein (einfaches Beispiel: Dampflok mit Schornstein hinten statt vorne), muss der Busstop-Würfel entgegen der Fahrtrichtung ausgerichtet sein. Er muss also immer der technischen Fahrtrichtung des ersten Fahrzeugs des Zuges entsprechen und nicht zwangsläufig der tatsächlichen Fahrtrichtung.

    Zug mit rückwärts verkehrender Dampflok: Busstop-Würfel ist entgegen der eigentlichen Fahrtrichtung (blauer Pfeil) des Zuges ausgerichtet.


    Zug mit vorwärts verkehrender Dampflok: Busstop-Würfel ist in Fahrtrichtung (blauer Pfeil) ausgerichtet.


    1.2. Besonderheit bei Pendelzugbetrieb

    Soll ein Pendelzugbetrieb realisiert werden, der Zug also an einer sichtbaren Endstation die Fahrtrichtung wechseln, so ist die Station mit zwei Busstop-Würfeln auf dem selben Gleis auszurüsten. Einer zeigt in Fahrtrichtung des einfahrenden Zuges und markiert den Haltepunkt des Zuges. Dem Trip für den einfahrenden Zug wird dieser Busstop-Würfel zugeordnet. Ein weiterer Busstop-Würfel in entgegengesetzter Richtung ist genau am Ende des Zuges zu platzieren. Dem Trip für den ausfahrenden Zug wird dann dieser zweite Busstop-Würfel zugeordnet. Zusätzlich ist bei diesem Trip die Checkbox „Train reversed by default“ zu aktivieren.

    Die rot eingerahmte Checkbox muss für den Trip des ausfahrenden Zuges beim Pendelzugbetrieb aktiviert werden.


    2. Definition des Fahrzeugeinsatzes

    Jede zum Einsatz kommende Zuggarnitur wird in der ailists.cfg in einer [aigroup_2] festgelegt. Sollen für verschiedene Umläufe verschiedene Garnituren eingesetzt werden, so sind entsprechend separate [aigroup_2] einzurichten. Das sieht dann in der ailists.cfg z. B. so aus:


    Hier wird, anders als bei der Umsetzung von Straßenverkehr in OMSI 2, nicht auf .ovh-Dateien oder .bus-Dateien verwiesen, sondern auf .zug-Dateien. Diese .zug-Dateien sind im Verzeichnis trains\ im OMSI-Hauptverzeichnis hinterlegt bzw. dort zu hinterlegen. Sie können einfach über einen beliebigen Text-Editor angelegt werden. Der Aufbau der Dateien erklärt sich am Besten am folgenden Beispiel:

    Code: BR99.22_Lehntalbahn_Steinkirchen.zug
    vehicles\BR99.22\BR99.22.ovh
    0
    vehicles\Schmalspurbahn_Steinkirchen\Personenwagen_end.ovh
    1
    vehicles\Schmalspurbahn_Steinkirchen\Personenwagen_Bar.ovh
    0
    vehicles\Schmalspurbahn_Steinkirchen\Personenwagen_AB.ovh
    1
    vehicles\Schmalspurbahn_Steinkirchen\Personenwagen_end.ovh
    0

    Hier dargestellt ist ein Schmalspur-Dampfzug bestehend aus einer Lokomotive der Baureihe 99.22 sowie einem Endwagen, einem Bar-Wagen, einem AB-Wagen und einem weiteren Endwagen. Die einzelnen Fahrzeuge werden nacheinander definiert, d. h. es wird der jeweilige Pfad zur .ovh-Datei angegeben. In der jeweils folgenden Zeile ist eine 0 oder 1 anzugeben. Diese gibt an, ob das Fahrzeug vorwärts (0) oder rückwärts (1) angeordnet ist. In diesem Beispiel ist also die Dampflok vorwärts angeordnet, dahinter folgt ein rückwärts angeordneter Endwagen, dann ein vorwärts angeordneter Barwagen usw. Was jeweils die Standardausrichtung „vorwärts“ eines Schienenfahrzeugs ist, ist durch die jeweilige Person, die das Fahrzeug erbaut hat, festgelegt. Hier gilt es im Zweifelsfall, auszuprobieren und einzelne Fahrzeuge nochmal mittels Austausch 0 gegen 1 bzw. umgekehrt zu drehen, wenn sich im Spielermodus eine falsche Ausrichtung zeigt.


    3. Erstellung der Umläufe

    Bei der Erstellung der Umläufe gelten die üblichen, aus der Erstellung von Bus-Umläufen in OMSI 2 bekannten Mechanismen. Wenn Züge außerhalb des für die Spielenden sichtbaren Bereichs der Map spawnen bzw. verschwinden, können die entsprechenden Trips des Umlaufs problemlos auch ohne „SmoothTrans“ hintereinander gesetzt werden. Somit ist in diesen Fällen weder der Bau einer Gleiswendeschleife noch die Umsetzung eines Pendelzugbetriebs erforderlich.


    4. Bahntechnik in OMSI 2

    4.1. Grundsätzliches

    Die Bahntechnik in OMSI 2 wird über die Signalroutes gesteuert. OMSI 2 enthält auch eine Basisfunktion für den Bahnbetrieb mit Weichen und Bahnübergängen, aber ohne Signale. Von der Verwendung dieser Basisfunktion sollte man absehen, sofern man funktionsfähige Weichen, Signale und Bahnübergänge nutzen möchte. Sobald die erste Signalroute auf einer Map angelegt ist, schaltet OMSI 2 die komplette Map in den erweiterten Bahntechnik-Modus um, welcher in diesem Artikel beschrieben wird. Alle Signalroutes werden im Map-Ordner in der Datei signalroutes.cfg gespeichert. Zum Zurücksetzen in den Basismodus kann die Datei – wenn OMSI 2 geschlossen ist - mit einem Texteditor geöffnet und der gesamte Inhalt gelöscht werden. Die Signalroutes sind ein empfindliches System. Sie sollten erst dann angelegt werden, wenn alle Gleispfade (inkl. Bahnübergänge und Weichen) final sind. Die Änderung von Gleispfaden bei bestehenden Signalroutes kann zu Fehlern in den Signalroutes führen und damit den gesamten Bahnverkehr stören.


    4.2. Weichen

    Im OMSI 2 gibt es neben den echten Weichen, die für die korrekte Umsetzung benötigt werden, auch unechte Weichen. Echte Weichen sind am grünen Schriftzug „<ED_Switch>“ im Editor zu erkennen. Sollte dort stattdessen z. B. „Ampel“ stehen, sind diese Weichen nicht mit dem Signalroutes-System kompatibel.

    Ein echte Weiche mit der entsprechenden Kennzeichnung.


    4.3. Bahnübergänge

    Bahnübergänge funktionieren technisch wie Ampelkreuzungen. Es wird also ein entsprechendes Kreuzungsobjekt benötigt, welches sowohl die entsprechenden Rail-Pfade als auch die Street- und Human-Pfade enthält. Dazu gehört dann eine Ampelschaltung, die die wechselseitige Freigabe der jeweiligen Pfade regelt. Das Schließen des Bahnübergangs löst man dabei über eine Anforderungsschaltung für die Züge aus. Weitere Hinweise zum Timing für das Schließen des Bahnübergangs folgen im weiteren Verlauf dieses Artikels.


    4.4. Signale

    Ähnlich wie bei den Weichen ist auch bei den Signalen darauf zu achten, dass ausschließlich echte Signale verwendet werden. Diese sind im Editor durch den grünen Schriftzug „Signal“ gekennzeichnet. Signale, die stattdessen mit dem Eintrag „Ampel“ versehen sind, sind nicht geeignet.

    Ein echtes Signal mit der entsprechenden Kennzeichnung.


    Grundsätzlich muss zwischen Hauptsignalen und Vorsignalen unterschieden werden. Hauptsignale geben an, ob ein Zug an diesem Signal entweder mit zulässiger Höchstgeschwindigkeit (Signal ist grün), mit reduzierter Geschwindigkeit (40 km/h, Signal ist grün/gelb) oder gar nicht (Signal ist rot) vorbeifahren dürfen. Sie stehen in der Regel in ausreichendem Abstand vor Weichen bzw. teilen längere zweigleisige Abschnitte in sogenannten Blöcke. Vorsignale stehen im Bremswegabstand, das sind üblicherweise 750 bis 1000 Meter, vor dem Hauptsignal und kündigen dem Zugpersonal die Stellung des nächsten Signals an. Diese Beschreibung der Grundsätze der Signalisierung ist stark vereinfacht. Im Internet findet sich eine Vielzahl von weitergehenden Informationen zu diesem Thema, z. B. auf der Website http://stellwerke.de/signal/deutsch/index.html (externer Link).


    4.5. Signalroutes

    Um die Signale funktionsfähig einzusetzen, müssen Signalroutes angelegt werden. Jede Signalroute besteht dabei mindestens aus zwei Pfadsegmenten und einem Hauptsignal und kann optional auch noch die Information über das nächste Hauptsignal sowie das zugehörige Vorsignal enthalten. Die Signalroutes werden über das Menü am rechten Rand des Editorfensters in der Registerkarte „SignalRts“ angelegt. Über den Knopf „Add Route“ wird eine neue Signalroute angelegt. Im Modus „Add / remove (+Shift) Paths“ werden nun zunächst die Pfadsegmente der Reihe nach angeklickt, deren Freigabe vom zugehörigen Signal gesteuert werden soll. Mit anderen Worten: Es wird ein Gleisabschnitt festgelegt, der durch ein Hauptsignal, das am Anfang dieses Gleisabschnitts steht, gesichert werden soll. Dieser sollte also am entsprechenden Signal beginnen und mindestens bis über die dahinterliegende zu sichernde Stelle, z. B. eine Weiche bzw. einen Bahnübergang, höchstens allerdings bis zum nächsten Hauptsignal führen. Das erste Pfadsegment, welches dabei angeklickt wird, ist das erste Pfadsegment, das vom Zug bei Rotstellung des Signals nicht befahren wird. Der Zug hält also auf dem letzten davor liegenden Pfadsegment an. Für eine ansprechende optische Gestaltung empfiehlt es sich, das Signal wenige Meter hinter der Trennstelle von zwei Pfadsegmenten zu platzieren, so dass die Spitze des Zuges mit etwas Abstand zum Signal anhält.

    Das erste Pfadsegment der Signalroute beginnt kurz vor dem Standort des Hauptsignals. Dadurch hält der Zug mit etwas Abstand vor dem Signal an.

    Durch Anklicken der Pfadsegmente wird nun also der durch das Hauptsignal zu überwachende Gleisabschnitt festgelegt. Wichtig ist dabei, dass die Pfadsegmente in der richtigen Reihenfolge, in der der Zug diese auch befahren wird, angeklickt werden. OMSI 2 führt hier keine Logikprüfung durch, d. h. durch unbedachtes Klicken können auch nicht direkt angrenzende Rail-Pfade und sogar Car- und Human-Pfade angeklickt werden. Versehentlich falsch angeklickte Pfadsegmente können durch Anklicken mit gleichzeitig gedrückter Strg-Taste wieder zurückgenommen werden.


    Wenn der zu überwachende Gleisabschnitt festgelegt ist, wechselt man in den Modus „Set Signal“. Hier wird nun das zugehörige Hauptsignal angeklickt. Im Bereich „Sel. Signal Route Properties“ (unterer Abschnitt des Menüs am rechten Rand des Editorfensters) wird festgelegt, welchen Status das Signal anzeigen soll, wenn der entsprechende Gleisabschnitt freigegeben wird. Hier unterscheidet man zwischen „1“ für „grün“ oder „2“ für „grün/gelb“. Je nach Bauform kann das Signal ggf. nur „grün“ anzeigen. In diesem Fall darf dann hier auch nur „1“ gewählt werden. Im Feld „Spd. Limit (0 if none)“ kann eine Geschwindigkeit, die für die Vorbeifahrt am Signal gelten soll, gewählt werden. Lässt man hier den Standardwert „0.0“ stehen, richtet sich der Zug nach der Standardgeschwindigkeit, die über die Traffic Rules dem Gleispfad zugeordnet wurde.


    Im Modus „Add / remove (+Shift) next main Signal“ kann nun per Linksklick das Hauptsignal ausgewählt werden, welches als nächstes am Fahrweg liegt, also durch die folgende Signal Route gesteuert wird. Im Modus „Add / remove (+Shift) Dist. Sig. for next Sig.“ kann dann per Linksklick noch das zum soeben ausgewählten nächsten Signal zugehörige Vorsignal ausgewählt werden.


    4.6. Das richtige Timing

    Um dem Spieler bzw. der Spielerin ein realistisches Bild der Schaltabläufe von Weichen, Bahnübergängen und Signalen zu bieten, ist das richtige Timing ein entscheidender Faktor. So soll z. B. das vor einem Bahnübergang stehende Hauptsignal erst dann auf „grün“ schalten, wenn der Bahnübergang auch vollständig geschlossen ist. Hierzu muss unter Umständen mit Tricks gearbeitet werden. Letztlich führt hier auch kein Weg daran vorbei, die im Editor vorgenommenen Einstellungen im Spielermodus immer wieder zu testen und anschließend im Editor nachzujustieren. Dieser Arbeitsschritt kann durchaus frustrierend und sehr zeitintensiv sein, aber für Perfektionisten lohnt sich der Aufwand.


    Zunächst ist das Grundverständnis für die zeitlichen Abläufe bei den Signalroutes wichtig. Wir stellen uns zwei aufeinanderfolgende Signalroute-Abschnitte ( A und B ) vor. OMSI 2 arbeitet folgendermaßen: Sobald der Zug das erste Pfadsegment von Abschnitt A befährt, wird die Prüfung für den Abschnitt B ausgelöst. Diese Prüfung beinhaltet das Schalten aller im Abschnitt B liegenden Weichen in die richtige Stellung und das Auslösen einer Anforderung für alle im Abschnitt B liegenden Bahnübergänge. Die Ampelschaltung des Bahnübergangs springt in diesem Moment also an den Punkt, der für den Anforderungsfall vorgesehen ist. In der Regel bedeutet dies, dass die roten Lichter zu blinken beginnen und etwas später sich die Schranken schließen. Direkt mit Beginn der Prüfung des Abschnitts B schaltet OMSI 2 allerdings auch schon das Hauptsignal von Abschnitt B in die vorgesehene Fahrt-Stellung.


    Je nach Örtlichkeit führt dies somit dazu, dass ein direkt vor dem Bahnübergang platziertes Hauptsignal dem herannahenden Zug „Fahrt“ signalisiert, obwohl die Schranken noch geöffnet sind und sich noch Autos auf den Gleisen befinden. Auch ohne direkt vorhandenes Signal kann es geschehen, dass der Zug den Bahnübergang zu früh erreicht und somit aus Sicht des Spielers nicht genügend Pufferzeit zwischen Schließen der Schranken und Ankunft des Zuges am Bahnübergang liegt. Um solche unschönen Situationen zu vermeiden, gibt es einige Ansätze, mit denen man den zeitlichen Ablauf optimieren kann:

    1. Die Streckengeschwindigkeit im Zulauf auf den Bahnübergang kann mittels Traffic Rules heruntergesetzt werden, sodass mehr Zeit zwischen Auslösen der Anforderung und Ankunft des Zuges am Bahnübergang vergeht.
    2. Es muss eine ausreichend lange Gleisstrecke zwischen Spawnpunkt des Zuges an der Kachelgrenze bzw. Beginn der Signalroute einerseits und dem Bahnübergang andereseits liegen, damit die Anforderung frühzeitig ausgelöst wird.
    3. Es können zusätzliche versteckte Signale mit zugehörigen Signalroutes zwischengeschaltet werden.

    Mit Ansatz 3 umgeht man den oben beschriebenen zeitlichen Ablauf beim Schalten der Signalroutes. Bezogen auf das ursprüngliche Beispiel werden anstelle von zwei Signalroutes drei benötigt, d. h. es entstehen die Abschnitte A, B und C. In OMSI 2 muss die Situation folgendermaßen aufgebaut werden: Abschnitt A ist regulär ausgestattet. Diesem Abschnitt schließt sich Abschnitt B an. Abschnitt B besteht aus einem Hauptsignal, welches für den Spieler unsichtbar hinter einer Häuserkulisse, einem Backdrop oder ähnlichem versteckt ist, und den sich anschließenden Pfadsegmenten inklusive Weichen und Bahnübergang. Direkt anschließend, also dann ab dem ersten oder zweiten Pfadsegment hinter dem Bahnübergang bzw. der Weiche, bis zum nächsten Hauptsignal, liegt Abschnitt C. Das Hauptsignal von Abschnitt C wird optisch am Beginn von Abschnitt B platziert. Da OMSI 2 die Prüfung und das Schalten von Abschnitt C erst auslöst, wenn Abschnitt B für den Zug vollständig gesichert, also auch der Bahnübergang geschlossen ist, wird auch erst dann das Signal auf grün geschaltet.

    Prinzipdarstellung für Fahrtrichtung von unten nach oben. Signal C ist technisch dem grün dargestellten Abschnitt zugeordnet und schaltet erst auf „Fahrt“, wenn der Bahnübergang im hier rot dargestellten Abschnitt B geschlossen ist.


    5. Technische Grenzen

    OMSI 2 ist und bleibt ein Bussimulator und kein Zugsimulator. Die Erfahrung zeigt, dass gewisse Betriebssituationen nicht zuverlässig umgesetzt werden können. So ist der Betrieb einer eingleisigen Strecke mit Zugkreuzung im Kreuzungsbahnhof leider nicht umsetzbar. Züge in OMSI 2 spawnen teilweise mit deutlicher Verfrühung oder warten trotz entsprechend gesetzter Merkmale in den Zeitprofilen die Standzeiten an den Bahnhöfen nicht ab. Ein Brechen des Trips eines Zuges im Kreuzungsbahnhof in zwei verschiedene Trips führt hingegen dazu, dass der zweite Trip die zugehörigen Signalroutes nicht auslöst und somit eine Weiterfahrt verhindert wird. Insbesondere das Spawnverhalten sollte im Spielermodus in verschiedenen Situationen und mit unterschiedlichen Sichtweiten (Anzahl Nachbarkacheln) intensiv getestet werden. Es nutzt nichts, wenn man immer wieder die selbe Standardsituation testet und für eine fehlerfreie Darstellung des Zugbetriebs optimiert und dann der Spieler oder die Spielerin beim Fahren eines Busumlaufs in einer vollkommen abweichenden Situation auf die Bahnstrecke trifft und dort eine Fehlfunktion vorfindet. Hier hilft nur testen, testen, testen.


    6. Schlussbemerkung

    Dieser Wiki-Artikel stellt die gesammelten Erfahrungen aus der Einrichtung des Bahnverkehrs auf der Map Steinkirchen V2 dar. Er erhebt keinen Anspruch auf Vollständigkeit und Richtigkeit. Grundsätzlich gilt der allgemeine Grundsatz der Vorsicht und insbesondere der regelmäßigen Erstellung von Backups beim Mapbau! Der Autor übernimmt keine Haftung. Und jetzt viel Spaß und Erfolg bei der Implementierung der Bahntechnik in euren Maps!

Teilen

CC BY-SA 4.0

Sämtliche Inhalte unseres OMSI-Wiki sind unter Creative Commons Namensnennung & Weitergabe unter gleichen Bedingungen (CC BY-SA 4.0) lizensiert.