<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Björn Godeck (Posts about script)</title><link>https://bjoern-godeck.de/</link><description></description><atom:link href="https://bjoern-godeck.de/categories/script.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:contact@bjoern-godeck.de"&gt;Björn Godeck&lt;/a&gt; </copyright><lastBuildDate>Tue, 09 Jun 2026 12:30:07 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Steam: Mehrere (Steam-fremde) Spiele gleichzeitig starten und stoppen</title><link>https://bjoern-godeck.de/posts/steam-mehrere-steam-fremde-spiele-gleichzeitig-starten-und-stoppen/</link><dc:creator>Björn Godeck</dc:creator><description>&lt;h2&gt;Einleitung&lt;/h2&gt;
&lt;p&gt;Dovetail Games hat mit der Train Sim World-Reihe einen umfangreichen Zugsimulator entwickelt, bei dem es jedoch an manchen Funktionen mangelt. So fehlt z.B. der elektronische Buchfahrplan in deutschen Führerständen oder ein direkter support für Controller. Für beides hat die Community selbst Lösungen entwickelt. Über das Tool &lt;a href="https://online-ebula.de/"&gt;online-EBuLa&lt;/a&gt; habe ich bereits in einem &lt;a href="https://bjoern-godeck.de/posts/online-ebula-im-navigationsmodus-ortung-unter-linux-nutzen"&gt;vorherigen Post&lt;/a&gt; geschrieben und erklärt, wie man es in Verbindung mit Linux nutzen kann. Zusätzlich nutze ich die &lt;a href="https://github.com/LiahMartens/tsw-controller-app"&gt;TSW Controller App&lt;/a&gt;, um die Züge mit meinem &lt;a href="https://de.wikipedia.org/wiki/HOTAS"&gt;HOTAS&lt;/a&gt; steuern zu können.&lt;/p&gt;
&lt;p&gt;Das sind jetzt allerdings drei verschiedene Anwendungen, die ich nacheinander manuell starten muss. Um das zu automatisieren, nutze ich ein Skript, das automatisch beim Start meines Steam-Spiels ausgeführt wird. Dieses Skript ist für Linux geschrieben, aber die Funktionsweise ließe sich prinzipiell auch auf Windows übertragen.&lt;/p&gt;
&lt;h2&gt;Skript erstellen&lt;/h2&gt;
&lt;p&gt;Erstelle zunächst in eine Datei in einem beliebigen Ordner&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;touch script.sh
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Füge folgendes in dein Skript ein:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="ch"&gt;#!/bin/bash&lt;/span&gt;

&lt;span class="c1"&gt;# Starte TswEbulaClient und tswcontrollerapp im Hintergrund und speichere jeweils die Prozess-ID&lt;/span&gt;
steam&lt;span class="w"&gt; &lt;/span&gt;steam://rungameid/12413616758731046912&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;span class="nv"&gt;PROTON_GAME_PID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$!&lt;/span&gt;

/pfad/zur/binary/tswcontrollerapp_linux_amd64_binary&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;
&lt;span class="nv"&gt;CONTROLLER_PID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$!&lt;/span&gt;

&lt;span class="c1"&gt;# Starte das eigentliche Steam-Spiel und speichere den Exit-Code, sobald das Spiel beendet wird&lt;/span&gt;
&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nv"&gt;GAME_EXIT_CODE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$?&lt;/span&gt;

&lt;span class="c1"&gt;# Beende TswEbulaClient und tswcontrollerapp anhand ihrer Prozess-IDs und anhand ihrer Namen (Redundanz)&lt;/span&gt;
&lt;span class="nb"&gt;kill&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$PROTON_GAME_PID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&amp;gt;/dev/null
&lt;span class="nb"&gt;kill&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$CONTROLLER_PID&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&amp;gt;/dev/null

killall&lt;span class="w"&gt; &lt;/span&gt;TswEbulaClient.exe&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&amp;gt;/dev/null
killall&lt;span class="w"&gt; &lt;/span&gt;tswcontrollerapp_linux_amd64_binary&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2&lt;/span&gt;&amp;gt;/dev/null

&lt;span class="c1"&gt;# Beende das Skript und gib den Exit-Code des Steam-Spiels aus&lt;/span&gt;
&lt;span class="nb"&gt;exit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$GAME_EXIT_CODE&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Stelle sicher, dass das Skript ausführbar ist:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;sudo chmod +x script.sh
&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;Skript anpassen&lt;/h2&gt;
&lt;p&gt;Die Zahlenfolge im Befehl &lt;code&gt;steam steam://rungameid/12413616758731046912&lt;/code&gt; entspricht der App-ID des Steam-Spiels, das du damit starten willst (nicht das "Hauptspiel", sondern das Programm, das mit dem Hautpspiel gestartet werden soll). Du kannst sie für jedes game auf &lt;a href="https://steamdb.info/"&gt;steamdb.info&lt;/a&gt; oder in den Spieleinstellung (Steam: Spiel&amp;gt;Rechtsklick&amp;gt;Eigenschaften&amp;gt;Updates) finden. &lt;/p&gt;
&lt;p&gt;Für Steam-fremde Spiele, die du zu Steam hinzugefügt hast, um die Proton-Kompatibilitätsschicht zu nutzen, kannst du die App-ID folgendermaßen herausfinden:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In der Steam-Bibliothek: Steam-fremdes Spiel&amp;gt;Rechtsklick&amp;gt;Verwalten&amp;gt;Desktop-Verknüpfungen hinzufügen&lt;/li&gt;
&lt;li&gt;Im Desktop-Ordner ist nun eine neue .desktop Datei. In dieser ist die App-ID enthalten. Nachdem du sie kopiert hast, kannst du die Desktop-Verknüpfung löschen.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Hinweis: Jedes Mal, wenn ein Programm erneut als Steam-fremdes Spiel hinzugefügt wird, wird eine neue einzigartige App-ID generiert.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mit dem Skript kannst du auch Programme starten, die nativ unter Linux laufen, wie z.B. die TSW Controller App. &lt;/p&gt;
&lt;h2&gt;Skript zu den Startoptionen hinzufügen&lt;/h2&gt;
&lt;p&gt;Gib das Skript nun folgendermaßen in die Startoptionen des Spiels ein:&lt;/p&gt;
&lt;p&gt;Steam: Spiel&amp;gt;Rechtsklick&amp;gt;Eigenschaften&amp;gt;Allgemein&amp;gt;Startoptionen&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;"/path/to/your/script.sh" %command% -other_arguments 
&lt;/pre&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;WICHTIG: Der Pfad des Skripts mit dem %command% muss an erster Stelle stehen. Danach können weitere Argumente/Startoptionen folgen.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wenn du nun das Spiel startest, wird automatisch das Skript ausgeführt und alle angegebenen Programme werden gestartet. Sobald du das Spiel schließt, werden auch die anderen Programme automatisch geschlossen.&lt;/p&gt;</description><category>automation</category><category>gaming</category><category>linux</category><category>online-EBuLa</category><category>proton</category><category>script</category><category>train-sim-world</category><category>tsw</category><category>tsw-controller-app</category><guid>https://bjoern-godeck.de/posts/steam-mehrere-steam-fremde-spiele-gleichzeitig-starten-und-stoppen/</guid><pubDate>Mon, 08 Jun 2026 16:57:40 GMT</pubDate></item></channel></rss>