Zum Hauptinhalt springen

Shop-System

Diese Seite beschreibt, wie Server-Admins Katalog, Bestellungen und Abonnements im Tagesgeschäft pflegen.

Für das Verhalten aus Spielersicht und das Gesamtkonzept siehe:

Beteiligte Adminbereiche​

Navigationspfade:

  • Server-Admin → Artikel (Artikel und ihre Kategorien auf einer Seite)
  • Server-Admin → Bestellungen
  • Server-Admin → Transaktionen
  • Server-Admin → Abonnements → Verfügbar
  • Server-Admin → Abonnements → Aktiv

Artikelkategorien pflegen​

Die Kategorien stehen im Seitenmenü von Server-Admin → Artikel, in der Reihenfolge, in der Spieler sie im Shop sehen. Auf dem Telefon ist das Menü eine Leiste über der Liste, die die Kategorienliste öffnet.

  • Mit + Kategorie unter dem Menü legst du eine Kategorie an; die Namen bleiben pro Server eindeutig.
  • Zieh eine Kategorie am Griff links, um die Reihenfolge zu ändern; sie bestimmt auch die Gruppierung im Shop.
  • Der Stift rechts öffnet die Kategorie zum Umbenennen, zum Beschränken auf erlaubte Gruppen oder zum Löschen.
  • Das Löschen einer Kategorie löscht keine Artikelsets; diese verlieren lediglich ihre Kategoriezuordnung und erscheinen unter Ohne Kategorie.
  • Eingeschränkte Kategorien tragen im Menü ein Schloss-Symbol. Fahre mit der Maus darüber, um die erlaubten Gruppen zu sehen.
  • Die Suche über der Liste findet Artikel nach Name oder Klassenname über alle Kategorien hinweg.

Artikelsets pflegen​

  • Artikelsets erstellen und bearbeiten mit:
    • Name, Beschreibung, Bild-URL,
    • Preis,
    • Artikelliste,
    • Verfügbarkeits-Kennzeichen,
    • maximaler Bestellanzahl je Spieler und Zeitraum (einmalig/täglich/wöchentlich/monatlich),
    • erlaubten Gruppen,
    • zugeordneter Kategorie.
  • Das Löschen eines Artikelsets nimmt es aus künftigen Käufen heraus; frühere Bestellungen bleiben in der Bestellhistorie sichtbar.
  • Eingeschränkte Artikelsets sind unter Server-Admin → Artikel mit einem Schild-Symbol markiert. Fahre mit der Maus darüber, um die erlaubten Gruppen zu sehen.

Wie sich ein Artikelset verkauft​

Jedes Artikelset in der Liste zeigt, wie viele Stück in den letzten 30 Tagen verkauft wurden. Sortiere nach Verkauft (30 Tage), um deine Bestseller zuerst zu sehen, oder dreh die Reihenfolge um und finde die Ladenhüter.

Ein Klick auf eine Zeile öffnet weiter den Editor, damit du viele Artikelsets hintereinander pflegen kannst. Oben im Editor steht, wie viel in den letzten 30 Tagen verkauft wurde und wer zuletzt bestellt hat; Details & Statistik öffnet die eigene Seite des Artikelsets:

  • Übersicht: verkaufte Stück, Umsatz, Bestellungen, Käufer und wie viele davon mehrfach gekauft haben, die Erstattungsquote, die letzte Bestellung und der Rang im Shop und in der Kategorie. Wähle 7, 30 oder 90 Tage oder den gesamten Zeitraum; das Diagramm stellt jedem Tag den Vorzeitraum gegenüber.
  • Top-Käufer: die zehn Spieler und Fraktionen, die am meisten gekauft haben. Ein Klick zeigt ihre Bestellungen dieses Artikelsets.
  • Bestellungen: alle Bestellungen mit diesem Artikelset, die neuesten zuerst, mit den üblichen Bestellfiltern.

Es zählen nur echte Käufe: Stornierte und erstattete Bestellungen, erstattete Stückzahlen, Nachlieferungen und vom Team angelegte Bestellungen bleiben außen vor. Der Umsatz ist, was der Käufer bezahlt hat; ein Gutschein-Rabatt wird auf die Bestellung verteilt. Bestellungen vor Februar 2026 haben keinen Stückpreis gespeichert, ihr Umsatz wird aus der Bestellsumme geschätzt.

Fahrzeuge gehören in Abos, nicht in Artikelsets​

Eine Bestellung wird einmal gespawnt, beim Neustart, der sie ausliefert, und das Spiel speichert sie nicht von selbst. Was ein Spieler ins Inventar, in ein Zelt oder in eine Kiste legt, bleibt; was noch in der Welt herumliegt, ist beim nächsten Neustart weg. Ein Fahrzeug kann man nicht aufheben – ein Auto, Lkw, Boot oder Motorrad als Artikelset hält also nur bis zum nächsten Neustart.

Verkaufe Fahrzeuge stattdessen als Spawn-Abo: dzbot setzt das Fahrzeug über die events.xml an die Stelle, die der Spieler wählt, und genau diese Fahrzeuge verschont auch ein Fahrzeug-Wipe. Ersatzteile – Räder, Türen, Batterien – sind als Artikelset in Ordnung.

Der Artikel-Editor warnt, wenn ein Artikelset ein Fahrzeug enthält, ebenso der AI Companion. Speichern kannst du trotzdem, und er kennt nur die Vanilla-Fahrzeuge, keine gemoddeten.

Shop von einem anderen Server kopieren​

Betreibt deine Organisation mehrere Server, kann ein neuer mit dem Shop eines bestehenden starten statt mit einem leeren Katalog. Öffne Server-Admin → Artikel → Von anderem Server kopieren (oder wähle im Shop-Schritt des Setup-Assistenten Von anderem Server) und wähle den Server, von dem kopiert wird.

  • Die Kopie ist eins zu eins: Kategorien in ihrer Reihenfolge, Artikelsets mit Preisen, Artikellisten, Verfügbarkeit, Bestelllimits je Spieler, Beschreibungen und allen Übersetzungen sowie die Abo-Angebote.
  • Jedes Bild wird in den eigenen Speicher dieses Servers kopiert. Bearbeitest oder löschst du später einen Artikel auf dem anderen Server, ändert das an diesem Shop nichts – und umgekehrt.
  • Gruppen-Einschränkungen hängen an den Gruppen eines Servers. Eine Einschränkung wird übernommen, wenn dieser Server eine Gruppe mit demselben Namen hat (Groß- und Kleinschreibung egal). Für jede Gruppe, die es hier nicht gibt, fragt das Kopieren vorher nach: auf eine Gruppe dieses Servers übertragen, die Kategorien und Artikel als im Shop nicht verfügbar übernehmen oder sie gar nicht übernehmen. Eine nicht übernommene Kategorie nimmt alle ihre Artikel mit; ein Artikel mit mehreren fehlenden Gruppen fällt weg, sobald eine davon nicht übernommen wird. Was als nicht verfügbar kopiert wurde, listet das Ergebnis mit der fehlenden Gruppe: Leg die Gruppe an oder ändere die Einschränkung und schalte dann Im Shop verfügbar wieder ein.
  • Hat dieser Shop schon Artikel oder Kategorien, wählst du Ergänzen (alles bleibt; Kategorien mit gleichem Namen werden zusammengeführt) oder Ersetzen (die Kategorien, Artikel und mitkopierten Abo-Angebote dieses Shops werden vorher gelöscht). Beim Ersetzen verschwinden diese Artikel auch aus Warenkorb und Favoriten der Spieler.
  • Bestellungen, aktive Abos, Gutscheine und Shop-Einstellungen werden nicht kopiert.
  • Angeboten werden nur Server derselben Organisation, auf denen du Artikel bearbeiten darfst. Du brauchst itemsets.edit auf beiden Servern und hier zusätzlich itemsets.delete zum Ersetzen. Abo-Angebote kommen mit, wenn du auf dem anderen Server subscriptions.view_available und hier subscriptions.create_available hast (zum Ersetzen auch subscriptions.delete_available); sonst lässt die Kopie sie weg und sagt das.
  • Jede Kopie steht im Audit-Protokoll.

Bestellvorgänge für Admins​

  • Die Übersicht hat ein Suchfeld für Bestellcode, Artikelset-Namen und Spielernamen, dazu Filter für Status (mit Anzahl), Spieler, Fraktion, Artikelset, Artikel, Bezahlt aus und Bestellzeitraum. Filter, Suche, Sortierung und Seite stehen in der URL, eine gefilterte Ansicht lässt sich also als Link teilen.
  • Jede Bestellung wird mit einem vierstelligen Code wie #7KQM angezeigt — Spielern in ihrer Bestellübersicht, ihrer Kontohistorie und in Discord, dem Team hier. Der Code ist zufällig und verrät nichts über das Bestellvolumen; lass ihn dir vom Spieler nennen, wenn er ein Problem mit einer Bestellung meldet. Auch die globale Admin-Suche findet Bestellungen über den Code.
  • Das manuelle Anlegen einer Bestellung unterstützt:
    • Zielspieler (optional),
    • Koordinaten aus einem Ort oder manuell eingegeben,
    • Artikelsets und manuelle Artikelzeilen.
  • In den Bestelldetails stehen drei zentrale Vorgänge zur Verfügung:
    • Stornieren (nur unausgeliefert): markiert die Bestellung als storniert.
    • Erstatten (nur ausgeliefert): anteilig oder vollständig nach Menge, mit Pflichtbegründung und Gutschrift auf das Spielerguthaben.
    • Erneut ausliefern (nur ausgeliefert): erzeugt eine kostenlose Folgebestellung, die mit der ursprünglichen verknüpft ist.

Hinweise für den Betrieb:

  • Die erneute Auslieferung ist mengenmäßig durch die bisherigen Wiederauslieferungen begrenzt.
  • Erstattungen werden je Bestellposition mengenbasiert nachgehalten, damit nicht mehr erstattet wird als gekauft wurde.

Transaktionsübersicht für Admins​

  • Die Übersicht ist rein lesend und dient der Prüfung der Geldflüsse auf dem Server.
  • Filter gibt es für Spieler, Beschreibung, Zeitraum, Betragsbereich und Kategorie.
  • Nutze sie, um Erstattungen, Überweisungen, automatische Auszahlungen oder Guthabenänderungen durch Admins nachzuvollziehen, bevor du in einen einzelnen Spieler einsteigst.
  • Direkte Guthabenänderungen passieren weiterhin unter Server-Admin → Spieler → Spielerdetails → Transaktionen.

Abonnementvorgänge für Admins​

Ein Abo-Angebot liefert eines von zwei Dingen:

  • Spawn – ein Gegenstand, Fahrzeug oder Tier an einer Position, die der Spieler wählt, bei jedem Restart.
  • Mitgliedschaft – die Mitgliedschaft in einer Zugriffsgruppe, solange das Abo läuft, optional mit einer Discord-Rolle. Was sie freischaltet, bestimmen die Rechte der Gruppe: Mit player.server.prioritized verkaufst du Prio-Zugang; ein an die Gruppe gebundener Coupon gibt Mitgliedern Rabatt im Shop.

Jedes Angebot hat bis zu zwei Preise, du entscheidest welche:

  • Ingame-Preis – bezahlt vom Guthaben des Spielers (bei Spawns auch aus der Fraktionskasse), entweder bei jedem kostenpflichtigen Restart oder einmal im Monat. Leer lassen, um nur gegen Euro zu verkaufen.
  • Euro-Preis pro Monat – bezahlt per Karte über dein eigenes Stripe-Konto, siehe Monetarisierung. Leer lassen, um nur gegen Ingame-Geld zu verkaufen. Euro-Preise brauchen eingerichtete Zahlungen für deine Organisation. Der Preis steht in der Buchungswährung deiner Organisation – eine US-Organisation legt zum Beispiel US-Dollar fest und rechnet in US-Dollar ab.

Monatsabos werden im Voraus abgerechnet und verlängern sich jeden Monat am selben Tag, bis der Spieler kündigt; eine Kündigung wirkt zum Ende des bezahlten Monats. Kann eine Verlängerung nicht bezahlt werden, ruhen die Leistungen (die Gruppe wird entzogen, nichts spawnt) und der Spieler bekommt eine Discord-Nachricht; Ingame-Verlängerungen werden täglich neu versucht, Euro-Verlängerungen von Stripe. Nach 7 Tagen ohne Zahlung endet das Abo. Der Preis wird bei der Buchung festgeschrieben – eine Preisänderung gilt nur für neue Buchungen.

Stufen-Reihen fassen Angebote wie Bronze, Silber und Gold zusammen. Ein Spieler hat höchstens ein Angebot einer Reihe. Ein Upgrade gilt sofort und kostet die Differenz für den Rest des Monats; ein Downgrade gilt ab der nächsten Verlängerung und kann bis dahin zurückgenommen werden. Reihen legst du im Angebots-Tab unter Stufen-Reihen an und wählst dann in jedem Angebot Reihe und Stufe.

  • Verfügbare Abonnements (Angebote): Vorlagen, die Spieler kaufen können.
    • Erstellen, bearbeiten, aktivieren/deaktivieren. Löschen geht nur, solange keine Abos des Angebots laufen; deaktiviere es stattdessen, laufende Abos bleiben dann bestehen.
  • Aktive Abonnements: konkrete Abos von Spielern und Fraktionen, filterbar nach laufend, beendet oder alle.
    • Erstellen/bearbeiten, Besitzer wechseln und Ortsangaben von Spawn-Abos aktualisieren.
    • Beenden – sofort oder zum Ende des bezahlten Monats, optional mit Erstattung der letzten Zahlung (Ingame oder über Stripe). Beendete Abos bleiben als Verlauf sichtbar.
    • Der Reiter Verlauf eines Abos zeigt alles, was mit ihm passiert ist, das Neueste zuerst: Respawns, Pausen, Kündigungen und deren Rücknahme, Stufenwechsel, Änderungen an Besitzer, Position und Preis, das Ende – jeweils mit Zeitpunkt, wer es war (ein Spieler, der Companion, Stripe, der Abrechnungslauf oder eine Sperre) und was sich von was zu was geändert hat – zusammen mit jedem abgerechneten Restart oder Monat (abgerechnet, kostenlos, mangels Guthaben ausgelassen, Spawn fehlgeschlagen, erstattet). Dort schaust du nach, wenn ein Spieler fragt, warum sein Fahrzeug weg ist oder nichts abgebucht wurde; der KI-Companion liest denselben Verlauf.
    • Die Filterleiste grenzt die Liste ein nach Suchbegriff (Code, Beschreibung, Item oder Besitzer), Status (standardmäßig laufend, beendet oder alle), Spieler, Fraktion, Abos ohne Besitzer, Typ, Item-Klasse, Währung, Preis und ob das Abo aktiv ist.

Eine dauerhafte Sperre beendet die Abos des Spielers auf diesem Server zum Ende des bezahlten Monats (pro Restart abgerechnete sofort); erstattet wird nichts. Wird die Sperre vorher aufgehoben, läuft das Abo weiter. Zeitlich begrenzte Sperren ändern nichts.

Jeder Schritt eines Abos – begonnen, verlängert, Zahlung fehlgeschlagen, beendet – löst das Ereignis player_subscription_changed aus, sodass Actions neue Mitglieder begrüßen oder dein Team informieren können.

Wenn ein Abonnement nicht spawnen kann​

Scheitert der Gameserver beim Platzieren eines Abonnements, regelt dzbot das direkt mit dem Käufer statt es dir vorzulegen: Die Abbuchung für diesen Neustart wird automatisch dorthin erstattet, wo sie herkam, und der Spieler sieht an seinem Abonnement die Markierung Spawn-Problem samt Grund. Das ist idempotent — ein erneuter Import desselben Neustarts erstattet nicht doppelt.

Genau deshalb tauchen diese Fehlschläge bewusst nicht in der Server-Diagnose auf: Die Behebung gehört zum gewählten Platz des Spielers, nicht zu deiner Konfiguration.

Ein Fehlschlag zählt für den Neustart, mit dem die Spielsitzung begonnen hat, in der er passiert ist. Meldet die alte Sitzung in ihren letzten Sekunden noch einen Fehlschlag, nachdem der nächste Neustart schon abgebucht wurde, erstattet das diese nächste Abbuchung nicht. Solange der Platz verbaut bleibt, versucht es das Spiel etwa alle anderthalb Minuten erneut. Im Log und bei deinen Aktionen kommt pro Neustart nur der erste Fehlschlag an, nicht jeder neue Versuch.

Wenn du mitbekommen willst, wann das passiert, häng unter Aktionen eine Aktion an das Ereignis subscription_spawn_failed — etwa eine Discord-Nachricht an den Spieler oder an dein Team.

Berechtigungen und Zugriffsrechte​

  • Die Katalogpflege nutzt itemsets.view, itemsets.edit, itemsets.delete. itemsets.view zeigt auch die Verkaufszahlen eines Artikelsets; die Namen der Käufer und die Bestellungen brauchen zusätzlich orders.view.
  • Bestellvorgänge nutzen orders.view, orders.create, orders.refund, orders.change, orders.redeliver.
  • Die Transaktionsübersicht nutzt transactions.view. Guthabenänderungen in den Spielerdetails nutzen players.change_money.
  • Die Abonnementpflege nutzt subscriptions.view_active, subscriptions.create_active, subscriptions.edit_active, subscriptions.delete_active, subscriptions.view_available, subscriptions.create_available, subscriptions.edit_available, subscriptions.delete_available.
  • Die Nutzung von Abonnements durch Spieler ist davon getrennt: subscriptions.use.

Achte darauf, dass deine Rollenvorlagen die nötigen Rechte auf Aktionsebene enthalten und nicht nur die grobe Sichtbarkeit eines Bereichs.

Verwandte Dokumentation​