Commit Graph
2 Commits
Author SHA1 Message Date
D4rkst3randClaude Opus 5 768fcda666 Karte: die Welt ist doppelt so breit wie mapSize
Deploy / check (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Die Parzellen lagen im Wald. Ich hatte -mapSize/2 bis +mapSize/2 angenommen —
naheliegend beim Namen, aber falsch: die Koordinaten laufen von -mapSize bis
+mapSize. Damit wurde jede Parzelle um Faktor zwei vom Mittelpunkt weggezogen.

Schlimmer als der Fehler war meine Pruefung. Der Zonentest hat die Koordinaten
auf ihre eigene Bounding-Box normiert und danach geschaut, ob die Felder in der
richtigen Ecke liegen. Das besteht bei JEDEM Massstab, weil die Anordnung
zueinander ja stimmt. 14 von 15 Treffern klangen ueberzeugend und sagten
ueber den Massstab genau nichts aus.

Gemessen wurde es dann so: die eingebrannte Legende steht sowohl im Feed-Bild
als auch im Ingame-Screenshot, damit laesst sich der eine aufs andere
umrechnen. Vier Parzellen an den vier Ecken ergaben eine Weltbreite von 7822
bei mapSize 4096 — Faktor 1,91 bei rund 5 Prozent Ablesegenauigkeit.

Dabei ist noch etwas herausgekommen: die Marken H1..H8 auf dem Luftbild sind
als Passpunkte hervorragend, nicht wertlos, wie ich in der Doku behauptet
hatte. Mit richtigem Massstab liegen alle acht Hofparzellen unter 13 px von
ihrer Marke; mit falschem rund 200. Das ist jetzt der Test — acht Passpunkte,
die jede kuenftige Verschiebung sofort auffliegen lassen, statt eines
Zonenvergleichs, der alles durchwinkt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 01:59:21 +02:00
D4rkst3randClaude Opus 5 e215cd4c7c LS-Modul: Besitzkarte auf dem Luftbild und Preiskurven
Deploy / check (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
Der Feed eines LS-Servers gibt viel mehr her als die Spielerzahl, die der
Monitor bisher davon benutzt hat: in denselben 49 KB stehen 163 Parzellen mit
Besitzer und Hektar, 130 Felder, jedes Fahrzeug samt Ladung und die Position
jedes Spielers. Und das Luftbild liefert der Server auch, in jeder Groesse bis
4096.

Also eine Karte: gekaufte Parzellen nach Hof eingefaerbt, Kreisflaeche gleich
Hektar, Fahrzeuge und Spieler live, dazu eine Hof-Uebersicht mit Flaeche und
Wert. Wechselt Land den Besitzer, kommt eine Meldung — beim allerersten
Durchlauf bewusst nicht, sonst haette der Botstart eine Meldung pro bereits
gekaufter Parzelle abgesetzt.

Dazu die Preiskurven aus der economy.xml: je Fruchtart, was sie in welcher der
zwoelf Perioden bringt, als Balkenzeile mit "jetzt verkaufen" oder "+43 Prozent
im Hochwinter".

Was NICHT geht, und zwar grundsaetzlich: welche Frucht auf welchem Feld steht
und wie weit sie ist. Das liegt in einer binaeren Density-Map, die kein
Endpunkt herausgibt. Ich habe 18 Dateinamen durchprobiert, es gibt genau drei.
Die Mods, die das anzeigen, sind reine HUD-Overlays ohne Ausgang. Und keiner
der fuenf anderen LS-Bots kann es, obwohl einer davon Geld kostet. Das steht
mit allen Belegen in docs/ls-feed.md, damit die Frage nicht dreimal kommt.

Beim Bauen aufgefallen:

- istLsServer() gab den Zugangs-Code zurueck statt true — die &&-Kette liefert
  den letzten wahren Wert. Beim ersten Log-Aufruf haette der Code im Klartext
  im Protokoll gestanden.
- Die Karte als PNG war 2,5 MB, als JPEG 268 KB. Es ist ein Luftbild.
- Nach Preisschwankung sortiert gewinnt Spargel: 26 bis 7540 Euro, und Weizen
  taucht gar nicht mehr auf. Die Liste arbeitet jetzt mit einer Auswahl.
- Die Jahreszeit steht in keinem Endpunkt. Schaetzbar waere sie, aber nur
  solange niemand die Zeitskala aendert — also eine Einstellung.

Geprueft gegen echte Serverdaten: Zerlegen der Statusabfrage inklusive
Vollstaendigkeit aller 163 Parzellen, Ladung ohne Diesel und leere Slots,
Hof-Uebersicht ohne verlorene Parzellen, Preiskurve mit vollem und leerem
Balken an der richtigen Stelle, flache Kurve ohne Division durch Null,
Besitzwechsel inklusive Erstlauf und neu hinzugekommener Parzelle,
Hof-Namen aus der Einstellung, SVG ohne NaN und mit maskierten Namen, und der
Merker in der Datenbank inklusive kaputtem JSON.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 01:52:25 +02:00