换页不再白屏一下、注册页的「手机号注册」能点了
- 点站内链接时,旧页面不再先淡成一片白底 —— 之前新页面要等网络往返才到,中间那一下就是白屏。现在旧页面保持原样,换页后新页面照旧淡入、内容依次上滑。
- 注册页的「手机号注册」原来点了像是没反应:它只是把单选按钮选中,页面上的提示文案与「发验证码」的去向都没变。现在切一下就整页重渲染,提示、去向、表单都跟着变。
- 如果站点没有配置短信服务,注册页不会再把你留在「手机号注册」这个空壳上,而是自动退回邮箱注册。
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.
#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_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.127.0.0.1:8100 (eine interne Adresse, nur für die Prüfung). Jetzt wird die öffentliche Adresse der Webkarte angezeigt.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.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 scrollenpointer-events: none wird vererbt. Der gesamte Dokumentbaum bekam keine Maus mehr, nur <html> fing sie ab, und die Zurück-Schaltfläche war unerreichbarpub-bg-on, und die Elementregel ist auf video.pub-bg-video eingegrenzt, damit beide nie wieder zusammenstoßen<html>, während sie die Videoebene zu messen glaubtenblur(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/* 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 Regelnbackground: 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ändigbackground: 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ücktransition 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 stehtbackdrop-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 unbedenklichbackdrop-filter; die Karte wird beim Öffnen der Seite einmal per Canvas gezeichnet, und es gibt kein Skript pro Frame.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)/players/zlc) wurden um kein einziges Byte angefasst.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--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.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"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 esradial-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.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 machencubic-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-Engineprefers-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$pubBgCss !== ''); jede andere Seite —— auch Profile ohne Banner —— wurde um kein einziges Byte verändert, und vier Assertions der Testsuite wachen genau darüberbackground-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"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--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äuschentext-shadow-Halo auf Glasflächen wurde ebenfalls entfernt —— bei stabiler Karte hilft er nicht mehr und frisst nur die Stämme von 12-px-Textbackground-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/players/zlc) geben dieses Glas-Stylesheet gar nicht aus —— dort hat sich kein einziges Byte geänderttext-shadow) —— unsichtbar bei hellem Untergrund, zeigt er sich nur bei dunklem. Die Schrift trägt damit ihren eigenen lokalen Untergrund. Erst das macht 34 % vertretbarsaturate(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 aus00000000-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ührtbirdzhonghuifeis Zahlen sind jetzt vollständiger‹ mehr. Die Vor-/Zurück-Schaltflächen und „Heute" bleiben, und die Auswahlfelder ziehen beim Blättern mitTrChat-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-11TrChat 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 hereinlassenTrChat 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ändigerWinter 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 verrutschteFruity_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/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-IDwwwsum zeigt jetzt ehrlich 2024-08-22 und 7Strawberry 2024-03-07, und die Anmeldesumme stieg von 291 auf 21.766Die 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.