Changelog

Alle Updates für die Website und den Server-Mod, das Neueste zuerst

Hier findest du die komplette Historie der CloudRidge-Website und des Server-Mods, das Neueste zuerst. So kannst du nachschauen, wann ein Feature dazugekommen ist oder wann ein Fehler behoben wurde.

Nach Version
v1.9.90 Website 2026-11-01

v1.9.90 · Neues Hero-Layout, 3D lässt sich wieder ziehen

  • Der Hero ist neu angeordnet: Der Titel hat seine eigene Zeile, die 3D-Projektion steht links, die Karten „Server beitreten“ und „Jetzt online“ stehen rechts. Auf dem Handy stapelt sich alles in einer Spalte.
  • Das Ziehen der 3D-Szene funktioniert wieder — zwei transparente Platzhalter-Ebenen lagen über der Zeichenfläche und schluckten jedes Zeigerereignis. Jetzt nehmen nur Buttons und Links Klicks an, überall sonst lässt sich ziehen.
  • Das Modell im Hero ist jetzt deine Blackhole-Projektion, direkt aus der Datei gebacken (nicht mehr von Hand gebaut). Glasplatten, Mauern und Stufen werden in echter Dicke gerendert, sodass die durchbrochene Struktur endlich sichtbar wird.
v1.9.89 Website 2026-11-01

v1.9.89 · Das Schwarze Loch neu gebaut

  • Das Schwarze Loch im Hero wurde neu gebaut: eine zweilagige Scheibe, ein viel tieferer Trichter, ein echtes Loch in der Mitte, ein leuchtender Ereignishorizont-Ring und vier Spiralarme — von oben wirkt es jetzt wie ein Strudel, nicht wie ein Kuchen.
  • Der Kamerawinkel wurde von 0.62 auf 0.78 angehoben, sodass man direkt in den Trichter blickt; das Modell sitzt höher und überdeckt weder Titel noch Buttons.
  • Überlappung im Hero behoben: Das Wolkenband schnitt durch das Feld für die Serveradresse und hat jetzt seinen eigenen Platz.
v1.9.88 Website 2026-11-01

Startseite neu zentriert, das schwarze Loch ist jetzt von Hand gebaut

  • Die Startseite zeigt jetzt Titel oben, Modell in der Mitte, Schaltflächen unten; die Live-Karte ist unter den Hero gewandert.
  • Der Schwarzloch-Schematic hat 13,8 Mio. Blöcke auf 565×565 — im Hero bleibt davon nur Farbrauschen. Deshalb neu von Hand gebaut: konzentrische Ringe, dunkle Pupille, Maschinenrand, 5.700 Blöcke und 33 KB.
  • Auf dem Handy bleibt es beim Standbild (neues Schwarzloch-Bild, 54 KB); der Renderer startet erst nach Tippen auf 3D öffnen.
v1.9.87 Website 2026-11-01

Konto vervollständigen und Änderungen nur mit Nachweis

  • Nur mit QQ registrierte Konten müssen beim ersten Login ein Passwort setzen und eine E-Mail-Adresse oder Handynummer bestätigen, bevor sie den Rest der Seite sehen.
  • Beim Ändern von E-Mail-Adresse oder Handynummer muss zuerst der Code bestätigt werden, der an die bisherige Adresse bzw. Nummer geht.
  • Ein anderes QQ-Konto lässt sich erst nach Eingabe des aktuellen Passworts verknüpfen.
  • Meldet sich ein Konto von einem unbekannten Gerät an, geht eine Hinweis-E-Mail an die bestätigte Adresse.
v1.9.86 Website 2026-10-31

换页不再白屏一下、注册页的「手机号注册」能点了

  • 点站内链接时,旧页面不再先淡成一片白底 —— 之前新页面要等网络往返才到,中间那一下就是白屏。现在旧页面保持原样,换页后新页面照旧淡入、内容依次上滑。
  • 注册页的「手机号注册」原来点了像是没反应:它只是把单选按钮选中,页面上的提示文案与「发验证码」的去向都没变。现在切一下就整页重渲染,提示、去向、表单都跟着变。
  • 如果站点没有配置短信服务,注册页不会再把你留在「手机号注册」这个空壳上,而是自动退回邮箱注册。
v1.9.85 Website 2026-10-31

Nur noch ein „Anmelden“ in der Kopfzeile, 3D-Hero richtig dimensioniert

  • Der QQ-Einstieg ist aus der Kopfzeile verschwunden – abgemeldet standen dort zwei Buttons nebeneinander, jetzt nur noch „Anmelden“. QQ erscheint nur noch auf Anmelde- und Registrierungsseite.
  • Die 3D-Kamera richtet sich jetzt nach der Modellhöhe statt nach einem festen Abstand: In hohen Fenstern überschwemmt die Szene nicht mehr alles, in niedrigen schrumpft sie nicht zum Haufen.
  • Die Blockfarben sind auf die Kirschblüten-Palette gezogen: Karmesinholzbretter, Netherwarze und Korallen werden zu Kirschholz, Blütenblättern und Blättern – kein farbiges Rauschen mehr. Kein einziger Block hat sich bewegt.
v1.9.84 Website 2026-10-31

Der Startbereich ist jetzt eine drehbare 3D-Szene

  • Der ganze Startbereich ist jetzt eine 3D-Gartenszene: ziehen zum Drehen, scrollen zum Zoomen, Klick baut einen Block ab — nach zehn Sekunden ist er wieder da.
  • Handys und Browser ohne WebGL2 laden die 3D-Ansicht nicht zwangsweise: Sie bekommen ein statisches Poster aus demselben Winkel und eine Schaltfläche 3D ansehen in der Ecke.
  • Auch der Seitenwechsel läuft weicher: Die aktuelle Seite blendet aus, die neue ein, ihre Abschnitte gleiten nacheinander nach oben. Bei reduzierter Bewegung bleibt es beim direkten Sprung.
  • Die auffällige blaue QQ-Kachel ist weg — jetzt ziert das offizielle kleinste 16×16-Symbol von Tencent die Schaltfläche, gleichwertig zu allen anderen Symbolen.
v1.9.83 Website 2026-10-31

Ein QQ-Button für die ganze Seite

  • Anmeldeseite, Registrierung, Kopfzeile und Konto teilen sich jetzt denselben QQ-Button: das offizielle Tencent-Symbol in unserer eigenen umrandeten Pille. Tencent erlaubt die Form „kleines Symbol plus Text“, und das Symbol bleibt das offizielle Original.
  • Unter Konto und Sicherheit gibt es jetzt eine QQ-Zeile: verknüpfen, neu verknüpfen, trennen. Konten ohne Anmeldepasswort dürfen nicht trennen — ein reines QQ-Konto hat kein Passwort und käme danach nicht mehr hinein.
  • Satz und Textur: straffere, kräftigere Überschriften, großzügigere Abschnitte und ein weiches Leuchten, das dem Zeiger über die Karten folgt.
  • Bewegung: der Hero steigt Zeile für Zeile auf, Zahlen laufen hoch, oben sitzt ein Lesefortschritt, die Karten der Startseite driften leicht. Wer im System „Bewegung reduzieren“ aktiviert, bekommt nichts davon; Geräte ohne Zeiger bekommen kein Leuchten.
v1.9.82 Website 2026-10-31

QQ-Anmeldung nutzt jetzt die offizielle Schaltfläche von Tencent — auf Anmelde- und Registrierungsseite sowie in der Kopfzeile

  • Auf der Anmelde- und der Registrierungsseite war bisher ein selbst gezeichnetes Pinguin-Symbol mit dem Text „QQ-Ein-Klick-Anmeldung“ zu sehen. Tenscents Spezifikation für Webseiten verlangt die offizielle „QQ登录“-Grafik und verbietet Änderungen daran; beide Stellen verwenden jetzt das originale 230×48-Bild von Tencent in Originalgröße — nicht gestreckt, nicht skaliert.
  • Auch die Kopfzeile bekommt eine: die offizielle 76×24-Schaltfläche „QQ登录“ auf breiten Bildschirmen, unter 375 px das offizielle 24×24-Symbol, damit die Kopfzeile keinen horizontalen Scrollbalken braucht.
  • Zwei Details gleich mit erledigt: Die offizielle Schaltfläche wird nie ausgegraut — ist das Kästchen für die Nutzungsbedingungen nicht gesetzt, springt die Seite beim Klick zum Kästchen und hebt es rot hervor, statt die Schaltfläche zu deaktivieren (eine ausgegraute Schaltfläche sieht genau so aus wie eine falsch platzierte). Und der Satz „Diese Seite nutzt E-Mail + Passwort“ war überholt — er sagt in allen zehn Sprachen jetzt nur noch den Teil über die Registrierung.
v1.9.81 Website 2026-10-18

Auf dem Handy verdeckte die eigene Inhaltsliste den Text der Server-Anleitung — behoben

  • Auf dem Desktop ist die Seitenspalte der Anleitung eine schmale, oben links fixierte Spalte. Sobald das Layout auf eine einzige Spalte zusammenfällt, wird sie bildschirmbreit und höher als ein Bildschirm — blieb aber oben im Blickfeld fixiert. Der Artikel lief darunter durch, sodass Text überlappt wirkte, weiße Kästen über den Wörtern schwebten und der Inhalt zu fehlen schien. Auf schmalen Bildschirmen (900 px und weniger) läuft sie jetzt mit der Seite; auf dem Desktop bleibt sie fixiert. Der Fehler bestand schon vor dieser Runde — auf dem Handy war er nur nie aufgefallen.
v1.9.80 Website 2026-10-18

Kleine Werkzeuge repariert: die Tab-Leiste reagiert, Verläufe sind freier, und der Rechner gibt dir eine Liste, die du nur ausfüllen und starten musst

  • Alle zehn Werkzeuge lagen früher auf einer Seite, und ein Tipp auf die Kapsel oben sprang nur zu einem Anker — es sah aus, als würde nichts passieren. Jetzt ist es eine echte Tab-Leiste, und es wird immer nur ein Werkzeug angezeigt; eine Adresse mit #t-xxx öffnet ein Werkzeug weiterhin direkt, und auf dem Handy lässt sich die Leiste seitlich schieben. Der Farbverlauf-Text hat statt zwei fest verdrahteter Farben jetzt 2~6 Farbstopps: Leiste antippen fügt einen hinzu, ziehen verschiebt ihn, Stopp auswählen und „Diese Farbe entfernen“ drückt ihn wieder weg; die Farben werden Zeichen für Zeichen nach Position interpoliert, sodass sich §-Codes / MiniMessage / tellraw / MOTD zusammen ändern, und ein zu langes MOTD bekommt einen Hinweis
  • Der Server-Konfigurationsrechner ist von drei Budgetstufen auf neun Eingaben gewachsen. Mods, Sichtweite, Simulationsdistanz, ob Redstone läuft, Ziel-TPS und Version lassen sich alle eintragen. Die Ausgabe sind nicht mehr nur ein paar Zahlen: Der Speicher sagt dir, warum er wächst, dazu kommen ein fertig kopierbarer Startbefehl mit Aikar’s flags, Zeile-für-Zeile-Empfehlungen für server.properties und spigot.yml und eine nach Spielstil getrennte Mod- und Plugin-Liste. Die drei Werte, die sich am häufigsten ändern — Speicher pro Spieler, Mod-Faktor und Redstone-Faktor — liegen jetzt im Admin unter „Werkzeuge“, ein Neuladen übernimmt sie
  • Der Lag-Check rechnet jetzt Punkt für Punkt zu und vergleicht mit den Live-Daten dieser Seite. Du trägst vier Dinge mehr ein: dauerhaft geladene Entities, Chunk-Loader, Redstone-Leitungen und automatische Farmen. Die Ausgabe zerlegt MSPT in sieben Punkte mit Anteil und Millisekunden und nennt nur dann „das hier zieht“, wenn ein Punkt wirklich den Löwenanteil hat (über 45%); sonst sagt sie ehrlich, dass der größte Punkt insgesamt noch klein ist. Zu jedem Punkt gibt es eine umsetzbare Änderung, und die Seite zieht dazu ihre Live-Daten heran: wie viel deine Größe theoretisch kostet und wie viel hier gerade noch übrig ist; ohne Daten bleibt es bei einer lokalen Schätzung, ohne Fehlermeldung
v1.9.79 Website 2026-10-18

Flüssiges Glas neu gemacht wie bei Apple: es bricht, es glänzt und steht auch auf Weiß

  • ① In der letzten Runde war das Glas im Grunde nur noch eine weiße Fläche und verschwand, sobald es auf einer weißen Karte lag. Diesmal ist das Material nach dem Vorbild von iOS 26 neu gebaut: oben eine helle Linie, unten eine dunkle, außen ein 1-px-Haarlinienring, innen ein sanfter Schein, dazu ein sehr leichter Schatten; auf dem Desktop bricht es weiterhin echt (der Hintergrund wird leicht verbogen, die ganze Fläche hebt sich beim Überfahren um 1 px und senkt sich beim Drücken zurück). Haupt- und Gefahrenbuttons waren bisher komplett vom Glas ausgenommen, jetzt nicht mehr: der Markenfarbverlauf bleibt auf dem Button selbst, der Kontrast der weißen Schrift ändert sich nicht, und die Glasschicht liefert nur Glanz und Rand, kein zusätzliches Brechen. Dasselbe Material liegt jetzt auf Eingabefeldern, Auswahllisten, Tags, den Abzeichen für Spiele, Werkzeuge und Spieler und der oberen Navigation.
  • ② Auf dem Handy läuft kein Brechen mehr (das ist der teuerste Schritt), es fällt automatisch auf Weichzeichnen plus Glanzrand zurück: sieht weiterhin aus wie Glas, kostet aber praktisch keine GPU. Nebenbei ist ein echter Fehler behoben: der Handy-Zweig stieg früher sofort aus und führte die Rückfallvariante gar nicht aus, also gab es auf dem Handy überhaupt kein Glas. Auch am Desktop gab es zwei Dinge: gleich große Glasflächen erzeugen nur eine einzige Verschiebungstextur (die 7 Flächen der Startseite nutzen nur 4), und was aus dem Bild scrollt, wird nicht mehr berechnet; außerdem entsteht keine neue Fläche mehr, wenn eine über 300.000 Pixel groß ist oder eine Seite mehr als 80 hat — lieber eine Fläche weniger als ein ruckelndes Scrollen.
  • ③ In der Verwaltung unter Darstellung ist derselbe Schalter, jetzt standardmäßig an; Browser ohne backdrop-filter (Safari, Firefox) fallen auf matte Flächen zurück, statt kaputt zu wirken. Farbschema und Layout sind diesmal unangetastet, das Theme bleibt Cloudridge Blau; der weiße Apple-Hintergrund der letzten Runde ist auf der ganzen Site zurückgerollt (Verwaltung, Forum, Galerie und Karte sind wieder wie vorher), nur zwei echte Fehlerbehebungen bleiben: die Bestätigungsbox für gefährliche Aktionen in der Verwaltung hatte überhaupt kein Styling (alle 43 Meldungen zum Bestätigen des Löschens kamen als nackter Kasten ohne Overlay), und die Galerie-Titel auf schmalen Bildschirmen erschienen nur beim Überfahren mit der Maus.
v1.9.78 Website 2026-10-17

Die ganze Website im Apple-Look: weiße Flächen, Haarlinien, Pillen-Buttons — und eine Runde falscher Zahlen gleich mit erledigt

  • Das Erscheinungsbild der ganzen Website wurde neu gebaut, im Apple-Stil: weißer Grund, fast schwarze Schrift, eine 1-px-Haarlinie statt Schatten, Buttons und Filter-Chips einheitlich als Pillen mit 44 Höhe, und die obere Leiste wechselt beim Scrollen von halbtransparent zu durchgezogen. Milchglas ist komplett raus — die Weichzeichner-Ebenen in Datenkarten, Zeitleiste und Statuskarten sind weg, es bleibt nur eine sehr schwache halbtransparente Schicht in der oberen Leiste. Chinesische Überschriften bekommen keine negative Laufweite mehr: chinesische Zeichen füllen ihre Breite ohnehin, durch Zusammenziehen wirkt der Text wie fett gesetzt; nur Ziffern brauchen das enger. Der Admin-Bereich wurde gleich mit neu geordnet, und ein echter Bug ist behoben: Bestätigungsdialoge für gefährliche Aktionen hatten im Admin überhaupt kein Styling — sie kamen als nackter Kasten ohne Overlay und ohne Positionierung hoch, alle 51 Stellen mit Löschen bestätigen waren betroffen; jetzt ist es eine zentrierte Karte mit Overlay und rot gefärbtem Titel. Das Ganze hängt am Farbschema Apple (im Admin unter Aussehen auswählbar), und mit der Rückkehr zu Cloudridge Blau rollt alles wieder zurück, ohne Codeänderung.
  • Beim Handy ging es diesmal gezielt um die Dinge, die sich nicht gut genug anfühlen: die vier großen Zahlen auf der Datenseite belegten je eine ganze Zeile, jetzt passen sie 2×2 auf einen Bildschirm; das Spielersuche-Feld und der Suchen-Button lagen übereinander (der Button bedeckte fast 70 Pixel des Platzhaltertextes), jetzt stehen sie nebeneinander in einer Zeile; im Ranking bildeten oben und unten je eine graue Linie einen dicken Balken, jetzt ist es eine einzelne 1-px-Haarlinie; der doppelte Rahmen von Karte in Karte in der Zeitleiste, die diversen gestrichelten Kästen und der breite dunkelgraue Windows-Scrollbalken sind alle zusammen aufgeräumt; in der Seitenleiste der Anleitung waren Bezeichnung und Wert des Serverstatus zusammengeklebt (angezeigt als Version1.21.1), jetzt stehen sie links und rechts ausgerichtet mit Trennlinie.
  • Zehn Datenprobleme aus dem Audit sind behoben. Die zwei wichtigsten: auf der Startseite wurde die Gesamt-Onlinezeit in Sekunden als Stunden angezeigt (es stand 35,7 Mio. h da, der echte Wert sind 9907 Stunden, Faktor 3600 daneben); und vier Leute in der Bannliste standen als aufgehoben da, obwohl sie weiter galten — wenn der Heartbeat bereits vorhanden meldete, wurde nur der Status still zurück auf aktiv gesetzt, ohne Verlaufseintrag und ohne das Bann-Merkmal des Spielers wiederherzustellen. Der Rest: die Zahl der installierten Mods stand an drei Stellen der Statusseite auf 0 / 12 / 160 (echter Wert 160), und das Betriebssystem stand auf einem Strich — beides aus demselben Grund: die zugrunde liegende Abfrage liefert eine Whitelist, in der diese beiden Felder fehlen; eine Reihe von UUIDs besetzte als Namen das Ranking und erscheint jetzt als Unbekannter Spieler · 87274f; die Obergrenze der Verfügbarkeit war fest auf 99,2 Prozent verdrahtet (gerechnet mit festen 30 Sekunden Abstand, gemessen kommen die Heartbeats aber alle 31 Sekunden); und K/D ergab ohne Todesfälle astronomische Zahlen, jetzt steht dort ein Strich. Zwei weitere sind Ranking-Politik (zwei Zusammenführungs-Varianten, eine über die Rolle und eine über das Konto, plus ein Schattenkonto, das nur Kills hat) und wurden nicht erzwungen — die Unterschiede und ihre Kosten stehen als Kommentar im Code, damit der Betreiber entscheidet.
v1.9.77 Website 2026-10-11

Gefälschte echte IP: dieser Weg ist jetzt von nginx bis zur Anwendungsschicht dicht

  • ① Erst messen, dann ändern: eine Messsonde auf dem Liveserver ergab zwei Dinge — das nginx von BaoTa nutzt das PROXY-Protokoll, die echte Client-Adresse steht also ohnehin schon in REMOTE_ADDR (gemessen 222.212.76.94, nicht 127.0.0.1); und selbst mitgeschickte X-Real-IP / X-Forwarded-For / CF-Connecting-IP reicht nginx unverändert an PHP durch, alle drei gefälschten Kopfzeilen kommen original an, nginx überschreibt keine davon. ② Beide Enden zusammen absichern: nginx injiziert ein Geheimnis, das nur der eigene Proxy kennt (wer diese Kopfzeile fälscht, bekommt sie von nginx trotzdem überschrieben), und die Anwendung setzt eine zweite Schranke davor — ist REMOTE_ADDR eine öffentliche Adresse, wird sie direkt übernommen und gar nicht mehr auf Proxy-Kopfzeilen geschaut — selbst wenn trust_proxy irgendwann versehentlich eingeschaltet wird, wird die IP in Ratenbegrenzung, Sperren und Audit-Logs nie zu einem Wert, den der Besucher selbst bestimmt.
  • Nebenbei drei Dinge erledigt: der irreführende Kommentar in site/config/config.php („hinter CDN / Reverse-Proxy auf true setzen“) ist durch das Messergebnis und eine Warnung ersetzt — wer das hier befolgt, macht aus einer fälschbaren Kopfzeile erst recht einen verbindlichen Wert; für diese Änderung gibt es jetzt automatische Tests (trust_proxy an + öffentliche REMOTE_ADDR + gefälschte Kopfzeilen ⇒ die echte Adresse kommt trotzdem zurück), die Suite wuchs von 81 auf 83 Prüfungen, alle grün; die temporäre Sonde für die Fehlersuche auf dem Liveserver wurde wie vereinbart entfernt, ein Aufruf liefert jetzt 404.
v1.9.76 Website 2026-10-11

Flüssigeres Scrollen am Handy, ein paar Sicherheitslücken geschlossen, der Chatverlauf verliert die Mitte nicht mehr

  • Vier Punkte zur Handy-Flüssigkeit: das Milchglas der Kopfleiste beim Scrollen, das Milchglas aller Karten auf schmalen Bildschirmen, die Compositing-Ebene, die die Einblendanimation für jedes Element dauerhaft offen hielt, und der Lesefortschrittsbalken, der bei jedem gescrollten Pixel ein Neu-Layout erzwang — alles durch gleichwertige, aber billigere Verfahren ersetzt (die gescrollte Kopfleiste ist ohnehin undurchsichtig, diese Unschärfe war reine Verschwendung; und wenn eine Animation wirklich startet, hebt der Browser die Ebene von selbst an). Gemessen im 390 breiten Handy-Viewport bei 20-facher CPU-Drosselung: schlimmster Frame von 364 Millisekunden auf 57 Millisekunden. Der Unterschied bei der Bildrate insgesamt liegt im Rauschen dieser Maschine, daraus lässt sich nichts Belastbares ableiten — deshalb wurde jeder Punkt oben nur angefasst, wenn er sich auch mechanisch begründen lässt.
  • Drei Sicherheitspunkte (hoch/mittel, sofort behoben): ① das nur zur lokalen Fehlersuche gedachte _admlogin.php muss online jetzt 404 liefern (es konnte einen Besucher direkt zum Administrator machen), und ?to= kann nicht mehr aus der Seite herausführen; ② das ping / dns der Speedtest-Seite übergab einen Hostnamen zum Portscannen, was per DNS-Rebinding ins interne Netz gelenkt werden konnte — jetzt wird nur noch die bereits geprüfte IP verbunden; ③ gefälschte X-Real-IP / CF-Connecting-IP-Kopfzeilen konnten die Ratenbegrenzung pro IP umgehen; solche Kopfzeilen werden jetzt nur noch akzeptiert, wenn die Anfrage wirklich von Loopback kommt. Um ③ endgültig dichtzumachen, muss in nginx X-CDR-Proxy-Secret injiziert und in site/config/config.php security.proxy_secret gesetzt werden — das rührt an der Serverkonfiguration, also erst nach deinem OK.
  • Drei echte Fehler im Chatverlauf: ① sobald ein Tag über 200 Nachrichten kam, war dieser ganze Mittelteil auf der Seite nie zu sehen (am geschäftigsten Tag 2796 Nachrichten, der alte Weg blätterte nur bis 500 zurück, die 2296 dazwischen sah niemand); ② die Sortierung sah nur auf den Primärschlüssel id, sodass an Tagen über eine Tagesgrenze hinweg die Nachrichten nach Mitternacht aus dem Fenster fielen (gemessen: 53 neuere Nachrichten dauerhaft übersprungen); ③ wenn das Senden fehlschlug, tat die Oberfläche, als wäre die Nachricht schon raus. Jetzt wird nach Zeit abgerufen, ein Knopf „Ältere laden“ blättert zurück, und ein Fehlschlag wird klar gemeldet und lässt sich wiederholen.
  • Nebenbei: Seiten für Besucher werden nicht mehr pauschal gar nicht gecacht (Zurück und Vorwärts sind etwas schneller), der eingeloggte Zustand wird weiterhin überhaupt nicht gecacht. Alle 218 PHP-Dateien der Seite sind syntaktisch fehlerfrei, alle 59 Selbsttests liefen durch — die 15 Suiten, die mit dieser Änderung zu tun haben, kamen genau so heraus wie vorher (kein einziger zusätzlicher lokal fehlschlagender Punkt).
v1.6.7 Mod 2026-10-10

Eine Version, die den Server-Hauptthread schont

  • Die Kartenmeldung wurde von „das JSON für 197.000 Punkte im Server-Tick zusammensetzen“ auf „der Tick übergibt nur die Daten, das Zusammensetzen läuft im Hintergrund-Thread“ umgestellt. Das ist die einzige Stelle im ganzen Mod, die „mehrere hundert Millisekunden in einem Tick“ verursachen konnte, und sie passt genau zu den gelegentlichen Spitzen alle halbe Stunde.
  • Die übrigen Posten, die mit Spieler- oder Entity-Zahl wachsen, wurden ebenfalls optimiert: TAB-Zahlen werden pro Tick gecacht, die Spielersuche über den Namen nutzt einen einmal pro Tick neu aufgebauten Namensindex, die Fortschrittsliste erzeugt nicht mehr pro Eintrag eine Zeichenkette, die alle 30 Sekunden gelesenen Konfigurationsdateien und die Bannliste wandern in den Hintergrund, die Längenprüfung der Chat-Warteschlange nutzt einen Zähler, die Netzwerkabtastung startet nicht mehr alle 20 Sekunden einen Thread, und die Drosseltabelle für Befehle wächst nicht mehr unbegrenzt an. Meldeformat, Feldnamen und der Zeitpunkt der Werterfassung sind unverändert.
v1.9.75 Website 2026-10-10

Serverseitiges Mod entschlackt: Aufwand, der mit der Spielerzahl wächst, raus aus dem Hauptthread

  • Der größte Brocken im Mod-Bericht ist die Karte: drei Karten mit je 256×256, rund 197.000 Punkte. Früher wurden diese Punkte mitten im Server-Tick zu JSON zusammengesetzt, und der Server lief erst danach weiter — eine Runde alle halbe Stunde, was genau zu diesen gelegentlichen „kurz hängt es“-Spitzen passt. Jetzt übergibt der Tick nur noch die Daten, und das Zusammensetzen läuft in einem Hintergrund-Thread: Die Daten lagen ohnehin schon vor, und JSON bauen musste den Hauptthread nie belegen.
  • Nebenbei wurden mehrere Posten eingedämmt, die mit der Zahl der Spieler online wachsen: Die Zahlen in der TAB-Liste (Spielzeit, Spielerzahl und so weiter) wurden für jede Zeile jedes Spielers neu berechnet, obwohl sie sich nur alle 30 Sekunden ändern; die Suche nach einem Spieler über den Namen fiel auf einen zeilenweisen Durchlauf der ganzen Tabelle zurück (10 Spieler bedeuteten 100 Suchvorgänge); die Fortschrittsliste lief alle 10 Minuten über tausend Rezepteinträge; und alle 30 Sekunden wurde nur zum Zählen der Entities jede Welt komplett durchlaufen, während Konfigurationsdateien und Bannliste im Hauptthread gelesen wurden. Jetzt wird stattdessen gecacht, indexiert, einmal berechnet und im Hintergrund gelesen — an dem, was an die Website gemeldet wird, hat sich kein einziges Byte geändert, und die Seiten sehen genau aus wie vorher.
v1.9.74 Website 2026-10-05

Verwaltung und Profil-Datenschutz nachgebessert

  • Der Zähler für offene Prüfungen in der Seitenleiste zählte nur Forum und Galerie, während das Verwaltungsfeld fünf Warteschlangen zählte — jetzt kommt alles aus einer einzigen Funktion und jeder Menüpunkt trägt seine eigene Zahl. Zerstörende Aktionen (Nutzergruppe löschen, Navigationspunkt löschen, Chat-Protokoll leeren, Cache leeren) fragten nicht nach; sie bestätigen jetzt. Skin-, Profilbild- und Chat-Protokoll-Listen waren auf 200 beziehungsweise 60 Einträge begrenzt und lassen sich nun durchblättern.
  • Die Option „Andere dürfen mein Profil sehen“ wirkte bisher nur auf die Teamseite, das Profil selbst blieb für alle sichtbar — jetzt gilt sie wirklich, außer für einen selbst. Passwortänderung und Abmelden anderer Geräte landen außerdem im Prüfprotokoll.
v1.9.73 Website 2026-10-05

Rote Bestätigungs- und Löschen-Schaltflächen sind wieder sichtbar

  • Beim Zurückziehen einer Chat-Nachricht war die Bestätigen-Schaltfläche leer: mit aktiviertem Flüssigglas entfernt die Glasregel den Hintergrund der Schaltfläche, lässt aber die weiße Schrift stehen — weiß auf weiß. Rote Vollflächen-Schaltflächen bleiben jetzt genau wie die blaue Hauptschaltfläche außerhalb des Glases.
  • Betroffen waren alle roten Schaltflächen der Website (Zurückziehen, Löschen, Entbinden und so weiter); sie sind alle mitkorrigiert.
v1.9.72 Website 2026-10-05

Seitenwechsel springt nicht mehr nach oben

  • Ein Klick auf "nächste Seite" weiter unten riss einen bisher ganz nach oben. Jetzt richtet die Blätterleiste stattdessen die Liste darüber aus und tut gar nichts, wenn diese Liste ohnehin sichtbar ist. Vor und zurück kehren an die vorige Scrollposition zurück.
  • Nebenbei ein paar Kleinigkeiten: die Seed-Karte steht jetzt im Menü Server, Sprungmarken verschwinden nicht mehr unter der klebenden Navigation, Galerie-Karten zeigen ihren Autor, und die online Spieler auf der Startseite führen zum Profil.
v1.9.71 Website 2026-10-05

Backendrechte verschärft, kleinere Fehler behoben

  • Einstellungen, Schlüsselwechsel, Backups und Systemwerkzeuge sind jetzt dem Inhaber vorbehalten — die Serververwaltung behält Inhalte, Meldungen und Whitelist.
  • Beim seitenweisen Navigieren wurden mehrere Kleinigkeiten behoben: der Dunkelmodus bleibt erhalten, Formulare werden nicht mehr doppelt gesendet, der Countdown läuft normal schnell und die Sortierauswahl lädt die Seite nicht mehr neu.
v1.9.70 Website 2026-10-05

Seitenwechsel ohne Neuladen

  • Blättern, Filtern, Suche und Sortieren tauschen jetzt nur den Inhalt aus — die Adresse ändert sich weiterhin, die Zurück-Taste funktioniert normal.
  • Speichern, Prüfen und Löschen springen wie bisher auf eine neue Seite.
v1.9.69 Website 2026-10-05

Suchfeld der Spielerliste wurde von den Karten verdeckt

  • Animierte Elemente tragen will-change, und will-change erzeugt einen Stapelkontext, daher galt der z-index der Vorschlagsliste nur innerhalb der eigenen Karte und verlor gegen die später im DOM stehenden Statistik-Karten
  • Die gesamte Suchkarte steht jetzt oben, die Liste schwebt vollständig darüber
v1.9.68 Website 2026-10-04

Profilseite ließ sich auf dem Handy nicht scrollen — behoben

  • Der 3D-Skin-Viewer hatte touch-action:none fest gesetzt und bei touchstart/touchmove bedingungslos preventDefault aufgerufen, sodass ein Finger darauf die ganze Seite blockierte. Senkrechtes Wischen geht jetzt an den Browser, nur waagerechtes dreht das Modell
  • Das Ziehen des Hintergrunds im Kopfbereich ist ebenfalls maus-exklusiv
v1.9.67 Website 2026-10-04

Server-Anleitung neu geschrieben: doppelter Inhalt, und bei den Befehlen ist endlich klar, welche für Spieler sind

  • Alle vier Seiten — Erste Schritte, Regeln, FAQ und Über — wurden neu geschrieben, jede erklärt, warum ein Schritt wichtig ist und was bei Problemen hilft
  • Die Befehlsseite beginnt jetzt mit einem handgeschriebenen Abschnitt Spielerbefehle, gruppiert nach erste Schritte, Fortbewegung, Chat und Status; die vollständige Tabelle mit 435 Zeilen bleibt darunter erhalten
v1.9.66 Website 2026-10-04

Der Scroll-Hinweis klebt nicht mehr an der Tabelle

  • Der Hinweis ueber der Tabelle sass direkt auf deren Oberkante und wirkte wie uebereinandergelegt; jetzt gibt es Abstand
  • Die Kopfzeile wird beim Scrollen vollstaendig undurchsichtig (vorher halbtransparent)
v1.9.65 Website 2026-10-04

Eine Sicherheitslücke in hochgeladenen SVGs geschlossen

  • Früher konnte ein speziell präpariertes SVG als Avatar oder Hintergrund die IP-Adresse und Browserdaten aller Betrachter preisgeben. Solche externen Verweise werden nun entfernt, ohne das Bild selbst zu verändern.
  • Zusätzlich wurden HSTS und einige zurückhaltende Content-Security-Regeln ergänzt.
v1.9.64 Website 2026-10-04

Das Prüf-Abzeichen leuchtet nicht mehr dauerhaft + Statusseite ohne interne IP

  • Das „Prüfen“-Abzeichen im Admin zählte fünf Warteschlangen, das Panel „Serververwaltung“ kann aber nur zwei davon bearbeiten — das Abzeichen leuchtete also, ohne dass es etwas zu prüfen gab. Beide nutzen jetzt dasselbe Maß, und das Panel hat eine Zeile „weitere offene“ bekommen: Galerie / Skins / Forum, jeweils mit Link zur vorhandenen Admin-Seite.
  • Die Zeile „Webkarte“ auf der Statusseite zeigte 127.0.0.1:8100 (eine interne Adresse, nur für die Prüfung). Jetzt wird die öffentliche Adresse der Webkarte angezeigt.
v1.9.63 Website 2026-10-04

Videos direkt in der Admin-Prüfung

  • Bei Hintergründen mit einem Hintergrundvideo wird jetzt dieses Video direkt in der Prüfkarte abgespielt — auf Play drücken, standardmäßig wird nur der Anfang geladen (spart Daten), inklusive Kennzeichnung „enthält Video“.
  • Vorher zeigte die Karte nur das separat gewählte Titelbild, das mit dem Video nichts zu tun haben musste. Kein Freigeben mehr im Blindflug.
  • Ebenfalls behoben: „Upload-Zeit zeigt 1970-01-01“. Mein Asset-Upload-Werkzeug schrieb ein falsches Zeitformat. Daten und Werkzeug sind korrigiert.
v1.9.62 Website 2026-10-04

500-Fehler behoben + zwei optische Anpassungen

  • 500-Fehler behoben: In der vorigen Version hatte ich die Argumente des Audit-Logs nach der Anmeldung an die falschen Positionen gesetzt, sodass jede erfolgreiche Anmeldung einen internen Fehler auslöste. Jetzt wird normal weitergeleitet.
  • Die Zeile „Ich habe die Nutzungsbedingungen und die Datenschutzerklärung gelesen und akzeptiere sie“ steht jetzt ganz unten im Formular (unter dem Anmelden-Knopf), wie auf üblichen Anmeldeseiten. Ohne Häkchen ist keine Anmeldung möglich.
  • Die Abdunklung im Kopfbereich der Spielerseite ist nun ein weicher Verlauf: Die deutlich sichtbare waagerechte Linie ist weg.
v1.9.61 Website 2026-10-04

Zustimmung zu den Bedingungen beim Anmelden

  • Die Anmeldeseite hat jetzt ein Kontrollkästchen: „Ich habe die Nutzungsbedingungen und die Datenschutzerklärung gelesen und akzeptiere sie“ — ohne Häkchen ist keine Anmeldung möglich. Beide Wege sind betroffen (QQ-Ein-Klick und E-Mail + Passwort), und der Server prüft es ebenfalls, denn einen Knopf zu deaktivieren hält niemanden auf.
  • Wir haben zwei echte Seiten geschrieben, Nutzungsbedingungen und Datenschutzerklärung, die Punkt für Punkt auflisten, was die Seite speichert: den von QQ gelieferten Nicknamen und die openid, E-Mail und Passwort-Hash, verknüpfte Charaktere, Spielstatistiken, hochgeladene Bilder sowie IP und Zeitpunkt der Anmeldung.
  • Dort steht auch genau, mit wem wir teilen — nur drei Stellen: QQ Connect (Anmeldung), mc-heads.net (Skin-Avatar, wenn keiner hochgeladen wurde) und 126 Mail (Bestätigungscodes). Keine Werbenetzwerke, kein Datenverkauf.
  • Speicherdauer, Wege zum Löschen oder Exportieren und der Umgang mit Minderjährigen sind ebenfalls beschrieben. Beide Seiten sind auch im Footer verlinkt.
v1.9.60 Website 2026-10-04

Die Kopfzeilenschrift bleibt auch auf hellen Bildern lesbar

  • Seit das Video das Foto ersetzt, lag der weiße Kopfzeilentext auf hellem Himmel und Wolken und erreichte im schlechtesten Fall 1,16:1, war also praktisch unlesbar. Die Ursache war die Zeichenreihenfolge: Das Video ist ein echtes Kindelement, der Abdunklungsverlauf lag jedoch auf body.cdr-body::before (generierter Inhalt), und generierter Inhalt wird immer vor echten Kindern gezeichnet. Das Video verdeckte den Verlauf also vollständig, der damit gar nichts bewirkte
  • Die Korrektur macht die Abdunklung zum eigenen Hintergrund der Kopfzeile: ein einziger Verlauf von oben nach unten (oben 62 Prozent, bei 350px verschwunden), der nur den Kopfzeilenstreifen bedeckt und Motiv, Boden und Wasser pixelgenau unberührt lässt; eine neue feste Ebene wurde nicht hinzugefügt, die Seitenhöhe bleibt bei 6816px
  • Auf dem hellsten Bild stieg der Kontrast der Kopfzeile von 1,16 bis 2,63 auf 4,85 bis 6,91 zu 1 (Norm für weißen Text ist 4,5 zu 1). Nebenbei wurde eine nur online auftretende Regression behoben: Unter flüssigem Glas hat die Zurück-Schaltfläche eine durchscheinende Fläche und wurde mit abgedunkelt (5,19 zu 1 fiel auf 2,14 zu 1); ihre Beschriftung wird nun ebenfalls weiß, schlechtester Fall 6,04 zu 1
  • Betroffen sind nur Seiten mit einem Banner; Seiten ohne Banner bleiben Byte für Byte unverändert. Mausrad, Schaltflächen und Videowiedergabe wurden erneut geprüft
v1.9.59 Website 2026-10-04

Bewegte Hintergründe: die wahre Ursache für totes Mausrad und Klick ist gefunden

  • Die Ursache war eine Klassennamen-Kollision: .pub-bg-video war zugleich die Klasse des Video-Elements und die Schalterklasse auf <html>. Damit landete die ganze Regel der bildschirmfüllenden festen Videoebene auf dem Wurzelelement — die Wurzel wurde position: fixed, die Seitenhöhe fiel auf einen Bildschirm zusammen, und das Mausrad hatte nichts zu scrollen
  • Noch heimtückischer: pointer-events: none wird vererbt. Der gesamte Dokumentbaum bekam keine Maus mehr, nur <html> fing sie ab, und die Zurück-Schaltfläche war unerreichbar
  • Die Korrektur: Die Statusklasse heißt jetzt pub-bg-on, und die Elementregel ist auf video.pub-bg-video eingegrenzt, damit beide nie wieder zusammenstoßen
  • Das Hintergrundmaterial ist wieder die erste Fassung (4,50 MB → 4,41 MB) ohne ins Bild gerechnete Abdunklung, die Farben sind also wieder normal; außerdem wurden drei lokale Prüfstände korrigiert — sie maßen <html>, während sie die Videoebene zu messen glaubten
v1.9.58 Website 2026-10-04

Bewegte Hintergründe: eine verschenkte Bildschirmhöhe entfernt, Ziehen besser erkennbar

  • Neues Video (15,98 MB → 4,50 MB), die Abdunklung ist direkt ins Bild gerechnet; das Standbild auf dem Handy ist dasselbe Bild
  • Eine unsichtbare Maskenebene entfernt, die trotzdem über eine Bildschirmhöhe hinzufügte
  • Über dem Seitenkopf wird der Zeiger zur Greifhand; die Bedingung ist gelockert, damit auch Touchscreen-Notebooks funktionieren
  • Das Mausrad-Problem wird noch untersucht; diese Version behebt die drei Punkte oben
v1.9.57 Website 2026-10-04

Dein Profil kann jetzt einen bewegten Hintergrund haben

  • Lade einen stummen Clip von 5 Sekunden bis 1 Minute hoch: Er läuft am Computer in Schleife, während das Handy das Standbild behält und nichts zusätzlich lädt
  • Nur das Banner-Feld nimmt ein Video an, und es durchläuft dieselbe Prüfung wie Bilder; die Grenze liegt bei 6 MB — darüber wird klar abgelehnt, nie stillschweigend
  • Das Standbild am Handy ist dein Banner — wähle eines, das zum Clip passt
  • Die Funktion ist standardmäßig aus; erst wenn du sie in den Admin-Schaltern aktivierst, erscheint das Upload-Feld
v1.9.56 Website 2026-10-03

Behoben: "Bild ausgewählt, gespeichert – und nichts passierte"

  • Ein Spieler lud Avatar und Banner hoch – sogar mit Video –, doch in der Moderation erschien nichts. Das Bild erreichte den Server nie; $_FILES war von Anfang bis Ende leer
  • Die Ursache war iPhone-HEIC: Der Browser kann es nicht dekodieren, der Zuschnitt-Dialog wertete das als "Abbrechen" – und Abbrechen entfernt die Datei aus dem Formular. Ohne Datei konnte der Server nur "Bild wird nicht geändert" annehmen und antwortete mit einer grünen Erfolgsmeldung
  • Nicht dekodierbare Bilder werden nicht mehr verworfen – das Original wird unverändert hochgeladen (nur ohne Zuschnitt), samt Erklärung
  • Zusätzlich gibt es nun ein Sicherheitsnetz auf Serverseite: Meldet der Browser ein Bild, kommt aber keine Datei an, wird ein Fehler ausgegeben statt Erfolg vorzutäuschen. Ein echtes Abbrechen wird ebenfalls klar angezeigt
v1.9.55 Website 2026-10-03

Die Korrektur von „Unbekannter Spieler"-Namen ist jetzt im Adminbereich

  • Das Kommandozeilen-Skript .tools/_backfill-names.php ist jetzt eine Schaltfläche unter Admin -> Systemwerkzeuge
  • Es liest usercache.json aus den historischen Backups, gibt Zeilen, die noch nach einer UUID benannt sind, ihren echten Namen zurück und verschiebt Sitzungsverlauf / Erfolge / Skins mit
  • Die Seite zeigt zuerst, welche Zeilen sich wohin ändern; vor dem Schreiben wird automatisch ein Datenbank-Snapshot angelegt
  • Nur Zeilen, deren ganzer Name eine UUID ist, werden angefasst; ist der echte Name belegt, werden beide Zeilen zusammengeführt, normale Spieler nie umbenannt
v1.9.54 Website 2026-10-03

Ranglisten: die Top 10 aus neun Kategorien auf einem Bildschirm

  • Das sind die „aufgeschlüsselten Ranglisten“, die du wolltest. Das Sortiermenü der Spielerliste zeigt immer nur eine Dimension, ein Vergleich von „wer hat am meisten gegraben“ mit „wer ist am häufigsten gestorben“ bedeutete ständiges Umschalten. /ranking zeigt die Top 10 aus neun Kategorien auf einem Bildschirm
  • Eine Karte pro Kategorie mit Rang, Avatar, Name und dem Wert dieser Kategorie —
  • die Zahlen sind Zeichen für Zeichen identisch mit der Spielerliste, weil beide denselben Formatierungscode nutzen. Ein Klick auf einen Namen öffnet die Spielerseite
  • Der Link „Alle ansehen“ im Kartenkopf öffnet die vollständige Liste, bereits nach dieser Spalte sortiert (?sort=). Der Einstieg ist der Knopf „Ranglisten“ unter dem Titel der Spielerliste. Kategorien ohne Daten erzeugen keine leere Karte, Bots bleiben wie bisher außen vor
v1.9.53 Website 2026-10-03

Der Profilhintergrund lässt sich jetzt ziehen

  • Auf Profilen mit Banner kann man die Maus drücken und das Hintergrundfoto ziehen — als schöbe man einen Landschaftsabzug umher, während Kopfbereich, Avatar und Name fest darauf sitzen
  • Nur der obere Bereich (der Seitenkopf) reagiert. Karten, Tabellen und Schaltflächen darunter funktionieren wie gewohnt, Textauswahl bleibt möglich; ein Klick auf eine Schaltfläche startet nie ein Ziehen
  • Beim Loslassen federt alles an seinen Platz zurück; am Rand angekommen stoppt die Bewegung (ringsherum bleibt ein kleiner Abstand), damit das Foto nie aus dem Bild läuft und die Hintergrundfarbe sichtbar wird
  • Nur Maus und Trackpad. Touchscreens und alle mit aktivierter Option „Bewegung reduzieren“ sind ausgenommen und verhalten sich wie bisher
v1.9.52 Website 2026-10-03

„Unbekannter Spieler“ repariert sich künftig selbst

  • Einige Zeilen zeigen „Unbekannter Spieler · 87274f“ — diese Zeichenkette ist tatsächlich die UUID. Der Namenscache des Servers hält nur etwa einen Monat; nach einer längeren Pause kann das Mod keinen Namen mehr auflösen und meldet die UUID
  • Das Problem: Solch eine Zeile konnte nie heilen. Kam der Spieler zurück und der Server kannte seinen Namen wieder, kollidierte die Umbenennung mit der Eindeutigkeitsregel (eine Zeile mit dem echten Namen gab es meist schon), der Fehler wurde verschluckt und die UUID blieb stehen
  • Jetzt funktionieren beide Wege: Ist der echte Name frei, wird umbenannt und Sitzungen, Erfolge und Skin ziehen mit; ist er belegt, wird zusammengeführt — Spielzeit addiert, Fortschritt vereinigt, erster/letzter Besuch erweitert
  • Für dich ist nichts zu tun — bei der nächsten Anmeldung stimmt es. Das Sync-Log vermerkt „adopted=N“, sichtbar unter Systemwerkzeuge
v1.9.51 Website 2026-10-03

Dein Avatar erscheint jetzt überall; Login-Verlauf mit Seiten; helle Buttons nicht mehr ausgewaschen

  • Der hochgeladene Avatar war nur im eigenen Profil zu sehen — alle anderen Avatare der Seite liefen über einen anderen Weg, der nichts von deinem Upload wusste. Spielerlisten, Kommentare und Navigation nutzen ihn jetzt. Wer nichts hochgeladen hat, sieht unverändert aus
  • Der最近 Login-Verlauf zeigte 30 Zeilen auf einmal. Jetzt sind es 10 pro Seite, mit derselben Blätterfunktion wie im Rest der Seite (bei nur einer Seite ausgeblendet)
  • Der Knopf „alle Abzeichen ausklappen" wirkte grau und deaktiviert — ein Spezifitätsproblem: die blaue Tönung des hellen Buttons verlor gegen die weiße Basisschicht, und der eigene Hintergrund wurde ebenfalls entfernt. Behoben
  • Die Lücke unter der linken Spalte eines Profils: Die linke Spalte dehnt sich nun auf die Höhe der rechten, die Rangliste füllt den Rest. Keine Lücke mehr, egal ob Abzeichen ein- oder ausgeklappt sind. Die Radar-Hinweise sind standardmäßig eingeklappt
v1.9.50 Website 2026-10-03

Flüssigglas nach der Vorlage neu geschrieben: diesmal ist es echtes Glas

  • Die vorige Fassung war nur „eine Verlaufsmap + eine Verschiebung“, und kein Feintuning machte sie richtig. Der Zeilenvergleich mit der Vorlage zeigte drei fehlende Teile - alle sind jetzt da
  • Die Brechung folgt nun echter Optik: Glasdicke, Fasenbreite, Brechungsindex (1,0-3,0) und die gerundete Oberfläche fließen ein - das erzeugt am Rand den Lupeneffekt von „dickem Glas“
  • Eine Glanzschicht kam hinzu - ein Randreflex entlang einer Richtung. Das ist das auffälligste Merkmal von Flüssigglas, und die vorige Fassung hatte ihn gar nicht
  • Die Sättigung wird nach der Verschiebung wiederhergestellt (Brechung macht Farben grau), plus etwas Kantenglättung. Die Unschärfe bleibt bei 0,3 px: mehr lässt Nachbarpixel nicht mehr differieren und löscht die Brechung völlig
v1.9.49 Website 2026-10-03

Avatare lassen sich jetzt selbst zuschneiden – ziehen Sie, was im Rahmen steht, ist das Ergebnis

  • Früher wurde das ganze Bild hochgeladen und die Seite skalierte es von der Mitte aus – lag das Gesicht am Rand, war das eben so. Jetzt öffnet die Bildauswahl einen Zuschneiderahmen: ziehen zum Verschieben, Mausrad oder Regler zum Zoomen – was im Rahmen steht, wird der endgültige Avatar
  • Der Export erfolgt in 512×512 (dieselbe Obergrenze wie serverseitig) als WebP. Kleine Bilder werden nie vergrößert – das macht sie nur unschärfer, also werden sie in ihrer eigenen Größe zugeschnitten. Auf schmalen Bildschirmen wird der Rahmen automatisch kleiner, also funktioniert es auch am Handy
  • Zwei Bildarten bleiben absichtlich unangetastet: animierte GIFs (Zuschneiden behielte nur ein Einzelbild und würde die Bewegung zerstören) und SVG – beide laufen wie bisher. Schlägt ein Schritt fehl (Browser kann es nicht, Speicher reicht nicht), wird die Originaldatei gesendet – Sie hängen nie bei „Datei gewählt und nichts passiert“ fest
  • Banner werden nicht zugeschnitten – sie sind von Natur aus breit, und sie quadratisch zu machen ergäbe keinen Sinn. Der Rahmen erscheint nur beim Hochladen eines Avatars unter Ich → Mein Profil.
v1.9.48 Website 2026-10-03

Frostglas eine Stufe leichter auf schmalen Bildschirmen – das Ruckeln auf dem Handy sollte nachlassen

  • Das Ruckeln auf der mobilen Profilseite lag nicht an einer schlecht geschriebenen Animation, sondern daran, dass die Unschärfe selbst zu teuer war: Jede Karte trug blur(32px) saturate(180%), und auf dieser Seite sind sieben oder acht Glasflächen gleichzeitig sichtbar – jedes gescrollte Bild musste also alle Pixel dahinter neu abtasten
  • Der Unterschied zwischen 32px und 14px ist mit bloßem Auge kaum zu sehen – die Karten liegen ohnehin auf .70–.78 Weiß, und die Unschärfe weicht das Foto dahinter nur auf; die Abtastkosten wachsen dagegen ungefähr mit dem Quadrat des Radius. Die Sättigung sinkt ebenfalls von 180% auf 150%; nichts auf dieser Seite brauchte kräftigere Farben
  • Nur schmale Bildschirme gehen eine Stufe herunter: Am Desktop hat sich kein Pixel bewegt. Das ist eine reine Performance-Änderung, die Sie kaum sehen werden – aber das Scrollen auf dem Handy fühlt sich deutlich flüssiger an
  • Es ist eine reine Performance-Änderung, kaum sichtbar — wenn das Scrollen auf dem Handy weiterhin ruckelt, sagen Sie mir auf welchem Bildschirm, und ich grabe weiter.
v1.9.47 Website 2026-10-03

Die mobile Statusseite ist viel kürzer; die Bannliste zeigt nicht mehr in jeder Zeile „QQ nicht verknüpft“

  • Auf dem Telefon wurde jede Dienstzeile auf zwei oder drei Zeilen umgebrochen. Der Grund war konkret: Die Zeile war ein dreispaltiges Raster, dessen Mindestbreiten zusammen 504 px ergaben, während ein Telefon-Viewport nur 492 px breit ist — knapp zu schmal, also wurde jede Zeile zum Umbruch gezwungen. Schmale Bildschirme nutzen jetzt zwei Spalten mit der Notiz in einer eigenen Zeile, was die Seite um über 500 px verkürzt
  • Auch Panel-Innenabstände, der Verfügbarkeitsbalken und die Knotenkarten wurden auf schmalen Bildschirmen eine Stufe straffer gesetzt. Diese Änderungen liegen nur in einem Style-Block innerhalb der Statusseite — auf allen anderen Seiten bewegt sich kein Pixel
  • In der Bannliste stand in jeder Zeile dieselbe Angabe „QQ nicht verknüpft“ unter dem Spielernamen, sodass die Tabelle kaputt wirkte. Tatsächlich wurde der Schalter „QQ auf der Bannseite verbergen“ im Backoffice berechnet, aber nie verwendet — die Einstellung war von Anfang an tot
  • Jetzt beachten alle drei Stellen diesen Schalter: die Listenzeile, das QQ-Abzeichen samt Tooltip am Avatar und das aufgeklappte Detail. Bann-Gründe sind weiterhin fest auf Chinesisch verdrahtet (alle zehn Sprachen zeigen Chinesisch); das behandle ich getrennt
v1.9.46 Website 2026-10-03

Hintergrundbilder bewegen sich jetzt und weichen der Maus sanft aus

  • Animierte GIF-Hintergruende werden jetzt unterstuetzt. Es war nie "nicht unterstuetzt", sondern "unterstuetzt und dann plattgedrueckt": jeder Upload wurde zu WebP neu kodiert, und das Dekodieren eines GIF liefert nur das erste Bild —— eine Animation kam also als Standbild an
  • Die Loesung: ein GIF mit mehreren Bildern wird unveraendert gespeichert, ohne Neukodierung, die Animation bleibt erhalten. Der Preis: animierte Hintergruende werden nicht auf 1920x1080 verkleinert —— Neukodierung wuerde die Animation toeten, das ist bewusst so
  • Der Hintergrund folgt jetzt der Maus: bewegt sich der Zeiger, wandert die Hintergrundebene bis zu 10 Pixel in die Gegenrichtung, was dem Foto Tiefe gibt
  • Pro Bild aendert sich nur eine CSS-Variable, das Foto selbst wird nie neu gezeichnet; sobald der Zeiger ruht, endet die Schleife und eine stehende Seite kostet genau so viel wie vorher. Nur Maus und Trackpad, und bei reduzierten Animationen komplett aus
v1.9.45 Website 2026-10-03

Das Kreuz auf dem Zurueck-Knopf: vier Runden, die Ursache lag in einem Kommentar

  • Das Kreuz ist weg. Es war ein heller Fleck, den der Browser beim Abtasten des Hintergrunds einer kleinen Box am oberen Rand mittig hinterlaesst —— dieser Knopf ist nur 58x35, der Fleck faellt darauf deutlich auf; auf einer grossen Karte wird derselbe Fleck verwaschen und ist unsichtbar
  • Die Loesung: dieser kleine Knopf tastet den Hintergrund nicht mehr ab, und seine Toenung steigt von 8 % auf 14 %, damit er durchscheinend bleibt. Die Kosten sind null: mit und ohne Brechung unterscheidet sich dieser Knopf um 0 von 1.766.688 Pixeln (maximale Kanaldifferenz 1)
  • Die wirklich tueckische Schicht kam danach: die Regeln waren richtig, wirkten aber nicht. Beim woertlichen Zitieren des Referenz-CSS in einem Kommentar schrieb ich /* 6% */ —— CSS-Kommentare lassen sich nicht verschachteln, dieses */ schloss den aeusseren Kommentar zu frueh, das folgende } schloss die Regel zu frueh, und der Parser verschluckte alle folgenden Regeln
  • Dieser kaputte Kommentar stand seit 1.9.42 dort: drei Versionen lang fehlten dem Knopfglas der innere Schein und der aeussere Schatten —— jetzt sind beide zurueck. Die Lehre ist jetzt ein Test: nichts in einen Kommentar schreiben, was ihn zu frueh beendet (dieselbe Falle hat mich in PHP schon zweimal erwischt)
v1.9.44 Website 2026-10-03

Diese flackernde Linie bei Mausbewegung: acht Versionen später war die Ursache eine 2px-Hebung beim Hover

  • Die Ursache war weder der Glanz noch die Fläche des Frostglases, sondern eine siteweite Hover-Regel: Jedes Mal, wenn der Zeiger eine Karte überquerte, wurde sie um 2px angehoben. Die Karten tragen einen Frost-Hintergrund, also muss der Browser in dem Moment, in dem sich eine bewegt, das Bild dahinter neu abtasten — und diese Abtastung wird in Kacheln geschnitten; die Kachelfugen sind die Linie
  • Fünf Irrwege unterwegs (den Glanz vom Hintergrund in ein Pseudoelement, dann auf transform, dann in ein echtes Kindelement, dann aus dem Glas heraus, dann komplett gelöscht). Jeder sah aus, als «müsste» er wirken, und keiner traf die Ursache
  • Die Korrektur: Glasflächen bewegen sich beim Hover nicht mehr, sondern antworten mit Rahmen und Schatten. Zwei über die volle Breite laufende Frostleisten (Navigationsleiste und angeheftete Namenszeile) haben ihre Unschärfe ebenfalls verloren; großflächige Abtastung ist die teuerste Art
  • Zwei sichtbare Dinge kamen aus demselben Zug: Der mausfolgende Glanz ist komplett entfernt (zu unruhig), und das Button-Glas wurde wie in der Referenz in drei Schichten neu geschrieben (Brechung und Tönung getrennt)
v1.9.43 Website 2026-10-03

Der Admin-Anmeldeknopf war verschwunden: ein Spezifitätsfehler aus meiner letzten Version

  • Das in v1.9.42 eingeführte Button-Glas hatte einen Spezifitätsfehler: Die Grundschicht mit 8 % weißer Tönung zählte als „fünf Klassen plus zwei Elemente", der marineblaue Verlauf des Primärknopfes aber nur als „drei Klassen" —— die Grundschicht gewann also immer, der Verlauf wurde nie gezeichnet. Zusätzlich entfernte background: none im selben Block den eigenen Verlauf des Primärknopfes. Marineblauer Grund mit weißer Schrift wurde so zu weiß auf weiß, und der Knopf verschwand vollständig
  • Lösung: gefüllte Markenknöpfe (der Primärknopf) nehmen gar nicht mehr am Glas teil. Er ist marineblau mit weißer Schrift; diese Glasbehandlung passt nur zu hellen Knöpfen. Der Primärknopf hat wieder sein ursprüngliches gefülltes Aussehen
  • Derselbe Fehler hat still auch die Aufhellung beim Hover verschluckt (sie zählte „vier Klassen" und verlor gegen fünf) —— die Aussage der letzten Version, „Hover macht jetzt einen Unterschied", hat also nie gegriffen. Jetzt schon
  • Noch ein Folgefehler: background: none löschte auch ladende Knöpfe, während die Glasschichten sie ausnehmen —— der Knopf war in diesen Sekunden völlig durchsichtig. Ladende Knöpfe bekommen ihren Hintergrund zurück
v1.9.41 Website 2026-10-02

Das Leuchten, das der Maus folgte, ist entfernt

  • Was entfernt wurde: das kühle blaue Licht, das auf den Karten dem Zeiger folgte. Alles ist weg — die Variablen, der Schalter, die Ebene, das Skript, kein Fragment bleibt übrig
  • Warum: Sie haben dasselbe Problem viermal gemeldet — „sobald die Maus sich bewegt, flackert dieser Fleck" / „eine horizontale Linie". Ich habe es viermal neu geschrieben (in den Kartenhintergrund gezeichnet, in ein Pseudoelement verschoben, zu einem echten Kindelement gemacht, auf eine eigenständige Ebene über die ganze Seite verschoben) — nichts hat geholfen. Ihr letztes Wort dazu war „lösch das Leuchten, das der Maus folgt, es wackelt zu sehr" — also ist es weg
  • Ein Nebeneffekt: Ohne es löst das Bewegen des Zeigers überhaupt kein Neuzeichnen mehr aus. Das war zugleich das letzte Puzzleteil der flackernden Linie — solange sich irgendetwas im Inneren eines Milchglas-Elements Bild für Bild ändert, muss der Browser das Bild dahinter immer wieder neu berechnen, und er berechnet es in Kacheln: die Kachelfugen sind die Linie, die Sie gesehen haben
  • Sonst hat sich nichts geändert: die Glasdurchlässigkeit, der erste Bildschirm mit nur dem Foto, die angeheftete Namenszeile und die Liquid-Glass-Schaltflächen sind unverändert. Besucher ohne Maus und Touch-Besucher haben dieses Leuchten ohnehin nie gesehen — für sie ist dieses Update ein Nullsummenspiel
v1.9.36 Website 2026-10-02

Das Leuchten springt beim Elementwechsel nicht mehr, und das Liquid Glass der Schaltflächen ist stärker

  • Das Maus-Leuchten „springt" nicht mehr: Wanderte der Zeiger von einer Karte zur anderen, teleportierte das Leuchten —— das alte verschwand, das neue erschien sofort. Jetzt blendet das alte an seiner Stelle aus, während das neue unter dem Zeiger einblendet, und der Mittelpunkt gleitet mit; das Ganze dauert etwa 180ms
  • Warum keine CSS-Transition: transition ersetzt eine ganze Deklaration, und es gibt keine Möglichkeit, sie nur einer einzelnen Eigenschaft hinzuzufügen; dafür bräuchte es einen Selektor, der auch die Einblend- und Hover-Animationen der Karten überschreibt, wodurch das Einblenden beim Scrollen von „einblenden und aufsteigen" zu einem harten Schnitt würde. Deshalb lässt das Skript stattdessen eine einzelne Zahl (die Leuchtstärke) Bild für Bild weich laufen und hört auf, sobald sie steht
  • Das Liquid Glass der Schaltflächen ist stärker: Die Refraktionsverschiebung steigt von 14 auf 50, das Fasenband wurde verbreitert, und die Dinge, die es tatsächlich nach Glas aussehen lassen, kamen hinzu —— eine Spiegelkante oben, warme und kalte Dispersionssäume links und rechts sowie ein innerer Glanz. Gleichzeitig wurde die Unschärfe von 1,5px auf 0,8px zurückgenommen (Unschärfe löscht genau das Detail, von dem die Verschiebung leben soll)
  • Der ehrliche Vorbehalt bleibt: Nur Chrome und Edge rendern es, und die Refraktion ist nur sichtbar, wenn es etwas zu brechen gibt —— auf einer weißen Karte praktisch null, über einem kontrastreichen Bannerfoto dagegen deutlich. Der Schalter liegt in der Verwaltung unter „Systemeinstellungen → Optische Effekte" und ist standardmäßig aus
v1.9.35 Website 2026-10-02

Der erste Bildschirm zeigt nur noch das Foto, beim Scrollen steigt der Inhalt auf, und die Buttons haben Flüssigglas

  • Der erste Bildschirm ist jetzt eine Hero-Fläche: Auf einer Spielerseite mit Banner sieht man beim Ankommen nur den Seitenkopf und das Hintergrundfoto über den ganzen Viewport — der Inhaltsbereich wird gar nicht angezeigt. Eine Raste am Mausrad nach unten blendet den gesamten Inhaltsblock ein und hebt ihn an (weiterhin 28 % Transparenz); ganz nach oben gescrollt legt er sich wieder zusammen, beliebig oft
  • Warum sich die Inhaltsblöcke selbst bewegen und nicht ein Wrapper: Jeder Vorfahre mit einer Deckkraft unter 1 erzeugt eine neue Backdrop-Wurzel, und jede backdrop-filter-Fläche darin tastet dann einen leeren Hintergrund ab — das Milchglas bricht vollständig. Ein blockweises Ein- und Ausblenden hat keinen solchen Vorfahren. Die einzigen beiden position: fixed im Body (die Hintergrundebene und die angeheftete Namenszeile) liegen außerhalb dieser Menge, das Verschieben ist also unbedenklich
  • Flüssigglas-Brechung an Buttons (ein neuer Schalter unter Admin → Systemeinstellungen → Optische Effekte, standardmäßig aus): Eine Buttonkante verbiegt das Muster dahinter nun leicht, wie ein dickes Stück Glas. Verwendet wird eine SVG-Verschiebungskarte plus backdrop-filter; die Karte wird beim Öffnen der Seite einmal per Canvas gezeichnet, und es gibt kein Skript pro Frame
  • Nur Chrome und Edge rendern es: Safari und Firefox unterstützen dieses CSS-Feature nicht und scheitern still (kein Fehler, keine Zeichnung) — sie fallen auf das bisherige Milchglas zurück. Und eine Brechung braucht etwas zum Brechen — über einer glatten Fläche wie einer weißen Karte ist der Effekt praktisch null; sichtbar wird er nur über etwas mit Hell-Dunkel-Details wie dem Bannerfoto
v1.9.34 Website 2026-10-02

Die Karten lassen etwas mehr Foto durch, das Maus-Leuchten ist kleiner, und die angeheftete Zeile gleitet herein

  • Was sich ändert: Auf einer Spielerseite mit Banner lassen die großen Karten jetzt rund 28 % des Fotos durch statt 5-10 % (man sieht es wirklich), und die Statistik-Kacheln sowie die Radar-Karte wurden passend aufgehellt
  • Warum die Statistik-Kacheln wie zwei Farben wirkten: Das mausfolgende Leuchten war ein Fleck in kühlem Blau mit 320px Radius bei alpha .22. Bedeckte er die linke Kartenhälfte, maß Kachel 1 rgb(189,193,197) und Kachel 4 außerhalb des Flecks rgb(245,246,247) —— 56 Stufen Unterschied in einer Zeile. Der Fleck misst jetzt 200px bei alpha .10, und die Kacheln leuchten nicht mehr von selbst (es leuchtet immer die äußerste Karte); dieselbe Zeile misst nun 3 Stufen Unterschied
  • Die andere Hälfte des „Flackerns": Wanderte der Zeiger vom leeren Kartenbereich auf eine Kachel, wechselte das Ziel des Skripts zwischen der ganzen Karte und genau dieser Kachel, und das Leuchten sprang von einer großen Fläche auf einen kleinen Punkt. Nimmt man die Kacheln aus dem Leuchten heraus, entfällt dieser Sprung
  • Das Anheften hat jetzt ein Gleiten: Die Namenszeile senkt sich 10px und blendet unter der Navigation in 180ms ein. Ist „Bewegung reduzieren" aktiv, werden diese Animation und die Federrückmeldung der Schaltflächen abgeschaltet (das Maus-Leuchten bleibt)
v1.9.33 Website 2026-10-02

Die Namenszeile heftet sich beim Scrollen unter die Navigation

  • Was sich ändert: Auf einer Spielerseite mit Banner heftet sich die Zeile „Avatar + Name + Level + Abzeichen" beim Scrollen direkt unter die Seitennavigation, während die Karten darunter durchlaufen. Die Signatur gehört nicht zu dieser Zeile und scrollt wie bisher weg; die Zurück-Schaltfläche bleibt beim Namen
  • Warum `position: sticky` das nicht leisten konnte: Das Elternelement dieser Zeile ist .cdr-container, und das ist nur so hoch wie der Seitenkopf —— der Spielraum von sticky ist darin eingesperrt und die Zeile geht hinter dem Kopf mit. Die Zeile ist deshalb position: fixed, und ein Skript setzt an ihrer alten Stelle einen gleich hohen Platzhalter ein (fixed nimmt sie aus dem Fluss; ohne den Platzhalter springt die ganze Seite in dem Moment, in dem sie anheftet, um 86px nach oben)
  • Beim Anheften muss auch die Textfarbe kippen: Diese Zeile trägt normalerweise weiße Schrift über dem Bannerfoto, sitzt angeheftet aber auf hellem Glas —— weiß auf weiß ist unsichtbar (in einer gemessenen Fassung waren Avatar und „online"-Abzeichen da, die Namenszelle völlig leer). Der angeheftete Zustand schaltet Name, Level und Abzeichen deshalb auf die Tinte um, die auf Glasflächen verwendet wird
  • Betroffen sind nur Spielerseiten mit hochgeladenem Banner —— Seiten ohne Banner (etwa /players/zlc) wurden um kein einziges Byte angefasst
v1.9.32 Website 2026-10-02

Das Zeigerlicht leuchtet jetzt nur noch die eine Fläche aus, die es soll

  • Die Ursache war die Vererbung benutzerdefinierter Eigenschaften. Das Skript setzt .is-lit auf die Karte unter dem Zeiger, und --glass-spot wandert dann die Vererbungskette hinunter in jedes .stat-mini dieser Karte —— aus einem Schalter wurden sieben oder acht leuchtende Flächen. Genau das war zu sehen: „Meine Maus ist woanders, warum leuchtet alles?" Der Beleg: Die Statusleiste der Sonde hat einen spot=-Zähler bekommen, der nicht zählt, wie viele Elemente .is-lit tragen, sondern wie viele berechnete --glass-spot-Werte nicht transparent sind —— vor der Korrektur ergab der Zeiger auf der leeren Titelzone einer Karte lit=1 spot=8/27
  • Die Korrektur: Jede Glasfläche setzt --glass-spot nun selbst auf transparent zurück, wodurch die Vererbungskette dort endet; nur die tatsächlich überfahrene Fläche erhält vom Skript .is-lit. Nach der Änderung: spot=1/27
  • Eine zweite Falle, die dabei behoben wurde: Diese Zurücksetzung hat dieselbe Spezifität wie die .is-lit-Regel und steht weiter unten —— nach „der Letzte gewinnt" würde ein bloßes body.cdr-body .is-lit vollständig überschrieben und das Licht ganz verschwinden (gemessen lit=1 spot=0/27). Die .is-lit-Regel muss daher alle vier Selektoren auflisten und ihre Spezifität erhöhen. Wird dieser Schritt vergessen, kippt der Fehler von „leuchtet zu viel" direkt zu „leuchtet gar nicht"
  • Die Koordinaten werden außerdem beim Betreten eines neuen Elements synchron geschrieben, statt nur auf requestAnimationFrame zu warten: Sonst hat das erste Bild keine Koordinaten und der Lichtfleck blitzt in der Kartenmitte auf, bevor er zum Zeiger springt. Ein .is-lit ist jetzt genau eine leuchtende Fläche —— wo der Zeiger ist, leuchtet es
v1.9.31 Website 2026-10-02

Liquid Glass bekommt zwei Haptik-Details: Zeigerlicht und federnde Buttons

  • Dem Zeiger folgendes Licht: Bewegt sich der Zeiger über eine Glasfläche, folgt ein kleiner Fleck kühles Blauweiß —— nur die Karte unter dem Zeiger leuchtet auf, alles andere bleibt wie es war. Es ist eine radial-gradient-Schicht im Kartenhintergrund, die --glass-mx / --glass-my liest, wie das Skript sie schreibt. Keine zusätzlichen Knoten, kein Eingriff in den Stacking-Kontext, keine Störung der Kartenunschärfe. Im hellen Thema wird kein Weiß, sondern kühles Blauweiß verwendet: Eine weiße Karte (rgb 229~245) lässt sich durch weißes Licht nur um 6 Stufen anheben, was das Auge nicht wahrnimmt
  • Höheres Foto-Band im Seitenkopf: Das untere Padding von .page-head stieg von 30px auf 160px (insgesamt rund 317px) und schiebt die ganze Reihe weißer Karten nach unten —— Avatar, Name und Level-Badge liegen jetzt direkt auf dem Bannerbild. Das ist das gewünschte „mehr vom Hintergrund zeigen". Nur Höhe, keine neuen Inhalte, auf kleinen Bildschirmen 72px. Die Inhalte wurden bewusst nicht als Block nach unten geschoben: Das würde den dunkelsten Teil der oberen Maske verschenken und die weiß gefärbten Zeilen unlesbar machen
  • Federnde Buttons: Beim Drücken wird auf .955 gestaucht, beim Loslassen geht es mit cubic-bezier(.34, 1.56, .64, 1) zurück —— der zweite Kontrollpunkt hat y = 1.56 > 1, die Kurve schießt also über das Ziel hinaus und pendelt sich ein; dieses Überschwingen ist die „Feder". Reines CSS, kein JavaScript und keine Physik-Engine
  • Der prefers-reduced-motion-Fallback reduziert jetzt nur noch autonome Bewegung: Die Button-Feder (die nach dem Loslassen von selbst nachfedert) wird zu einem schlichten kurzen Übergang, das Druckfeedback bleibt. Das Zeigerlicht bleibt erhalten —— dem Zeiger zu folgen ist direkte Manipulation: Der Zeiger bewegt sich, nicht die Seite. Ihre eigene Liquid-Glass-Referenz sagt genau das: Displacement weg, Blur + Highlight behalten. Es ist zugleich die einzige Möglichkeit, das Licht auf dieser Maschine überhaupt zu sehen: Die Windows-Animationseffekte sind hier aus (MinAnimate = 0 / DragFullWindows = 0 / VisualFXSetting = 2), was Browser wahrheitsgemäß als reduce melden —— ein Gating darauf würde das Licht für immer verbergen
  • Alles oben Genannte gilt nur für Profile mit hochgeladenem Banner (der Block liegt weiterhin in $pubBgCss !== ''); jede andere Seite —— auch Profile ohne Banner —— wurde um kein einziges Byte verändert, und vier Assertions der Testsuite wachen genau darüber
  • Eine ehrliche Anmerkung: Beides sind „Gefühls"-Effekte und auf einem statischen Screenshot nicht zu sehen —— man muss den Zeiger wirklich über eine Karte bewegen und wirklich einen Button drücken. Es lohnt sich außerdem, die Windows-Animationen wieder einzuschalten (Einstellungen → Barrierefreiheit → Visuelle Effekte → Animationseffekte), sonst meldet Ihr Browser jeder Website, der Nutzer wünsche weniger Bewegung
v1.9.30 Website 2026-10-02

Liquid Glass neu gebaut: Die Kartenfarbe ändert sich beim Scrollen nicht mehr

  • Die Ursache lag nicht an der Rendering-Engine. Profilseiten hingen das Bannerbild mit background-attachment: fixed an body. Diese Angabe bedeutet „das Bild bleibt am Viewport fixiert" —— und sie ist keine eigene Compositing-Ebene: Der Browser muss sie für das backdrop-filter jeder Karte in jedem Frame neu sampeln; laufen Sampling-Fenster und Scrollposition auseinander, springt die Farbe. Gleichzeitig bewegen sich die Karten, während das Bild stehen bleibt, also überstreicht jede durchscheinende Karte das ganze Foto. Beides zusammen ergab „mal dunkel, mal hell, mal normal"
  • Behebung des Flackerns beim Scrollen: Der Hintergrund wanderte von body in eine eigene position: fixed-Ebene (body::before, z-index: -1, pointer-events: none, will-change: transform). Eine eigene Ebene kann zur Compositing-Ebene befördert werden, sodass die Sampling-Quelle über den gesamten Scroll eine bereits komponierte Bitmap ist
  • Behebung des Unterschieds im Ruhezustand: Die Karten bestimmen ihre Farbe nun selbst. Grundlage ist eine lineare Extrapolation aus Messungen —— Drift ≈ (1−alpha)×53, um unter 4 Stufen zu bleiben braucht es alpha ≥ .925. Große Karten gehen von 72 % → 95 % oben und 60 % → 90 % unten; Statistik-Chips von 80 %/70 % → 97 %/94 %; die Radarkarte von 76 %/66 % → 96 %/92 %. Das Foto scheint weiterhin zu 5~10 % durch —— daher kommt der Farbton des Glases
  • Das Glas ist jetzt ein mehrschichtiges Material: Rauschschicht + vertikaler Verlauf + streifender Kantenglanz + innere Refraktionsfase, alle Parameter als Variablen (--glass-blur --glass-sat --glass-highlight --glass-displacement --glass-noise). Eine ehrliche Anmerkung: Echte SVG-feDisplacementMap-Refraktion ist hier nicht machbar —— Chromium und Safari akzeptieren in backdrop-filter nur Filterfunktionen, niemals url(#svgfilter); eine innere Refraktionsfase nähert diesen Look daher an, statt ihn vorzutäuschen
  • Ergebnis: An derselben Stelle beträgt die Abweichung beim Scrollen nur noch 3~6 Stufen (18 in der Vorversion, ursprünglich 100), die Gesamthelligkeit liegt bei 229~245, im Dunkelmodus sind es nur 1~3 Stufen. Der text-shadow-Halo auf Glasflächen wurde ebenfalls entfernt —— bei stabiler Karte hilft er nicht mehr und frisst nur die Stämme von 12-px-Text
  • Ebenfalls behoben: „die Beschriftungen des Fähigkeitsradars sind schwer zu lesen". Es wurde keine Transparenz angefasst. Die Unterlabels „Serverdurchschnitt" gingen lediglich von .76rem auf .84rem der Hauptzeile, von gedämpftem Grau auf Textfarbe, plus etwas Gewicht. Die eigentliche Ursache: 12-px- und 13-px-CJK nehmen unter Windows unterschiedliche Antialiasing-Stufen. All das betrifft nur Profile mit hochgeladenem Banner; Seiten ohne Banner haben sich um kein Byte geändert
v1.9.29 Website 2026-10-02

Die Kartenhelligkeit schwankt beim Scrollen nicht mehr

  • Die Ursache war kein Rendering-Fehler. Profilseiten nutzen background-attachment: fixed für das Banner: das Bild bleibt am Viewport fixiert, während die Karten darüber hinwegscrollen —— jede durchscheinende Karte überstreicht also das ganze Foto: dunkler Himmel lässt sie dunkel werden, helle Gebäude lassen sie ausbleichen. Dieselbe Karte maß je nach Scrollposition zwischen rgb(99,107,125) und rgb(201,197,200) —— 100 Stufen Unterschied
  • Die Lösung ist, das Glas selbst dichter zu machen, denn Alpha ist der einzige Hebel, der Transparenz und Stabilität zugleich wahrt: große Karten gehen von 56 % → 72 % am oberen Rand und 34 % → 60 % unten; Statistik-Chips von 76 %/60 % → 80 %/70 %; die Radarkarte von 70 %/52 % → 76 %/66 %. Die Dichtestaffelung (große Karten am hellsten, Chips am dichtesten) bleibt unverändert
  • Ergebnis: an derselben Stelle beträgt die Schwankung beim Scrollen jetzt nur noch 14 Stufen statt 47, und die Gesamthelligkeit liegt bei 163~206 —— eine klar helle Milchglasfläche statt eines trüben Graus. Der Dunkelmodus wurde passend verdichtet (die 82 %/72 %-Stufe), dort bleiben nur 4~8 Stufen Drift
  • Betroffen sind nur Profile mit hochgeladenem Banner. Seiten ohne Banner (etwa /players/zlc) geben dieses Glas-Stylesheet gar nicht aus —— dort hat sich kein einziges Byte geändert
v1.9.28 Website 2026-10-02

„86 Stunden Spielzeit pro Tag" ist behoben

  • Die alte Formel war „Gesamtspielzeit ÷ Tage mit Sitzungseinträgen" —— der Zähler umfasst zehn Jahre, der Nenner nur die 11 Tage seit dem 2026-09-12. Die Division zweier Epochen ergab „86 Stunden pro Tag". Nicht der Zähler war falsch, dem Nenner fehlte der Großteil
  • Der Nenner ist jetzt die Lebenszeit-Zahl aktiver Tage: Chatnachrichten, Erfolge und Spielsitzungen werden tageweise vereinigt —— für dieses Konto 423 Tage. 941 Stunden ÷ 423 Tage = 2 Stunden pro Tag, endlich die richtige Größenordnung
  • Zwei weitere Dinge nebenbei behoben: die Anmeldezahl nutzt nun den Gesamtwert (1.655; zuvor zeigten 929 ältere Spieler eine 0), und die längste einzelne Sitzung kann nicht mehr das unmögliche Paar „21 Minuten Durchschnitt, 0 Stunden Maximum" anzeigen
  • Drei Erfolge wurden ebenfalls freigeschaltet: 7 / 30 / 100 aktive Tage waren wegen desselben Nenners nie erreichbar —— serverweit gab es nur 16 Tage mit Sitzungseinträgen, die Schwellen lagen außer Reichweite
  • Sicherheitsaudit, Teil eins: mehrere tatsächlich ausnutzbare Lücken wurden geschlossen —— CSS-Escapes konnten eine externe URL in einem hochgeladenen SVG verstecken (ein Avatar taugte zum Ausspähen von Besucher-IPs), das Admin-Panel konnte Dateien außerhalb von uploads löschen, die Anmeldung hatte eine offene Weiterleitung, ein Skript in einem Backup-Archiv konnte als Webshell landen, und zwei lokale Debug-Skripte waren live erreichbar
  • Sicherheitsaudit, Teil zwei: Härtung von API und Verwaltung —— eine leere Liste kann nicht mehr mit einem Aufruf alle Bans des Servers löschen, Meldungen haben Zeilenobergrenzen, Whitelist-Namen werden geprüft, eine fehlerhafte Chatzeile lässt nicht mehr den ganzen Stapel scheitern, und Datenbankfehler geben keine Details mehr an Besucher aus
v1.9.27 Website 2026-10-02

Die Kleinschrift im Radarfeld ist jetzt lesbar

  • Die kleine Schrift im Feld „Fähigkeits-Radar" (Achsennamen, die Zahlen rechts, die „Server-Durchschnitt"-Zeilen und der Hinweis darunter) lag auf 34 % Glas, dessen dunkelste Stellen nur 3,3 : 1 Kontrast boten —— unter den 4,5 : 1, die kleine Schrift braucht. Das ist das „kann ich nicht lesen", das du gemeldet hast, und es war mein Versäumnis in der letzten Version
  • Zwei Änderungen: die Farbe der Sekundärschrift wurde eine Stufe dunkler, und das Radar-Feld bekam einen eigenen Untergrund —— fast jede Zeile dieser Karte ist Kleinschrift, sie sollte sich also nicht dieselbe Transparenz mit den großen Karten teilen
  • Die großen Karten blieben unberührt: Skin-Karte, Erfolge-Karte und Fußzeile stehen weiterhin bei 34 %, das Bild scheint wie zuvor durch, und die Statistik-Kacheln behalten ihren dichteren Untergrund
  • Das dunkle Theme bekam dieselbe Behandlung. Und das passiert weiterhin nur auf Seiten, deren Besitzer ein Banner hochgeladen hat —— Seiten ohne Banner haben sich keinen Pixel bewegt
v1.9.26 Website 2026-10-02

Eine Stufe durchsichtiger, und der Text hält trotzdem

  • Profile: oben von 62 % auf 56 %, unten von 40 % auf 34 %. Das Bild dahinter ist jetzt wirklich zu sehen —— die senkrechten Lichtstreifen der Türme, der Horizont und die blockigen Silhouetten scheinen durch, statt einer Platte aus Mattglas
  • „Bild sehen" und „Text lesen" widerstreiten sich, also werden sie getrennt behandelt: Die Statistik-Kacheln (die kleinschriftigen Bereiche wie „Spielzeit" und „Anmeldungen") behalten einen eigenen, dichteren Untergrund (76 % → 60 %), während die großen Karten sehr klar bleiben. Klein ist satter, groß ist durchsichtiger —— die Umkehrung der üblichen Apple-Hierarchie, und das mit Absicht
  • Der Text hat einen sehr dezenten Halo in derselben Richtung bekommen (text-shadow) —— unsichtbar bei hellem Untergrund, zeigt er sich nur bei dunklem. Die Schrift trägt damit ihren eigenen lokalen Untergrund. Erst das macht 34 % vertretbar
  • Das dunkle Theme hat passendes dunkles Glas und einen dunklen Halo erhalten. Und all das passiert weiterhin nur auf Seiten, deren Besitzer ein Banner hochgeladen hat —— Seiten ohne Banner haben sich um keinen Pixel bewegt
v1.9.25 Website 2026-10-01

Durchscheinenderes Glas, und näher an Apple

  • Profile: Schluss mit dem gleichmäßigen „68 % Weiß" —— jetzt ein vertikaler Verlauf, oben hell und unten durchlässiger (62 % → 40 %), die Gauß-Unschärfe von 22 px auf 32 px, dazu saturate(180%) und brightness(1.12). Glas nach Apple-Art nimmt die Farbe dahinter auf und hebt sie leicht an; bloßes Weichzeichnen sieht nur nach Mattglas aus
  • Das Glas hat jetzt rundum eine Refraktionskante —— ein 1 px breiter Streiflicht-Highlight oben und eine sehr dezente Innenkontur. Der Schatten ist in zwei Ebenen geteilt (ein enger Kontaktschatten und ein weit auslaufender Umgebungsschatten), damit die Scheibe über dem Bild zu schweben scheint statt darauf zu kleben
  • Behoben, was erst mit dem durchscheinenderen Glas auffiel: Sekundärbeschriftungen wie „Spielzeit" und „Anmeldungen" waren kaum noch zu sehen —— ihr Grau erreicht auf durchscheinendem Weiß nur 2,5:1. Im Glasinneren ist es jetzt eine Stufe dunkler, während die kleine Schrift direkt auf dem Banner unverändert bleibt
  • Das dunkle Theme hat passende Werte für dunkles Glas bekommen. Und all das passiert weiterhin nur auf Seiten, deren Besitzer ein Banner hochgeladen hat —— Seiten ohne Banner haben sich um keinen Pixel bewegt
v1.9.24 Website 2026-10-01

Profile gibt es jetzt in „flüssigem Glas"

  • Karten, das Skin-Panel, die sechs Statistik-Kacheln und der gesamte Footer sind jetzt durchscheinendes Glas (68 % Weiß + 22 px Gauß-Unschärfe), durch das das Banner verwischt hindurchscheint. Die Schrift bleibt dunkel und damit auf dem Bild lesbar; im dunklen Theme wird daraus dunkles Glas
  • In der Kopfzeile der Erfolgs-Karte gibt es jetzt Alle einklappen / Alle ausklappen —— alle 8 Kategorien auf einmal, kein Scrollen mehr bis unter die 98 Abzeichen
  • Die Verwaltungs-Schublade unten rechts hat einen vierten Reiter, Avatare / Hintergründe, wo wartende Uploads freigegeben oder abgelehnt werden können. Es sind dieselben Daten wie unter „Spieler & Daten → Avatare / Hintergründe" —— wo geprüft wird, ist egal
  • Das alles passiert nur auf Seiten, deren Besitzer ein Banner hochgeladen hat —— Charakterseiten ohne Banner haben sich um keinen Pixel bewegt (ich habe die Screenshots vorher/nachher Pixel für Pixel verglichen)
  • Wo Glas nicht geht (ältere Browser), greifen wieder die alten deckenden Karten. Die Systemeinstellung „Transparenz reduzieren" wird jedoch bewusst nicht befolgt —— auf dem Windows des Betreibers sind die Transparenzeffekte aus; würde man sie befolgen, sähe er selbst nie das Glas
v1.9.23 Website 2026-10-01

Die Profilseite kann jetzt den Bildschirm füllen

  • Hintergrund —— wer ein Banner hochgeladen hat, dessen Charakterseite nutzt dieses Bild, um das ganze Browserfenster zu füllen; Avatar, Name, Level und Ort liegen darüber. Seiten ohne Banner ändern sich um keinen Pixel
  • Ort —— unter Ich → Individualisierung lässt sich ein Land wählen (bei China zusätzlich eine Provinz); er erscheint im Profil neben „Offline / Rang #8". Ohne Auswahl wird nichts angezeigt
  • Avatare in der Spielerliste bevorzugen jetzt das selbst hochgeladene Bild. Früher wurde immer der offizielle Skin-Avatar von einem ausländischen Host geladen, was hier meist scheitert —— daher die bunten Buchstabenkacheln
  • Hochgeladene Avatare und Hintergründe werden vor der Veröffentlichung geprüft. Währenddessen bleibt das alte Bild sichtbar, es gibt also nie eine „halb neue" Seite; das Entfernen wirkt dagegen sofort
  • Das Upload-Limit ist großzügiger: Banner bis 3840×2160 (statt 1920×1080), und SVG wird akzeptiert —— SVGs werden bereinigt: Skripte, externe Verweise und eingebettetes HTML fliegen raus
v1.9.22 Website 2026-10-01

Neue Fenster · und alte Sperren sind zurück

  • Alle 16 Fenster der Website nutzen jetzt den eigenen Dialog. Früher waren das die Browser-Fenster mit „cloudridge.cn meldet" in der Kopfzeile —— auf dem Handy besonders störend und völlig losgelöst vom Stil der Website. Titel, Text und Schaltflächen kommen nun von uns; gefährliche Aktionen haben einen roten Knopf, Esc bricht ab, Enter bestätigt, und der Fokus kehrt zur angeklickten Schaltfläche zurück
  • Die 8 Spieler und 3 IPs, die beim Abschalten des alten Servers noch gesperrt waren, stehen wieder auf der Sperrliste —— die öffentliche Seite zeigt nun 12 Spieler und 7 IPs. Namen, IPs, Sperrzeiten und ausführende Personen sind wortgetreu aus den Archiven übernommen, nichts davon ist erfunden. Eine Einschränkung: Das Mod liest die Sperrdateien des Servers nur und meldet sie —— wer im Spiel wirklich blockiert wird, entscheidet weiterhin die Liste des Servers; dafür muss er sie neu einlesen
v1.9.21 Website 2026-10-01

Dieser „unbekannte Spieler" war dieselbe Person

  • In der Spielerliste stand schon immer eine Zeile „未知玩家 · 000000" (unbekannter Spieler), als wäre da eine vierte, nie gezählte Person. Die Erklärung: Das floodgate des alten Servers vergab an Bedrock-Spieler eine UUID aus dem Platzhalterbereich 00000000-0000-0000-0009-…, und das Mod konnte nur einen *Namen* melden —— der in diesem Moment genau diese UUID war. In Wahrheit war es birdzhonghuifei auf Bedrock; die Zeile wurde mit ihrem eigentlichen Besitzer zusammengeführt
  • Die Regel beim Zusammenführen: Zähler (Spielzeit, Anmeldungen, Tode, Ab- und Aufbau, Distanz) werden addiert, Fortschritte vereinigt, und erster Beitritt nimmt den früheren der beiden Werte, letzter Besuch den späteren —— Zeitstempel darf man niemals addieren. Die neun Abzeichen der Zeile besaß der Eigentümer längst, die Doppelten wurden verworfen. Die Rangliste ist eine Zeile kürzer, und birdzhonghuifeis Zahlen sind jetzt vollständiger
v1.9.20 Website 2026-10-01

Im Kalender direkt Jahr und Monat anspringen

  • Das Kalenderfenster hat jetzt oben links zwei Auswahlfelder für Jahr und Monat: Jahr wählen, Monat wählen, und schon ist man mit zwei Klicks in jedem Monat —— kein monatweises Blättern mit ‹ mehr. Die Vor-/Zurück-Schaltflächen und „Heute" bleiben, und die Auswahlfelder ziehen beim Blättern mit
  • Nebenbei eine Sortierschwäche behoben: Beim Sortieren nach „Erster Beitritt" landeten Zeilen mit unbekanntem Datum auf den Plätzen 1–4, was die ganze Rangliste kaputt aussehen ließ —— „kein Wert" ist nicht dasselbe wie „der früheste". Solche Zeilen rutschen jetzt in beiden Richtungen ans Listenende
v1.9.19 Website 2026-10-01

229 weitere Chat-Zeilen wiederhergestellt

  • Das Log des TrChat-Plugins beginnt erst am 2023-09-01, daher fehlten Teile des späten Jahres 2024. Drei nie importierte CoreProtect-Datenbanken alter Server enthielten 34,417 Chat-Zeilen von 2024-07 bis 2024-12; nach der Entdopplung sind das netto 229 Nachrichten verteilt auf 37 Tage, die älteste vom 2024-07-11
  • Entdoppelt wird nach „dieser Spieler hat dasselbe schon innerhalb von ±5 Sekunden gesagt“ —— dieselbe Nachricht wird einmal von TrChat und einmal von CoreProtect erfasst, ihre Zeitstempel weichen meist eine Sekunde ab und überschreiten gelegentlich die Minutengrenze; ein Vergleich je Minute würde diese paar Dutzend als Duplikate wieder hereinlassen
  • Diese 37 Tage waren nicht von Anfang an leer —— TrChat hatte den Großteil aufgezeichnet; zurückgekommen sind die vereinzelten Zeilen, die es verpasst hatte. Beim Durchblättern dieser Tage von Juli bis Dezember 2024 ist das Gespräch nun vollständiger
v1.9.18 Website 2026-10-01

Nebencharaktere lassen sich in ihrer Zeile ausklappen

  • Zeilen der Spielerliste mit mehr als einem Charakter beginnen jetzt mit einem Pfeil: standardmäßig eingeklappt, ein Klick klappt jeden Charakter in eine eigene Zeile aus – mit eigener Spielzeit, Anzahl der Logins, letztem Online und Status (die Hauptzeile ist die Summe, die Unterzeilen die Einzelwerte). Ein weiterer Klick klappt wieder ein
  • Sucht man den Namen eines Nebencharakters, klappt die Zeile automatisch auf —— eine Suche nach Winter zeigt dessen Werte direkt neben denen von Fruity_oxygen, statt raten zu müssen, unter welchem Namen er steckt. Nebenbei ein alter Fehler behoben: Beim Sortieren nach Spielername hatte die Kopfzeile eine Spalte weniger als der Inhalt, wodurch die ganze Tabelle verrutschte
v1.9.17 Website 2026-10-01

Rangliste nach Konten · drei Jahre Chat wiederhergestellt

  • Die Spielerliste zeigt jetzt eine Zeile pro Website-Konto: Figuren unter demselben Konto werden zusammengerechnet (Fruity_oxygen und Winter verschmelzen zu einer Zeile, ElfinLettuc und Faithe ebenso), während Spieler ohne verknüpftes Konto je eine eigene Zeile behalten. Das Abzeichen „N Figuren" neben dem Namen zeigt, wer mit wem zusammengelegt wurde — die alte Liste trennte einen Zweitaccount von seinem Hauptaccount und ließ den Zweitaccount wie verschwendete Zeit aussehen
  • Eine neue Kontoseite (/accounts/<id>): jede Figur des Kontos wird einzeln mit eigener Spielzeit und Anmeldezahl aufgeführt, und die Summen darüber sind deren Addition. Die Seite ist vollständig öffentlich, ohne Anmeldung. Nebenbei wurde ein fehlerhafter Datensatz bereinigt: eine Figur verwies auf eine nicht mehr existierende Konto-ID
  • Drei Felder, die auf Platzhalterwerten festhingen, sind nun gefüllt: zuletzt online (929 Figuren behaupteten alle 2026-09-13), erstmals beigetreten (936 ebenso falsche 2026-09-13) und Anmeldezahl (websiteweit nur 291, 928 Spieler zeigten „—"). „Zuletzt online" stammt aus der Änderungszeit der Server-Speicherdateien, „erstmals beigetreten" und die Anmeldezahl aus den Protokollen aller Servergenerationen. wwwsum zeigt jetzt ehrlich 2024-08-22 und 7Strawberry 2024-03-07, und die Anmeldesumme stieg von 291 auf 21.766
  • Das Chatfenster hat alles seit der Servereröffnung zurückgeholt: von der allerersten Zeile am 2022-12-16 bis zur Übernahme durch die Live-Meldung des Mods am 2026-09-25 sind es 174.457 Nachrichten und Beitritts-/Austrittsereignisse (124.024 Nachrichten, 25.424 Beitritte, 25.009 Austritte). Früher gab es nur für die wenigen Tage mit installiertem Mod Verlauf; jetzt zeigt jeder auf der Webkarte angeklickte Tag das damalige Gespräch
  • Der Kalender markierte nur die letzten 400 Tage als anklickbar, sodass 492 der 729 wiederhergestellten Tage nicht zu öffnen waren — wiederhergestellt, aber unsichtbar. Jetzt ist jeder Tag mit Einträgen anklickbar. Außerdem wich die Zahl der „registrierten Spieler" zwischen Startseite und Liste um 2 ab (791 zu 789); beide nutzen nun die Kontozählung
v1.9.16 Website 2026-09-30

Ausgehende Anfragen prüfen jetzt TLS-Zertifikate

  • Jede ausgehende HTTPS-Anfrage der Website — Skin-Server, IP-Standortbestimmung, SMS-Gateway, Mailserver, QQ-Anmeldung und die Testschaltflächen des Admin-Bereichs — wurde bisher mit abgeschalteter Zertifikatsprüfung gesendet, sodass jeder auf dem Weg mit einem selbstsignierten Zertifikat antworten und die Anfrage übernehmen konnte. Jetzt prüfen alle ordnungsgemäß gegen ein mit der Website ausgeliefertes Root-Zertifikatspaket (das von Mozilla, 121 Root-Zertifikate).
  • Am wichtigsten war die Mailverbindung: Bei abgeschalteter Prüfung konnte jemand auf dem Weg das Postfachpasswort und den vollständigen Text jeder Nachricht abgreifen. Das Zertifikat des 126-Postfachs ist gültig, der Versand ist also nicht betroffen.
  • Es hat einen Preis: Ist ein entferntes Zertifikat wirklich defekt, schlägt die Anfrage jetzt mit einem Fehler fehl, statt sich still zu verbinden. Die Testschaltflächen des Admin-Bereichs weisen diesen Fall gesondert als „Zertifikatsprüfung fehlgeschlagen" aus. Und sollte das Paket jemals fehlen, weigert sich der Code weiterhin, zur abgeschalteten Prüfung zurückzukehren — er scheitert dann einfach deutlicher.
  • Nebenbei ein alter Schönheitsfehler behoben: Die Einträge v1.9.6 und mod 1.6.0 im Änderungsprotokoll zeigten als Überschrift wörtlich „title" — sie hatten nie mehr als den Fließtext, und die Seite rendert eine Überschrift bedingungslos, sodass der fehlende Schlüssel auf das letzte Namenssegment zurückfiel. Die Überschriften sind jetzt da
v1.6.6 Mod 2026-09-30

Die Bannliste behauptet nicht mehr „niemand ist gebannt", wenn sie nicht lesbar ist

  • Eine leere Bannliste, die auf der Website ankam, überschrieb jeden gespeicherten Bann. Das Mod gab eine leere Liste zurück, wann immer das Lesen der Datei fehlschlug oder das Format falsch war — genau das löste es aus. Jetzt gibt es stattdessen null zurück (eine wirklich fehlende Datei bedeutet weiterhin „niemand ist gebannt") und erklärt bans_authoritative=true nur dann, wenn sowohl banned als auch banned_ips gelesen wurden. Auf der Website-Seite gibt es den passenden Schutz; beide Hälften sind nötig, damit das sauber behoben ist
v1.9.15 Website 2026-09-30

Ein Sicherheitsdurchgang: sechs Probleme behoben

  • Im Admin-Bereich stand eine Tür nur angelehnt: Jeder aus den Gruppen Inhaber / Admin / Verwalter konnte sich mit seinem normalen Website-Passwort im Frontend anmelden und direkt /admin/** öffnen — der Schritt mit dem E-Mail-Bestätigungscode wurde komplett übersprungen (geschlossen war nur die Admin-Anmeldeseite selbst). Jetzt gibt es einen Nachweis „diese Sitzung hat den Code-Schritt wirklich durchlaufen", eine Frontend-Anmeldung ist also keine Admin-Anmeldung mehr. Die Website behauptet schon immer, dass /admin/** nur Konten aus der Tabelle admins akzeptiert; die Umsetzung hält das jetzt endlich auch ein
  • Wenn das Mod die Bannliste nicht lesen konnte, meldete es eine leere Liste, und die Website deutete „die Liste ist leer" als „alle Banns wurden aufgehoben" — daraufhin überschrieb sie die gesamte Bann-Tabelle, erfand einen Entbannungs-Eintrag in der Historie und löschte dabei auch noch players.is_banned. Jetzt erklärt das Mod die Liste nur dann für maßgeblich, wenn es sie tatsächlich gelesen hat, und die Website gleicht Entbannungen nur noch ab, wenn diese Erklärung (oder eine nicht leere Liste) eintrifft. Damit das vollständig greift, ist mod 1.6.6 nötig; auf der Website-Seite steht die Absicherung schon
  • Die Banner-Adresse eines Spielerprofils gibt der Spieler selbst an, und sie wurde unverändert in style="…url(URL)" eingesetzt. Eine einzige ) in dieser Adresse genügt, um beliebige CSS-Deklarationen anzuhängen — und Profile sind öffentlich, es trifft also jeden Besucher (position:fixed für Phishing im Vollbild, oder ein Tracking-Pixel, das IP und Browser jedes Besuchers verrät). Escaping hilft hier nicht: HTML macht aus &quot; wieder ein Anführungszeichen, bevor CSS es überhaupt sieht. Adressen laufen jetzt über eine Whitelist, alles andere zeigt einfach gar kein Banner
  • Die Karte „Meine Bewerbungen" auf /whitelist fragte in Wahrheit die 5 neuesten Bewerbungen der gesamten Website ab — jeder angemeldete Nutzer konnte die Spiel-ID, die QQ-Nummer und die Prüfnotizen anderer lesen. Sie wird jetzt nach Besitzer gefiltert; die Admin- und Serververwaltungs-Seiten zeigen weiterhin die websiteweite Ansicht
  • Die DNS-Abfrage auf der Werkzeugseite war die einzige Stelle, die private Adressen nie blockierte: 127.0.0.1 und interne Hostnamen ließen sich problemlos auflösen, und ein SRV-Eintrag (dessen Ziel fremdes DNS bestimmt) bot einen Weg daran vorbei. Außerdem lief die Portprüfung für host:port vor dem Abtrennen des Doppelpunkts, sodass 8.8.8.8:53 jeden beliebigen Port abklopfen konnte. Alle drei sind behoben, und AAAA-Einträge, die auf ::1 zeigen, sind ebenfalls abgedeckt
  • Noch drei: ① ein javascript:…-Wert im next=-Parameter der Anmelde-Weiterleitung war ein XSS in einer Zeile (Url::ensure() ließ alles unverändert durch, sobald die Zeichenkette index.php enthielt, ohne je auf das Schema zu schauen); ② nach dem Ausführen des Passwort-Wiederherstellungsskripts zeigte die Admin-Anmeldeseite das neue Klartext-Passwort jedem an, der sie öffnete — das Passwort wird ohnehin auf der Serverkonsole ausgegeben, die Kopie auf der Seite ist also weg; ③ bei eingeschaltetem CDR_DEBUG_CSRF-Schalter protokollierte das Log die ersten 160 Bytes der Anmeldeanfrage, also das Klartext-Passwort — jetzt werden nur noch Feldnamen und Längen erfasst
v1.9.14 Website 2026-09-26

„Mal mehr, mal weniger Erfolge" behoben

  • Die Erfolge eines Spielers leuchteten, solange er im Spiel online war, und erloschen im Moment des Ausloggens — denn kann das Mod die Fortschrittsdatei nicht lesen, meldet es eine leere Liste, und die Website deutete das als „dieser Spieler hat keine Erfolge" und schrieb es in die Datenbank, wodurch die gespeicherten Daten gelöscht wurden. Eine leere Liste wird jetzt nie geschrieben: lieber alte Daten behalten als auf null setzen (dasselbe gilt für adv_done, das nur über null akzeptiert wird)
  • Ebenfalls behoben: eine Sortierung, die eine Reihe innerhalb einer Kategorie auseinanderriss. „Erreichte zuerst" schob 跳跃 10.000 / 100.000 (erreicht) und 跳跃 500.000 (nicht erreicht) an die entgegengesetzten Enden der Gruppe, mit den End- und Nether-Fortschritten dazwischen. Jetzt wird zuerst nach Reihe gruppiert (1 km / 10 km …, 10k Sprünge / 100k Sprünge …) und innerhalb jeder Reihe erreichte zuerst sortiert — beim Einklappen werden nicht erreichte weiterhin an Ort und Stelle verborgen, erreichte bleiben also sofort sichtbar
v1.6.5 Mod 2026-09-26

Behoben: Fortschritte offline vergebens geladen

  • Die Fortschrittsdateien der Welt heißen mit Bindestrichen (077e53e3-c49c-362b-87ee-12457397e38c.json), das Mod baute jedoch einen 32-stelligen Pfad ohne Bindestriche — es fand keine einzige Datei. Online-Spieler laufen über den Live-Snapshot des Servers und waren in Ordnung, doch offline galt als „kein Fortschritt". Betroffen waren alle 1.859 Fortschrittsdateien und 963 Spieler; genau das ließ die Erfolgszahl schwanken (die Website schreibt eine leere Liste nun ebenfalls nicht mehr). Jetzt werden beide Schreibweisen versucht; nur ein echtes Fehlen zählt als keiner
v1.9.13 Website 2026-09-26

Zuordnung nachgefüllter Namen korrigiert

  • Derselbe Name kann in der Nachfülltabelle mehrfach vorkommen — ein Spieler kann sowohl eine alte Offline-UUID (00000000-0000-...) als auch eine echte haben, beide zeigen auf ihn. Der ursprüngliche Code arbeitete nach dem Motto wer zuerst kommt, mahlt zuerst in Dateireihenfolge: Hier zeigt birdzhonghuifei sowohl auf eine Zeile mit 106,4 Stunden als auch auf eine mit 1,9 Stunden, und es ging nur deshalb gut, weil die längere Zeile zufällig zuerst kam. Eine andere Reihenfolge hätte den Namen der falschen Person gegeben. Jetzt geht er an die Zeile mit der längsten Spielzeit, unabhängig von der Reihenfolge
v1.9.12 Website 2026-09-26

Alle 863 „unbekannten Spieler" haben ihre Namen zurück

  • Die usercache.json des Servers hält nur etwa einen Monat vor; in einer Welt, die von der 1.21-Überlebenswelt bis 1.21.11 hochgezogen wurde, waren die Namen der alten Spieler längst abgelaufen — die Website konnte nur die UUID nutzen und zeigte „Unbekannter Spieler · xxxxxx". Also haben wir das Backup-Archiv durchsucht: Führt man usercache / whitelist / ops / banned-players aller früheren Server chronologisch zusammen, kommen alle 863 Namen zurück, keiner fehlt (der 395-Stunden-Eintrag in der Rangliste heißt iRXC). Das Upgrade auf v13 füllt sie einmalig nach: Nur Zeilen, die noch nach einer UUID benannt sind, werden angefasst — ein vorhandener echter Name bleibt unverändert
  • Ein Randfall ist ebenfalls abgedeckt: players.name ist ein eindeutiger Index. Ist ein nachzufüllender Name bereits von einer anderen Zeile belegt, wird diese Zeile übersprungen und vermerkt — ein Eindeutigkeitskonflikt kann nie das gesamte Upgrade scheitern lassen. Lieber bleibt ein Spieler als „Unbekannt" stehen, als dass die Migration hängt
v1.9.11 Website 2026-09-26

Spielernamen im Admin behoben · echte Namen werden nicht mehr überschrieben

  • Die Admin-Seiten Spielerliste / Dashboard / Banns / Whitelist / Skins / Benutzer zeigten Spieler ohne auflösbaren Namen als rohe UUID — die öffentliche Website zeigt seit jeher „Unbekannter Spieler · xxxxxx", im Backend fehlten ein paar Stellen; jetzt sind sie einheitlich. Es gibt 863 solcher Spieler: Die usercache.json des Servers hält nur etwa einen Monat vor, die Namen aus dieser alten Welt sind längst abgelaufen, und die Website kann nur die vollständige UUID als Kennung nutzen (kein Anzeigefehler — es ist schlicht kein Name mehr vorhanden)
  • Nebenbei eine Datenverlust-Gefahr behoben: Kann das Mod keinen Namen auflösen, meldet es einen leeren — der alte Code schrieb dafür die UUID über den gespeicherten Wert. Ein Veteran, der über einen Monat pausiert, hätte damit seinen echten Namen dauerhaft verloren. Jetzt bleibt ein vorhandener echter Name erhalten, und die UUID dient nur dann als Ersatz, wenn wirklich kein Name existiert
v1.9.10 Website 2026-09-26

„225 Stunden an einem Tag" auf Spielerseiten behoben

  • Die absurde Zahl im Diagramm „letzte 30 Tage" auf Spielerseiten ist behoben — stürzt der Server ab oder geht ein Verlassen-Ereignis verloren, bleibt ein Online-Eintrag zurück, der nie geschlossen wird, und der Abschluss nahm „zuletzt gesehen" als Endzeit. Eine am 13.09. geöffnete Sitzung wurde so bis zum 23.09. gerechnet, und diese 225 Stunden landeten alle an einem Tag. Der Abschluss hat jetzt drei Obergrenzen: die 6-Stunden-Grenze, den Beginn der nächsten Sitzung dieses Spielers und ein „zuletzt gesehen", das die Schätzung nur verkürzen, nie verlängern kann
  • Die wenigen fehlerhaften Zeilen, die bereits in der Datenbank stehen, werden jetzt korrekt angezeigt, ohne die Datenbank anzufassen (beim Lesen gilt dieselbe Regel), und „letzte Anmeldungen", „Gesamtspielzeit", „diese Woche" sowie „Zeit pro Server" nutzen nun eine gemeinsame Regel — zuvor summierte jede Stelle rohe Sekunden für sich, sodass dieselbe Zahl sich auf der Seite widersprach
v1.9.9 Website 2026-09-26

Kalender-Überlauf am Handy behoben · Jahres-Online zeigt jetzt den Tagesrekord

  • Der Datumswähler im Chat läuft am Handy nicht mehr über den Panel-Rahmen hinaus (auf schmalen Bildschirmen schwebt er nicht mehr über dem Panel, sondern füllt eine eigene Zeile — seine Breite ist damit einfach die des Containers)
  • Die Jahres-Onlinezahl rechnet nicht mehr mit dem 6-Tage-Mittel, sondern mit dem Tageshöchstwert — ein Server, der nur abends besucht ist, hat im Mittel vielleicht 2 Spieler, während zeitgleich ein Dutzend online war; als Mittelwert gezeichnet wird ein ganzes Jahr zu einer Linie, die nichts aussagt. 24 Stunden / 7 Tage / 30 Tage nutzen weiter den Mittelwert, weil ein Punkt dort nur wenige Zehnminuten abdeckt
v1.6.4 Mod 2026-09-26

Eigener Latenz-Platzhalter: %cloudridge:ping%

  • Das eingebaute %player:ping% liefert in den Spielerzeilen der TAB für jeden Spieler 0 (in der Fußzeile derselben Konfiguration funktioniert derselbe Platzhalter — dem Zeilen-Kontext fehlt schlicht der Live-Spieler). Der neue Platzhalter geht beide Wege: erst der Spieler aus dem Kontext, sonst der GameProfile-Name gegen die Online-Liste des Servers. Klappt beides nicht, bleibt die Stelle leer statt einer irreführenden 0
v1.6.3 Mod 2026-09-26

Serverstart und -stopp melden

  • Das Mod meldet "gestartet", wenn der Server hochfährt, und "gestoppt" bei einem sauberen Herunterfahren. Die Stopp-Meldung wird synchron gesendet — der Prozess beendet sich gleich, ein Hintergrund-Thread würde sie nie abschicken. Ein Absturz oder Stromausfall erzeugt keinen erfundenen Stopp-Eintrag
v1.9.8 Website 2026-09-26

Chat: Serverstart und -stopp erscheinen jetzt im Live-Chat

  • Serverstart und -stopp (mit Uhrzeit) erscheinen jetzt als Zeile im Chatbereich, mit einem kleinen senkrechten Strich statt eines Avatars und einer eigenen Farbe, die sie von Spielernachrichten abhebt
  • Der Changelog unterstützt jetzt Code- und Fett-Auszeichnung (vorher wurden nur Backticks verarbeitet, Fettschrift zeigte ihre Sternchen wörtlich)
v1.9.7 Website 2026-09-25

Chat: nach Datum stöbern, einfacher schreiben, echte Dialoge

  • Der Chatverlauf lässt sich jetzt nach Datum ansehen: Klick im Kalender auf einen Tag, und du liest die Nachrichten dieses Tages; Tage mit Verlauf sind fett markiert. Der Wechsel des Tages lädt nicht mehr die ganze Seite neu.
  • Schreiben ist einfacher: Anmelden genügt, ein verknüpfter Spielcharakter ist nicht mehr nötig. Ist einer verknüpft, wird sein Name angezeigt; sonst der Nickname der Website, und im Spiel wird er als [Web · nicht verknüpft] markiert, damit er sich von echten Charakteren unterscheidet.
  • Der Nickname der Website lässt sich nur alle 15 Tage ändern (das allererste Festlegen ist frei), und „Mein Konto" zeigt, wie viele Tage noch bleiben. Ein Nickname darf nicht mit einem bestehenden Spielcharakter oder einem Admin übereinstimmen, damit sich niemand durch Umbenennen als jemand anderes ausgibt.
  • Das Melden läuft jetzt über einen richtigen Dialog mit einem Grund-Feld samt Zeichenzähler statt über das winzige Fenster des Browsers; die Bestätigung zum Zurückziehen und einige Bestätigungen im Admin-Bereich wurden ebenfalls ersetzt — native Browser-Dialoge blockieren die ganze Seite.
  • Die Chatverwaltung im Admin-Bereich markiert nicht verknüpfte Absender; Löschen, Meldungen bearbeiten und Stummschalten bleiben wie gehabt.
v1.6.2 Mod 2026-09-25

Bot-Filter repariert + Web-Präfix pro Nachricht

  • Der Bot-Filter tat gar nichts — das ist repariert: Der Standardwert der Liste war bot_, und ohne * bedeutet das einen exakten Treffer, also wurde kein einziger Fake-Spieler gefiltert. Der Standard ist jetzt bot_*, und beim Serverstart wird die wirksame Liste ins Protokoll geschrieben, damit „eingetragen, aber wirkungslos" nicht wieder unbemerkt passiert.
  • Das Web-Präfix wird jetzt pro Nachricht mitgeschickt: Nutzer mit verknüpftem Charakter bekommen [Web], nicht verknüpfte [Web · nicht verknüpft], sodass Spieler im Spiel sofort sehen, ob ein echter Charakter geschrieben hat.
  • Nachtrag zu 1.6.1: Beitritte, Austritte, Tode und Fortschritte wurden vorher gar nicht angezeigt, weil die Einordnung allein auf Übersetzungsschlüsseln beruhte und manche Mods die Vanilla-Nachricht komplett ersetzen, sodass kein Schlüssel gefunden wird; jetzt gibt es eine Ersatzeinordnung über den gerenderten Text und Diagnoseprotokolle für die ersten 25 Systemnachrichten jedes Serverstarts.
v1.6.0 Mod 2026-09-25

Chat-Synchronisierung: öffentlicher Chat und Ereignisse in Echtzeit

  • Neue Chat-Synchronisierung: öffentliche Nachrichten aus dem Spiel, Beitritte und Austritte, Tode und Fortschritte gehen in Echtzeit an den Chat auf der Website
  • Nachrichten von Website-Nutzern werden mit dem Präfix [网页] in Cyan ins Spiel gemeldet; sie gehen pro Spieler raus, um das Systemnachrichten-Event zu umgehen — deshalb wird nichts doppelt gemeldet
  • Tode und Fortschritte werden über den Übersetzungsschlüssel eingeordnet, nicht über den gerenderten Text — das funktioniert auch dann noch, wenn die Serversprache auf Chinesisch umgestellt wird
  • Beitritte, Austritte und Tode von Fake-Spielern (Carpet-Bots) werden nicht gemeldet; die Liste lässt sich in cloudridge.json unter chat_bot_names ändern, Standard ist bot_
  • Erfasst wird nur der öffentliche Chat — private Nachrichten (/msg, /tell, /w) werden nie mitgelesen, und kein Schalter kann das einschalten
  • Neue Optionen upload_chat / chat_bot_names / chat_poll_ms; bestehende Konfigurationsdateien laufen unverändert weiter und nutzen die Standardwerte
v1.9.6 Website 2026-09-25

Web-Chatfenster ist da: in beide Richtungen mit dem Spielchat verbunden

  • Neuer Chat unter der Webkarte: öffentliche Nachrichten aus dem Spiel, Beitritte und Austritte, Todesmeldungen und erreichte Fortschritte erscheinen in Echtzeit auf der Website — jede mit Zeitstempel
  • In beide Richtungen: Was du im Web-Chat schreibst, erscheint mit dem Präfix [网页] im öffentlichen Chat des Spiels; innerhalb und außerhalb des Spiels steht derselbe Name (dein verknüpfter Charakter), Nachahmung ist damit ausgeschlossen
  • Ohne Anmeldung ist der Chat nicht sichtbar — nicht in der Oberfläche versteckt, sondern der Server liefert kein einziges Byte davon aus; schreiben kannst du erst nach der Anmeldung mit verknüpftem Spielcharakter
  • Der Chat ist nach Serverrunden gegliedert: Du kannst zwischen früheren Runden wechseln, und die Aufzeichnung übersteht einen Neustart des Servers
  • Jede Nachricht zeigt Avatar und Zeitstempel; eigene Nachrichten kannst du zurückziehen, fremde melden
  • Neu im Admin-Bereich: „Chatverwaltung" — Nachrichten löschen (wirkt sofort auf Website und im Spiel), Meldungen bearbeiten, stummschalten, und jede Aktion wird protokolliert (beim Löschen bleibt der Originaltext für die Nachvollziehbarkeit erhalten)
v1.9.5 Website 2026-09-25

Changelog nach Art, Monat und Version filtern

  • Der Changelog lässt sich jetzt filtern: Die drei Zähler oben (Website / Mod / Server) sind anklickbare Chips geworden — einmal klicken zeigt nur diese Art, noch einmal klicken hebt den Filter auf
  • Monatsfilter und Versionssuche sind dazugekommen — „1.9" eingeben zeigt 1.9.0 bis 1.9.4, und beides lässt sich kombinieren
  • Der Filterzustand steckt in der URL, du kannst den Link also weitergeben — wer ihn öffnet, sieht dasselbe Ergebnis
  • Die Zähler bleiben die Gesamtzahlen (sie schrumpfen beim Filtern nicht), dazu gibt es einen neuen Hinweis „Keine Updates passen zu diesem Filter"
v1.5.2 Mod 2026-09-25

Server-Metriken direkt in der TAB-Liste

  • Neue Platzhalter-Familie %cloudridge:*% (18 Stück: TPS, MSPT, Chunks, Entities, Speicher, CPU, Netzwerkraten, Laufzeit) — die TAB-Liste kann diese Werte direkt anzeigen
  • Nutzt die Erfassung, die der Mod ohnehin schon macht — nichts wird doppelt gesammelt; zur Renderzeit wird nur ein Cache gelesen, denn gerendert wird ständig und Dateizugriffe oder Subprozesse würden den Server ausbremsen
  • Ohne den TAB-Mod ist es ungefährlich: Die Registrierung ist gekapselt, fehlende Werte werden leer dargestellt statt als irreführende 0
v1.5.1 Mod 2026-09-25

Netzwerkzähler funktionieren, ruhigeres Log

  • Der Netzwerkdurchsatz zeigte dauerhaft 0 — die beiden gesuchten APIs existieren in keinem Standard-JDK, der Code konnte also nie funktionieren. Jetzt wird eine Quelle genutzt, die das System wirklich bietet, und nach Struktur statt nach Beschriftung geparst, damit es auch auf nicht-englischen Systemen klappt
  • Die Erfassung läuft in einem Hintergrund-Thread: Diese Quelle braucht einen Subprozess, und inline würde sie Tick-Spikes verursachen
  • Neuer Schalter „Snapshot pro Heartbeat protokollieren", standardmäßig aus; wenn an, wird nur bei tatsächlicher Änderung geschrieben
v1.9.4 Website 2026-09-25

Login-Reparatur, Backup-Sicherheitsnetz und API-Doku

  • Die Admin-Zwei-Faktor-Anmeldung funktioniert wieder. Ursache war eine Schreibtransaktion, deren Commit auf der PHP-Version des Servers stillschweigend übersprungen wurde — Codes landeten nie in der Datenbank: Die Mail kam an, die Eingabe meldete aber "bitte zuerst einen Code anfordern", und auch die Sperre fürs erneute Senden fiel aus
  • Drei weitere Fälle desselben Fehlers behoben (Spielersuche, Heartbeat-Metriken, Sitzungsprotokoll)
  • Backup-Aufräumen nutzt jetzt getrennte Kontingente: Sicherungskopien vor Upgrade und vor Wiederherstellung werden nicht mehr von normalen Backups verdrängt; manuell exportierte Backups werden nie automatisch gelöscht
  • Die öffentliche Spieler-API hat ihren Suchparameter ignoriert: Auf Servern mit über 500 Spielern waren alle ab Rang 500 nicht auffindbar. Jetzt Teilstring-Suche, inklusive geschlossener Wildcard-Lücke
  • Zu große Anfragen zeigen keine leere Seite mehr, sondern eine klare Meldung
  • Die API-Dokumentation beschreibt jetzt alle 5 öffentlichen Nur-Lese-Endpunkte
  • Der Link "zurück zu Benutzername/Passwort" auf der Admin-Anmeldeseite führt zum richtigen Schritt
v1.21.11 Server 2026-09-25

Server auf Minecraft 1.21.11 aktualisiert

  • Der Server wurde von 1.21.1 auf 1.21.11 aktualisiert, zusammen mit Fabric Loader, Fabric API und allen Mods
  • Die Webkarte lädt wieder: Die BlueMap-Konfiguration lag noch im alten Format vor, wodurch das gesamte Plugin den Dienst verweigerte
  • Alle versionsbezogenen Angaben auf der Website und im Mod sind jetzt 1.21.11
  • TAB-Liste überarbeitet: Die Farben entsprechen jetzt der Website (Cyan / Grün), jeder Spieler zeigt seinen Ping in Millisekunden, und die Fußzeile zeigt TPS, MSPT, Speicher, Chunks, Entities und CPU auf einen Blick
  • MOTD überarbeitet: Farbverlauf in den Markenfarben, die zwei übrig gebliebenen englischen Platzhaltertexte entfernt, und der Hover-Text enthält jetzt Website und QQ-Gruppe
  • Alle sichtbaren Versionsangaben sind jetzt 1.21.11
v1.5.0 Mod 2026-09-24

Unterstützung für Minecraft 1.21.11

  • Der Mod zielt jetzt auf Minecraft 1.21.11 (Fabric Loader 0.19.5 / Fabric API 0.141.6+1.21.11)
  • Die Rechteprüfung für Befehle nutzt jetzt die OP-Liste des Servers — die alte Schnittstelle wurde in 1.21.11 entfernt. Konsole und Befehlsblöcke behalten ihre Rechte unverändert
  • Die Zählung geladener Chunks nutzt die neue Schnittstelle, geschrieben für alte und neue Versionen
  • Die übrigen geänderten Schnittstellen wurden ebenfalls migriert, jeweils gegen die offiziellen Mappings geprüft
v1.9.3 Website 2026-09-23

Einklappbare Abzeichenwand, Diagramm-Erklärungen und Korrektur des 24-Stunden-Verlaufs

  • Das Erfolgssystem wächst von 28 auf 98 Abzeichen, aufgeteilt in 8 Gruppen (Überleben / Bauen / Erkunden / Redstone / Landwirtschaft / Kampf / Soziales / Sammeln), und jede Gruppe zeigt, wie viele du von der Gesamtzahl hast; 35 davon entsprechen direkt den echten Fortschritten im Spiel, und das Datum ist der Moment, in dem das Spiel sie vergeben hat
  • Jede Achse des Fünf-Dimensionen-Radars erklärt sich jetzt selbst: was sie misst, wie sie berechnet wird und was als voll gilt, sodass man nicht mehr aus der Form raten muss; dazu eine Legende — die gefüllte Fläche bist du, die graue gestrichelte Linie ist der Serverdurchschnitt
  • Behoben: Der 24-Stunden-Verlauf passte nicht zur Wirklichkeit. Der Grund war, dass im Verlauf der Rohwert des Mods gespeichert wurde (inklusive des dauerhaft verbundenen Bots), die Seite aber die gefilterte Zahl zeigte. Jetzt nutzen Herzschlag und Diagramm dieselbe Zahl, und beim Zeigen auf die Linie erscheinen Uhrzeit und Spielerzahl
  • Die Diagramme lassen sich jetzt umschalten: 24 Stunden / 7 Tage / 30 Tage / 1 Jahr, ein Blick genügt also für den Zustand des Servers; während der Server geschlossen ist, bricht die Linie ab, statt diese Tage als 0 Spieler zu zeichnen
  • Die Abzeichenwand auf der Spielerseite lässt sich einklappen: erreichte Abzeichen bleiben immer sichtbar (das ist deine Bilanz), offene verschwinden hinter der Gruppenüberschrift oder dem Knopf „alle zeigen“ unten; die Wahl wird gemerkt, ein Neuladen sieht also gleich aus, und ohne JavaScript werden weiterhin alle 98 angezeigt
  • Sitzungsprotokolle korrigiert: Die Markierung „jetzt online“ sah früher nur nach, ob eine Sitzung eine Endzeit hat. Ein Absturz oder ein verlorenes Verlassen-Signal ließ sie also hängen — bis hin zu einer Person, die in zwei Sitzungen gleichzeitig online war. Jetzt gilt die Liste, die der Server live meldet; nicht passende Sitzungen zeigen „abnormal beendet“ und werden automatisch geschlossen, und ein doppelt gemeldetes Verlassen öffnet keine zweite Sitzung mehr
  • Behoben: Die Abzeichen für „Spielfortschritt“ leuchteten nie auf. Der verwendete Schlüssel trug ein überflüssiges Präfix und passte nicht zu den Fortschrittsnamen, die das Spiel meldet — deshalb blieben alle 35 echten Erfolge dauerhaft als nicht erreicht markiert. Sie sahen nur grau aus, genau wie einer, den man noch nicht geschafft hat, auf der Seite war also nichts zu erkennen. Jetzt passen die Schlüssel: Erreichte leuchten auf und zeigen den echten Tag, an dem das Spiel sie vergeben hat
v1.9.2 Website 2026-09-22

Sicherheit und Datenschutz gehärtet, Uploads und Feinschliff

  • Die QQ-Anmeldung ist verdrahtet: AppID, AppKey und Rückruf-URL sind konfiguriert, sie geht also live, sobald Tencent die App freigibt und der Schalter im Admin aktiviert wird; bis dahin zeigt die Anmeldeseite den Button nicht — so gibt es keinen Einstieg, der beim Klick nichts tut
  • Sicherheit: das Verzeichnis /storage/ lässt sich nicht mehr direkt aufrufen (dort liegen Datenbank-Backups, Skin-Caches und andere Dateien, die nicht öffentlich sein dürfen)
  • Klartext-Administratorpasswörter, die noch in der Datenbank lagen, sind entfernt; es bleibt nur der verschlüsselte Hash
  • Die Bestätigung der Spielfigur begrenzt jetzt Fehlversuche: mehrfach falsche Kurzcodes werden eine Zeit lang gesperrt, damit niemand sie durchprobieren kann
  • Spielerfilter, SVG-Prüfung und Feldvalidierung laufen jetzt über Positivlisten und gebundene Parameter: nur ausdrücklich erlaubte Werte kommen durch, und Fremdeingaben werden nicht mehr direkt in Abfragen gesetzt
  • Alle 74 JSON-Ausgaben der Website tragen jetzt die sicheren Escape-Flags, eingebettete Daten können also nicht mehr als Markup gelesen werden
  • Datenschutz: die Sichtbarkeitsschalter im Profil hatten noch 5 umgehbare Stellen (darunter die öffentliche Spieler-API, die keinen Schlüssel braucht); alle sind geschlossen — aus heißt aus, auch über die öffentliche API
  • WebP-Uploads: Avatar, Banner, Bildbibliothek, Forum und weitere — 8 Einstiege nehmen WebP direkt an
  • Behoben: in den Admin-Einstellungen wurde die Liste der erlaubten Formate als Zeichenkette "array" kaputt gespeichert — die Ursache dafür, dass Upload-Formate still ignoriert wurden; Speichern zerstört sie nun nicht mehr
  • Die Spielzeit steht überall in Stunden (Stunden als Hauptzahl, Tage als kleine Unterzeile); die Rangliste zeigt genau die Spalte, nach der sortiert wird
  • Fallback für alte Browser: Aktivitäts-Heatmap, Fortschrittsbalken und der leichte Hintergrund / Fokusring im Upload-Bereich werden ohne color-mix() nicht mehr transparent
  • Die öffentliche Spielerseite zeigt ein Level-Abzeichen (Lv.N) neben dem Namen, ohne auf schmalen Handys überzulaufen
  • Markenbilder: das Logo und die Symbole, die ein Testbild überschrieben hatte, sind wiederhergestellt; Markenbilder haben jetzt ein Offline-Archiv und das Werkzeug brand-restore.php, ein künftiges Überschreiben lässt sich also sofort zurücknehmen
v1.9.0 Website 2026-09-19

Spielerbereich und überarbeitete Bild-Uploads

  • Die Profilseite wurde überarbeitet: Fortschritt, Aktivität dieser Woche, Erfolgs-Abzeichen, Spuren in der Community und die Zeitleiste der letzten Aktivitäten stehen jetzt auf einer Seite
  • Neu: das Spiel-Level. Es ergibt sich aus deiner gesamten Spielzeit, ein Level pro 10 Spielstunden und ab Lv.1, und ist auf deiner Profilseite und der öffentlichen Spielerseite zu sehen
  • Neue Sichtbarkeits-Schalter: Gesamte Spielzeit, Zuletzt online, Erster Beitritt und die Online-Spielerliste entscheidest du selbst, und was aus ist, findet man auch auf anderen Seiten nicht mehr
  • Avatar und Banner nehmen jetzt direkt ein hochgeladenes Bild an und werden als WebP gespeichert (kleinere Dateien, schnelleres Laden); der Avatar wird mittig zu einem Quadrat zugeschnitten, das Banner proportional auf höchstens 1920×1080 verkleinert
  • Bilder können PNG / JPG / WebP / GIF sein; bei AVIF kommt der Hinweis, die Datei zuerst als PNG oder WebP zu speichern
  • Neu: die Bildbibliothek. Hochgeladene Bilder werden im Admin-Panel an einer Stelle verwaltet, mit Maßen, Dateigröße und der Angabe, wo sie verwendet werden
  • Upload-Sicherheit verschärft: Der Typ wird am echten Dateiinhalt bestimmt, ein umbenanntes und damit getarntes Format fliegt also immer raus; Versuche, aus dem Upload-Ordner auszubrechen, werden blockiert, SVG kommt nur über eine geprüfte Liste durch, und nicht mehr verwendete verwaiste Dateien werden aufgeräumt
  • Spielfiguren werden jetzt so beansprucht: Antrag auf der Website stellen, dann im Spiel /cdr claim mit dem kurzen Code ausführen, und bestätigen kann nur die Figur selbst
  • Die Profilseite hat eine 3D-Vorschau des Skins bekommen; Seed-Karte und Live-Karte laufen jetzt beide über HTTPS
v1.9.1 Website 2026-09-19

Berechtigungstabelle neu gebaut (nach den hier tatsächlich installierten Mods)

  • Die Checkliste der Berechtigungen wurde nach den hier tatsächlich installierten Mods neu gebaut: Es bleiben nur Einträge mit einem echten Rechtenode übrig, und ein Häkchen wirkt dann auch wirklich
  • Fähigkeiten, für die ein Mod fehlt (Grundstücke, /hat, /back, Chatfarben und so weiter), stehen nicht mehr in der Checkliste; ein Abschnitt darunter sagt ehrlich, was fehlt und welchen Node man später eintragen müsste
  • Bei jeder Berechtigung steht jetzt klar dabei, was sie im Spiel wirklich erlaubt, der Zuschauermodus zum Beispiel schaltet also nie nebenbei den Kreativmodus frei
  • Der Kreativmodus ist ein eigener Eintrag: Nur der Serverinhaber und das Team speichern ihn ohne zweite Bestätigung, jede andere Gruppe bekommt zuerst ein Bestätigungsfenster. Wer Serverinhaber oder im Team ist, kann sich mit dem normalen Website-Konto jetzt auch direkt im Admin-Panel anmelden
v1.8.2 Website 2026-09-18

CloudRidge-Blau und eine stabilere Anmeldung

  • Die Farben der Seite sind jetzt "CloudRidge-Blau": die Werte kommen direkt aus dem Server-Logo, damit Website und Logo nie zwei verschiedene Blautöne zeigen
  • Behoben: die Bot-Prüfung ließ in der Live-Umgebung absolut niemanden durch (hinter dem Reverse-Proxy war die echte IP nicht verfügbar und die Ratenbegrenzung behandelte alle Besucher als eine Person)
  • Ist die Prüfung bestanden, die Seite wechselt aber nicht, hängt der Absenden-Button nicht mehr fest, sondern erholt sich nach 8 Sekunden
  • Die Buttons im ersten Bildschirm der Startseite laufen auf dem Handy nicht mehr aus dem Bild
v1.8.1 Website 2026-09-18

Bot-Prüfung aufgerüstet

  • Die Bot-Prüfung läuft jetzt auf ALTCHA 2.x, mit einem Bild-Captcha als Ausweichlösung: kann dein Browser die Aufgabe nicht rechnen, tippst du einfach die Zeichen aus dem Bild ab
  • Registrierung, Whitelist-Anträge und das erneute Senden von Codes stecken jetzt ebenfalls hinter der Bot-Prüfung. Das blockt Versuche, mit fremden E-Mail-Adressen unser Kontingent zu verbrauchen
  • Die Startseite hat einen Button "QQ-Gruppe mit einem Klick beitreten", der QQ auf PC und Handy direkt öffnet
  • Die Seitensymbole decken jetzt alle Größen ab, damit "zum Startbildschirm hinzufügen" auf dem Handy ein richtiges Symbol bekommt
v1.8.0 Website 2026-09-18

Erfolge, gemerkte Geräte und ein neues Aussehen

  • Spielerseiten haben Erfolgs-Abzeichen und ein Fähigkeits-Radar bekommen, so siehst du auf einen Blick, worin jemand gut ist
  • Neu: "Dieses Gerät merken". Angehakt bleibst du 30 Tage angemeldet (eine Passwortänderung oder "auf allen Geräten abmelden" beendet das sofort)
  • Die Admin-Anmeldung hat jetzt einen zweiten Schritt mit Code per E-Mail, dazu einen Offline-Wiederherstellungsschlüssel für den Fall, dass dich keine Mail erreicht
  • Die Whitelist-Seite zeigt je nach Status andere Inhalte: in Prüfung, freigegeben, oder der Grund der Ablehnung plus ein Formular zum erneuten Senden
  • Die ganze Seite nutzt jetzt Blaugrün und Tintentöne wie im Server-Logo, mit Serifenschrift in den Überschriften. Das wirkt ruhiger und lässt mehr Luft
  • Die Symbole der Forumskategorien nutzen kein emoji mehr (auf manchen Systemen erschienen sie als leere Kästchen), sondern unsere eigenen Symbole
v1.7.0 Website 2026-09-18

Guide-Suche und Live-Informationen

  • Der Server-Guide ist nach Titel oder Text durchsuchbar
  • Ein Live-Bereich in der Seitenleiste des Guides zeigt Version, Loader und Mod-Version, ohne die Seite zu verlassen
  • Befehlsliste und Mod-Liste haben eigene Adressen, das macht sie leicht teilbar für neue Spieler
  • Auf dem Handy rutscht die Seitenleiste des Guides über den Text, und der Live-Bereich frisst keine ganze Bildschirmhöhe mehr
v1.6.0 Website 2026-09-18

Abgleich mit der Skin-Seite

  • Abgleich mit der Skin-Seite: Registriere dich dort unter demselben Namen und lade deinen Skin hoch, dann holt die Website ihn automatisch
  • Trifft eine Spielerseite zum ersten Mal auf einen unbekannten Namen, fragt sie einmal bei der Skin-Seite nach und zeigt das Ergebnis direkt an
  • Neu im Profil: "Skin neu abgleichen". Ein Klick genügt, nachdem du den Skin dort geändert hast
  • Die Adresse der Skin-Seite lässt sich im Admin-Panel eintragen (standardmäßig LittleSkin), ein Wechsel braucht also keine Codeänderung
v1.4.0 Website 2026-09-18

Konto und Sicherheit

  • Dein Profil wurde umgebaut, mit den Bereichen "Konto & Sicherheit" und "Personalisierung". Anmeldeverlauf, neues Verknüpfen und Passwortänderung findest du dort
  • "Auf allen Geräten abmelden" wird unterstützt: nach einer Passwortänderung oder einer Abmeldung anderswo sind andere Geräte sofort abgemeldet
  • Verifizierungscodes sind jetzt gerätegebunden: höchstens 5 pro Gerät und Tag, das verhindert, dass Skripte SMS- und Mail-Kontingent verbrennen
  • Ist deine E-Mail oder Handynummer noch nicht bestätigt, erinnert dich einmal ein Hinweis oben auf der Seite. Erst danach kannst du Whitelist beantragen, schreiben oder einen Charakter verknüpfen
  • Dein Profil zeigt eine Übersicht deiner Spuren auf allen Servern
v1.5.0 Website 2026-09-18

Neu gepackte Veröffentlichung

  • Identisch mit v1.4.0, nur neu gepackt. Es hat sich nichts geändert
v1.3.8 Website 2026-09-17

Anmeldewege vollständig beschrieben

  • Die Passwort-Anmeldeseite listet jetzt alle drei Kontoarten (E-Mail, Handynummer, verknüpfter Spielername) und passt damit zu dem, was wirklich geht
  • Die Übersetzungen wurden ebenfalls ergänzt
v1.3.7 Website 2026-09-17

Hintergrundbilder für die Anmeldeseiten

  • Anmeldung, Registrierung und Passwort-Wiederherstellung akzeptieren ein eigenes Hintergrundbild (Upload im Admin-Panel), die Karten haben jetzt Milchglas-Optik
  • Unter "Aussehen" lassen sich Startseiten-Bild, Logo, Browser-Symbol und Anmelde-Hintergrund hochladen
  • Neben E-Mail und Handynummer kannst du dich auch mit einem bereits verknüpften Spielernamen anmelden
v1.3.6 Website 2026-09-17

SMS-Schlüsselprüfung wieder eingebaut

  • Die Schlüsselprüfung ist zurück, warnt aber nur im wirklich falschen Fall: bei einer 32-stelligen Hex-Zeichenkette, denn das ist ein MD5-Hash und nicht der Klartext-KEY
  • Der Hinweis sagt jetzt genau, wo du den KEY neu kopieren kannst, statt dich mit "ungültiger Schlüssel" allein zu lassen
v1.3.5 Website 2026-09-17

Hinweis zum SMS-Schlüssel korrigiert

  • Ein Fehlalarm zur Länge des SMS-Schlüssels wurde entfernt (er verlangte 32 Zeichen, der echte Schlüssel der Plattform hat aber 16)
  • Ob der Schlüssel stimmt, beantwortet jetzt die SMS-Plattform selbst, statt es aus der Länge zu raten
v1.3.4 Website 2026-09-17

Anmeldung repariert und abgesichert

  • Behoben: die Passwort-Anmeldung per E-Mail und Handynummer schlug immer fehl (früher kam ein 500er)
  • Zu viele Fehlversuche führen jetzt zu einer kurzen Sperre, das stoppt automatisiertes Passwortraten
  • Gehört die aktuelle Seite zu einer Navigationsgruppe, wird auch der Gruppen-Button hervorgehoben, so siehst du sofort, wo du bist
  • Eine Trennlinie auf der Anmeldeseite trennt QQ-Login und E-Mail-Login, damit sie nicht mehr verwechselt werden
v1.3.3 Website 2026-09-16

Selbstprüfung der SMS-Einstellungen

  • Neu: kostenlose Selbstprüfung für SMS. Benutzername, Schlüssel und Vorlage lassen sich prüfen, ohne eine einzige Nachricht zu senden
  • Sie sagt klar, ob Konto und Schlüssel falsch sind oder die Vorlage noch auf die Freigabe wartet. Kein Rätselraten mehr
  • Eine geplante Aufgabe prüft den Status der SMS-Vorlage regelmäßig und erinnert daran, sie nach der Freigabe zu aktivieren
v1.3.2 Website 2026-09-16

Mehrere Server unterstützt

  • Mehrere Server: jeder bekommt einen Typ (Survival, Creative, Minigame), und die Seite zeigt pro Typ andere Inhalte
  • Creative-Server zeigen die Erklärung zum Baupanel, Minigame-Server zeigen Match-Infos und eine PvP-Rangliste
  • Whitelist- und Bann-Änderungen werden pro Server bestätigt, damit nichts stillschweigend unsynchronisiert bleibt
  • Im Admin-Panel lässt sich festlegen, dass eine Änderung nur an einen bestimmten Server geht
v1.1.6 Mod 2026-09-16

Servertypen unterstützt

  • Neue Einstellung server_type: Survival, Creative, Minigame, Lobby oder Sonstiges, und die Website stellt jeden Typ anders dar
  • Das Übertragen der gesammelten Spielerstatistiken wurde noch einmal korrigiert, die Summen auf der Seite sind jetzt genauer
  • Die Beschreibung der Einstellungen und die Meldungen im Spiel wurden ergänzt
v1.3.1 Website 2026-09-16

Admin-Protokoll und Nachrichtenzentrale

  • Neues Protokoll im Admin-Panel: wer wann was geändert hat, ist alles nachschlagbar, statt die Datenbank zu durchsuchen
  • Neue Nachrichtenzentrale: Sendeprotokolle für Mail und SMS, damit sich "ich habe keinen Code bekommen" direkt prüfen lässt
  • Neue Werkzeuge für Whitelist in großen Mengen: Einträge auf einmal hinzufügen, entfernen oder veraltete aufräumen
  • Behoben: die Rechteprüfung der Nutzergruppen griff nie, jetzt wirken die Gruppenrechte wirklich
  • Das Dashboard hat ein Verlaufsdiagramm für die letzten 14 Tage: neue Nutzer, Whitelist-Anträge, Besuche und neue Spieler
v1.3.0 Website 2026-09-16

Spielerskins und gruppierte Navigation

  • Spielerskins: Lade einen 64×64-Skin hoch, und Profil und Spielerseite zeigen ihn als 3D-Modell (ohne externe Bibliothek)
  • Neuer Bereich "Mein Skin" im Profil, dort kannst du ihn jederzeit hochladen oder löschen
  • Die Navigation im Kopfbereich ist jetzt in Dropdowns gruppiert (Server, Community) und bricht auf dem Handy nicht mehr auf zwei Zeilen um
  • Behoben: Platzhalter wie [[mods]] und [[server-facts]] wurden auf manchen Guide-Seiten als rohe Klammern angezeigt
  • Die Fußzeile zeigt jetzt die ICP-Registriernummer und das Symbol der Polizei-Registrierung
v1.2.3 Website 2026-09-13

SMS-Kanal und ein paar Fehlerbehebungen

  • SMS-Codes sind angebunden, damit funktionieren Registrierung per Handynummer und Passwort-Wiederherstellung (dazu nur die Plattform-Einstellungen im Admin-Panel ausfüllen)
  • Behoben: "Einstellung im Admin-Panel geändert, aber die Seite reagiert nicht". Mail-, SMS-, Bot- und Whitelist-Einstellungen greifen jetzt
  • Behoben: die Knoten-Detailseite der Statusseite lieferte einen 500er. Unbekannte Knoten zeigen jetzt eine normale Meldung
  • Behoben: Bann-Gründe wurden als englisches "Banned by an operator." angezeigt, jetzt erscheinen sie auf Chinesisch
  • Wer abgemeldet auf den Whitelist-Antrag klickt, wird erst zur Anmeldung geführt und landet danach automatisch wieder im Antragsformular
v1.2.2 Website 2026-09-13

Konten und Whitelist-Anträge online

  • Kontosystem: Registrierung per Code an E-Mail oder Handynummer, Anmeldung mit Passwort und Zurücksetzen eines vergessenen Passworts
  • Whitelist-Anträge online: Spiel-ID und eine Kontaktmöglichkeit eintragen, nach der Freigabe landet der Eintrag automatisch auf dem Server
  • Hast du eine QQ-Nummer angegeben, bist in der Gruppe und dein QQ-Level reicht aus, bestätigt der QQ-Bot dich automatisch
  • Serverinhaber und Team bearbeiten Anträge, fügen Whitelist-Einträge hinzu oder entfernen sie und ändern die Serverkonfiguration direkt über die schwebende Kugel unten rechts
  • Neu im Admin-Panel: "Update-Beitrag mit einem Klick veröffentlichen". Ab jetzt wird jedes Update automatisch festgehalten
v1.1.5 Mod 2026-09-13

Whitelist-Abgleich und Konfigurations-Proxy

  • Neu: Whitelist-Abgleich. Auf der Website freigegebene Anträge landen automatisch in der Whitelist des Servers, Admins müssen nichts mehr von Hand eintragen
  • Server-Konfigurationsdateien lassen sich über das Admin-Panel der Website ändern, vorher wird die Originaldatei automatisch gesichert
  • Eine Warteschlange für offene Aufgaben erlaubt es der Website, Arbeit an den Mod zu geben und das Ergebnis zurückzubekommen
v1.2.1 Website 2026-09-13

Werkzeuge und eine neue Statusseite

  • Neue Werkzeugseite: Generator für Text mit Farbverlauf, Serverstatus-Abfrage, Serveradressen-Check, Tick-Umrechner und Spielersuche
  • Die Statusseite wurde neu gebaut, mit 24-Stunden-Verfügbarkeit, Dienstliste und Zustand der Maschine; jeder Knoten öffnet eine Detailansicht
  • Ein Konto kann mehrere Spielcharaktere verknüpfen und einen als Hauptfigur festlegen (im Spiel auch mit /cdr main umschaltbar)
  • Die Bau-Galerie zeigt Bilder jetzt groß, das macht das Durchsehen angenehmer
  • Die Befehlsliste und die Mod-Liste im Guide folgen jetzt automatisch dem Server, niemand muss sie mehr per Hand abschreiben
v1.1.4 Mod 2026-09-13

Mehr Serverregeln und Meldungen auf Chinesisch und Englisch

  • Die Serverregeln werden vollständiger übertragen: Regeln wie Gegenstände beim Tod behalten oder fallen lassen gehen mit dem Status mit, damit die Guide-Seite stimmt
  • Die Meldungen der Befehle im Spiel gibt es auf Chinesisch und Englisch, sie richten sich automatisch nach der Sprache des Spieler-Clients
v1.1.3 Mod 2026-09-13

Genauere Spielerdaten

  • Das Übertragen der gesammelten Spielerstatistiken wurde korrigiert, die Weltdaten werden genauer gelesen und die Summen auf der Seite passen jetzt zusammen
  • AFK-Dummies und Bot-Konten werden schon beim Sammeln ausgeschlossen und tauchen nicht mehr in den Ranglisten der Seite auf
v1.2.0 Website 2026-09-13

Spielerdaten seit dem ersten Tag

  • Die Statistiken aus der Serverwelt sind da: Spielzeit, Tode, Kills, abgebaute und gesetzte Blöcke sowie zurückgelegte Strecke seit dem Serverstart
  • Die Spielerliste lässt sich nach gesamter Spielzeit sortieren, und jeder Eintrag öffnet eine Detailseite
  • AFK-Dummies und Bots werden erkannt und ausgeschlossen, damit sie keine Plätze in den Ranglisten belegen
  • Die Bannliste hat jetzt einen Abschnitt für gesperrte IPs und zeigt, woher die Adresse kommt
  • Behoben: MSPT wurde nicht angezeigt. TPS und MSPT haben jetzt jeweils eine eigene Skala
v1.1.2 Mod 2026-09-13

Spielerstatistiken und Mod-Liste

  • Online-Spieler werden jetzt mit UUID gemeldet, eine Namensänderung macht also nicht mehr zwei Personen aus einer
  • Liest die Weltstatistiken und überträgt die Werte seit dem Start: Spielzeit, Tode, Kills, abgebaute und gesetzte Blöcke sowie zurückgelegte Strecke
  • Überträgt die installierte Mod-Liste und die verfügbaren Befehle automatisch (die vielen Untermodule der Fabric API sind herausgefiltert)
  • Gesperrte IPs werden ebenfalls übertragen und auf der Seite in einem eigenen Abschnitt gezeigt
v1.1.1 Website 2026-09-13

Ersatz-Avatare und neues Admin-Layout

  • Behoben: Bildschirme voller kaputter Bilder, wenn Avatare nicht laden. Ist der fremde Avatar nicht erreichbar, zeichnen wir einen aus dem Anfangsbuchstaben des Spielernamens
  • Neues Admin-Layout: obere Leiste plus durchsuchbares Seitenmenü, damit du jede Einstellung über ein Stichwort findest
  • Behoben: die Bot-Prüfung stürzte ab und Seiten ließen sich auf manchen Servern nicht öffnen
  • Behoben: wurde die API-Adresse des Mods weitergeleitet, sah die API in Ordnung aus, aber es kamen nie Daten an. Die Selbstprüfung im Admin-Panel sagt das jetzt direkt
  • Die Live-Karte zeigt bei Verbindungsproblemen eine klare Meldung statt einer leeren Fläche
v1.1.1 Mod 2026-09-13

Schutz vor Weiterleitungen der API-Adresse

  • Wird die API-Adresse per 301 oder 302 weitergeleitet, meldet der Mod jetzt einen Fehler und zeigt die richtige Adresse, statt still Daten zu verlieren
  • Warum ein Upload fehlgeschlagen ist, steht im Spiel in /cdr status
v1.1.0 Website 2026-09-13

Konten und die Bau-Galerie

  • Neu: die Bau-Galerie. Lade Screenshots von deinen Bauwerken hoch, andere können sie liken oder in voller Größe öffnen
  • Neue Spielerliste und Spielerseiten: Spielzeit, Tode, abgebaute Blöcke und zurückgelegte Strecke auf einen Blick
  • Das Admin-Panel ist da: Neuigkeiten, Seiten, Galerie, Nutzer und Einstellungen lassen sich im Browser pflegen
  • Mehrere Sprachen und Farbschemata, und du kannst selbst zwischen Hell und Dunkel wechseln
  • Bann-Einträge sind öffentlich, inklusive wie jeder Fall behandelt wurde
v1.1.0 Mod 2026-09-12

Erste Version des Beobachtungs-Mods

  • Meldet alle 30 Sekunden den Serverstatus an die Website: Spielerzahl, TPS, MSPT, CPU, Arbeitsspeicher, Festplatte und Netzwerk
  • Überträgt Bannliste sowie Beitritt und Verlassen von Spielern, daraus berechnet die Website die Spielzeit
  • Im Spiel gibt es /cdr bind <Code> zum Verknüpfen eines Kontos, dazu /cdr status und /cdr reload für Admins
  • Alle Netzwerkanfragen laufen in einem Hintergrund-Thread, eine nicht erreichbare Website bremst den Server also nicht aus
v1.0.0 Website 2026-09-12

Die Website geht online

  • Die Seite ist für alle offen: Startseite, Serverstatus, Spieler-Guide, Bannliste, Neuigkeiten und Forum
  • Die Startseite zeigt live, wie viele Spieler online sind, dazu TPS und die Auslastung der Maschine. Der Server-Mod meldet die Daten alle 30 Sekunden
  • QQ-Login mit einem Klick. Danach kannst du deinen Spielcharakter verknüpfen und im Forum schreiben
  • Die ganze Seite kommt ohne externes CDN aus, und die Bot-Prüfung läuft auf unserem eigenen Server. Dadurch lädt sie bei uns schneller
  • Läuft auf Handy und PC. Auf schmalen Bildschirmen klappt sich die Navigation von selbst zusammen

Die Daten sind das Veröffentlichungsdatum der jeweiligen Version. Du hast ein neues Problem gefunden? Melde es im Forum oder wende dich direkt an den Serverinhaber.