Tausch von Gleisen per RWTools


Abonniere unseren Kanal auf WhatsApp (klicke hier zum abonnieren).
  • Alle Gleis-Einträge in der Tracks.bin werden durch neue Pfade anderer Gleisobjekte per RWTools ausgetauscht.
    Disclaimer!

    Die Anleitung besonders bei Unerfahrenheit bitte erst einmal vollständig lesen und dann abarbeiten.

    Bitte so vorsichtig wie möglich umgehen und NICHT mit Originaldateien arbeiten.

    Vor dem Beginn bitte neuen Ordner anlegen und dort alle benötigten Dateien lagern.

    Bei Fehlern können irreversible Schäden entstehen sowie Beschädigungen an Strecken.

    Dieser Weg ist nur für diejenigen geeignet, die grundlegendes Verständnis für Programmierung und die Dateienstruktur des TS haben.

    Ich werde unter diesem Eintrag keine Grundlagenfragen, sowie Fragen, die aus Unwilligkeit zum selbständigen Denken und Versuchen resultieren, beantworten. :)

    Ihr wurdet gewarnt, die Vorsicht liegt bei euch.



    Viele haben es bestimmt schon erlebt: Man hat ein Streckenprojekt und entdeckt irgendwann für sich, dass die verbauten Gleise einem eigentlich gar nicht passen. Sei es aus optischen oder technischen Gründen.


    Es gibt mehrere Möglichkeiten, Gleise auf Strecken zu tauschen - die beliebteste ist hierbei das Ersetzen der bin-Dateien der Gleise einer der Strecke durch die bin-Dateien anderer Gleise, wie ich es beispielsweise bei meinem Gleis-Patch für Dresden-Riesa getan habe.

    Dabei wird die Loft-Datei eines Gleises mit dem Namen des auszutauschenden Gleises benannt und damit ersetzt. Darum soll es hier aber nicht gehen.

    Möglicherweise möchte man ich einfach nur die Dateien an sich tauschen, sondern die tatsächlich dort liegenden Gleise - denn zuvor beschriebener Vorgang tauscht die Gleise nur für die Person, die dies installiert und gleichzeitig für alle Strecken, die die getauschten Gleise nutzen. Das heißt: Würde man die vR-HQ-Tracks aus Konstanz-Villingen ersetzen, würden die Gleise sich nicht nur auf Konstanz-Villingen ändern, sondern auch auf sämtlichen Freeware-Strecken, die diese nutzen.

    Möchte man nun aber, dass jeder auf einer Strecke denselben Gleistypen hat, gibt es noch einen anderen Weg über den gerngenutzten Allrounder RWTools.


    Kurzfassung: Alle Gleis-Einträge in der Tracks.bin werden durch neue Pfade ausgetauscht.


    Wie dies funktioniert, erkläre ich jetzt.


    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Phase 1: Vorbereitung




    Bevor man mit dem Tauschen beginnen kann, muss zuvor ein Plan aufgestellt werden, welche Gleise man durch welche neuen Gleise tauschen möchte. Dies könnte folgendermaßen aussehen:


    1649dc6967f09e_meqilkogpnjhf.jpeg


    Welche Gleise auf der Strecke vorhanden sind, verrät uns RWTools. Siehe dazu den normalen Vorgang, die Liste aller verwendeten Assets durch RWTools zu erstellen. In einer Gegenüberstellung kann man nun den alten Gleistypen, den neuen Gleistypen sowie die Anzahl aller Einträge notieren.


    Der Ersatz der Gleistypen ist frei entscheidbar, will man es realistisch machen, hängt es aber von folgenden Faktoren ab:

    Geographische Lage (besonders Ost- oder Westdeutschland), Befahrenheit des Gleises, Alter des Gleises, Schwellentyp, LZB ja/nein, Tunnel ja/nein, ...


    Manche Gleispakete bieten weniger Variation, manche mehr. Wie man die Gleise tauschen will, ist jedem selbst überlassen. Wichtig ist, dass alle Einträge eines Gleises durch nur einen neuen Eintrag getauscht werden, man kann also bei 100 Einträgen nicht einfach ab der Hälfte entscheiden, dass man nun mit einem anderen Gleistypen weitermacht. Dies würde zu 99,9% zu Fehlern führen.


    Ebenfalls gehört zur Vorbereitung, den Provider, in dem sich die neuen Gleise befinden, zu aktivieren, sofern dies noch nicht geschehen ist.


    1649dc83ed5e19_ofqmjpigkenlh.jpeg


    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Phase 2: Ersetzen der Gleise


    Ist der Plan aufgestellt, kann man nun mit dem eigentlichen Tausch beginnen. Zuerst legt man einen Ordner an, in dem ein weiterer Ordner namens "backup" liegt, in den die Originale Tracks.bin als auch die per serz.exe konvertierte Tracks.xml kopiert werden. Die Tracks.bin-Datei wird ebenfalls nochmal kopiert und im übergeordneten Ordner abgelegt.


    1649dc8fdbd72f_kfnjglmpqiheo.jpeg


    1649dc9160774a_epkhoqlgfjmni.jpeg


    Nun wird RWTools geöffnet. Unter dem Reiter "Files" oben links wählen wir "Open TS20xx File" aus. Es sollte sich nun der Explorer öffnen. Mit diesem suchen wir die Tracks.bin und wählen sie aus. RWTools wandelt diese automatisch in eine les- und veränderbare xml-Datei um.


    1649dca98e5f09_ojlpgfmekiqnh.jpeg


    1649dcac3d9966_lkmpohijfegqn.jpeg


    Das Ersetzen startet jetzt. Direkt neben "Files" finden wir den Reiter "Search and Replace", in welchem wir auf "Find" gehen. Das jetzt sichtbare Fenster bietet die Möglichkeit, mehrere Zeilen zusammen zu tauschen. Im oberen Feld wird dabei der zu findende und

    zu ersetzende Code eingegeben, im unteren dann der neue Code mit den neuen Pfaden.


    1649dcb4f43b0a_ikqgmjnhpeofl.jpeg


    1649dcb5f2d2db_glfmphknjeqio.jpeg


    Wir brauchen nun den Code-Fetzen, den wir ersetzen wollen. Als Beispiel wird in dieser Anleitung der Tausch von vR-HQ-Tracks auf unsere EZY-Tracks erhalten. Der Tausch von Gleisen anderer Entwickler läuft aber exakt gleich ab, es müssen nur Pfade getauscht werden.


    Zuerst ein kurzer Ausflug in den BlueprintID-Eintrag eines Gleises:



    Wichtig für uns sind jedoch nur die 3 markierten Bereiche. Zusammengesetzt ergibt dies den Pfad der bin-Datei des Gleises. In diesem Falle also: VirtualRailroads\Konstanz-Villingen\RailNetwork\vR-HQ-Tracks\Gleis_B70_NBd_RB_+HG_bl.xml

    Provider: VirtualRailroads

    Product: Konstanz-Villingen

    Pfad: RailNetwork\vR-HQ-Tracks\Gleis_B70_NBd_RB_+HG_bl.xml

    Der TS hat die Pfade aber gerne aufgeschlüsselt und die angewählte bin-Datei muss immer als .xml-Datei angegeben werden, auch wenn sie keine ist.


    Wir suchen jetzt also den ersten Gleiseintrag mithilfe des "Find"-Fensters. Dazu habe ich einfach RailNetwork\vR-HQ-Tracks gesucht, RWTools zeigt mir dadurch den ersten Eintrag mit diesem Pfad an.


    1649dccbfda763_mnhoeiqpkjlfg.jpeg


    Dies zu erkennen erfordert die Kenntniss, wie die Pfade der zu tauschenden Gleise aussehen. Dies wäre in unserem Falle ein Gleis mit der Bezeichnung Gleis_B70_NBd_RB_+HG_bl.xml. Nun schauen wir in unsere Liste, durch welchen Typen wir unser Gleis tauschen wollen.

    -> BrGrBS66


    1649dcd0d6a07b_nqmeigkpjofhl.jpeg


    Statt die Werte alle einzeln zu tauschen für jeden der Einträge, ersetzen wir den gesamten BlueprintID-Baustein.


    Im "Find"-Fenster von RWTools können wir nun im oberen Feld den Code einfügen, der ersetzt werden soll.

    Im unteren Feld kopieren wir diesen Code ebenfalls hinein, ändern diesen Codefetzen aber folgendermaßen:



    Provider: VirtualRailroads -> EZY

    Product: Konstanz-Villingen -> Gleisinfrastruktur

    Pfad: RailNetwork\vR-HQ-Tracks\Gleis_B70_NBd_RB_+HG_bl.xml -> RailNetwork\Normalspur\Schiene1435BrGrBS66.xml


    1649dcebedac72_phnekjgiofqml.jpeg


    SEHR WICHTIG!

    Der alte und neue Code müssen im Anfangs- und Endzeichen exakt identisch sein. Das heißt, dass der neue Code ab der gleichen Stelle ansetzen und enden muss, wie der alte. Am besten kopiert man dabei die komplette Zeile ab den Leerzeichen vor <BlueprintID> (Anfang) bis zum ">" vom <BlueprintID> in der letzten Zeile. Läuft an dieser Stelle etwas schief und es fehlen dem TS wichtige Zeichen oder die Untergliederung des Codes ist niocht mehr korrekt, kann es schnell dazu kommen, dass der TS die Datei nicht mehr lesen kann.


    1649dceae55797_glfqphijmknoe.jpeg


    Haben wir den Code geändert, kommt es nun endlich zum Ersetzen. Wir klicken auf den Button "Replace". RWTools ersetzt uns den Eintrag.


    1649dcf90174b6_elnfpgkoqijhm.jpeg


    Dabei sollte unbedingt auf den Code in RWTools geachtet werden.

    Verschieben sich beim Ersetzen Zeilen? Ist die Form noch dieselbe abseits der Pfadänderungen? Fehlen Leerzeichen?

    Dies muss auf jeden Fall als Nachkontrolle beachtet werden. Wenn etwas nicht stimmt, muss der Code angepasst werden. Hier wird nun, sofern möglich, per Hand angepasst. Aber aufpassen, auch hier kann man sich schnell etwas kaputt machen. Am besten ist es für das nächste Ersetzen, den Code im "Find"-Fenster noch einmal vollständig neu einzusetzen und umzuschreiben. Wenn es auch dann nicht klappen sollte, liegt ein Fehler beim Einsetzen des Codes vor.


    Sollte alles funktioniert haben, erfolgt als weitere Kontrollinstanz ein weiteres Einzelersetzen. Wir klicken auf "Find next" und dann auf "Replace" ohne Änderungen am Code vorzunehmen.


    1649dcfa13f49d_enjhqmlopfgki.jpeg


    Ist das Ergebnis wieder dasselbe, wurde sauber gearbeitet. Das heißt, wir können nun auf "Replace All" gehen und RWTools zuschauen, wie es alle Einträge des Gleises ersetzt.

    Sollte das Programm dabei "Keine Rückmeldung" anzeigen und einfrieren, bitte kurz abwarten. Bei vielen Einträgen passiert dies sehr schnell. In der Regel sollte es, je nach Anzahl der Einträge, nur wenige Sekunden dauern.


    1649dd0019459c_qklifejnmghpo.jpeg


    Wir haben nun den ersten Gleistypen ersetzt!

    Anfänger sollten nach jedem ersetzten Typen die Datei speichern. Dafür oben links auf "Files" und "Save TS20xx File" gehen. Im Ordner, in dem die Tracks.bin liegt, entsteht nun eine Tracks.bin.bak-Datei, dies ist eine automatische Backup-Datei des Programms der Version der Tracks.bin vor dem Speichern. Zur besseren Orientierung habe ich mir die neu entstandene Tracks.bin kopiert und benannt, zum Beispiel Tracks_RoterStein.bin, nachdem ich alle Gleise aus RoterSteins Gleisset getauscht hatte.


    1649dd2b4a61f1_gfqpiolmnkejh.jpeg


    Nun kann kann man das Ersetzen mit dem nächsten Gleistypen wiederholen, solange bis RWTools keine Gleise mehr findet, die nicht ersetzt wurden.

    Es empfiehlt sich aber sehr, alle paar Tauschrunden die Datei wieder in den Streckenordner einzufügen und den bisherigen Stand zu kontrollieren:



    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Phase 3: Nachkontrolle


    Ist der Fall eingetreten, dass keine Gleise zum Ersetzen mehr vorhanden sind oder möchte man zwischendurch testen, ob das bisherige Ersetzen funktioniert hat, kopiert man die zuletzt gespeicherte Tracks.bin aus dem Arbeitsordner in den Networks-Ordner der Strecke zurück und ersetzt dabei die alte Tracks.bin (<- Theoretisch sollte ja ein backup der alten Datei angelegt sein. Wenn nicht, dann jetzt!)

    Der TS wird gestartet und die Strecke im Editor geladen. Theoretisch sollten nun alle Gleise ersetzt sein.

    Zu Überprüfen sind jetzt 3 Dinge:


    A. Sind wirklich alle Gleise ersetzt? Liegt vielleicht irgendwo noch ein falscher Gleistyp rum?

    Wenn ja, wurden entweder Einträge beim Tauschen übersehen, seltener kann es aber vorkommen, dass auch noch Wochen nach dem Tausch einzelne Gleisstränge wieder im ursprünglichen Gleistyp anzeigt. (Woher dieser Fehler kommt, kann ich mir bisher nicht erklären, schließlich ist der Code dafür nicht mehr vorhanden, der TS kann es also quasi nicht mehr "wissen" welches Gleis dort lag, insofern er nicht ganz tief im Arbeitsspeicher etwas ans Tageslicht gewühlt hat... )

    Startet man neu, ist das Gleis in der Regel aber wieder im ersetzen Zustand. Wenn es nach mehrmaligen Neustarten nicht ersetzt ist, dann muss wohl noch ein Eintrag in der Tracks.bin übersehen worden sein.


    B. Ist beim Tauschen etwas schiefgelaufen, könnte dies Weichen zerstört haben. Dies erkennt man daran, dass diese nicht mehr ihre üblichen roten Dreiecke haben, sondern ein rotes Tor und ein schwebendes rotes Rechteck darüber. Hier hilft nur: Letzte Backup-Versionen laden und hoffen, dass es in diesem Stand noch nicht so ist. Ansonsten hilft wohl nur ein Neustart des Tausch-Vorgangs mit der Ursprungs-Tracks.bin. Sollte es auch dann nicht funktionieren, müsste man kontrollieren ob dieser Fehler nicht auch schon vor dem Tauschen vorhanden war.


    C. Andere optische Fehler können ebenfalls auftreten. Diese entstehen ebenfalls möglicherwiese durch Code-Fehler oder falsch getauschte Einträge. Manche sind von Hand reparierbar, andere erfordern dasselbe Vorgehen wie bei den Weichen.



    All dies lässt sich gut herausfiltern, indem man die Strecke langsam und konzentriert von Anfang bis Ende abfliegt und auf die 3 möglichen Fehler achtet.



    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Probleme, die auftreten können und ihre Lösungen


    1. Die Strecke lädt nicht mehr

    Dies könnte auf mehrere Fehler zurückzuführen sein. Entweder wurde die Tracks.bin beim Tauschen beschädigt, die Gleisobjekte sind fehlerhaft oder es liegt ein ganz anderes Problem vor.


    Ausschluss einer beschädigten Tracks.bin:

    - Eventuell liegen in der Tracks.bin Zeichenfehler oder verschobene/gelöschte/hinzugefügte Zeichen und Zeilen, die die Datei für den TS unlesbar machen. Es wird die letzte Tausch-Version vor dem vollständigen Tauschen eingefügt. Läuft die Strecke jetzt wieder, muss der Fehler zwischen dieser und der fertigen Version passiert sein. Läuft es nicht, wird die vorvorletzte Version eingefügt - und immer so weiter, bis eine davon funktioniert. Daran kann erkannt werden, ab wann sich der Fehler eingeschlichen haben muss. Sollte nur die ursprüngliche Tracks.bin die Strecke zum laufen bringen, ist es wahrscheinlicher, dass die Gleise an sich den Fehler verursachen.


    Ausschluss von fehlerhaften Gleisen:

    - Hier gibt es zwei Möglichkeiten, herauszufinden, ob und welche Gleise den Fehler verursachen. Die Erste funktioniert nur im Zusammenhang mit dem prüfen der Tracks.bin. Sollte es tatsächlich so sein, dass ab einem bestimmten Backup die Strecke wieder geladen werden kann, so kann man die Gleistypen, die bis zum darauffolgenden backup getauscht wurden, genauer unter die Lupe nehmen. Bei fremden Gleisobjekten kann man beispielsweise eine Neuinstallation ausführen oder das jeweilige Gleisobjekt im Editor testweise verlegen, um zu gucken, ob es geladen werden kann.

    Dies wäre auch die zweite Möglichkeit. Man erstellt eine Teststrecke und aktiviert den Provider mit den neuen Gleisen und legt jedes einzelne von ihnen testweise als Gerade, Bogen und eine Weiche. Crasht der TS bei einem davon, hat man den Übeltäter wohl gefunden.


    - Sonstiges

    Helfen beide Methoden nicht, so muss der Fehler an anderer Stelle liegen. Ab hier kann die Suche aber zur Nadel im Heuhaufen werden, was einen individuellen Lösungsweg erfordert. Sollte man wenig Kenntnisse im Umgang mit Programmierung und der Funktionsweise des TS und seinen Dateien haben, so sind die Aussichten mehr Schlecht als Recht.



    Im Zweifel erwägt man einen Neustart des gesamten Tauschprozesses.



    2. Die Gleise sind nicht vorhanden

    Der einfachste Lösungsweg wäre in diesem Falle gerbe, dass der Provider der Gleise nicht aktiviert ist - allerdings passiert es nur in den allerseltensten Fällen, dass der TS Objekte nicht anzeigt, da der Provider im Editor nicht aktiviert wurde. Normalerweise kann er Objekte dennoch laden. Wahrscheinlicher ist es, dass entweder das gewünschte Gleisset beschädigt oder fehlinstalliert ist, wobei eine Neuinstallation und darauffolgenden genaue Überprüfung, ob die Installation geglückt ist, ausreichend sein sollte; oder aber es wurden Fehler bei der Pfadangabe beim Tauschen über RWTools gemacht - hier also die Einträge genauestens Prüfen, ob die Pfade so korrekt angegeben wurden, oder ob sich Schreibfehler eingeschlichen haben.






    Wenn bis hierhin alles problemlos läuft, herzlichen Glückwunsch!

    Die Gleise sollten nun erfolgreich getauscht sein.


    Die Backups sollte man sich dauerhaft aufheben, schließlich weiß man nie, zu welchen Überraschungen der TS fähig ist...

Teilen

Kommentare 1