Das BahnPlugin - Was, Wie und Warum?

kid2407

トビアス
Stammi
16. Feb. 2015
699
136
0
27
Garbsen
Hallo alle zusammen,

in diesem Thread möchte ich einmal das BahnPlugin vorstellen, Beispiele für die Benutzung zeigen und erklären warum es das Ganze überhaupt gibt.

Was ist das überhaupt?

Das BahnPlugin ist ein Plugin (Wer hätte das nur gedacht?), welches die Verwaltung von Anschlüssen an die Netherbahn vereinfachen soll und auch den Nutzern hilft den passenden Bahnhof, um zu einem Spieler zu gelangen, zu finden.

Wie benutzt man das?

Grundsätzlich stehen vier Grundfunktionen zur Verfügung. Diese folgen alle auf das Präfix /bahn:
  • /bahn help
  • /bahn get <Spielername / Suchbegriff>
  • /bahn set <Spielername / Stationsname> <Bahnhof>
  • /bahn delete <Spielername>
In Spitzen Klammern <> angegebene Bezeichnungen sind Platzhalter, die mit tatsächlichen Werten gefüllt werden müssen. Erläuterungen zu den einzelnen Kommandos:
  • help: Gibt einen Hilfetext zu dem Plugin und seinen Funktionen aus
  • get <Spielername / Suchbegriff>: Sucht nach Spielern, die dem eingegebenen Suchbegriff entsprechen und ihrem Bahnhof registriert haben. Beispiel: /bahn get k findet sowohl kid2407 als auch Kadse1337. Bereits beim Eintippen werden Vorschläge für Spielernamen gemacht, die dem entsprechenden Suchbegriff entsprechen. Groß- und Kleinschreibung wird nicht beachtet, d.h. man findet mit /bahn get KadSE1337 und /bahn get kadse1337 immer den gleichen Spieler / erhält die gleichen Ergebnisse. Verwendungsbeispiele:
    • /bahn get k => Liefert "Kadse1337" und "kid2407"
    • /bahn get kidq => Liefert keine Ergebnisse
    • /bahn get KadSE1337 => Liefert "Kadse1227"
  • set <Spielername / Stationsname> <Bahnhof>: Setzt den Bahnhof im Eintrag für den angegebenen Spieler. Außer als Server-Operator kann man nur seinen eigenen Bahnhof setzen, verändern oder entfernen. Verwendungsbeispiele (Wenn als kid2407 ausgeführt):
    • /bahn set kid2407 W1 => Erfolgreich hinzugefügt oder verändert
    • /bahn set Kasde1337 O3N2 => Fehlermeldung, keine Berechtigung
  • delete <Spielername>: Entfernt den Eintrag im BahnPlugin. Es gelten die gleichen Beschränkungen wie beim verändern bzw. hinzufügen von Einträgen
Format für die Angabe der Bahnhöfe

Für die Technik-Nerds unter euch: Hier ist die Regex die ich verwende, um einen gültigen Bahnhof zu erkennen: ^[NOSW]\d{1,2}([NOSW]\d{1,2})?$. Für diejenigen für die das wie ein wilder Haufen von Buchstaben, Zahlen und Zeichen aussieht hier einmal die Regeln in normalen Worten:
  • Die Bezeichnung hat maximal 6 Zeichen lang zu sein (ungültig: W23O112)
  • Es müssen entweder 1 oder 2 Paare nach dem Muster Buchstabe + Zahl(max. zweistellig) vorhanden sein. (Himmelsrichtung + Bahnhofsnummer)
  • Gültige Himmelsrichtungen:
    • N => Norden
    • O => Osten
    • S => Süden
    • W => Westen

Warum das Ganze eigentlich?

Ohne eine bessere Orientierungshilfe hätten wie wieder die Probleme von früher, namentlich:



    • Ständige Rückfragen im Chat nach dem Muster: "Wie komme ich zu dir?" "Wo wohnst du?" "Bist du an die Bahn angeschlossen?"
    • Unklarheit bei der Navigierung zu Spielern die gerade offline sind => 5 Minuten studieren von Schilderwänden, nachdem man bis zum Hub gereist ist, u.U. kein Eintrag zu finden oder veraltet
Deshalb wurde dieses Plugin geschaffen - Um Klarheit zu schaffen, dem neuen Bahnsystem gerecht zu werden und den Schilderwänden voller Spielernamen den Kampf anzusagen.


Fazit

Wie ihr nach dem Lesen dieses Beitrags (hoffentlich) findet , bietet das BahnPlugin uns einige Vorteile, die nurnoch wachsen, wenn es von möglichst vielen Personen benutzt wird. Solltet ihr noch Fragen, Beschwerden, Anmerkungen doer Anregungen haben, stehe ich euch in diesem Thread zur Verfügung.

Wen es interessiert: Der Quellcode ist auf GitHub zu finden.

Aktuell ausstehende Features / Anmerkungen / Fehlerbehebungen:

Alle ausstehenden Features etc. finden sich auf GitHub: https://github.com/kid2407/Bahnplugin/issues
 
Zuletzt bearbeitet:
Als Neuling hätte ich folgende Fragen/Wünsche

Als Spieler kann ich ja meinen Bahnhof setzten. Besteht auch die Möglichkeit andere Dinge zu setzen? Vor allem die Farmen wären da für mich interessant. Ja sie sind am Hub an der jeweiligen Linie ausgeschildert aber ohne Angabe wie weit ich fahren muss. Wäre gemütlicher wenn ich vor der Abfahrt kurz checken könnte wann ich aussteigen muss.
 
Als Neuling hätte ich folgende Fragen/Wünsche

Als Spieler kann ich ja meinen Bahnhof setzten. Besteht auch die Möglichkeit andere Dinge zu setzen? Vor allem die Farmen wären da für mich interessant. Ja sie sind am Hub an der jeweiligen Linie ausgeschildert aber ohne Angabe wie weit ich fahren muss. Wäre gemütlicher wenn ich vor der Abfahrt kurz checken könnte wann ich aussteigen muss.

Um das Ganze etwas feiner zu gestalten arbeite ich gerade daran, dass es eine extra Berechtigung gibt, mit der diese "Sonderlinien" eingepflegt werden können. Dann können nicht nur OPs Sachen eintragen sondern auch alle mit dieser speziellen Berechtigung. Aktuell könnten das also nur Mods und Zweistein2.

Wo ich noch unentschlossen bin wie man es machen sollte ist, wer dann was davon bearbeiteten darf. D.h. ob eine Sonderlinie dann von keinem, nur vom Ersteller oder von allen mit der passenden Berechtigung verwaltet werden kann.
 
/bahn set <ort> <bahnhof>

Ganz einfach wie als wenn du deinen eigenen setzen würdest.

Nur das mit dem Hub ist ne Sache die ich implementieren muss dass das als Bahnhof geht ^^
 
Also ehrlich gesagt bin ich der Meinung, dass man Hub nicht genauer spezifizieren muss, da ja alles in dem Ring unten drin ist.

ABER vielleicht kann man als Syntax auch "hub[0-9]" zu lassen. Dann könnte man bei Bedarf noch weitere Ringe unter den aktuellen bauen
 
Wir war eigentlich der ursprüngliche Plan für die beiden Ebenen?

Oben Bahnhöfe an denen sich die Spieler anschließen, unten Direktlinien zu markanten Punkten?
 
Oben sind nur die Hauptlinien. Die führen vom Hub in alle 4 Himmelsrichtungen weg und bilden ein Schachbrettmuster irgendwann.
Und unter jeder Kreuzung befindet sich ein Bahnhof an den sich dann die Spieler anschließen können. So bleiben zum einen die Hauptlinien schön, frei und einheitlich und zum anderen kann alles über das Bahnplugin ganz leicht gefunden und organisiert werden.

Darum bitte die obersten 20 Blöcke im Nether bitte nicht bebauen :)
 
okay. und auf der unteren Ebene sollen dann trotzdem noch Direktlinien zu Spielern angelegt werden? Das ist doch a) doppelt gemoppelt und b) wer nutzt dann die oberen bahnhöfe mit Umsteigen und mitzählen wenn es unten ne Direktlinie gibt?