Größere Bahnhöfe cheaten mit "Cheat Engine"

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Der Ablauf ist wie folgt:


    1. Script in Cheatengine laden
    2. In Cheatengine nach dem TF-Prozess suchen
    3. Script aktivieren
    4. Ins Spiel wechseln
    5. Beim Bahnhofbau mit den Buttons für [1] bzw. [5] Gleise die Anzahl der Bahnsteige verringern bzw. erhöhen.
    Beispiel: Auf [4] klicken und dann 3x auf [5] klicken und man hat einen 7-gleisigen Bahnhof


    Ich habe die alte Anleitung mit den "Tasten-Drücken-Scripts" nur verlinkt, damit Leute ohne Hintergrundwissen ein paar bunte Bilder zum Thema "Wie aktivire ich ein Cheat Engine Script" bekommen. Um Missverständnissen vorzubeugen, werde ich wohl nochmal eine eigene Anleitung machen. Das passiert aber erst, wenn ich morgen dann hoffentlich wieder mehr aktive Hirnzellen habe. Jetzt fall ich erstmal ins Bett. :sleeping:

  • @IiI ich würde dir empfehlen dein Tool in die Webdisk hoch zu laden. Das hat den Vorteil das du direkt beim Download die passende Beschreibung hast und man sich nicht jedes mal durch alles Beiträge in diesem Thema klicken muss.
    Des weiteren ist da die Möglichkeit ein Update der hochgeladenen Datei zu machen wesentlich Besser als hier in einem Beitrag.
    Also am besten in https://www.transportfever.net…/Filebase/15-Script-Mods/ hochladen und hier einfach nur den Link teilen fertig ;)

  • Ich habe die Scripts bisher bewusst hier im Thread "vergraben", weil ich keine Ahnung habe, ob diese Art der Veränderung des Programmcodes nun legal ist oder nicht. Üblicherweise haben viele Softwarehersteller etwas gegen Reverse-Engineering und ich wollte da keine schlafenden Hunde wecken. Solange nur ein paar User das Ganze nutzen, wird es im Allgemeinen ignoriert. In der LICENSE.txt von UG steht leider außer "All rights reserved" und den Lizenzen der verwendeten Open-Source-Komponenten absolut gar nichts drin.


    Ein weiterer Grund, warum ich Cheat Tables in der (deutlich besser besuchten) Downloadsektion für problematisch halte, ist eine (potentielle) Gefährdung der Nutzer. Ein unbedarfter Nutzer würde ggf. auch eine ein paar hundert Kilobyte große Cheat Table als "Normal" erachten und benutzen. Was für Code da aber ggf. noch zusätzlich in das Programm gesteckt wird, kann er ohne Ahnung von Assembler gar nicht einschätzen. Im Gegensatz zu den normalen Mods auf der Seite geht es hier um auf einem fremden Rechner ausgeführten Programmcode - ggf. mit Administratorrechten. Da könnte man alles reinstecken und die Seitenadmins müssten jede .CT-Datei im Downloadbereich händisch prüfen, ob sie vielleicht gefährlich ist (Es könnten im Laufe der Zeit ja auch andere Leute irgenwelche "Superscripts" hochladen). Theoretisch müssten sie natürlich auch meine Dateien hier im Thread kontrollieren. *hust*


    Um jetzt mal ein anschauliches Beispiel zu bringen: Train Fever verwendet einen automatischen Bugreporter. Es dürfte durchaus mit akzeptablem Aufwand möglich sein, diesem andere Zieladressen zu geben und ihn öfters mal (z.B. ein paar mal bei jeden "Tick") aufzurufen. Wer TF zum Bug-Reporten schonmal durch seine Firewall gelassen hat, könnte so ohne etwas zu bemerken seinen Rechner in einen DDoS-Angreifer verwandeln - im Einfachsten Fall "nur" gegen den UG-Server.


    Das ist auch einer der Gründe, warum Cheat Tables den herkömmlichen Trainern vorzuziehen sind: Der Nutzer kann - sofern er wenigstens etwas vom Programmieren versteht - überprüfen, ob er evtl. bösartigen Code in sein Spiel einschleust. Wenn zuviel Code da ist und irgendwelche Funktionen aufgerufen werden, ist üblicherweise etwas faul.

  • Security by obscurity funktioniert nicht. Wer vor hat, Train Fever für eine DOS-Atackke zu missbrauchen, der hat genug Wissen, um das ohne Dein Skript hin zu bekommen. Die Änderungen daran wären ja nicht trivial. Außerdem gibt es einfachere Wege für besagte Attacke.

    Des weiteren bin ich der Meinung, dass Rangieren ein sinnvolles Feature dieses Spiels wäre.

  • Es geht mir hier nicht unbedingt um mein Script. Es geht mir mehr um den Präzedenzfall:



    Wenn ich in der Downloadsektion sowas hochladen darf, könnte jemand anderes auf die Idee kommen sowas auch zu machen. Natürlich umfasst die Reichweite der Downloadseite auch nur ein paar hundert Leute, d.h. die Wahrscheinlichkeit, dass ein Scriptkiddie ernsthaft so einen Angriff ausführt ist sehr nahe an Null. Ob das Risiko relevant ist sollte aber m.M.n. die Seitenadministration entscheiden. Wichtiger noch: Ich will nicht unbedingt etwas einer breiteren Öffentlichkeit (Sprich: Vermutlich mehr als die bisher zwei duzend Downloads) zur Verfügung stellen, was sich als illegal herausstellen könnte. Auch da sollte man die Fancommunity-Seite jetzt nicht unnötig in die Schusslinie bringen.


    Ich werd morgen erstmal im UG Supportforum nach der Legalität der Table-Geschichte fragen.

  • Im Gegensatz zu den normalen Mods auf der Seite geht es hier um auf einem fremden Rechner ausgeführten Programmcode

    Naja, im Zweifel schreib ich ein Lua-Skript mit in die info.lua, der eine Exe - getarnt als .msh.blob - ausführt. Zock bin ich auf deinem Rechner und du weist nicht mal davon im Zweifel. In TF kann auf os.execute von lua zugegriffen werden und damit Kommandozeilen-Befehle ausführen. Also von daher....


    Aber ich finds gut das du dir darüber gedanken machst :thumbsup: .

  • Unabhängig zu deinen Befürchtungen kann ich dir nur ein großes Lob aussprechen. Das Script läuft einwandfrei. Ist zwar erst gewöhnungsbedürftig, dass man nicht mehr direkt einen 5er bauen kann, dennoch eine sehr gute Erweiterung.


    Inwiefern veränderst du denn ihren Code? Greift CheatEngine nicht auf die Prozessdaten im Speicher zu?

    Xubuntu 18.04 64bit – MSI Z170A GAMING PRO Carbon – Intel Core i7-6700K – ZOTAC GeForce GTX 970 OC (Treiber 384.90) – 40GB DDR4 RAM Transport Fever Build 15434

  • Ich habe gerade vergeblich versucht, mit der alten Methode in TpF größere Bahnhöfe zu bauen, bis ich auf diesen Thread gestoßen bin...


    Kann mir jemand erklären, wie ich einen Güterbahnhof mit mehr als 8 Gleisen bekomme? Entsprechenden Mods habe ich leider nicht gefunden.

  • @GamingPotatoes
    Klar ist das möglich, das bieten ja einige Passagierbahnhöfe wie Hauptbahnhof zu Schwerin oder Liège-Guillemins an.
    Nur hat so viel ich weiß noch niemand eine vergleichbare Mod für Güterbahnhöfe geschrieben (oder überhaupt für die Vanilla-Bahnhöfe). Technisch ist das jedenfalls machbar.


    Ich hatte nur gehofft, dass es auch möglich ist, ohne auf Mods zu warten, z.B. mit cheat engine, aber das scheint ja nicht der Fall zu sein...

  • Wieso eigentlich nicht?

    Im alten TrainFever wurde durch die Auswahl der Anzahl der Gleise in genau einer Speicherstelle diese Zahl abgelegt und von der Game-Engine als Anzahl der zu bauenden Gleise verwendet. Rein zufällig wurde der Wert aber später im Code nicht mehr auf den "gültigen" Wertebereich aus der GUI-Auswahl geprüft, und obendrein konnte der reguläre Bahnhofsbau-Code auch mit größeren Werten umgehen. Das war insbesondere deswegen möglich, weil die Bahnhöfe im Prinzip alle sehr starr nach Schema F strukturiert waren.


    Wenn du dir allein die bereits existierenden Bahnhofsmods für TransportFever ansiehst, dürfte klar sein, dass eine simple Struktur "Anzahl Gleise plus Länge der Bahnsteige" zur Beschreibung eines Bahnhofs längst nicht mehr ausreicht. Insofern ist festzustellen, dass es wohlmöglich jeweils noch individuelle Speicherstellen gibt, in dem jeder einzelne Bahnhof die Anzahl seiner Gleise (auf Basis der Auswahl in der GUI) speichert - aber es gibt keine zentrale Speicherstelle mehr, mit der das Spiel für alle Bahnhöfe global die zu bauende Gleisanzahl festlegt.


    Man müsste also mindestens für jeden Mod (und dabei vermutlich auch noch in Abhängigkeit zu allen anderen geladenen Mods) diese Speicherstelle individuell herausfinden. Da wäre es mit Sicherheit einfacher, einfach den Bahnhofsmod zu modden und ihm eine passende GUI-Auswahlmöglichkeit zu geben.

    Bilder sagen mehr als tausend Worte... (Erweiterte Antwort --> Datei anhängen --> Bild auswählen --> *freuen*)

BlueBrixx