Status Update #31 - BDL, Teil 8: Stacktrace & Permissions

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Status Update #31 - BDL, Teil 8: Stacktrace & Permissions



      Hey,
      durch Kadcon habe ich ja nun einige Jahre Erfahrung darin was für Probleme bei der Einführung neuer Features und Minecraft-Updates typischerweise entstehen.
      Um hier möglichst schnell reagieren zu können baue ich im Hintergrund einige Hilfen ein. Auf Kadcon habe ich das auch schon in einfacher Form gemacht.




      Da es die Meldung "You don't have permission..." in WorldGuard bestimmt 10x gibt habe ich einfach an allen Stellen noch eine Zahl eingefügt, um schneller den relevanten Code identifizieren zu können. Das kann natürlich irgendwann unübersichtlich werden und es kommt auch gerne mal der Hinweis von Spielern "da ist eine Zahl am Ende zu viel" ^^ - stimmt die ist nur für mich ab und zu wichtig.


      Im Video sieht man die Funktion, die ich zuletzt eingebaut habe. Dabei ist für Meldungen wie "Du kannst hier nicht abbauen, das Grundstück gehört dir nicht" automatisch hinterlegt an welcher Stelle im Code diese Meldung entstanden ist. Dies erlaubt mir immer sofort den Ursprung der Meldung zu finden und ich muss gleichzeitig nicht immer prüfen, ob die Zahl am Ende nicht vielleicht doch irgendwo doppelt im Code ist. Weiterhin kann man die Meldung mit einem Klick direkt Kopieren - das beugt Tippfehlern vor und ich komme schnelle an die Nachricht, die der Spieler sieht. All diese Informationen in die Serverconsole werfen macht nicht so viel Sinn, da die meisten dieser Meldungen korrekt sind und in der Regel dem Spieler nur nicht bewusst ist, dass soweit alles passt (steht ausversehen nicht auf seinem Grundstück o.Ä.).




      Im Bild sieht man dann die Zeile, in der die Meldung entstanden ist. Sie ist an allen Stellen im Code gleich und einfach zu erstellen. Eine Chat-Zeile mit Farben, Hover-Text und Click-Event braucht normalerweise einiges an Aufwand. Dabei wird der Code dann schnell unleserlich. Durch das hier angesprochene System wird die Handhabung wesentlich einfacher und auch das "i" am Ende der Chat-Zeile wird automatisch eingefügt um klar zu signalisieren, dass hier noch weitere Informationen vorhanden sind.

      Und auch für einen Spieler ist die Nachricht nicht überwältigen, wie Stacktraces in der Programmierung normalerweise sind. Tritt ein Fehler auf, dann bekommt man normalerweise so etwas:



      Stacktrace von welchem Ort eine unbekannte Permission erstmals angefragft wurde.

      Diese Meldungen/Stacktraces sind für Programmierer natürlich sehr hilfreich - für den Spieler aber viel zu obskur. Die Minimalistische Variante ist speziell dann hilfreich, wenn ein Testserver erstmals für Spieler geöffnet wird. Zu diesem Zeitpunkt wir des ganz viele noch nicht korrekt eingestellte Rechte und sehr viele kleine Fehler geben.


      Permissions

      Besonders häufig wird diese Funktion bei der Vergabe von Berechtigungen/'Permissions' hilfreich sein. Auf dem BDL-System habe ich das Permission komplett neu für das Serverkonzept aufgesetzt. Dazu etwas mehr im nächsten Status Update. Im oberen Bild kann man z.B. sehen von welchem Ort aus die Permission "kshop.shopcommands.iteminfo" erstmals abgefragt wurde. Dies kann dabei helfen überhaupt zu wissen, dass diese Permission existiert (z.B. wenn man Plugins verwendet die man nicht selber geschrieben hat) oder um zu sehen, dass die Prüfung vielleicht anders hätte stattfinden sollen.
      Grundlegend ist das Permission-System im BDL Projekt so aufgebaut, dass jede Permission einzeln vergeben werden muss es ist nicht erlaubt eine Wildcard direkt zu vergeben (z.B. 'essentials.*' um direkt alle Essentials-Permissions zu erhalten). Die Erklärung warum das so ist folgt dann im nächsten SU ;)





      Bilder
      • 82.png

        30,65 kB, 924×242, 535 mal angesehen
      • cake.png

        22,7 kB, 1.010×242, 517 mal angesehen
      • debugMode.png

        30,64 kB, 1.011×150, 26 mal angesehen
      • trace.jpg

        306,63 kB, 1.936×902, 530 mal angesehen
      • ez.jpg

        50,86 kB, 580×126, 6.687 mal angesehen
      Dateien
      • debugInfo2.mp4

        (1,35 MB, 25.436 mal heruntergeladen, zuletzt: )
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.

      xxxZ0mbiexxx schrieb:

      Hi an alle,
      ganz ehrlich Leute also ich nehme an dass das vielen Mitspielern ein scheiss interessiert und viel lieber wissen möchten wann es kadcon endlich auf 1.13 oder höher schafft.
      Für mich währe sowas zb essenziell wichtig auch für den erhalt von kadcon.


      Sei froh, dass es hier nur Likes gibt und keine Dislikes...

      Jetzt bemüht sich Kade echt Transparenz zu schaffen und uns zu erklären wieso es länger dauert, das er dabei von A und nicht bei Y beginnt ist wohl klar.
      Wenn dir Kadcon bisher nicht gefällt und du so zwingend MC mit weiterne 8 Blöcken benötigst, dann geh doch auf n andern Server, dir scheint man es hier ja nie recht machen zu können.
      Ich denke die meisten, welche Kadcon treu bleiben wollen einen guten Server, einen stabilen Server ohne Laggs usw. das alles bietet Kade, ganz im Gegensatz die möchtegern Konkurenz, die sofort auf jeden Mist updated egal wie instabil es ist, wie viele Daten verloren gehen, wie sehr es laggt oder ob die Wirtschaft von jetzt auf gleich von buggenden Usern in den Allerwertesten getreten wird.
      Kade kümmert sich vorbildlich um Kadcon und würdest du seine Updates lesen, so würde dir auffallen, dass er viel machen kann aber die Woche hat nun mal nur 7 Tage, er kann Zeit nicht herzaubern.
      Ich finde deine Aussage hier äusserst frech, total respektlos und unter aller Sau.

      Ich glaube Kadcon hat auch das Glück, das durch die Warterei die guten Spieler erhalten bleiben und die andern eben entfallen.
      Zumindest empfunde ich da so aktuell.

      Wünsche dir viel Glück und Spass auf einem der andern "Dreck"-Servern.

      PS: Sry, ich mag solche Aussagen gar nicht, wie deine aber ich glaube das kann man raushören, ist aber an und für sich nichts gegen dich persönlich, es liegt rein an deiner Formulierung im Post, solltest du es nicht böse gemeint haben tut es mir Leid, es hört sich aber sehr agressiv-bissig und total verständislos sowie rücksichtslose an. Darum auch ein gleich agressive Antwort auf deinen Post.

      xxxZ0mbiexxx schrieb:

      Hi an alle,
      ganz ehrlich Leute also ich nehme an dass das vielen Mitspielern ein scheiss interessiert und viel lieber wissen möchten wann es kadcon endlich auf 1.13 oder höher schafft.
      Für mich währe sowas zb essenziell wichtig auch für den erhalt von kadcon.

      Hier mein lieber kannst du den Fortschritt sehen den Kade macht, und wenn es dich "einen scheiss" interessiert dann Poste das doch bitte nicht sondern denke es dir.
      Ich finde soetwas extrem Respektlos gegenüber Kade.

      Ich persönlich (und 16 weiteren Personen die einen Daumen nach oben gegeben haben) finde es sehr gut wenn Kade etwas zeigt woran er arbeitet.

      Phil
      Hallo
      Ich muss mich wohl entschuldigen, wenn ich mit meiner Aussage schon an Grenzen gestoßen bin, die für manche Leute zu direkt ist.
      Ich komme aus dem Ruhrpott und da sagt man es nun einmal so wie es ist.
      Ich hätte es auch so formulieren können das es sich lieb und Likefähig anhört.
      Ich bin nun einmal kein Programmierer und brauche harte und konkrete Fakten, die dann so aussehen könnten wie Update auf 1.13 ist bei 85 % und könnte bis Dezember released werden und mein Gedanke war halt das ich nicht der einzige bin, dem solche sachen weniger interessieren oder verstehen muss.

      xxxZ0mbiexxx schrieb:

      Hi an alle,
      ganz ehrlich Leute also ich nehme an dass das vielen Mitspielern ein scheiss interessiert und viel lieber wissen möchten wann es kadcon endlich auf 1.13 oder höher schafft.
      Für mich währe sowas zb essenziell wichtig auch für den erhalt von kadcon.


      Mal abgesehen von der Formulierung würde ich sogar zustimmen, dass es viele so sehen. Ich selber wüsste z.B. auch gerne wann der Zeitpunkt ist.
      Das Problem ist aber eben, dass es immer länger dauert als man denkt. Wenn ich jetzt schätze ist es bestimmt eh falsch.

      Gibts sogar auch eine Regel für: Die 90-90-Regel:

      „Die ersten 90 Prozent des Codes benötigen die ersten 90 Prozent der
      Entwicklungsdauer. Die verbleibenden 10 Prozent des Codes benötigen die
      anderen 90 Prozent der Entwicklungsdauer.“

      Kade
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.
      @benimix

      Hatte ich vorher. Verbraucht aber gerne mal zu viel Platz wenn mehrere Unterschiedliche Infos in einem Test sind.
      Beispielsweise: "Du hast drei Konten: MeinKontoⁱ, Rapunzelⁱ, Kevin2ⁱ".
      Mit den "ⓘ" da drinnen sieht die Zeile häufig überladen aus. Eventuell nutze ich es, wenn es nur genau einmal vorkommt.

      Kade
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Ich Teile meine Zeit aktuell: 2,5 Tage 1.13, 2,5 Tage Arbeit, 1 Tag Kadcon. Eine PN-Antwort kann entsprechend länger dauern.