ich habe schon öfter drüber nachgedacht, Projekte zu probieren, die die Nutzung von Stellwerksim vereinfacht, bzw die neue Funktionen hinzufügt.
Dabei stoße ich aber immer wieder an das gleiche Problem: Es gibt keine öffentliche API-Schnittstelle für die Daten des Stellwerksim.
Ich weiß, dass es bereits Endpunkte gibt, die von den Stellwerksim-Seiten selber verwendet werden, um Daten dazustellen. Allerdings sind diese ja nicht öffentlich, und weder dokumentiert, noch offiziell zur Nutzung freigegeben.
Deswegen meine Frage: Ist es möglich, eine öffentliche Schnittstelle für die Daten des Stellwerksim zur Verfügung zu stellen?
Dabei würde ich die Daten in zwei Klassen einteilen:
Die allgemeinen Daten zu den Stellwerken:
- Liste der Regionen
- Liste der Stellwerke einer Region
- Daten eines Stellwerks (Name, ID, Beschreibung, Link zur Vorschau, ...)
- Aktive Themen und Themenplan
- geplante Spieleabende
- Welche Stellwerke von wem belegt sind
- Welche Züge in welchem Stellwerk sind
- Welche Züge im Rahmen eines Spieleabends umgeleitet werden
- Abfrage des Zuglaufes eines Zuges
Auch wäre es cool, Zugriff auf den Chat zu bekommen. In welcher Form, wäre noch zu klären, aber eine generelle Möglichkeit der Kommunikation mit Spielern über den Chat würde auch Anwendungen ohne Website ermöglichen, also quasi Chatbots mit verschiedenen Funktionen.
Apropos Funktionen, wofür würde ich (und sicher auch andere Entwickler hier) den ganzen Quark gerne nutzen?
Nun, da gibt es verschiedene Szenarien, zum Beispiel zur Entwicklung eines Leistandes für Spieleabende, oder zur Einführung eines Reputationssystems für Spieler. Ich denke, viele andere Menschen hier haben selber auch Ideen für den Stellwerksim, die nur mit der aktuellen Plugin-Schnittstelle kaum oder nicht zu lösen sind.
Mir ist bewusst, das insbesondere Daten aus der zweiten Klasse teilweise nur für den internen Gebrauch bestimmt sind, und auch mit einer Chatfunktion viel Müll angestellt werden könnte. Und außerdem sind einige Systeme im Hintergrund bestimmt nicht für viele Anfragen ausgelegt. Allerdings könnte man die API nicht öffentlich zugänglich machen, sondern für die Nutzung einen API-Key erforderlich machen, der erst nach schriftlichem Antrag im Forum und einer Zustimmung durch die Administratoren/Developer erteilt wird. Mithilfe dieses Keys könnte gleichzeitig ein Log geschrieben werden, um im Zweifelsfall Nutzer mit bösen Absichten schnell erkennen zu können, und auch für alle Benutzer ein Rate Limit festzulegen, also eine maximale Anzahl von Anfragen an die API in einem gewissen Zeitraum.
Auch wäre eine Zusammenführung mit der aktuell bereits vorhandenen Plugin-Schnittstelle im Simulator denkbar.
Ich weiß, dass ich hier gerade nach ziemlich viel frage, und die Umsetzung nicht einfach wird, aus datenschutzrechtlicher, technischer, und sicherheitlicher Perspektive. Allerdings würde so eine API den Bau von Anwendungen für den Stellwerkssimulator ermöglichen und so den Spielspaß weiter erhöhen. Mir ist auch bewusst, dass sowas nicht von heute auf morgen geht, aber vielleicht könnte man das als Perspektive für die nächsten Monate langfristig planen.
Liebe Grüße
Logii