Zum Hauptinhalt springen

Automationen

Eine Automation lässt deinen Server etwas von selbst tun: jede Nacht um 03:00 neu starten, einen Killfeed in Discord posten, jeden Montag einen Lohn zahlen, eine PvP-Zone fürs Wochenende einschalten und danach wieder aus.

Jede Automation besteht aus denselben drei Teilen:

  • Wann sie läuft — bei etwas, das im Spiel passiert (ein Ereignis), nach Zeitplan oder nur, wenn du sie von Hand startest.
  • Was sie tut — genau eine Aktion: eine der eingebauten Operationen von dzbot, eine Aktion aus dem Marktplatz oder dein eigener Code.
  • Ihre Einstellungen — die Werte, die diese Aktion braucht, dazu optional eine Discord-Nachricht nach jedem Lauf.

Automationen ersetzen die bisherigen Seiten Scheduler und Aktionen. Alles, was du dort hattest, wurde übernommen — siehe Vom Scheduler kommend.

  • Server Admin -> Automationen

Die Seite Automationen​

Die Seite hat eine Liste pro Ansicht:

  • Übersicht — auf breitem Bildschirm in zwei Spalten: links Nach Zeitplan, sortiert nach dem nächsten Lauf, zusammen mit den kommenden Events, die Automationen haben (je eine eingeklappte Zeile, die das Event öffnet), darunter Von Hand; rechts Bei Ereignis, gruppiert nach dem Ereignis, das sie startet. Pausierte stehen in jeder Liste zuletzt.
  • Nach Zeitplan — Automationen, die zu festen Zeiten laufen.
  • Bei Ereignis — Automationen, die auf etwas im Spiel reagieren.
  • Von Hand — Automationen, die nur laufen, wenn jemand Jetzt ausführen klickt.
  • Marktplatz — fertige Aktionen, die du installieren kannst.

Jede Zeile zeigt die Bezeichnung der Automation — „Purge Start“ — und darunter die Aktion, die sie ausführt. Die Automationen deiner Events bearbeitest du am Event.

Jede Liste hat ein Suchfeld und Filter, zum Beispiel nach Art (eingebaut, Marktplatz, eigener Code), nach Ereignis, aktiv oder pausiert und danach, ob der letzte Lauf fehlgeschlagen ist.

Eine Automation anlegen​

+ Automation öffnet eine Leiste mit drei Schritten.

  1. Was — die eingebauten Operationen, gruppiert nach dem, was sie betreffen (Server, Mods, Automationen, Discord), eine Marktplatz-Aktion oder Eigener Code. Wählst du eine Marktplatz-Aktion, klappt die Liste auf diese Aktion zu; Andere wählen öffnet sie wieder.
  2. Wann — was du wählen kannst, hängt von der Aktion ab: Eine Aktion, die für bestimmte Ereignisse gebaut ist, startet nur bei ihnen, und nur eine Operation, die sich rückgängig machen lässt, bietet eine Dauer an.
    • Nach Zeitplan — einmalig zu einem Datum und einer Uhrzeit oder wiederkehrend: stündlich, täglich (ein- oder mehrmals am Tag), wöchentlich (an gewählten Wochentagen, optional nur alle paar Wochen), monatlich an einem Tag des Monats oder monatlich an einem Wochentag (zum Beispiel am ersten Montag). Ein wiederkehrender Zeitplan kann erst ab einem späteren Datum gelten. Optional gibst du eine Dauer an: Die Automation läuft dann über einen Zeitraum und stellt danach zurück, was sie geändert hat.
    • Bei Ereignis — ein oder mehrere Ereignisse im Spiel, etwa ein Kill, ein Login oder ein gebautes Basisteil. Ein optionaler Filter grenzt ein (nur in bestimmten Zonen, eine Entfernung, eine Waffe, Kill-Merkmale, Fraktionen, Gruppen oder Spielervariablen). dzbot prüft den Filter, bevor die Aktion startet — Ereignisse, die nicht passen, kosten nichts.
    • Von Hand — kein Auslöser; die Automation läuft nur, wenn jemand Jetzt ausführen klickt.
  3. Einstellungen — die Einstellungen der Aktion und eine optionale Bezeichnung, die mehrere Automationen derselben Aktion unterscheidet; sie steht statt des Aktionsnamens da. Bei einer Marktplatz-Aktion listet Was es darf ihre Berechtigungen.

Die Zeiten sind in der Zeitzone deines Servers aus den Einstellungen. Wirken Laufzeiten verschoben, prüfe zuerst die Zeitzone.

Was eine Automation tun kann​

Eingebaute Operationen​

OperationWas sie tutÜber einen Zeitraum möglich
Server-NeustartStartet den Gameserver neu, optional mit Countdown-Nachrichten im Spiel vorher.Nein
Servereinstellungen ändernÄndert die Servereinstellungen, die du auswählst.Ja
Mods installieren/deinstallierenSchaltet Mods an oder aus. Wirkt mit dem nächsten Neustart. Ein Mod, der nicht mehr installiert ist, wird übersprungen: Die anderen laufen trotzdem, und der Lauf gilt als teilweise fehlgeschlagen.Ja
Mod-Konfiguration ändernÄndert Felder der Konfiguration eines Mods. Wirkt mit dem nächsten Neustart.Ja
Fahrzeug-WipeEntfernt Fahrzeuge vom Server. Auch bestellte Fahrzeuge wipen (standardmäßig aus) nimmt die Fahrzeuge mit, die Spieler als Spawn-Abo gekauft haben. Für einen einmaligen Wipe sofort nutze Fahrzeuge wipen auf der Seite Einstellungen.Nein
Zone aktivieren/deaktivierenSchaltet Zonen an oder aus.Ja
Discord-Nachricht sendenPostet eine Nachricht in einen Discord-Kanal oder schickt sie als Direktnachricht an Spieler, mit Platzhaltern.Nein
Automation an- oder ausschaltenPausiert andere Automationen oder setzt sie fort — zum Beispiel einen Safezone-Autoban während eines Box-Events.Ja
Einstellungen einer Automation ändernÄndert Einstellungen einer anderen Automation.Ja

Jede Operation braucht das Recht, das du bräuchtest, um dasselbe von Hand zu tun — siehe Rechte.

Marktplatz-Aktionen​

Fertige Aktionen von dzbot und von Creators: Killfeeds, Belohnungen, Autobans, Prüfungs-Automationen und mehr. Die Aktionen-Referenz beschreibt die fertigen Aktionen. Manche hören auf feste Ereignisse im Spiel; andere laufen auf Abruf — nach Zeitplan oder von Hand — und können einen Zeitplan vorschlagen, der beim Installieren vorausgefüllt ist (zum Beispiel Group Wage, jeden Montag um 18:00).

Eine Marktplatz-Aktion, die nur einmal installiert werden darf, läuft auf einem Server nur einmal. Andere lassen sich mehrfach installieren, jede mit eigenen Einstellungen und eigener Bezeichnung (Zone Kill Autoban · Safezone, Trader).

Beim Installieren siehst du, was die Aktion darf — siehe Berechtigungen.

Aktionen von Creators lassen sich auch ohne Anmeldung auf dzbot.de ansehen, siehe Der öffentliche Marktplatz.

Eigener Code​

Mit dem Recht, Code zu bearbeiten, schreibst du dein eigenes Lua-Skript. Den Auslöser wählst du wie bei jeder anderen Automation: Ereignisse im Spiel, ein Zeitplan oder von Hand. Skript, Lua-Funktionen und Konfigurationsfelder beschreibt die Aktionen-Referenz.

Zeiträume​

Eine Automation mit Dauer läuft zu ihrem Start, und wenn die Dauer vorbei ist, stellt sie wieder her, was vorher da war — die vorherigen Einstellungen, den vorherigen Zustand einer Zone, die vorherigen Mods. Einen Wert, den in der Zwischenzeit jemand geändert hat (ein Admin, eine andere Automation, ein Event), lässt sie, wie er ist; die Automation zeigt dann Nicht zurückgesetzt.

Über einen Zeitraum laufen nur Operationen, die sich rückgängig machen lassen. Ein Neustart, ein Fahrzeug-Wipe oder eine Nachricht laufen nur zu einem Zeitpunkt. Ein laufender Zeitraum lässt sich erst ändern oder löschen, wenn er vorbei ist. Schlägt das Zurückstellen fehl, versucht dzbot es weiter.

Für einen Abend mit Anfang und Ende — eine Purge, eine Casino-Nacht — passt oft ein Event ohne Runden besser: Seine Automationen hängen an Start und Ende des Events, und wer es früher beendet, stellt alles zurück.

Neustarts im Neustart-Plan​

Die Lieferzeiten im Shop, die nächste Abbuchung eines Spawn-Abos und die Neustartzeiten auf der Serverseite kommen aus dem Neustart-Plan des Servers: jede aktive Automation nach Zeitplan, die den Server neu starten darf — die Operation Server-Neustart oder eine Marktplatz-Aktion oder eigener Code mit der Berechtigung Server-Neustart. Eine Aktion, die nur unter einer Bedingung neu startet, zählt trotzdem mit, als bezahlter Neustart; ob Abos dabei gratis sind, ist nur bei der Operation Server-Neustart bekannt.

Ausführen, pausieren, kopieren​

Die Seite einer Automation hat die Tabs Einstellungen (wann sie läuft, die Einstellungen der Aktion, die Discord-Nachricht und was sie darf — zusammen gespeichert), Code für eigenen Code und Läufe. Oben stehen der nächste und der letzte Lauf.

  • Jetzt ausführen führt die Automation einmal aus, außerhalb ihres Auslösers (Recht automations.run). Für Automationen über einen Zeitraum gibt es das nicht.
  • Pausieren hält sie an, bis du sie fortsetzt. Eine pausierte wiederkehrende Automation behält ihren Zeitplan und überspringt ihre Läufe.
  • Duplizieren legt eine pausierte Kopie mit denselben Einstellungen an. Die Kopie von eigenem Code bekommt eine eigene Kopie des Codes. Eine Aktion, die nur einmal installiert werden darf, lässt sich nicht duplizieren.
  • Löschen entfernt die Automation — eigener Code geht mit.
  • Eine wiederkehrende Automation geht auch nach einem fehlgeschlagenen Lauf zu ihrer nächsten Zeit weiter. Der Fehler bleibt an ihr stehen, bis ein Lauf gelingt. Eine einmalige Automation, deren Lauf fehlschlug oder nur teilweise lief, bleibt so markiert.
  • Endet dzbot Pro für den Server, werden Automationen übersprungen und laufen weiter, sobald Pro wieder aktiv ist.

Läufe und Discord-Benachrichtigungen​

Der Tab Läufe listet jeden Lauf: wann, ob er geklappt hat, wie lange er dauerte, was das Skript ausgegeben hat und welche Operationen es ausgeführt hat. Darunter die letzten Zustände der Automation (gestartet, wiederhergestellt, übersprungen …).

Unter Benachrichtigung wählst du einen Discord-Kanal und schreibst eine Nachricht, die dzbot nach jedem Lauf postet — oder mit Nur bei Erfolg nur nach erfolgreichen Läufen. Der Discord-Bot muss installiert sein.

Berechtigungen​

Eine Aktion sagt, was sie über das Lesen hinaus darf. dzbot liest diese Berechtigungen aus dem Code der Aktion:

BerechtigungWas sie erlaubtStufe
Discord-NachrichtenIn Kanäle posten und Direktnachrichten sendennormal
SpielervariablenWerte an Spielern speichernnormal
TicketsTickets eröffnennormal
Guthaben buchenGeld auszahlen oder abziehen, Kopfgelder aussetzen oder stornierenerhöht
Discord-RollenDiscord-Rollen vergeben und entziehenerhöht
ModerationSpieler sperren, von Zonen ausnehmen, Prüfungen schließenerhöht
ZonenZonen an- oder ausschaltenerhöht
Andere AutomationenAndere Automationen pausieren, fortsetzen oder ändernerhöht
Server-NeustartDen Server neu startenkritisch
Fahrzeug-WipeFahrzeuge wipenerhöht
ServereinstellungenServereinstellungen ändernkritisch
ModsMods installieren, deinstallieren und konfigurierenkritisch
Externe WebadressenDaten an andere Websites senden und von dort abrufenkritisch
  • Beim Installieren einer Marktplatz-Aktion siehst du ihre Berechtigungen und bestätigst sie. Eine Aktion, die nicht verifiziert ist und eine erhöhte oder kritische Berechtigung verlangt, zeigt vorher eine Warnung.
  • Du kannst nur freigeben, was du selbst darfst. Guthaben buchen freizugeben braucht das Recht, Spielergeld zu ändern, Moderation das Recht, Einschränkungen anzulegen, Server-Neustart das Recht, den Server neu zu starten, Fahrzeug-Wipe das Recht, Fahrzeuge zu wipen, und so weiter.
  • Updates: Aktualisiert ein Creator eine Aktion, laufen deine Automationen sofort mit der neuen Version — außer sie verlangt eine Berechtigung, die du nicht freigegeben hast. Dann laufen sie mit der freigegebenen Version weiter, und die Automation zeigt Update braucht neue Berechtigungen, bis jemand mit dem Recht, den Marktplatz zu verwalten, zustimmt.
  • Eingebaute Operationen und eigener Code gelten mit dem Speichern als freigegeben.

Bis dzbot die Prüfung für alle Server einschaltet, wird ein Aufruf außerhalb der freigegebenen Berechtigungen noch nicht abgelehnt, sondern im Lauf-Protokoll als [PERMISSION] would be refused vermerkt.

Rechte​

  • admin.automations.view — die Seite Automationen sehen.
  • admin.automations.edit — Automationen anlegen und ändern, pausieren und fortsetzen.
  • admin.automations.run — Jetzt ausführen.
  • admin.automations.delete — Automationen löschen.
  • admin.automations.edit_code — eigenen Code schreiben und ändern.
  • admin.automations.manage_marketplace — Marktplatz-Aktionen installieren und ihre Updates freigeben.

Diese Rechte ersetzen die bisherigen Scheduler-Rechte (admin.scheduler.*) und Aktionen-Rechte (admin.actions.*); jede Gruppe hat behalten, was sie hatte.

Was eine Automation ändert, braucht zusätzlich das Recht, es von Hand zu tun: ein Neustart server.restart, ein Fahrzeug-Wipe server.vehicle_wipe, Mods installieren oder deinstallieren die passenden Mod-Rechte, die Konfiguration eines Mods mods.edit_config, eine Zone zones.edit, eine Servereinstellung das Recht für diese Einstellung, eine andere Automation automations.edit. Wer das Recht nicht hat, kann die Automation trotzdem pausieren oder ihre Bezeichnung ändern.

Vom Scheduler kommend​

Alles wurde mit denselben Zeiten, Beschreibungen und Discord-Benachrichtigungen übernommen:

  • Jede Scheduler-Aufgabe wurde eine Automation nach Zeitplan mit der passenden eingebauten Operation.
  • Eine Aufgabe Eigene Aktion wurde eigener Code mit demselben Zeitplan.
  • Eine Aufgabe Aktion ausführen wurde zum Zeitplan der Aktion, die sie ausgeführt hat. Aktionen, die nur über den Scheduler liefen, brauchen den Auslöser Geplant nicht mehr.
  • Event-Automationen sind an ihrem Event geblieben und werden dort bearbeitet.

Verwandte Dokumentation​