Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m321:kitten:discovery [2025/03/05 09:42] – angelegt msuter | modul:m321:kitten:discovery [2025/03/12 12:28] (aktuell) – [Spielbereit] msuter | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== C) Discovery | + | ====== C) Clowder |
<WRAP center round todo 60%> | <WRAP center round todo 60%> | ||
Der Discovery-Service verwaltet eine Liste aller Kitten-Bots. | Der Discovery-Service verwaltet eine Liste aller Kitten-Bots. | ||
</ | </ | ||
+ | |||
+ | Wenn ein Bot bereit zum Spielen ist, registriert er sich beim Clowder Service. | ||
+ | Dieser verwaltet eine Collection aller Bots. | ||
+ | |||
+ | ===== Aktionen ===== | ||
+ | ==== Spielbereit ==== | ||
+ | Ein Bot meldet, dass er bereit zum Spielen ist. | ||
+ | Der Clowder-Service generiert eine UUID und einen zufälligen Port. | ||
+ | Falls bereits ein Bot mit dem gleichen Namen existiert, wird der Eintrag aktualisiert. | ||
+ | |||
+ | === Request === | ||
+ | * action: ' | ||
+ | * ip: IP-Adresse des Bots | ||
+ | * name: Name des Bots | ||
+ | * type: ' | ||
+ | |||
+ | |||
+ | === Response === | ||
+ | * Port: Eine zufällige Portnummer. Unter dieser Portnummer muss der Bot einen Socket öffnen und auf Nachrichten warten. | ||
+ | |||
+ | |||
+ | ==== Mit dem Schwanz wedeln ==== | ||
+ | Ein Bot wedelt mit seinem Schwanz und signalisiert, | ||
+ | Der Clowder-Service aktualisiert den Zeitstempel des letzten Schwanzwedelns für diesen Bot. | ||
+ | |||
+ | === Request === | ||
+ | * action: ' | ||
+ | * name: Name des Bots | ||
+ | === Response === | ||
+ | * ACK | ||
+ | |||
+ | |||
+ | ==== Nickerchen ==== | ||
+ | Ein Bot zieht zurück und macht ein Nickerchen. | ||
+ | Der Clowder-Service entfernt den Bot aus der Collection der spielbereiten Bots. | ||
+ | |||
+ | === Request === | ||
+ | * action: ' | ||
+ | * name: Name des Bots | ||
+ | === Response === | ||
+ | * ACK oder NOTFOUND | ||
+ | |||
+ | ==== Exil ==== | ||
+ | Der Arena-Service kann einen defekten Bot ins Exil schicken. | ||
+ | In diesem Fall darf sich dieser Bot während 5 Minuten nicht neu registrieren. | ||
+ | Diese Aktion darf nur vom Arena-Service aufgerufen werden. | ||
+ | Überlegen Sie sich, wie Sie einen Missbrauch verhindern können. | ||
+ | |||
+ | === Request === | ||
+ | * action: ' | ||
+ | * name: Name des Bots | ||
+ | |||
+ | |||
+ | === Response === | ||
+ | * ACK / NOTFOUND | ||
+ | |||