Zugriffskontrolle
Die Zugriffskontrolle in dzbot definiert, wer was auf einem Server tun kann.
Praktisch nutzt dzbot drei Ebenen:
- Benutzerrechte (direkte Rechte auf einem Spieler-Konto)
- Gruppenrechte (Rechte, die über Gruppen geerbt werden)
- Verfügbarkeit eines Abonnements (Server benötigt ein gültiges Abonnement für den dzbot-Dienst)
Fraktionsspezifische Rechte sind im Konzept Fraktionen dokumentiert.
Wie der effektive Zugriff berechnet wird
Für jeden Spieler kombiniert dzbot:
- Direkte Benutzerrechte auf den Spieler
- Rechte aus allen Gruppen, denen der Spieler angehört
- Rechte aus allen serverseitigen Standardgruppen
Namensmuster, das in Rechten verwendet wird:
<modul>.<aktion>(z. B.players.whitelist,groups.edit_access_rights,settings.edit)
Benutzerrechte
Benutzerrechte sind explizite Berechtigungen, die direkt einem bestimmten Spieler zugewiesen werden.
Verwende Benutzerrechte, wenn:
- eine Person eine Ausnahme benötigt,
- du vorübergehenden erhöhten Zugriff benötigst,
- du nicht eine ganze Gruppe ändern möchtest.
Beispiele:
players.whitelistrestrictions.createplayers.change_access_rights
Wo verwaltet:
- Admin -> Spieler -> Spieler-Details -> Einstellungen-Tab
Wann zu verwenden:
Verwende Benutzerrechte nur bei vorübergehenden Ausnahmen, i. d. R. sind Gruppenrechte besser geeignet.
Gruppenrechte
Gruppenrechte sind die Standardmethode zur Verwaltung des Teamzugriffs.
Du definierst Rechte einmal für eine Gruppe und weist Spieler dieser Gruppe zu. Jedes Mitglied erbt diese Rechte.
Wo verwaltet:
- Admin -> Gruppen -> Gruppe -> Einstellungen-Tab -> Benutzerrechte
- Admin -> Gruppen -> Gruppe -> Spieler-Tab, um Mitglieder hinzuzufügen/zu entfernen
Bewährte Praxis:
- Rollebasierte Gruppen erstellen (z. B. Support, Moderation, Ökonomie, Inhalte)
- Benutzer-Level-Overrides minimal halten
- Gruppenänderungen für langfristige Zugriffsänderungen bevorzugen
Häufige Beispiele für Gruppenrechte:
groups.view,groups.create,groups.edit,groups.deletegroups.edit_access_rightsgroups.manage_all_places
Standardgruppen
Standardgruppen sind serverseitige Baseline-Gruppen, die in den Zugriffskontrollen für alle Spieler auf diesem Server berücksichtigt werden.
Dies ist nützlich für eine gemeinsame Baseline-Berechtigungsmenge, ohne jeden einzelnen Spieler manuell zu bearbeiten.
Wo verwaltet:
- Admin -> Einstellungen -> Spieler & Zugriff -> Standardgruppen
Admin-Level-Rechte
Einige Rechte werden als Admin-Level betrachtet und schalten Admin-Panel-Bereiche und -Operationen frei.
Es gibt auch eine Administrator-Berechtigungsebene mit vollen Zugriffsrechten auf Serverebene.
Verwende diese Rechte sehr vorsichtig und nur für vertrauenswürdige Mitarbeiter.
Typische Beispiele mit hohen Auswirkungen:
orders.refundorders.redeliverserver.change_planplayers.impersonate_playertickets.admin_viewtickets.replytickets.assign
Ticket-Rechte sind zwischen Shop-Zugriff und Admin-Zugriff getrennt:
tickets.viewerlaubt Spielern, Shop -> Tickets zu öffnen und ihre eigenen Tickets zu sehen.tickets.create,tickets.send_message,tickets.closeundtickets.archivesteuern Spieleraktionen im Shop-Ticketablauf.tickets.admin_viewschaltet schreibgeschützten Zugriff auf Server Admin -> Tickets frei.tickets.reply,tickets.internal_message,tickets.assignundtickets.change_statussind reine Admin-Ticketrechte und zählen ebenfalls als Admin-Panel-Zugriff.
Verknüpfung zu Hilfslinks der Dokumentation
Die Breadcrumb-Leiste im Admin-Bereich kann einen Hilfslink anzeigen, der die entsprechende Dokumentationsseite öffnet.
Dies wird durch ein dediziertes Zugriffsrecht gesteuert:
documentation.view
Bewährte Praxis:
- Weise
documentation.viewjeder Gruppe zu, die Admin-Panel-Zugriff hat (z. B. Moderatoren, Support, Volladmins) - Halte es aus Spielergruppen fern, um zu vermeiden, dass interne Hilfsdokumentationen im Shop-Frontend offengelegt werden
Abonnementprüfung vs. Rechte
Rechte allein reichen nicht immer aus. Admin- und Shopzugriffe erfordern auch ein aktives Abonnement.
Zugriffe können daher aus zwei Gründen fehlschlagen:
- Fehlendes Berechtigungsrecht
- Inaktives oder abgelaufenes Abonnement (Admin-Routen leiten zu Stripe Manage weiter)
Wenn Mitarbeiter sagen: „Ich habe das Recht, aber keinen Zugriff“, überprüfe zuerst den Abonnementstatus. Admin-Seiten leiten bei Inaktivität zu Stripe Manage um.
Checkliste für Zugriffsprüfungen
Verwende diese Schnell-Checkliste, wenn der Zugriff nicht wie erwartet funktioniert:
„Ich sehe keinen Menüeintrag“
- Überprüfe Gruppen-/Benutzerrechte für das zugehörige Modul/Aktion.
- Überprüfe, ob das Serverabonnement aktiv ist.
„Ich kann eine Seite öffnen, aber keine Aktionen ausführen“
- Anzeigerechte und Bearbeitungs-/Lösch-/Ausführungsrechte sind separate Rechte.
- Erteile das spezifische Aktionsrecht (nicht nur Modul-Anzeigerechte).
„Ein neuer Spieler hat zu viel/zu wenig Zugriff“
- Überprüfe Standardgruppen in den Servereinstellungen.
- Überprüfe, ob der Spieler direkte Benutzerrechte-Overrides hat.
Empfohlener Admin-Workflow
- Erstelle eine kleine Anzahl rollenbasierter Gruppen.
- Weise Modul-/Aktionsrechte diesen Gruppen zu.
- Verwende Standardgruppen für die Basisberechtigung beim Onboarding.
- Verwende direkte Benutzerrechte nur für Ausnahmen.
- Überprüfe hochprivilegierte Berechtigungen (Vollzugriffs-Admin, Rückerstattungen, Einschränkungen, größere Konfigurationsänderungen) regelmäßig.