Skip to content
topological-state edited this page Feb 18, 2023 · 10 revisions

STSkit / STSdispo

github-social-abstract

English

STSkit provides graphical data analysis tools such as graphical timetable, track allocation and connection matrix that help you to play Stellwerksim more efficiently. Stellwerksim is a collaborative online railroad traffic controller simulation game.

STSkit also implements a plugin client interface in Python that you can use in your own plugin development.

Main features

The main program STSdispo features the following graphical modules:

  • Graphical and textual timetables
  • Track allocation diagram
  • Entrance/Exit tables
  • Connection matrix
  • Event ticker
  • Network graph (experimental)

The project lays a focus on analyzing original schedule data, effective run times and (as low as possible) user configuration to visualize important data for efficient train disposition.

The plugin client interface exposes the complete Stellwerksim plugin interface in a Python object structure. All client-server communication is asynchronous, based on the trio library.

Like Stellwerksim, the user interface and documentation are in German.

Deutsch

Stellwerksim ist ein kollaboratives, Online-Stellwerksimulatorspiel. Das STSkit-Paket enthält verschiedene Plugins zu Stellwerksim, die dich beim Spiel unterstützen. Das Hauptprogramm STSdispo bietet eine Reihe von grafischen Werkzeugen wie Bildfahrplan, Gleisbelegung und Anschlussmatrix. Es liest die Live-Daten des laufenden Spiels aus, stellt sie grafisch dar, und unterstützt dich bei der Disposition.

STSkit enthält eine Implementierung der Stellwerksim Plugin-Schnittstelle in Python, die du auch in eigenen Projekten verwenden kannst.

Hauptmerkmale

  • Grafische und tabellarische Fahrpläne
    • Automatische Verspätungsprognose entlang der Zugketten mit Berücksichtigung der verschiedenen Betriebsvorgänge.
    • Korrekturmöglichkeiten und Erfassung von Abhängigkeiten (Anschlüsse, Kreuzungen, Überholungen)
  • Gleisbelegungsplan
    • Warnung vor Gleis- und Sektorkonflikten
    • Hervorhebung von Kupplungsvorgängen
  • Einfahrts- und Ausfahrtstabellen
    • Abschätzung der effektiven Ein- und Ausfahrtszeiten
  • Anschlussmatrix
  • Ereignisticker
  • Asynchrone, objektorientierte Python-Schnittstelle für Stellwerksim-Plugins

Der Fokus des Projekts liegt auf der Auswertung von Fahrplandaten und der aktuellen Betriebslage, um eine möglichst reibungslose Disposition der Gleisanlagen zu ermöglichen. Verspätungen werden entlang der Zugketten hochgerechnet und können vom Fdl korrigiert werden.

Entwicklungsstand

In der aktuellen Version leistet mir STSdispo bereits wertvolle Dienste beim Spielen von Stellwerksim. Das Programm hat allerdings noch einige Mängel, speziell was die Anwenderfreundlichkeit betrifft. Wer den maximalen Nutzen ziehen will, wird nicht darum herum kommen, Konfigurationsdateien von Hand zu bearbeiten. Ich hoffe trotzdem, dass das Programm für die einen oder anderen nützlich ist und bitte um Nachsicht und Geduld, wenn nicht alles reibungslos funktioniert.

Als Alleinentwickler kann ich leider keine Garantien abgeben und nicht auf alle individuellen Problemfälle eingehen. Helft euch bitte auch untereinander, in den Discussions, im STS-Forum oder im STS-Chat. Offensichtliche Fehler könnt ihr unter Issues melden, Wünsche in den Discussions.

Hauptsächliche Mängel

  • Die Plugin-Schnittstelle kennt nur Gleise, keine Bahnhöfe. Die Zuordnung von Gleisen zu Bahnhöfen ist daher oft fehlerhaft und muss von Hand in Konfigurationsdateien korrigiert werden.
  • Die Streckenberechnung ist in einigen Stellwerken fehlerhaft, z.B. in solchen mit Schnellfahrstrecken, die über unsichtbare Bahnsteige mit dem Stammnetz verbunden sind, ohne dass effektiv ein Gleis besteht.

Mitarbeit

  • Erfahrene Python-, Matplotlib- und Qt-Entwickler dürfen gerne beitragen.
  • Hosting von ausführbaren Programmdateien.