Funktionen

Abläufe

Im Dashboard Blöcke zusammenstecken, die auf Ereignisse in Minecraft und Discord reagieren.

Ein Ablauf beginnt mit einem Ereignis, etwa „Wenn jemand den Server betritt“, und darunter hängen die Blöcke, die dann passieren. Du baust ihn im Dashboard unter „Abläufe“. Für Minecraft-Ereignisse und -Aktionen muss der Server verbunden sein, siehe Chat-Sync.

Abläufe sind noch in der Beta.

Einrichten

  1. Öffne im Dashboard den Bereich „Abläufe“.
  2. Klick auf „Neuer Ablauf“ und wähl eine Vorlage oder „Leer anfangen“.
  3. Zieh ein Ereignis ganz nach oben und häng die Aktionen darunter. Ein Klick auf einen Block zeigt, was er macht.
  4. Füll die Auswahlfelder aus, etwa Kanal oder Server.
  5. Klick auf „Speichern“. Ein neuer Ablauf ist aus; schalte ihn mit „Einschalten“ an.

Zum Ausprobieren gibt es drei Knöpfe über der Fläche:

KnopfWirkung
„Prüfen“Prüft den Ablauf, ohne ihn zu speichern
„Testlauf“Speichert und spielt den Ablauf durch, ohne etwas wirklich auszuführen
„Jetzt ausführen“Speichert und startet den Ablauf sofort. Die Felder des Ereignisses trägst du unter „Testwerte“ ein.

„Testlauf“ und „Jetzt ausführen“ gehen nur, wenn der Ablauf eingeschaltet ist.

Unter „Letzte Läufe“ steht jeder Lauf mit Status, Schritten und Protokoll.

Beispiel: Begrüßung

Wer den Minecraft-Server betritt, wird in #willkommen begrüßt.

  1. Klick auf „Neuer Ablauf“ und wähl „Begrüßung“.
  2. Auf der Fläche stehen „Wenn jemand den Server betritt“ und darunter „Nachricht nach Discord“. Der Text verbindet den Spieler „vom Ereignis“ mit „ ist auf dem Server.“
  3. Wähl in „Nachricht nach Discord“ den Kanal #willkommen.
  4. Wähl im Ereignis den Server Survival. Leer bleibt er für alle verbundenen Server.
  5. Klick auf „Speichern“ und dann auf „Einschalten“.

Betritt Notch den Server, steht in #willkommen: „Notch ist auf dem Server.“

Auslöser

GruppeEreignisse
Minecraft„Wenn jemand in Minecraft schreibt“, „Wenn jemand den Server betritt“, „Wenn jemand den Server verlässt“, „Wenn ein Spieler stirbt“, „Wenn jemand einen Fortschritt schafft“, „Wenn der Minecraft-Server startet“, „Wenn der Minecraft-Server herunterfährt“, „Wenn eine Konsolenzeile kommt“, „Wenn der Minecraft-Befehl ausgeführt wird“
Discord„Wenn jemand in Discord schreibt“, „Wenn jemand dem Discord-Server beitritt“, „Wenn jemand den Discord-Server verlässt“, „Wenn jemand eine Rolle bekommt“, „Wenn jemandem eine Rolle entzogen wird“, „Wenn der Discord-Befehl ausgeführt wird“
Zeit„Jeden Tag um“ mit Uhrzeit, Zeitzone und Wochentagen, „Alle paar Minuten“
Manuell„Wenn ich es starte“, „Wenn eine API-Anfrage kommt“
  • Chat, Konsole und Discord-Nachrichten lassen sich am Ereignis mit „enthält“ auf ein Wort einschränken. Der Ablauf startet dann nur bei passenden Nachrichten.
  • „Wenn der Discord-Befehl ausgeführt wird“ legt einen Slash-Befehl auf deinem Discord-Server an. „Wenn der Minecraft-Befehl ausgeführt wird“ legt einen Befehl auf dem Minecraft-Server an und braucht dort MC-Sync 2.2.0 auf Spigot, Paper oder Folia. Die Argumente stellst du unter der Fläche ein.
  • „Wenn eine API-Anfrage kommt“ zeigt unter der Fläche eine „Trigger-URL“. Wer sie aufruft, startet den Ablauf.

Aktionen

BlockWirkung
„Minecraft-Befehl ausführen“Führt einen Befehl aus wie in der Konsole. Ob der Server ihn annimmt, legt commands.mode fest.
„In den Minecraft-Chat schreiben“Schreibt eine Zeile in den Spielchat
„HTTP-Anfrage über den Minecraft-Server“Braucht MC-Sync 2.2.0 und http.mode: "allow", siehe Konfiguration
„Nachricht nach Discord“, „Embed nach Discord“Schreibt in einen Kanal. Erwähnungen im Text pingen nicht, dafür gibt es den Block „Erwähnung“.
„Rolle vergeben“, „Rolle entziehen“Für ein Mitglied, als ID oder Name
„Auf die Whitelist setzen“, „Von der Whitelist nehmen“Für einen Spieler auf einem Server
„Variable setzen“, „Variable erhöhen“Merkt sich einen Wert für „dieser Ablauf“ oder „der ganze Server“
„Warte“Pausiert, höchstens 30 Sekunden am Stück
„Ins Protokoll schreiben“Eine Zeile unter „Letzte Läufe“
„Ablauf abbrechen“, „Anderen Ablauf starten“Beendet diesen Ablauf oder startet einen anderen mit denselben Ereignisfeldern

Bedingungen und Werte

  • Steuerung: „Wenn“ (mit und ohne „sonst“), „Wiederhole“, „Wiederhole solange“, „Für jeden Eintrag“, „Zähle“ und „Schleife verlassen“.
  • Werte: „vom Ereignis“ liest Felder wie Spieler, Nachricht oder Kanal. „Variable“ liest einen gemerkten Wert. „Spielerzahl auf“, „ist erreichbar“ und „Spielerliste von“ fragen einen Minecraft-Server ab.
  • Logik, Rechnen, Text, Listen: Vergleiche, „und“, „oder“, „nicht“, „verbinde“, „enthält“ und weitere. Texte werden ohne Groß- und Kleinschreibung verglichen.

Rechte und Grenzen

Ein Ablauf verlangt die Zugriffsrechte aller Blöcke, die in ihm stehen: „Konsole“ für Minecraft-Befehle, Chat und HTTP, „Einstellungen“ für Nachrichten nach Discord, „Berechtigungen“ für Rollen, „Whitelist“ für die Whitelist. Wem eines fehlt, kann den Ablauf nicht öffnen.

GrenzeWert
Abläufe je Discord-Server30
Laufzeit eines Laufs, Warten eingerechnet60 Sekunden
Schritte je Lauf10.000
Durchläufe je Schleife1.000
Gleichzeitige Läufe je Discord-Server2, bis zu 50 weitere warten
Starts je Minute und Discord-Server60
Variablen200 je Discord-Server, 50 je Ablauf

Bricht ein Ablauf fünfmal in Folge ab, schaltet er sich aus. Er zeigt dann „Automatisch ausgeschaltet“ und den letzten Fehler.

Probleme

Speichern meldet „Bei einem Block fehlt ein Pflichtfeld.“

Ein Auswahlfeld ist leer, meist Kanal oder Server. Nach einer Vorlage oder einem Import sind diese Felder leer.

Der Ablauf läuft nicht

  • Prüf in der Liste, ob er „an“ ist. Ein neuer Ablauf ist aus, und ausgeschaltet starten auch „Testlauf“ und „Jetzt ausführen“ nicht.
  • Prüf den Filter „enthält“ am Ereignis.
  • Steht unter „Letzte Läufe“ „nicht gestartet“, liefen auf dem Discord-Server zu viele Abläufe gleichzeitig.

Der Minecraft-Befehl wird abgelehnt

Der Minecraft-Server nimmt nur an, was commands.mode und commands.allow erlauben. Standard ist nur die Whitelist. Siehe Konfiguration.

Der Ablauf hat sich ausgeschaltet

Er ist fünfmal in Folge abgebrochen. Den Grund zeigt „Letzte Läufe“. Behebe ihn und klick auf „Wieder einschalten“.

Hintergrund: Abläufe auf dem Minecraft-Server

Abläufe laufen beim Bot. Steht in der Konfiguration flows.mode: "on", führt der Minecraft-Server Abläufe selbst aus, deren Ereignis und Aktionen nur ihn betreffen: ein Minecraft- oder Zeit-Ereignis, genau ein Server, nichts mit Discord, Whitelist oder serverübergreifenden Variablen. Welche das sind, entscheidet der Bot beim Speichern. Die Läufe erscheinen trotzdem unter „Letzte Läufe“.