Off/Deff/Snob-Search-System¶
Mit dem ODS-System können Spieler Off-, Deff- oder Snob-Befehle für eine bestimmte Zielkoordinate suchen. Das ODS-System besitzt Ähnlichkeit zum Single Village Snipe-Skript — während dort nur die Truppen eines einzelnen Spielers berücksichtigt werden, fließen im ODS-System die Dörfer des gesamten Stammes in die Auswahl ein. Der Bot gleicht ankommende Suchanfragen mit den hinterlegten Truppendaten ab und liefert eine Liste der Spieler, die einen passenden Off-, Deff- oder Snob-Befehl abschicken können.
Voraussetzung Truppen-Upload
Der Bot kann nur Treffer melden für Spieler, deren Truppendaten aktuell hochgeladen sind. Liegen keine Daten vor, bleibt die Trefferliste leer. Für aussagekräftige Ergebnisse sollten User mit der Rolle TWU-Troops die Truppendaten regelmäßig per /admin troops_upload aktualisieren.
1. Kanäle des Moduls¶
Nach der Installation legt der Bot die Kategorie 🔍 OFF/DEFF/SNOB-SEARCHER mit zwei Basis-Kanälen an:
#⚫-ods-search— zentraler Such-Kanal mit den drei Such-Buttons und dem Admin-Panel#⚫-ods-overview— Dashboard-Kanal mit der Liste aller laufenden und erledigten Suchanfragen
Sobald jemand ein Suchergebnis in einen eigenen Kanal exportiert (siehe Abschnitt 5), legt der Bot zusätzlich einen eigenen Kanal pro Anfrage in derselben Kategorie an, nach dem Schema ❌-off-XXX-YYY-PLAYERNAME bzw. ❌-deff-… / ❌-ag-…. Sobald die Anfrage abgearbeitet ist, wechselt das Präfix auf ✅ — siehe Abschnitt 6.
2. Truppendaten¶
Damit der Bot überhaupt Suchanfragen beantworten kann, müssen die Truppendaten der Stammesmitglieder im Bot hinterlegt sein. Im Such-Kanal #⚫-ods-search steht dafür das ODS Panel-Embed mit vier Admin-Buttons: Upload Troops, Delete Troops, Show Troop Status und Settings zur Verfügung.
Upload Troops führt zum Slash-Command /admin troops_upload, über den die TW-Truppendatei eingelesen wird.
Die Datei erzeugst du mit einem von zwei Auslese-Scripten. Welches du benutzt, wählst du nirgends aus — der Bot erkennt das Format am Inhalt der Datei. Erlaubt sind die Dateiendungen .txt, .csv und .json. Die Datei muss Truppenspalten enthalten; ein reiner Gebäude-Export wird abgelehnt.
Das Schnellleisten-Script „Download Tribe Info" lädt die Datei direkt herunter. Der Inhalt ist kommagetrennt:
Coords,Player,spear,sword,axe,archer,spy,light,marcher,heavy,ram,catapult,knight,snob
483|520,Testuser A,2421,6099,100,5963,50,50,3632,200,5,279,0,8
543|538,Testuser A,100,100,6027,100,6,3014,100,100,159,5,0,0
Das Script „NeilsTribeInfo" liefert stattdessen eine exported_at-Vorzeile mit quotierten Spalten:
exported_at,1789240946
"player_name","player_id","village","coords","points","spear","sword","axe",…
"Testuser A","9859907","Testdorf (603|576) K56","603|576","5491","2222","11","12",…
Wo es die Ingame-Skriptbibliothek gibt — auf den .net-Welten etwa —, musst du dafür nichts installieren: Dort steht es als „NeilB Tribe Info", und ein Klick auf „Activate" legt es in deine Schnellleiste. Im Bild steht stattdessen „Deactivate", weil das Script dort schon aktiv ist.
NeilsTribeInfo lädt keine Datei herunter
Statt eines Downloads hat es die Knöpfe „Copy CSV" und „Copy JSON" — das Ergebnis landet in der Zwischenablage. Füge es also erst in einen Editor (z. B. Notepad) ein und speichere es als Datei, bevor du die Datei an den Slash-Command anhängst.
Nur „Truppen im Dorf" werden gespeichert
NeilsTribeInfo sagt selbst, welche Erfassungsart in der Datei steckt: die Script-Seite „Verteidigung" ergibt Truppen im Dorf, die Seite „Truppen" ergibt Truppen Insgesamt. Der Bot speichert ausschließlich Truppen im Dorf — lädst du hier einen reinen „Truppen"-Export hoch, lehnt er ihn mit einer Erklärung ab. Für „Truppen Insgesamt" ist der Leader-View zuständig.
Enthält die Datei Einheiten, die es auf der Welt gar nicht gibt (etwa der Export einer Bogenschützen-Welt für einen Stamm auf einer Welt ohne Bogenschützen), wird der Upload abgelehnt, statt die Daten halb einzulesen.
Nach erfolgreichem Upload bestätigt der Bot mit einer kurzen Erfolgs-Nachricht. Sie nennt neben der Zahl der Dörfer auch übersprungene Zeilen und Spieler, bei denen in keinem Dorf eine Einheit steht — häufigste Ursache dafür ist eine fehlende Truppenfreigabe im Stamm.
Über den Button Delete Troops können hochgeladene Truppendaten wieder entfernt werden.
Show Troop Status öffnet das Troop Uploads Overview-Embed mit allen hochgeladenen Truppendateien je Stamm und ihrem jeweiligen Upload-Zeitstempel.
So sieht man auf einen Blick, welche Stämme aktuelle Truppendaten hinterlegt haben und wo die Daten veraltet sind.
Settings öffnet die Einstellungen des ODS-Systems. Dort steht derzeit ein Schalter, Include Running Commands, dessen Beschriftung gleich den aktuellen Zustand nennt.
Ein Klick darauf erklärt den Schalter und bietet Activate und Deactivate an. Ist er aktiv, korrigiert der Bot die Truppenzahlen der Off-, Snob- und Deff-Suche mit den hochgeladenen laufenden Befehlen: Truppen, die seit dem letzten Truppen-Upload losgeschickt wurden, werden abgezogen, und Truppen, die bis zur Abschickzeit wieder zu Hause sind, kommen dazu. Standardmäßig ist die Funktion AN. Wie laufende Befehle zu tw-utils kommen, steht unter Laufende Befehle.
Hochgeladene Truppendaten verschwinden auf zwei Wegen von selbst: Nach fünf Tagen entfernt ein täglicher Lauf den kompletten Upload eines Stammes, und einmal pro Stunde fallen einzelne Dörfer heraus, die inzwischen erobert wurden oder Barbarendörfer geworden sind.
Wer darf Truppen hochladen?
Nur User mit der Rolle TWU-Troops (oder einer der darauf aufbauenden Rollen TWU-Bunker, TWU-Planner, TWU-Leader) können die Buttons Upload Troops, Delete Troops und Settings ausführen und den Slash-Command /admin troops_upload benutzen. Den Button Show Troop Status können auch normale Mitglieder verwenden.
3. ODS-Suche¶
Unterhalb des Admin-Panels stehen im Such-Kanal #⚫-ods-search die drei Such-Buttons Search Off, Search Snob, Search Deff, mit denen jeder Spieler eine Suche starten kann.
Klick auf Search Off öffnet das Modal Find Off Options:
Target Coordinate— Koordinate des Zieldorfes im FormatXXX|YYY.Arrival Time (hh:mm:ss / DD.MM.YYYY hh:mm:ss)— gewünschte Ankunftszeit; nurhh:mm:ssreicht für „heute",DD.MM.YYYY hh:mm:ssfür ein späteres Datum.Minimum Off Strength (Axe,Lcav)(optional) — Mindeststärke der gesuchten Offs, angegeben als Axt- und Leichte Kavalerie-Anzahl (z. B.7000,3000). Offs unter diesem Schwellwert werden nicht mit in der Trefferliste ausgegeben.Earliest Launch Time(optional) — frühester erlaubter Abschickzeitpunkt; Befehle, die schon davor losgeschickt werden müssten, werden rausgefiltert.Fixed Runtime (Unit name)(optional) — beschränkt die Suche auf eine bestimmte Einheitenlaufzeit (z. B. nur Axt-Laufzeit), wenn der Off-Befehl mit einer fixen Einheit laufen werden soll.
Klick auf Search Snob öffnet das Modal Find Snob Options:
Target Coordinate— Koordinate des Ziel-Dorfs.Arrival Time (hh:mm:ss / DD.MM.YYYY hh:mm:ss)— gewünschte Ankunftszeit des AGs.Earliest Launch Time (optional)— frühester erlaubter Abschickzeitpunkt für das AG.
Klick auf Search Deff öffnet das Modal Find Deff Options:
Target Coordinate— Koordinate des Ziel-Dorfs im FormatXXX|YYY.Arrival Time (hh:mm:ss / DD.MM.YYYY hh:mm:ss)— gewünschte Ankunftszeit der Deff.Minimum Population(optional) — Mindesteinwohnerzahl des Herkunftsdorfs; verhindert, dass kleine Dörfer in die Trefferliste fallen.UT-Boost (0-20%)(optional) — Möglichkeit zur Berücksichtigung eines UT-Boosts bei der Suchanfrage.Earliest Launch Time(optional) — frühester erlaubter Abschickzeitpunkt; Deff-Befehle, die schon davor losgeschickt werden müssten, werden rausgefiltert.
4. Das Suchergebnis¶
Nach dem Abschicken eines Such-Modals antwortet der Bot mit einem ephemeralen Embed, das nur der Suchende selbst sieht. Es listet alle möglichen Befehle mit Dorf-Koordinate, Truppenzusammensetzung, Abschick- und Ankunftszeit auf.
Die möglichen Befehle werden übersichtlich in tabellarischer Form dargestellt:
Sind laufende Befehle einbezogen (siehe Abschnitt 2), trägt die Zeilennummer ein * — allerdings nur dort, wo sich dadurch eine angezeigte Zahl tatsächlich geändert hat. Unter der Tabelle steht dann eine Legende, die auch nennt, von wie vielen Spielern die einbezogenen Befehle stammen.
Unter dem Suchergebnis stehen bis zu zehn Buttons zur Verfügung — jeder dieser Buttons generiert den jeweiligen WB-Befehl.
Die Antwort auf einen dieser Buttons trägt die Überschrift Rally Point — sie ist verlinkt und führt direkt zum Ingame-Versammlungsplatz des Herkunftsdorfs, sodass der Befehl unmittelbar abgeschickt werden kann.
Ephemerale Antwort nur für den Suchenden
Die Trefferliste ist eine ephemerale Discord-Nachricht: Nur der Suchende sieht sie und sie verschwindet beim nächsten Discord-Neuladen. Wer das Ergebnis dauerhaft sichtbar machen und dem Stamm sichtbar machen will, exportiert die Suche in einen eigenen Kanal — siehe Abschnitt 5.
5. Suchergebnis exportieren¶
Im ephemeralen Suchergebnis (siehe Abschnitt 4) steht ein Export-Button, der die Anfrage in einen neuen, separaten Kanal auslagert.
Der Bot legt daraufhin in der Kategorie 🔍 OFF/DEFF/SNOB-SEARCHER einen neuen Kanal ❌-<typ>-XXX-YYY-PLAYERNAME an.
Im neuen Kanal postet der Bot das Suchergebnis mit allen Details und den Verwaltungs-Buttons. Das Ergebnis ist nun für den ganzen Stamm sichtbar, andere Spieler können mitdiskutieren, der Suchende kann den Status pflegen, Notizen anfügen und Folge-Suchen direkt aus der exportierten Suchanfrage heraus starten — siehe Abschnitt 6.
6. Funktionalitäten in der Suchanfrage¶
In der exportierten Suchanfrage stehen oberhalb des Such-Embeds die Verwaltungs-Buttons Status: Done / Status: Not Done, mit denen die Anfrage als erledigt markiert bzw. wieder auf offen gesetzt wird.
Über den Button Add/Edit Note können der Anfragesteller oder andere User Notizen zur Anfrage hinterlegen.
Delete Request löscht die Anfrage inklusive Kanal nach Bestätigung mit Yes, delete.
Voraussetzung Löschen
Die Anfrage kann nur vom Ersteller selbst oder von einem User mit der Rolle TWU-Troops (oder höher) gelöscht werden.
Zusätzlich stehen in der exportierten Suchanfrage die Such-Buttons Search Off, Search Snob, Search Deff erneut zur Verfügung.
Klickst du dort z. B. auf Search Snob, ist das Such-Modal bereits mit den Werten der ursprünglichen Anfrage (Zielkoordinate, Ankunftszeit) vorausgefüllt — so kann ohne erneutes Eintippen direkt eine Folge-Suche zur gleichen Koord gestartet werden.
Sobald sich der Status ändert, benennt der Bot den Kanal automatisch um — Präfix ❌ wechselt auf ✅ und umgekehrt. So ist im Kanal-Tree auf einen Blick sichtbar, welche Anfragen noch offen sind.
Rate-Limit Status-Änderung
Der Status Done / Not Done kann pro exportierter Suchanfrage nur alle 10 Minuten gewechselt werden. Bei zu schnellem Hin- und Her-Klicken meldet der Bot eine Rate-Limit-Fehlermeldung mit Restwartezeit.
7. Übersichts-Dashboard¶
Der Dashboard-Kanal #⚫-ods-overview zeigt jederzeit den aktuellen Stand aller Such-Anfragen — gruppiert nach Status ✅ DONE und ❌ NOT DONE, je Eintrag mit Typ (Off/Deff/Snob), Koordinate, Suchendem und Anfrage-Zeitpunkt. Das Embed wird vom Bot automatisch aktualisiert, sobald eine Anfrage hinzukommt, ihren Status ändert oder gelöscht wird.




























