Hemiptera Bugtracker at bugs.linux-forks.de

advtrains

The current privilege system is partly unusable and/or dangerous

Send replies to 22@bugs.linux-forks.de or using the Form below.
avatar From: OP
Fri, 06 Jul 2018 21:39:02 -0000

After the change of the privilege it has become IMHO worse to give

players and moderators matching privileges.

Also for special uses only powerful privileges can be given or

needed actions are not possible. So is it currently only with "areas"

possible to change switches or signals in other areas.

(more to follow)

avatar From: OP
Mon, 09 Jul 2018 17:34:01 -0000

Die Rechte für advtrains sollten meiner Ansicht nach in mehr Stufen

aufgeteilt werden.

Für den praktischen Einsatz können dann mehrere dieser Rechte unter

einer weiter en Bezeichnung zusammengefaßt werden

Jede Berechtigung sollte folgende Abstufungen erlauben:

- einfache und erweiterte Nutzung

(nur eigenes oder "alles")

- einfache und erweiterte Änderung

(nur eigene oder "alles")

- einfacher und erweiterter Bau/Zerstörung

...

Manche dieser Berechtigungen machen vielleicht auf den ersten Blick

keinen Sinn, aber je nach Anwendungsfall werden diese doch benötigt.

Für einen normalen Spieler wäre also folgende Auswahl:

Schienen:

- einfache Nutzung

- einfache Änderung

- einfacher Bau/Zerstörung

Signale/Weichen:

- einfache Nutzung

- einfache Änderung

- einfacher Bau/Zerstörung

Züge:

- einfache Nutzung

- einfache Änderung

- einfacher Bau/Zerstörung

Um eigene und fremde (hier: globale Strecken) Weichen und Signale

unterscheiden zu können, kann getestet werden, ob diese einen

"Positionsnamen" haben oder nicht. Ist ein Name vorhanden -> fremdes

Eigentum -> kein Zugriff. Falls ein Eigentümer dabei jedoch gespeichert

werden sollte (und bei den Schiene n), kann natürlich auf diese Methode

verzichtet werden.

Ein normaler Spieler kann dann also auf seinem Gebiet vieles machen,

ohne andere zu stören.

Die Berechtigung "einfach Nutzung der Schienen" würde ich dann auch so

interpretieren, daß ein Spieler, der auf einer vorhandenen Schiene sein

Gebiet am Steuer seiner Lok (etc) verlassen will, durch eine Notbremsung

nach Verlassen seines Gebietes gestoppt wird. Es muß nur sichergestellt

werden, daß der Zug wieder zurückfahren kann.

Eine weiter Anwendung für jemanden in einer "Lokführerausbildung":

Schienen:

- einfache Nutzung

Weichen:

- einfache Nutzung

Züge:

- einfache Nutzung

- erweiterte Änderung

Der angehende Lokführer soll einen (Übungs-)Zug über eine vorhandene

Strecke ste uern können, aber keine Änderungen daran vornehmen. Nur am

(fremden) (Übungs-)Zu g sollen Einstellungen (Anzeige) und (ab-)kuppeln

möglich sein.

Für jemanden, der bei Ausfällen den Betrieb von Zuglinien wieder in Gang

setzen soll, wäre folgendes sinnnvoll:

Schienen:

- erweiterte Nutzung

Weichen/Signame:

- erweiterte Nutzung

Züge:

- erweiterte Nutzung

- erweiterte Änderungen

- (ggf: erweiterter Bau/Zerstörung)

Für einen Streckenbauer:

Schienen:

- erweiterte Nutzung

- erweiterte Änderung

- erweiterter Bau/Zerstörung

Weichen:

- erweiterte Nutzung

- erweiterte Änderung

- erweiterter Bau/Zerstörung

Signale: (falls Signale gebaut werden sollen, wie Weichen)

Züge:

- erweiterte Nutzung

- (weitere Rechte nur, falls unbedingt erfolderlich)

Eventuell wäre es sinnvoll, Weichen und Signale getrennt zu betrachten.

Was noch fehlt, ist die atlatc Berechtigung, die würde ich so wie

jetzt belassen.

Falls also ein Spieler einen Langstreckenzug über fremde Gebiete fahren

darf, braucht dieser nur "erweiterte Schienennutzung", nichts anderes

(soweit die Weichen automatisch geschaltet werden, sonst noch dort

die erweiterte Nutzung)

Für automatisch gesteuerte Züge (ATC/LuaATC) wäre es vielleicht noch

notwendig ein Kommando zu haben, daß fremde Züge von jemandem mit nur

einfacher Schienennutzung dennoch erlaubt sind. Bei ATC zwei Buchstabe,

der eine erlaubt es, der andere löst eine Notbremsung und eine

Chatmeldung aus. Auch als Bedingung für "if" sollte es das geben.

Bei LuaATC genügt es, dies per Kommando feststellen zu können, Aktionen

können dort ja dann frei programmiert werden.

avatar From: Developer
Tue, 10 Jul 2018 06:54:01 -0000

Hallo, und danke fürs Aufschreiben dieser Idee.

Ich hätte aber noch eine Frage:

Wozu braucht man bei Schienen die "Änderung"-Berechtigung? An Schienen kann man an sich nichts bauen.

Mir ist da gerade noch eine Idee gekommen, was Schienen-Ownership angeht. Es wäre natürlich viel zu ineffizient, den Owner für jede einzelne Schiene zu speichern. Was aber gehen würde, wäre, den Owner etwa alle 50 Schienen weit punktweise zu speichern. Dann müsste beim Schienenbauen, wenn in der Nähe eine Schiene existiert, durch eine Funktion 50 Blöcke die Strecke entlanggelaufen werden in jede Richtung, und wenn dort ein Besitzer gefunden wird, dann wird als Protected gezählt.

Dann müsste es noch eine Besitztrenner-Schiene geben, die man verwenden kann um Netze verschiedener Spieler zusammenzufügen. Die kann jeder der Besitzer angrenzender Schienenstränge abbauen, und jeder kann seine Seite für Einfahrt sperren.

Bleibt noch, was passiert, wenn Admins an den Schienen basteln, die ihnen nicht gehören. Ich würde sagen, dann wird einfach der Owner beibehalten, also als neuer Owner der genommen, der die angrenzenden Schienen besitzt.

Es braucht dann noch einen Befehl um den Owner zu ändern. so eine Art rail protection inspector, der owner anzeigen und ändern kann (und welche hinzufügen, wie areas)

Und solche Owner müssten sich an Weichen trennen, sonst ändert man versehentlich das gesamte Netzwerk auf einen anderen Namen...

Im Moment haben wir ja das große Problem dass wir unnprotectete automatisierte Admingleise nicht von unprotecteten spielergebauten Gleisen unterscheiden können, und dieses Problem löst keines der Privilegiensysteme, auch deins leider nicht.

avatar From: OP
Thu, 19 Jul 2018 08:03:01 -0000

> Wozu braucht man bei Schienen die "Änderung"-Berechtigung? An Schienen kann man an sich nichts bauen.

Ich hätte da schon die eine oder andere Idee, aber im Prinzip halte ich es für besser, für Erweiterungen und um ähnliche Möglichkeiten wie bei den anderen Berechtigungen zu haben, eine solche Berechtigung vorzusehen. Es könnte z.B. eine Erweiterung zu advtrains diese Berechtigung benötigen.

> Mir ist da gerade noch eine Idee gekommen, was Schienen-Ownership angeht. ...

Da könnte man doch auch auf die automatisch erstellen Fahrtrouten zurückgreifen, die laufen doch auch die Schienen entlang. Man braucht dann nur eine effiziente Möglichkeit um festzustellen, zu welcher Fahrtstrecke das Gleis gehört und dort kann dann der Eigentümer mitgespeichert werden.

Falls das Gleis derzeit nicht Teil einer Fahrtstrecke ist, bleibt so oder so nichts anderes als die Gleise nach und nach zu untersuchen.

> Dann müsste es noch eine Besitztrenner-Schiene geben, ...

Richtig, wobei ich auch Weichen als solche Besitztrenner betrachten würde.

Ich sehe die Sachen immer etwas wie eine Modellbahn, dabei könnte dann eine Besitztrennerschiene nicht anderes als ein elektrischen Trenngleis sein.

> Bleibt noch, was passiert, wenn Admins an den Schienen basteln, ...

> Im Moment haben wir ja das große Problem dass wir unnprotectete automatisierte Admingleise nicht von unprotecteten spielergebauten Gleisen unterscheiden können, und dieses Problem löst keines der Privilegiensysteme, auch deins leider nicht.

Da würde ich einen anderen Ansatz nehmen, wie wir im Chat auch schon besprochen hatten: Admingleise mit Betonschwellen als Unterscheidungsmerkmal.

Da würde ich wie folgt die Sache handhaben: es gibt zum Verlegen nur normale Gleise. Mit einem Werkzeug (das "Passive Component Naming Tool" ist ja bereits vorhanden) könnte man dann den Status (Admin/normal) und den Eigentümer setzen, und das bis zur nächsten möglichen Trennstelle (anderes Gleis oder Eigentümer der Area wechselt, ggf. einstellbar). Falls Besitztgebiet für einen Spieler endet, könnte auch automatisch ein Besitztrenngleis geswetzt werden.

Diese Information wird dann an beiden Enden in den jeweiligen Trenngleisen (Besitztrenner, Weiche, ...) gespeichert und beim Wechsel des Gleistyps diese automatisch getauscht.

(Für das automatisch Verlegen von Gleisen wäre dann doch ein Admingleis als item sinnvoll)

Auch für Admingleise wäre ein Eigentümer sinnvoll, auch wenn dies keine praktische Auswirkung haben sollte, so ist dies zur Zuordnung für die Zuständigkeit praktisch. Es kann ja auf Servern die Situation geben, daß je nach Region andere Spiele für die Adminstrecken zuständig sind.

Zur Eigenschaft der Gleise:

Normale Gleise gehören prinzipiell dem Spieler, in dessen Bereich diese sind, außer es gibt andere Angaben.

Admingleise gehören grundsätzlich Admins, egal wo diese sind, außer es gibt andere Angaben.

Normale Spiele sollten dann Admingleise nicht befahren können, außer an den Trennstellen ist es erlaubt.

Nochmals zu den Berechtigungen: nach einiger Überlegung meine ich, es sollte die genannten Detailberechtigungen geben, die dann den sichtbare Berechtigungen (wie derzeit 'train_operator' etc) als Teilberechtigungen zugeordnet werden.

Für Sonderfälle könnte dann noch eine Art Berechtigungsausweis als Item existieren, wo dann für diesen einzelnen Spieler die internen Teilberechtigungen einzeln zusammengestellt werden können. Der Vorteil wäre, daß diese Berechtigungen dann mit Ablegen des Ausweises nicht mehr wirksam wären.

Also falls ein Spieler bei Bedarf Störungen beseitigen darf, nimmt dieser diesen Ausweis ins Inventory, kann dann fremde Züge fahren und auch (Admin-)Signal und Weichen ändern und danach wieder den Ausweis "wegpacken", so daß keine Gefahr mehr besteht, aus Versehen etwas zu verändern.

Reply