Modliste: melden was sich geaendert hat, einzeln laden
Bisher gab es fuer Mods nur einen Link auf das Sammelpaket des Hosters — vier Gigabyte, auch wenn sich zwei Dateien geaendert haben. Jetzt liest der Bot die Modliste aus der Statusabfrage, die er ohnehin holt, und meldet im Kanal, was neu, aktualisiert oder entfernt wurde. Beim ersten Durchlauf bleibt es still, sonst kaeme eine Meldung ueber 110 "neue" Mods. Geaendert heisst: andere Version oder anderer Hash. Beides einzeln reicht nicht — manche Modder bessern nach, ohne die Version zu erhoehen. Dazu die Seite /mods/<server>: jeder Mod mit Version und Groesse, Suche ueber Titel, Dateiname und Autor, und ein Download je Zeile. Der laeuft durch den Bot, damit der Zugangs-Code des Spielservers nicht in einem Link landet — mit dem Code liesse sich auch der ganze Spielstand lesen. Angefragt wird nur, was wirklich in der Modliste steht; ueber den Dateinamen kommt man an nichts anderes heran. Groessen lernt der Bot beim Weiterleiten. Der Spielserver beantwortet kein HEAD (501) und ignoriert Range, es gibt also keinen billigen Weg, sie vorher zu erfahren — und 4 GB nur fuers Anzeigen zu holen waere keiner. Nebenbei gefunden und behoben: 'server.mods' und 'commands.tag' gab es je zweimal in den Sprachdateien. Der spaetere Eintrag gewinnt still, deshalb stand auf dem neuen Knopf woertlich "%s Mods (110)" und auf der Befehlsseite die Beschreibung von /tag statt der Kopfzeile. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,7 @@ der Hoster ausgibt; der Port ist **nicht** immer 8080.
|
||||
| `dedicated-server-savegame.html?file=careerSavegame` | ~20 KB | Einstellungen, Geld, Spielzeit, Modliste |
|
||||
| `dedicated-server-savegame.html?file=vehicles` | ~39 KB | jedes Fahrzeug mit Preis, `farmId`, Betriebsstunden |
|
||||
| `dedicated-server-savegame.html?file=economy` | ~305 KB | Preiskurve je Fruchtart über zwölf Perioden |
|
||||
| `mods/<name>.zip` | 0,07 – 1381 MB | die Mod-Datei selbst, **nicht** unter `/feed` |
|
||||
|
||||
Andere Dateinamen antworten mit `204` und leerem Rumpf. Geprüft und **nicht**
|
||||
verfügbar: `farms`, `farmland`, `farmlands`, `fields`, `field`, `items`,
|
||||
@@ -61,6 +62,41 @@ Mit dem richtigen Maßstab liegen die Parzellen-Schwerpunkte **unter 15 px** von
|
||||
ihrer Marke entfernt, gemessen auf einem 1024er Bild; mit dem falschen rund
|
||||
200 px. Der Unterschied ist so deutlich, dass eine einzige Prüfung reicht.
|
||||
|
||||
## Mods
|
||||
|
||||
Die Statusabfrage listet jeden Mod mit `name`, `author`, `version` und `hash`.
|
||||
Der Name ist der Dateiname ohne `.zip` — damit lässt sich jede Datei einzeln
|
||||
laden, ohne das Sammelpaket über alles zu ziehen. Auf dem Testserver: **109 von
|
||||
110 Mods abrufbar, zusammen 4,06 GB.**
|
||||
|
||||
Der `hash` ist GIANTS' eigener Fingerabdruck. Was er ist, steht nirgends, und
|
||||
gemessen ist er **weder** die MD5 der ausgelieferten Zip **noch** die der
|
||||
`modDesc.xml` darin. Als Prüfsumme für heruntergeladene Dateien taugt er also
|
||||
nicht — als Melder „hier hat sich etwas geändert" schon.
|
||||
|
||||
Was beim Bauen wichtig ist:
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| `HEAD` | **501** — nicht unterstützt, die Grösse gibt es nur per GET |
|
||||
| `Range` | wird ignoriert (200 statt 206) — **kein Fortsetzen** |
|
||||
| `Last-Modified` | vorhanden, aber der Zeitpunkt des Hochladens, nicht der Version |
|
||||
| `ETag` | keiner |
|
||||
| Zwei Abrufe | byte-gleich — statische Dateien, kein Neupacken |
|
||||
|
||||
Kein Fortsetzen ist der wunde Punkt: die grösste Datei auf dem Testserver ist
|
||||
**1,38 GB**. Bricht der Download ab, fängt er von vorn an. Wer das besser
|
||||
machen will, muss selbst zwischenspeichern.
|
||||
|
||||
**Gekaufte Inhalte antworten mit 403.** `pdlc_strawHarvestPack` ist das
|
||||
einzige der 110, das der Server nicht herausgibt — richtig so, es ist bezahltes
|
||||
DLC und kommt über Steam.
|
||||
|
||||
**Der Dateiname muss nichts mit dem Mod zu tun haben.** Auf dem Testserver
|
||||
heisst ein Eintrag `all_mods_download`, ist aber „Bale Autoload Pack" — da hat
|
||||
jemand den Sammel-Download des Hosters in den Mod-Ordner gelegt. Das Spiel
|
||||
lädt ihn anstandslos, aber jeder Abgleich über den Namen stolpert darüber.
|
||||
|
||||
## Was in der Fahrzeugdatei steht
|
||||
|
||||
`file=vehicles` ist die ergiebigste der drei Savegame-Dateien. Je `<vehicle>`:
|
||||
|
||||
Reference in New Issue
Block a user