Historial de cambios

Todas las actualizaciones del sitio y del mod del servidor, las más recientes primero

Aquí está el historial completo del sitio de CloudRidge y del mod del servidor, de lo más reciente a lo más antiguo, para que puedas ver cuándo llegó una función o cuándo se arregló un fallo.

Por versión Quitar filtros

Filtrado: 66 de 127

v1.9.86 Sitio 2026-10-31

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

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

La cabecera deja solo «Iniciar sesión» y el hero 3D ya tiene buen tamaño

  • La entrada de QQ desaparece de la cabecera: antes había dos botones juntos y ahora solo «Iniciar sesión». QQ aparece únicamente en las páginas de inicio de sesión y de registro.
  • La cámara 3D ahora encuadra según la altura del modelo, así que la escena no inunda una ventana alta ni se encoge en una baja.
  • Los colores de los bloques se unifican en la paleta del cerezo: tablones carmesí, verruga del Nether y corales pasan a madera de cerezo, pétalos y hojas; se acabó el ruido de color. No se movió ni un bloque.
v1.9.84 Sitio 2026-10-31

La portada ahora es una escena 3D que puedes girar

  • La portada entera es ahora una escena 3D de jardín: arrastra para girar, rueda para ampliar, haz clic en un bloque para romperlo — vuelve a aparecer en diez segundos.
  • Los móviles y los navegadores sin WebGL2 no cargan el 3D a la fuerza: ven un póster estático desde el mismo ángulo y un botón Ver en 3D en la esquina.
  • El cambio de página también fluye: la actual se desvanece, la nueva aparece y sus bloques suben uno tras otro. Con movimiento reducido, los enlaces funcionan como antes.
  • El llamativo cuadro azul de QQ desaparece: ahora usa el icono oficial más pequeño de Tencent (16×16), al mismo nivel que los demás.
v1.9.83 Sitio 2026-10-31

Un solo botón de QQ en todo el sitio

  • El inicio de sesión, el registro, la cabecera y la cuenta comparten ahora el mismo botón de QQ: el icono oficial de Tencent dentro de nuestra propia píldora con borde. Tencent permite la forma «icono pequeño + texto», y el icono sigue siendo el original.
  • En «Cuenta y seguridad» hay una fila de QQ: vincular, revincular o desvincular. Las cuentas sin contraseña no pueden desvincular: una cuenta creada solo con QQ no tiene contraseña y se quedaría fuera para siempre.
  • Tipografía y textura: títulos más apretados y contundentes, secciones más aireadas y un brillo suave que sigue al puntero por las tarjetas.
  • Movimiento: la portada sube línea a línea, los números cuentan, hay una barra de lectura arriba y las tarjetas de inicio flotan ligeramente. Si tu sistema pide reducir el movimiento, todo se detiene; los dispositivos sin puntero no muestran el brillo.
v1.9.82 Sitio 2026-10-31

El inicio de sesión con QQ usa ahora el botón oficial de Tencent: en la página de acceso, la de registro y la barra superior

  • Las páginas de acceso y de registro mostraban un pingüino dibujado a mano con el texto «inicio de sesión en un clic con QQ». La especificación de páginas web de Tencent exige el distintivo oficial «QQ登录» y prohíbe modificarlo, así que ambas usan ahora la imagen original de 230×48 de Tencent a su tamaño nativo: sin estirar ni escalar.
  • La barra de navegación superior también lleva uno: el botón oficial de 76×24 «QQ登录» en pantallas anchas y, por debajo de 375 px, el icono oficial de 24×24 para que la cabecera nunca necesite barra horizontal.
  • De paso, dos detalles: el botón oficial nunca se atenúa — si no está marcada la casilla de los términos, al pulsarlo la página baja hasta la casilla y la resalta en rojo en lugar de desactivar el botón (un botón gris parece justamente un botón mal colocado). Y la frase «este sitio usa correo + contraseña» había quedado desfasada: en los diez idiomas ahora solo queda la mitad sobre el registro.
v1.9.81 Sitio 2026-10-18

En el móvil, el texto de la Guía del servidor quedaba tapado por su propio índice — corregido

  • En escritorio, la columna lateral de la guía es una franja estrecha fijada arriba a la izquierda. Al pasar a una sola columna se vuelve de ancho completo y más alta que la pantalla, pero seguía fijada arriba: el artículo se desplazaba por debajo, el texto parecía solaparse, aparecían cajas blancas sobre las palabras y el contenido daba la impresión de faltar. En pantallas estrechas (900 px o menos) ahora se desplaza con la página; en escritorio sigue fijada. El fallo ya existía antes de esta ronda; simplemente nadie lo había visto en el móvil.
v1.9.80 Sitio 2026-10-18

Herramientas arregladas: la barra de pestañas ya responde, los degradados son más libres y la calculadora te entrega una lista que solo tienes que rellenar y arrancar

  • Las diez herramientas estaban todas en una sola página y pulsar la cápsula de arriba solo saltaba a un ancla, así que parecía que no pasaba nada. Ahora es una barra de pestañas de verdad y solo se muestra una herramienta a la vez; una dirección con #t-xxx sigue abriendo esa herramienta directamente y en el móvil la barra se desliza en horizontal. El texto degradado pasó de dos colores fijos a 2~6 paradas: pulsa la barra para añadir una, arrástrala para moverla, selecciona una parada y pulsa «Quitar este color»; los colores se interpolan carácter a carácter según la posición, así que los códigos § / MiniMessage / tellraw / MOTD cambian juntos, y si el MOTD es demasiado largo te avisa
  • La calculadora de configuración de servidor pasó de tres tramos de presupuesto a nueve entradas. Puedes rellenar cantidad de mods, distancia de visión, distancia de simulación, si usas redstone, TPS objetivo y versión. La salida ya no son solo unas cifras: la memoria te dice por qué sube y además recibes un comando de arranque con Aikar’s flags listo para copiar, consejos línea a línea para server.properties y spigot.yml, y una lista de mods y plugins separada por estilo de juego. Los tres valores que más cambian — memoria por jugador, factor de mods y factor de redstone — están ahora en «Herramientas» del panel, y al recargar se aplican
  • El chequeo de lag ahora imputa el coste punto por punto y lo compara con los datos en vivo del sitio. Añades cuatro datos: entidades permanentes, cargadores de chunks, cable de redstone y granjas automáticas. La salida descompone el MSPT en siete apartados con su porcentaje y sus milisegundos, y solo señala «esto es lo que arrastra» cuando de verdad se lleva la mayor parte (más del 45%); si no, dice con honestidad que el mayor es ese pero que en conjunto sigue siendo bajo. Cada apartado trae una corrección aplicable, y además consulta los datos en vivo del sitio para decirte cuánto debería costar tu escala en teoría y cuánto margen queda ahora; si no hay datos, se queda en una estimación local y no muestra ningún error
v1.9.79 Sitio 2026-10-18

Cristal líquido rehecho al estilo Apple: refracta, tiene brillo y aguanta sobre blanco

  • ① En la versión anterior el cristal era, básicamente, una capa blanca que desaparecía en cuanto se posaba sobre una tarjeta blanca. Esta vez el material se ha rehecho siguiendo la pauta de iOS 26: una línea clara arriba, una oscura abajo, un anillo de 1 px por fuera, un resplandor suave por dentro y una sombra muy ligera; en escritorio sigue refractando de verdad (el fondo se curva ligeramente, la pieza entera sube 1 píxel al pasar el cursor y vuelve a bajar al pulsar). Los botones principales y los peligrosos estaban excluidos del cristal por completo; ahora entran también: el degradado de la marca se queda en el propio botón, el contraste del texto blanco no cambia y la capa de cristal solo aporta brillo y borde, sin refractar encima. El mismo material se ha extendido a los campos de entrada, los desplegables, las etiquetas, las insignias de juego, herramienta y jugador y la navegación superior.
  • ② En el móvil ya no se refracta (es el paso más caro) y se degrada solo a desenfoque más borde iluminado: se sigue viendo como cristal, pero casi no gasta GPU. De paso se corrige un fallo real: la rama móvil salía antes de tiempo y ni siquiera ejecutaba la degradación, así que en el móvil no había cristal alguno. En escritorio se hicieron otras dos cosas: las piezas del mismo tamaño comparten una sola textura de desplazamiento (las 7 piezas de la portada usan solo 4) y lo que sale de la pantalla deja de calcularse; además, no se generan piezas nuevas cuando una supera los 300.000 píxeles o una página pasa de 80 — mejor una pieza menos que un desplazamiento lento.
  • ③ En el panel, en Apariencia, sigue el mismo interruptor, ahora activado de serie; los navegadores sin backdrop-filter (Safari, Firefox) se quedan en un relleno mate en lugar de verse rotos. Esta vez no se ha tocado la paleta ni la maquetación, el tema sigue siendo Azul Cloudridge; el fondo blanco estilo Apple de la versión anterior se ha revertido en todo el sitio (panel, foro, galería y mapa vuelven a su estado original) y solo quedan dos correcciones reales: el cuadro de confirmación de acciones peligrosas del panel no tenía ningún estilo (las 43 confirmaciones de borrado salían como una caja pelada, sin capa oscura), y los títulos de la galería en pantallas estrechas solo aparecían al pasar el ratón.
v1.9.78 Sitio 2026-10-17

Todo el sitio pasa al estilo Apple: fondo blanco, líneas de un píxel, botones tipo píldora y una tanda de cifras erróneas corregida

  • La apariencia del sitio se rehízo entera siguiendo el manual de Apple: fondo blanco, letra casi negra, una línea de 1 px en lugar de sombras, botones y etiquetas de filtro unificados en píldoras de 44 de alto, y la barra superior que pasa de translúcida a sólida al desplazarse. El cristal esmerilado se retira por completo: las capas difuminadas de las tarjetas de datos, la línea de tiempo y las tarjetas de estado ya no están, solo queda una capa muy tenue de translucidez en la barra superior. Los títulos en chino dejan de llevar interletrado negativo: los caracteres chinos ya ocupan todo su ancho, y apretarlos los amontona y parece negrita; solo los números necesitan ir más juntos. De paso se reordenó también el panel de administración y se corrigió un error real: los cuadros de confirmación de acciones peligrosas no tenían ningún estilo en el panel, salían como una caja pelada sin capa oscura y sin posicionamiento, y afectaba a los 51 puntos de confirmar borrado del sitio; ahora es una tarjeta centrada, con capa oscura y título en rojo. Todo esto cuelga del esquema de color Apple (se elige en Admin → Apariencia), y al volver a Azul Cloudridge todo se revierte sin tocar código.
  • En el móvil esta vez se apuntó justo a lo que no se sentía bien al usarlo: las cuatro cifras grandes de la página de datos ocupaban una fila entera cada una, ahora caben 2×2 en una pantalla; el campo de búsqueda de jugadores y el botón Buscar estaban superpuestos (el botón tapaba casi 70 píxeles del texto de ayuda), ahora van uno al lado del otro en una fila; en la clasificación cada fila tenía su línea gris arriba y abajo y se juntaban en una barra gruesa, ahora es una sola línea de 1 px; el doble borde de tarjeta dentro de tarjeta en la línea de tiempo, los distintos marcos punteados y la barra de desplazamiento ancha y gris oscuro de Windows quedan todos ordenados a la vez; en la barra lateral de la guía, la etiqueta y el valor del estado del servidor estaban pegados (se veía Version1.21.1), ahora van alineados a izquierda y derecha con una línea divisoria.
  • Se corrigieron diez problemas de datos detectados en la auditoría. Los dos más importantes: el tiempo total en línea de la portada mostraba segundos como horas (ponía 35,7 M h, el valor real son 9907 horas, un factor de 3600 de diferencia); y cuatro personas de la lista de baneos aparecían como revocadas cuando seguían vigentes: cuando el latido informaba de que ya existía, solo se cambiaba el estado en silencio a activo, sin escribir historial y sin restaurar la marca de baneo del jugador. El resto: la cifra de mods instalados salía como 0 / 12 / 160 en tres sitios de la página de estado (el valor real es 160), y el sistema operativo salía con un guion, las dos por la misma razón: la consulta de base devuelve una lista blanca que no incluye esos dos campos; una ristra de UUID ocupaba la clasificación como nombres, y ahora se muestra como Jugador desconocido · 87274f; el techo de disponibilidad estaba fijado a mano en 99,2 por ciento (calculado con un intervalo fijo de 30 segundos, cuando el latido real llega cada 31); y el K/D daba cifras astronómicas cuando no había muertes, ahora muestra un guion. Otras dos son política de clasificación (dos criterios de fusión, uno por rol y otro por cuenta, y una cuenta fantasma que solo tiene bajas) y no se forzaron: las diferencias y su coste quedan en los comentarios del código para que decida el dueño del sitio.
v1.9.77 Sitio 2026-10-11

Falsificar la IP real: ese camino queda cerrado desde nginx hasta la capa de aplicación

  • ① Primero medir y luego tocar: una sonda en producción dio dos hechos — el nginx de BaoTa usa el protocolo PROXY, así que la dirección real del cliente ya está en REMOTE_ADDR (medida: 222.212.76.94, no 127.0.0.1); y las X-Real-IP / X-Forwarded-For / CF-Connecting-IP que mete el propio cliente las pasa nginx a PHP tal cual: las tres cabeceras falsificadas llegan sin tocar y nginx no sobrescribe ninguna. ② Reforzar los dos extremos: nginx inyecta un secreto que solo conoce su propio proxy (aunque el cliente falsifique esa cabecera, nginx la sobrescribe) y la capa de aplicación añade otra barrera — si REMOTE_ADDR es una dirección pública, se adopta directamente y no se miran más cabeceras de proxy —, así que aunque algún día se active trust_proxy por error, la IP del límite de peticiones, los bloqueos y la auditoría nunca será un valor elegido por el visitante.
  • De paso, tres cosas: el comentario engañoso de site/config/config.php («poner en true si hay CDN / proxy inverso delante») se sustituye por la conclusión medida y una advertencia — seguirlo en este sitio solo convertiría una cabecera falsificable en un valor de autoridad; este cambio ya tiene pruebas automáticas (trust_proxy activado + REMOTE_ADDR pública + cabeceras falsificadas ⇒ sigue devolviendo la dirección real), y la suite pasó de 81 a 83 comprobaciones, todas en verde; la sonda temporal de diagnóstico en producción se borró según lo acordado y ahora pedirla da 404.
v1.9.76 Sitio 2026-10-11

Desplazamiento más fluido en el móvil, varios agujeros de seguridad tapados y el chat que ya no pierde el tramo intermedio

  • Cuatro puntos de fluidez en el móvil: el cristal esmerilado de la barra superior al desplazarse, el de todas las tarjetas en pantallas estrechas, la capa de composición que la animación de entrada mantenía viva para cada elemento, y la barra de progreso de lectura que forzaba un reflow por cada píxel desplazado — todo sustituido por formas equivalentes pero más baratas (la barra superior desplazada ya es opaca, así que ese desenfoque era puro gasto; y cuando la animación arranca de verdad, el navegador promociona la capa por su cuenta). Medido en un viewport móvil de 390 de ancho con la CPU limitada a 20×: el peor fotograma pasó de 364 milisegundos a 57 milisegundos. La diferencia en el recuento global de fotogramas cae dentro del ruido de esta máquina, así que no permite una conclusión estable — por eso cada punto de arriba solo se tocó cuando tenía sentido por el mecanismo.
  • Tres puntos de seguridad (graves/medios, corregidos directamente): ① el _admlogin.php de depuración local ahora debe dar 404 en producción (podía convertir a un visitante en administrador directamente) y ?to= ya no puede salir del sitio; ② el ping / dns de la página de test de velocidad entregaba un nombre de dominio para sondear un puerto, y un DNS rebinding podía desviarlo a la red interna; ahora solo se conecta a la IP ya validada; ③ falsificar X-Real-IP / CF-Connecting-IP servía para saltarse el límite por IP; ahora esas cabeceras solo se aceptan cuando el origen es realmente loopback. Para cerrar ③ del todo hay que inyectar X-CDR-Proxy-Secret en nginx y rellenar security.proxy_secret en site/config/config.php — eso toca la configuración del servidor, así que espera tu visto bueno.
  • Tres bugs reales en el registro del chat: ① cuando un día pasaba de 200 mensajes, ese tramo intermedio no se veía nunca en la página (el día más ajetreado tiene 2796 mensajes, y la ruta antigua solo retrocedía hasta 500, así que los 2296 de en medio no los veía nadie); ② el orden miraba solo la clave primaria id, así que en los días que cruzan la medianoche los mensajes de después se quedaban fuera de la ventana (medido: 53 mensajes más nuevos saltados de forma permanente); ③ cuando fallaba el envío, la interfaz fingía que ya se había enviado. Ahora se pide por tiempo, hay un botón «cargar anteriores» para retroceder y, si falla, se avisa claramente y puedes reintentar.
  • De paso: las páginas de los visitantes ya no se prohíben en caché sin más (atrás y adelante van algo más rápidos), mientras que la sesión iniciada sigue sin cachearse nunca. Los 218 archivos PHP del sitio pasan la comprobación de sintaxis sin errores y los 59 scripts de autoprueba se ejecutaron enteros — las 15 suites relacionadas con este cambio salieron exactamente igual que antes (ningún fallo local añadido).
v1.6.7 Mod 2026-10-10

Una versión que ahorra el hilo principal del servidor

  • El informe del mapa pasó de «armar el JSON de 197.000 puntos dentro del tick del servidor» a «ese tick solo entrega los datos y el armado se hace en un hilo en segundo plano». Es el único punto de todo el mod que podía provocar «cientos de milisegundos en un solo tick», y encaja justo con el pico ocasional cada media hora.
  • Los demás costes que crecen con el número de jugadores o de entidades también se optimizaron: el formato de los números del TAB se cachea por tick, la búsqueda de jugadores por nombre usa un índice que se rehace una vez por tick, la lista de logros ya no construye una cadena por entrada, los archivos de configuración y la lista de baneos que se leían cada 30 segundos pasan a segundo plano, la comprobación de longitud de la cola de chat usa un contador, el muestreo de red ya no crea un hilo cada 20 segundos y la tabla de limitación de comandos ya no solo crece. El formato del informe, los nombres de campo y el momento en que se toman los valores no han cambiado.
v1.9.75 Sitio 2026-10-10

Mod del servidor aligerado: los costes que crecen con el número de jugadores salen del hilo principal

  • El bloque más grande del informe del mod es el mapa: tres mapas de 256×256, unos 197.000 puntos. Antes esos puntos se armaban como JSON dentro del propio tick del servidor, y el servidor solo seguía después de armarlos — una ronda cada media hora, que coincide justo con esos picos de «a veces se traba un momento». Ahora ese tick solo entrega los datos y el armado pasa a un hilo en segundo plano: los datos ya estaban listos, y armar el JSON nunca necesitó ocupar el hilo principal.
  • De paso se recortaron varios costes que crecen con el número de jugadores conectados: los números de la lista TAB (tiempo jugado, jugadores conectados y demás) se recalculaban para cada fila de cada jugador, aunque solo cambian cada 30 segundos; buscar a un jugador por nombre recurría a recorrer toda la tabla fila por fila (con 10 jugadores eran 100 búsquedas); la lista de logros repasaba más de mil recetas cada 10 minutos; y cada 30 segundos, solo para contar entidades, se recorrían por completo todos los mundos mientras se leían los archivos de configuración y la lista de baneos en el hilo principal. Ahora se cachean, se indexan, se calculan una sola vez y se leen en segundo plano — no ha cambiado ni un byte de lo que se envía al sitio, y las páginas se ven exactamente igual que antes.
v1.9.74 Sitio 2026-10-05

Mejoras en la administración y en la privacidad del perfil

  • El contador de revisiones pendientes de la barra lateral solo contaba el foro y la galería, mientras que el panel de administración contaba cinco colas; ahora todo sale de una sola función y cada opción del menú lleva su propio número. Las acciones destructivas (borrar un grupo de usuarios, borrar una entrada de navegación, limpiar el registro del chat, vaciar la caché) se ejecutaban sin preguntar; ahora piden confirmación. Las listas de skins, fondos de avatar y registro de chat estaban limitadas a 200 y 60 filas y ahora se pueden paginar.
  • La opción de permitir que otros vean tu perfil solo afectaba a la página de equipo, mientras tu perfil seguía visible para todos; ahora se aplica de verdad, salvo para ti mismo. Cambiar la contraseña y cerrar sesión en otros dispositivos también quedan registrados.
v1.9.73 Sitio 2026-10-05

Los botones rojos de confirmar y borrar vuelven a verse

  • El botón de confirmar al retirar un mensaje salía en blanco: con el cristal líquido activado, la regla del cristal quita el fondo del botón pero deja el texto blanco, así que un botón rojo quedaba blanco sobre blanco. Ahora los botones rojos sólidos quedan fuera del cristal, igual que el botón principal azul.
  • El mismo problema afectaba a todos los botones rojos del sitio (retirar, borrar, desvincular y más), así que se corrigieron todos a la vez.
v1.9.72 Sitio 2026-10-05

El paginado ya no salta al principio

  • Pulsar página siguiente desde más abajo te lanzaba arriba del todo. Ahora el paginador alinea la lista que tiene encima y no hace nada si esa lista ya se ve. Atrás y adelante vuelven a la posición de desplazamiento anterior.
  • De paso, varios detalles: el mapa de semilla entra en el menú Servidores, los anclajes ya no quedan bajo la cabecera fija, las tarjetas de la galería muestran su autor y los jugadores en línea de la portada llevan a su perfil.
v1.9.71 Sitio 2026-10-05

Permisos del panel más estrictos y arreglos menores

  • Ajustes, rotación de claves, copias de seguridad y herramientas del sistema ahora son solo del propietario: los administradores de servidor conservan contenido, reportes y lista blanca.
  • Se corrigieron varios detalles al cambiar de página sin recargar: el modo oscuro se mantiene, los formularios ya no se envían dos veces, la cuenta atrás va a velocidad normal y el selector de orden ya no recarga la página.
v1.9.70 Sitio 2026-10-05

Cambiar de página sin recargar todo

  • La paginación, los filtros, la búsqueda y el orden ahora solo sustituyen el contenido: la barra de direcciones sigue cambiando y el botón Atrás sigue funcionando.
  • Guardar, revisar y borrar siguen abriendo una página nueva como antes.
v1.9.69 Sitio 2026-10-05

El desplegable de búsqueda quedaba tapado por las tarjetas

  • Los elementos animados llevan will-change, y will-change crea un contexto de apilamiento, así que el z-index del desplegable solo contaba dentro de su propia tarjeta y perdía frente a las tarjetas de estadísticas posteriores en el DOM
  • Ahora se eleva toda la tarjeta de búsqueda y el desplegable flota por encima
v1.9.68 Sitio 2026-10-04

Arreglado el perfil que no se desplazaba en móvil

  • El visor 3D de la skin fijaba touch-action:none y llamaba a preventDefault sin condiciones en touchstart/touchmove, así que un dedo encima congelaba toda la página. Ahora el gesto vertical vuelve al navegador y solo el horizontal gira el modelo
  • Arrastrar el fondo en la cabecera también queda reservado al ratón
v1.9.67 Sitio 2026-10-04

Guía del servidor reescrita: el doble de contenido, y los comandos ya distinguen los de jugador

  • Las cuatro páginas — primeros pasos, normas, preguntas frecuentes y acerca de — se han reescrito, y cada una explica por qué importa un paso y qué hacer si falla
  • La página de comandos abre ahora con una sección Comandos de jugador escrita a mano, agrupada en primeros pasos, viaje, chat y estado; la tabla completa de 435 filas sigue debajo
v1.9.66 Sitio 2026-10-04

El aviso de desplazamiento ya no se pega a la tabla

  • El aviso sobre la tabla tocaba su borde superior y parecia superpuesto; ahora tiene separacion
  • La cabecera pasa a ser totalmente opaca al desplazar: antes era translucida y dejaba ver el texto
v1.9.65 Sitio 2026-10-04

Cerrada una vulnerabilidad en los SVG subidos

  • Antes, un SVG especialmente preparado como avatar o fondo podía revelar la dirección IP y el navegador de todos los que lo vieran. Ahora esas referencias externas se eliminan, sin cambiar el aspecto de la imagen.
  • También se añadieron HSTS y algunas políticas de seguridad de contenido muy prudentes.
v1.9.64 Sitio 2026-10-04

La insignia de revisión ya no queda encendida + la página de estado oculta las IP internas

  • La insignia de «revisión» del panel contaba cinco colas, pero el panel «gestión del servidor» solo puede con dos: la insignia quedaba encendida sin nada que revisar. Ahora ambos usan el mismo criterio y el panel tiene una fila «más pendientes»: galería / skins / foro, cada una con enlace a su página de administración.
  • La fila «mapa web» de la página de estado mostraba 127.0.0.1:8100 (una dirección interna, solo para la sonda). Ahora muestra la dirección pública del mapa web.
v1.9.63 Sitio 2026-10-04

Las videos se ven en la revisión del panel

  • Los fondos con vídeo de fondo ahora muestran ese vídeo directamente en la tarjeta de revisión: pulsa reproducir, solo se carga el inicio por defecto (sin gastar datos) y aparece la etiqueta «contiene vídeo».
  • Antes la tarjeta solo mostraba la imagen de portada que el jugador elegía aparte, que podía no tener nada que ver con el vídeo. Se acabó aprobar a ciegas.
  • También corregido el «1970-01-01» en la hora de subida: mi herramienta de subida de recursos escribía mal el formato. Datos y herramienta corregidos.
v1.9.62 Sitio 2026-10-04

Error 500 corregido + dos ajustes visuales

  • Error 500 corregido: en la versión anterior puse mal la posición de los argumentos del registro de auditoría posterior al acceso, así que cada inicio de sesión correcto lanzaba un error interno. Ahora redirige con normalidad.
  • La línea «He leído y acepto los Términos de servicio y la Política de privacidad» ha bajado al final del formulario (después del botón Entrar), como en las páginas de acceso habituales. Sin marcarla no se puede entrar.
  • El oscurecido de la cabecera del perfil ahora es un degradado suave: desapareció la línea horizontal tan visible. La transición es natural.
v1.9.61 Sitio 2026-10-04

Hay que aceptar los términos para iniciar sesión

  • La página de inicio de sesión tiene ahora una casilla: «He leído y acepto los Términos de servicio y la Política de privacidad» — sin marcarla no se puede entrar. Se aplica a las dos vías (QQ en un clic y correo + contraseña), y el servidor también lo comprueba, porque desactivar un botón no detiene a nadie.
  • Hemos redactado dos páginas reales, Términos de servicio y Política de privacidad, que detallan punto por punto qué guarda el sitio: el apodo y el openid que da QQ, tu correo y el hash de la contraseña, los personajes vinculados, las estadísticas de juego, las imágenes que subes y la IP y hora de cada acceso.
  • También indican con quién compartimos — solo tres terceros: QQ Connect (acceso), mc-heads.net (avatar de skin si no has subido uno) y 126 Mail (códigos de verificación). Sin redes publicitarias y sin vender datos.
  • Se explican la conservación, cómo pedir la eliminación o la exportación y el tratamiento de menores. Ambas páginas también están enlazadas en el pie de página.
v1.9.60 Sitio 2026-10-04

El texto de la cabecera ya se lee en los fotogramas claros

  • Cuando el vídeo sustituyó a la foto, el texto blanco de la cabecera quedó sobre cielo y nubes claros con un peor caso de 1,16:1, es decir, prácticamente ilegible. La causa fue el orden de pintado: el vídeo es un elemento hijo real mientras que el degradado de oscurecimiento vivía en body.cdr-body::before (contenido generado), y el contenido generado siempre se pinta antes que los hijos reales, así que el vídeo tapaba el degradado por completo y este no hacía nada
  • La solución convierte el oscurecimiento en el propio fondo de la cabecera: un solo degradado vertical (62 por ciento arriba, desaparece a 350px) que cubre solo la franja de la cabecera y no toca ni un píxel del sujeto, el suelo o el agua; no se añadió ninguna capa fija nueva, así que la altura de la página sigue en 6816px
  • En el fotograma más claro el contraste de la cabecera pasó de 1,16 a 2,63 hasta 4,85 a 6,91 a 1 (el estándar del texto blanco es 4,5 a 1). De paso se corrigió una regresión que solo aparecía en línea: bajo el vidrio líquido el botón Atrás tiene una superficie translúcida y el velo también lo oscurecía (5,19 a 1 cayó a 2,14 a 1); ahora su etiqueta también es blanca, peor caso 6,04 a 1
  • Solo afecta a las páginas con banner; las que no lo tienen quedan idénticas byte a byte. La rueda, los botones y la reproducción del vídeo se volvieron a comprobar
v1.9.59 Sitio 2026-10-04

Fondos animados: encontrada la causa real de la rueda y el clic muertos

  • La causa fue una colisión de nombres de clase: .pub-bg-video era a la vez la clase del elemento de vídeo y la clase de interruptor puesta en <html>. Así, toda la regla de la capa de vídeo fija a pantalla completa cayó sobre el elemento raíz — la raíz pasó a position: fixed, la altura de la página se desplomó a una pantalla y la rueda no tenía nada que desplazar
  • Más traicionero aún, pointer-events: none se hereda: todo el árbol del documento dejó de recibir el ratón, solo <html> lo captaba, y el botón Atrás quedó inalcanzable
  • La solución: renombrar la clase de estado a pub-bg-on y acotar la regla del elemento a video.pub-bg-video, para que nunca vuelvan a coincidir
  • El material de fondo vuelve a la primera versión (4,50 MB → 4,41 MB) sin oscurecido grabado en las imágenes, así que los colores vuelven a ser normales; también se corrigieron tres bancos de pruebas locales — medían <html> creyendo medir la capa de vídeo
v1.9.58 Sitio 2026-10-04

Fondos animados: una pantalla de altura regalada menos, arrastrar más visible

  • Nuevo vídeo (15,98 MB → 4,50 MB), el oscurecido va grabado en las propias imágenes; la miniatura del móvil es esa misma imagen
  • Se elimina una capa de máscara invisible que aun así añadía más de una pantalla de altura
  • El cursor se vuelve una mano que agarra sobre la cabecera; el criterio se relaja para portátiles con pantalla táctil
  • El problema de la rueda sigue en estudio; esta versión corrige los tres puntos anteriores
v1.9.57 Sitio 2026-10-04

Tu perfil ya puede tener un fondo animado

  • Sube un clip sin sonido de 5 segundos a 1 minuto: se reproduce en bucle en el ordenador, mientras el móvil conserva la imagen fija sin descargar nada extra
  • Solo el hueco de «banner» admite vídeo, y pasa por la misma revisión que las imágenes; el límite son 6 MB — por encima se rechaza con un aviso claro, nunca en silencio
  • La imagen fija que ve el móvil es tu banner, así que elige uno que combine con el clip
  • Está desactivado por defecto: actívalo en los ajustes de administración y aparecerá la zona de subida
v1.9.56 Sitio 2026-10-03

Arreglado: «elegí una imagen, guardé y no pasó nada»

  • Un jugador subió avatar y banner —incluso envió un vídeo— y en moderación no aparecía nada. La imagen nunca llegó al servidor: $_FILES estuvo vacío de principio a fin
  • La causa fue el HEIC del iPhone: el navegador no puede decodificarlo, la ventana de recorte lo tomó por una cancelación, y cancelar borra el archivo del formulario. Sin archivo, el servidor solo podía suponer «no cambia la imagen» y respondía con un mensaje verde de éxito
  • Las imágenes que el navegador no puede decodificar ya no se descartan: se sube el original tal cual (sin recortar) y se te explica por qué
  • También hay una red de seguridad en el servidor: si el navegador dice que se eligió una imagen pero no llega ningún archivo, se muestra un error en vez de fingir que salió bien. Cancelar de verdad también se avisa con claridad
v1.9.55 Sitio 2026-10-03

La corrección de nombres de «jugador desconocido» pasa al panel

  • El script de línea de comandos .tools/_backfill-names.php ahora es un botón en Admin -> Herramientas del sistema
  • Lee los usercache.json de las copias históricas, devuelve el nombre real a las filas que aún se llaman como un UUID y traslada con ellas el historial de sesiones / logros / skins
  • La página muestra primero qué filas cambian y a qué; antes de escribir se toma una instantánea de la base de datos
  • Solo se tocan las filas cuyo nombre completo es un UUID; si el nombre real está ocupado se fusionan ambas y nunca se renombra a un jugador normal
v1.9.54 Sitio 2026-10-03

Clasificaciones: los diez mejores de nueve categorías en una pantalla

  • Esto es lo que pediste: clasificaciones desglosadas. El desplegable de ordenación de la lista de jugadores muestra una sola dimensión a la vez, así que comparar «quién ha minado más» con «quién ha muerto más» obligaba a ir cambiando. /ranking reúne los diez mejores de nueve categorías en una sola pantalla
  • Una tarjeta por categoría, con el puesto, el avatar, el nombre y el valor de esa categoría —
  • las cifras son idénticas, carácter por carácter, a las de la lista de jugadores, porque ambas leen el mismo código de formato. Haz clic en un nombre para abrir su página
  • El enlace «Ver todo» de cada tarjeta abre la lista completa ya ordenada por esa columna (?sort=). La entrada es el botón «Clasificaciones» bajo el título de la lista de jugadores. Las categorías sin datos no generan tarjeta vacía y los bots siguen excluidos como antes
v1.9.53 Sitio 2026-10-03

El fondo del perfil ahora se puede arrastrar

  • En los perfiles con banner puedes mantener pulsado y arrastrar la foto de fondo, como si empujaras una lámina de paisaje, mientras la cabecera, el avatar y el nombre se mantienen firmes encima
  • Solo responde la zona superior (la cabecera). Las tarjetas, tablas y botones de abajo funcionan igual y se puede seleccionar texto; pulsar un botón nunca inicia un arrastre
  • Al soltar, todo vuelve a su sitio; si llegas al borde se detiene (queda un pequeño margen alrededor) para que la foto nunca salga de pantalla ni deje ver el color de fondo
  • Solo ratón y trackpad. Las pantallas táctiles y quienes tengan activado «reducir movimiento» quedan excluidos y se comportan como antes
v1.9.52 Sitio 2026-10-03

Los «jugadores desconocidos» se arreglarán solos

  • Algunas filas muestran «Jugador desconocido · 87274f»: esa cadena es en realidad su UUID. La caché de nombres del servidor solo dura un mes, así que tras una pausa larga el mod no puede resolver el nombre y envía el UUID
  • El problema era que esa fila nunca podía curarse: cuando el jugador volvía y el servidor reconocía su nombre, el renombrado chocaba con la restricción de unicidad (casi siempre ya existía una fila con el nombre real), el error se tragaba y la fila seguía con su UUID
  • Ahora funcionan ambos caminos: si el nombre real está libre se renombra y se trasladan sesiones, logros y skin; si está ocupado se fusiona — tiempo sumado, progreso unido, primera/última visita ampliadas
  • No tienes que hacer nada: se arregla en su próximo inicio de sesión. El registro de sincronización anota «adopted=N», visible en Herramientas del sistema
v1.9.51 Sitio 2026-10-03

Tu avatar ya se ve en todas partes; historial de acceso paginado; botones claros corregidos

  • El avatar que subiste solo aparecía en tu propio perfil: el resto de avatares del sitio usaban otra ruta que no sabía nada de tu subida. Ahora también lo usan las listas de jugadores, los comentarios y la navegación. Quien nunca subió nada se ve igual que antes
  • El historial reciente mostraba 30 filas de golpe. Ahora son 10 por página, con el mismo paginador que el resto del sitio (oculto si solo hay una página)
  • El botón «desplegar todas las insignias» parecía gris y desactivado: un problema de especificidad — el tinte azul del botón claro perdía frente a la capa blanca base, y su propio fondo también se borraba. Corregido
  • El hueco bajo la columna izquierda de un perfil: ahora la columna izquierda se estira a la altura de la derecha, y la tarjeta de clasificación rellena el resto. No queda hueco, despliegues o no las insignias. Las notas del radar también se pliegan por defecto
v1.9.50 Sitio 2026-10-03

Vidrio líquido reescrito según la referencia: esta vez es vidrio de verdad

  • La versión anterior era solo «un mapa de degradado + un desplazamiento», y por más que se ajustara no se parecía. Comparar línea por línea con la referencia mostró tres piezas que faltaban; las tres están ahora
  • La refracción ahora sigue óptica real: grosor del vidrio, ancho del bisel, índice de refracción (1,0-3,0) y la superficie redondeada entran en el cálculo, y eso da al borde ese efecto de lupa del «vidrio grueso»
  • Se añadió una capa especular: un reflejo a lo largo del borde orientado en una dirección. Es el rasgo más reconocible del vidrio líquido y la versión anterior no tenía ninguno
  • La saturación se restaura tras el desplazamiento (la refracción apaga los colores) y se añade algo de suavizado. El desenfoque sigue en 0,3 px: más y los píxeles vecinos dejan de diferir, lo que borra la refracción
v1.9.49 Sitio 2026-10-03

Ya puedes recortar tu avatar: arrastra y lo que ves en el marco es el resultado

  • Antes subías la imagen entera y el sitio la reducía desde el centro: si tu cara quedaba a un lado, no había nada que hacer. Ahora, al elegir una imagen se abre un marco de recorte: arrastra para recolocar, rueda o control para ampliar, y lo que queda dentro del marco es tu avatar final
  • La exportación es de 512×512 (el mismo tope que usa el servidor) en WebP. Las imágenes pequeñas nunca se amplían — solo las volvería más borrosas, así que se recortan a su tamaño. El marco se reduce solo en pantallas estrechas, así que también sirve en el móvil
  • Hay dos tipos de imagen que se dejan intactas a propósito: los GIF animados (recortarlos conservaría un solo fotograma y mataría la animación) y los SVG — ambos siguen el camino antiguo. Si algo falla durante el recorte (navegador no compatible, falta de memoria) se envía el archivo original, así que nunca te quedarás en «elegí un archivo y no pasa nada»
  • Los banners no se recortan — son anchos por naturaleza y cuadrarlos no tendría sentido. El marco solo aparece al subir un avatar en Yo → Mi perfil.
v1.9.48 Sitio 2026-10-03

El cristal esmerilado baja un punto en pantallas estrechas: los tirones en móvil deberían mejorar

  • El tirón en la página de perfil móvil no venía de una animación mal escrita, sino de que el desenfoque en sí costaba demasiado: cada tarjeta llevaba blur(32px) saturate(180%), y en esta página se ven siete u ocho superficies de cristal a la vez, así que cada fotograma al desplazar tenía que remuestrear todos los píxeles de detrás
  • La diferencia entre 32px y 14px es casi invisible al ojo — las tarjetas ya se apoyan en blanco a .70–.78 y el desenfoque solo suaviza la foto de detrás; en cambio el coste de muestreo crece aproximadamente con el cuadrado del radio. La saturación también baja de 180% a 150%; nada en esta página necesitaba colores más vivos
  • Solo las pantallas estrechas bajan un punto: el escritorio no ha cambiado, ni un píxel se ha movido. Es un cambio puramente de rendimiento que apenas notarás — pero desplazarse en el móvil se sentirá bastante más fluido
  • Es un cambio puramente de rendimiento que apenas notarás — si al desplazarte en el móvil sigue yendo a tirones, dime en qué pantalla y seguiré investigando.
v1.9.47 Sitio 2026-10-03

La página de estado móvil es mucho más corta; la lista de baneos ya no repite «QQ no vinculado» en cada fila

  • En el teléfono, cada fila de servicio se partía en dos o tres líneas. La causa era concreta: esa fila era una cuadrícula de tres columnas cuyos anchos mínimos sumaban 504 px, mientras que un viewport de teléfono solo tiene 492 px — apenas demasiado estrecho, así que cada fila se veía forzada a partirse. Las pantallas estrechas ahora usan dos columnas con la nota en su propia línea, recortando más de 500 px de la página
  • También se ajustaron un punto los márgenes de los paneles, la barra de disponibilidad y las tarjetas de nodo en pantallas estrechas. Estos cambios viven solo en un bloque de estilo dentro de la propia página de estado — no se mueve ni un píxel en las demás páginas
  • En la lista de baneos, cada fila llevaba la misma línea «QQ no vinculado» bajo el nombre del jugador, haciendo que la tabla pareciera rota. Resultó que el interruptor «ocultar QQ en la página de baneos» del panel se calculaba y nunca se usaba — el ajuste siempre estuvo muerto
  • Ahora los tres lugares respetan ese interruptor: la fila de la lista, la insignia QQ y el tooltip del avatar, y el detalle desplegado. Los motivos de baneo siguen escritos en chino directamente (los diez idiomas muestran chino); eso lo trataré por separado
v1.9.46 Sitio 2026-10-03

Las imagenes de fondo ahora se mueven y se apartan suavemente del raton

  • Ahora se admiten fondos GIF animados. Nunca fue "no compatible", sino "compatible y luego aplanado": cada subida se recodificaba a WebP, y decodificar un GIF solo devuelve su primer fotograma, asi que una animacion llegaba como imagen fija
  • La solucion: un GIF de varios fotogramas se guarda tal cual, sin recodificar, y la animacion sobrevive. El precio es que los fondos animados no se redimensionan a 1920x1080 —— recodificar mataria la animacion, es una decision deliberada
  • El fondo ahora sigue al raton: al mover el puntero, la capa de fondo se desplaza hasta 10 pixeles en sentido contrario, lo que da a la foto sensacion de profundidad
  • Cada fotograma solo cambia una variable CSS, asi que la foto nunca se vuelve a dibujar; cuando el puntero se detiene el bucle termina y una pagina quieta cuesta exactamente lo mismo que antes. Solo raton y panel tactil, y totalmente desactivado con movimiento reducido
v1.9.45 Sitio 2026-10-03

La cruz del boton Volver: cuatro rondas, y la causa estaba dentro de un comentario

  • La cruz desaparecio. Era una mancha clara que el navegador deja en el borde superior centrado cuando muestrea el fondo de una caja pequena —— este boton mide solo 58x35, asi que la mancha ocupa una parte visible; en una tarjeta grande la misma mancha se diluye y no se ve
  • La solucion: este boton pequeno ya no muestrea el fondo, y su tinte pasa del 8 % al 14 % para conservar la transparencia. El coste es cero: con y sin refraccion, este boton difiere en 0 de 1.766.688 pixeles (diferencia maxima por canal: 1)
  • La capa de verdad complicada vino despues: las reglas eran correctas pero no surtian efecto. Al citar literalmente el CSS de referencia dentro de un comentario escribi /* 6% */ —— los comentarios CSS no se anidan, ese */ cerro el comentario exterior antes de tiempo, la } siguiente cerro la regla antes de tiempo, y el analizador se trago todas las reglas posteriores
  • Ese comentario defectuoso estaba ahi desde 1.9.42, asi que durante tres versiones el vidrio de los botones perdio su brillo interior y su sombra exterior —— ahora han vuelto ambos. La leccion es ya una prueba: nunca poner en un comentario algo que lo termine antes de tiempo (la misma trampa ya me atrapo dos veces en PHP)
v1.9.44 Sitio 2026-10-03

Esa línea parpadeante al mover el ratón: ocho versiones después, la causa era una elevación de 2px al pasar el cursor

  • La causa no era el brillo ni la superficie del cristal esmerilado, sino una regla de hover de todo el sitio: cada vez que el puntero cruzaba una tarjeta, esta se elevaba 2px. Las tarjetas llevan un fondo esmerilado, así que en cuanto una se mueve el navegador debe remuestrear la imagen de detrás — y ese muestreo se corta en teselas; las juntas de las teselas son la línea
  • Cinco callejones sin salida por el camino (mover el brillo del fondo a un pseudoelemento, pasarlo a transform, convertirlo en hijo real, sacarlo del cristal, borrarlo entero). Todos parecían «deber» funcionar y ninguno tocaba la causa
  • La corrección: las superficies de cristal ya no se mueven al pasar el cursor — responden con borde y sombra. Dos barras esmeriladas de ancho completo (la barra de navegación y la fila de nombre fijada) también perdieron su desenfoque; el muestreo de gran superficie es el más caro
  • Dos cosas visibles salieron del mismo lote: el brillo que seguía al ratón se elimina por completo (demasiado inquieto) y el cristal de los botones se reescribió en las tres capas de la referencia (refracción y tinte separados)
v1.9.43 Sitio 2026-10-03

El botón de acceso al panel desapareció: un error de especificidad que introduje en la versión anterior

  • El cristal de los botones añadido en la v1.9.42 tenía un error de especificidad: la capa base, con un tinte blanco al 8 %, contaba como «cinco clases más dos elementos», mientras que el degradado azul marino del botón principal contaba solo como «tres clases» —— así que la capa base ganaba siempre y el degradado nunca se dibujaba. Además, background: none en el mismo bloque borraba el degradado propio del botón principal. Un fondo azul marino con texto blanco pasó a ser blanco sobre blanco, y el botón desapareció por completo
  • Solución: los botones de marca sólidos (el botón principal) ya no participan en el cristal. Es un botón azul marino con texto blanco; este tratamiento de cristal solo conviene a botones claros. El botón principal recupera su estilo sólido original
  • El mismo error también se estaba comiendo en silencio el realce al pasar el ratón (contaba «cuatro clases» y perdía contra cinco) —— así que lo que prometía la versión anterior, «pasar el ratón ahora sí cambia algo», nunca llegó a aplicarse. Ahora sí
  • Otro efecto colateral: background: none borraba también los botones en carga, y las capas de cristal los excluyen —— el botón quedaba totalmente transparente durante esos segundos. Ahora recuperan su fondo
v1.9.41 Sitio 2026-10-02

El halo que seguía al ratón se ha eliminado

  • Qué se ha quitado: la luz azul fría que seguía al cursor sobre las tarjetas. Se ha ido entero — las variables, el interruptor, la capa, el script, no queda ni un fragmento
  • Por qué: has reportado el mismo problema cuatro veces — «una zona parpadea en cuanto se mueve el ratón» / «una línea horizontal». Lo reescribí de cuatro maneras (pintado en el fondo de la tarjeta, movido a un pseudoelemento, convertido en un elemento hijo real, trasladado a una capa independiente de toda la página) y ninguna lo curó. Tu última palabra fue «borra el halo que sigue al ratón, se mueve demasiado» — así que se ha borrado
  • Un efecto secundario: al quitarlo, mover el puntero ya no provoca ningún repintado. Esa era también la última pieza del rompecabezas de la línea parpadeante — mientras algo cambie fotograma a fotograma dentro de un elemento de cristal esmerilado, el navegador tiene que recalcular una y otra vez la imagen que hay detrás, y la recalcula por baldosas: las juntas entre baldosas son la línea que veías
  • Nada más ha cambiado: la transparencia del cristal, la primera pantalla con solo la foto, la fila del nombre fijada y los botones de cristal líquido siguen igual. Quienes no usan ratón y quienes navegan con el dedo nunca vieron este halo, así que para ellos esta actualización no cambia nada
v1.9.36 Sitio 2026-10-02

El brillo ya no salta entre elementos y el cristal líquido de los botones es más fuerte

  • El brillo ya no «salta»: mover el puntero de una tarjeta a otra teletransportaba el brillo —— el anterior desaparecía y el nuevo aparecía de golpe. Ahora el anterior se desvanece donde está mientras el nuevo aparece bajo el puntero, con el centro deslizándose con suavidad; todo dura unos 180ms
  • Por qué no una transición CSS: transition reemplaza una declaración completa y no hay forma de añadirla a una sola propiedad; hacerlo así exigiría un selector que también pisara las animaciones de entrada y de hover de las tarjetas, y la aparición al desplazarse pasaría de «fundido y subida» a un corte seco. Por eso el script suaviza un único número (la intensidad del brillo) fotograma a fotograma, y se detiene en cuanto se asienta
  • El cristal líquido de los botones es más fuerte: el desplazamiento de refracción pasa de 14 a 50, se ensancha la banda del bisel y se añaden las cosas que de verdad lo hacen parecer cristal —— un brillo especular en el borde superior, franjas de dispersión cálida y fría en los bordes izquierdo y derecho, y un lustre interior. Además el desenfoque se reduce de 1,5px a 0,8px (el desenfoque borra justo el detalle del que se alimenta el desplazamiento)
  • La advertencia honesta sigue en pie: solo lo renderizan Chrome y Edge, y la refracción solo se ve cuando hay algo que refractar —— sobre una tarjeta blanca es prácticamente cero, mientras que sobre una foto de banner con contraste sí se nota. El interruptor está en la administración, en «Ajustes del sistema → Efectos visuales», y viene desactivado
v1.9.35 Sitio 2026-10-02

La primera pantalla es solo la foto, el contenido sube al desplazarse y los botones tienen cristal líquido

  • La primera pantalla pasa a ser un héroe: en una página de jugador con banner, al entrar solo se ve la cabecera y la foto de fondo llenando la ventana; el área de contenido no se muestra en absoluto. Una vuelta de rueda hacia abajo hace aparecer el bloque de contenido con fundido y lo levanta (sigue al 28 % de transparencia); al volver arriba se repliega, tantas veces como quieras
  • Por qué se mueven los propios bloques de contenido y no un contenedor: cualquier ancestro con opacidad menor que 1 crea una nueva raíz de backdrop, y cada superficie backdrop-filter de dentro pasa a muestrear un fondo vacío: el cristal esmerilado se rompe por completo. Un fundido bloque a bloque no tiene ese ancestro. Los dos únicos position: fixed del cuerpo (la capa de fondo y la fila de nombre fijada) están fuera de ese conjunto, así que desplazarlos es seguro
  • Refracción de cristal líquido en los botones (un interruptor nuevo en Admin → Ajustes del sistema → Efectos visuales, desactivado por defecto): el borde de un botón curva ligeramente el patrón que tiene detrás, como haría un trozo de cristal grueso. Usa un mapa de desplazamiento SVG más backdrop-filter; el mapa se dibuja una sola vez con canvas al abrir la página y no hay script por fotograma
  • Solo lo renderizan Chrome y Edge: Safari y Firefox no admiten esta función CSS y fallan en silencio (ni error ni dibujo), así que vuelven al cristal esmerilado actual. Y una refracción necesita algo que refractar: sobre una superficie plana como una tarjeta blanca el efecto es prácticamente nulo; solo se aprecia sobre algo con detalle claro-oscuro, como la foto del banner
v1.9.34 Sitio 2026-10-02

Las tarjetas dejan pasar algo más de foto, el brillo del ratón es más pequeño y la fila fijada se desliza

  • Qué cambia: en una página de jugador con banner, las tarjetas grandes dejan pasar ahora alrededor del 28 % de la foto en lugar del 5-10 % (se ve de verdad), y las casillas de estadísticas y la tarjeta del radar se aclararon en consonancia
  • Por qué las casillas de estadísticas parecían de dos colores: el brillo que sigue al ratón era una mancha azul fría de 320px de radio con alpha .22. Cuando cubría la mitad izquierda de la tarjeta, la casilla 1 medía rgb(189,193,197) y la casilla 4, fuera de la mancha, rgb(245,246,247) —— 56 niveles de diferencia en una misma fila. Ahora la mancha mide 200px con alpha .10, y las casillas ya no se iluminan por su cuenta (siempre se ilumina la tarjeta más externa); la misma fila mide 3 niveles de diferencia
  • La otra mitad del «parpadeo»: mover el puntero desde un hueco de la tarjeta hasta una casilla hacía que el objetivo del script saltara entre la tarjeta entera y esa casilla, y el brillo pasaba de una gran mancha a un punto pequeño. Sacar las casillas del brillo elimina ese salto
  • Fijar ahora tiene un deslizamiento: la fila del nombre baja 10px y aparece con fundido bajo la navegación en 180ms. Con «reducir movimiento» activado, esa animación y el rebote de los botones se desactivan (el brillo del ratón se mantiene)
v1.9.33 Sitio 2026-10-02

La fila del nombre ahora se fija bajo la navegación al desplazarse

  • Qué cambia: en una página de jugador con banner, al desplazarse hacia abajo la fila «avatar + nombre + nivel + insignias» se fija justo debajo de la navegación del sitio mientras las tarjetas pasan por debajo. La firma no forma parte de esa fila y se desplaza como antes; el botón Volver se fija junto con el nombre
  • Por qué `position: sticky` no podía hacerlo: el padre de esta fila es .cdr-container, que solo mide lo que la cabecera de la página; el recorrido de sticky queda atrapado ahí —— pasada la cabecera, la fila se va con todo lo demás. Por eso la fila usa position: fixed y un script inserta un marcador de la misma altura donde estaba (fixed la saca del flujo; sin el marcador, toda la página salta 86px en el momento de fijarse)
  • Fijarla también obliga a invertir el color del texto: esta fila lleva normalmente texto blanco sobre la foto del banner, pero una vez fijada se apoya en cristal claro, y blanco sobre blanco es invisible (una versión medida mostraba el avatar y la insignia «en línea» bien, y la celda del nombre completamente vacía). El estado fijado cambia por eso el nombre, el nivel y las insignias a la tinta que se usa sobre superficies de cristal
  • Solo afecta a las páginas de jugadores que subieron un banner —— las páginas sin banner (por ejemplo /players/zlc) no se tocaron ni un byte
v1.9.32 Sitio 2026-10-02

El reflejo del puntero ahora ilumina solo la superficie que debe

  • La causa era la herencia de las propiedades personalizadas. El script pone .is-lit en la tarjeta bajo el puntero, y --glass-spot baja entonces por la cadena de herencia hasta cada .stat-mini de esa tarjeta —— un solo interruptor se convertía en siete u ocho superficies iluminadas. Eso es exactamente lo que viste: «mi ratón está en otro sitio, ¿por qué se iluminó todo?». La prueba: la barra de estado de la sonda ganó un contador spot= que no cuenta cuántos elementos tienen .is-lit, sino cuántos valores --glass-spot calculados no son transparentes —— antes del arreglo, posar el puntero en la zona vacía del título de una tarjeta daba lit=1 spot=8/27
  • El arreglo: cada superficie de cristal reinicia ahora --glass-spot a transparent por sí misma, de modo que la cadena de herencia se corta ahí; solo la superficie sobre la que está realmente el puntero recibe .is-lit del script. Tras el cambio: spot=1/27
  • Una segunda trampa corregida de paso: ese reinicio tiene la misma especificidad que la regla .is-lit y está escrito después, así que por «gana el último» un simple body.cdr-body .is-lit quedaría totalmente anulado y el reflejo desaparecería (medido lit=1 spot=0/27). Por eso la regla .is-lit debe enumerar los cuatro selectores y subir su especificidad. Si se omite este paso, el fallo pasa de «se ilumina demasiado» a «no se ilumina nada»
  • Las coordenadas también se escriben de forma síncrona al entrar en un elemento nuevo en lugar de esperar solo a requestAnimationFrame: si no, el primer fotograma no tiene coordenadas y el resplandor aparece en el centro de la tarjeta antes de saltar al puntero. Ahora un .is-lit es una sola superficie iluminada —— donde está el puntero, allí está la luz
v1.9.31 Sitio 2026-10-02

El cristal líquido gana dos detalles táctiles: reflejo que sigue al puntero y botón con muelle

  • Reflejo que sigue al puntero: cuando el puntero se mueve sobre una superficie de cristal, una pequeña nube de luz blanco azulada fría lo sigue —— solo se ilumina la tarjeta bajo el puntero, el resto queda igual. Es una capa radial-gradient pintada en el fondo de la tarjeta, que lee --glass-mx / --glass-my tal como los escribe el script. Sin nodos extra, sin tocar contextos de apilamiento y sin interferir con el desenfoque de la tarjeta. En tema claro no se usa blanco sino blanco azulado frío: una tarjeta blanca (rgb 229~245) solo sube 6 niveles con luz blanca, algo que el ojo no percibe
  • Banda de foto más alta en la cabecera: el padding inferior de .page-head pasó de 30px a 160px (unos 317px en total), lo que empuja toda la fila de tarjetas blancas hacia abajo: el avatar, el nombre y la insignia de nivel ahora se apoyan directamente en la imagen del banner —— eso es «mostrar más el fondo». Solo altura, sin contenido nuevo, y se reduce a 72px en pantallas pequeñas. El contenido no se desplazó en bloque a propósito: eso desperdiciaría la parte más oscura de la máscara superior y volvería ilegibles las líneas blanqueadas
  • Botones con muelle: al pulsar se comprime a .955 y al soltar vuelve con cubic-bezier(.34, 1.56, .64, 1) —— el segundo punto de control tiene y = 1.56 > 1, así que la curva se pasa del objetivo y regresa; ese exceso es el «muelle». CSS puro, sin JavaScript ni motor físico
  • El respaldo de prefers-reduced-motion ahora reduce solo el movimiento autónomo: el muelle del botón (que rebota solo tras soltarlo) pasa a una transición corta normal, manteniendo la respuesta al pulsar, mientras que el reflejo del puntero se conserva —— seguir al puntero es manipulación directa: se mueve el puntero, no la página. Tu propia referencia de cristal líquido dice exactamente eso: quitar el desplazamiento, conservar el desenfoque y el reflejo. Además es la única forma de que esta máquina vea el reflejo: los efectos de animación de Windows están desactivados aquí (MinAnimate = 0 / DragFullWindows = 0 / VisualFXSetting = 2), y los navegadores lo informan con veracidad como reduce —— condicionar el reflejo a eso lo ocultaría para siempre
  • Todo lo anterior se aplica solo a los perfiles con banner subido (el bloque sigue dentro de $pubBgCss !== ''); cualquier otra página —— incluidos los perfiles sin banner —— no cambió ni un byte, y cuatro aserciones de la suite lo vigilan
  • Una nota honesta: ambos son efectos de «sensación» y no se ven en una captura estática —— hay que mover de verdad el puntero sobre una tarjeta y pulsar de verdad un botón. También conviene volver a activar las animaciones de Windows (Configuración → Accesibilidad → Efectos visuales → Efectos de animación), o tu navegador dirá a todos los sitios que el usuario pide menos movimiento
v1.9.30 Sitio 2026-10-02

Cristal líquido rehecho: el color de las tarjetas ya no cambia al desplazarse

  • La causa no estaba en el motor de renderizado. Las páginas de perfil colgaban la imagen del banner en body con background-attachment: fixed. Esa declaración significa «la imagen queda fijada al viewport», y no es una capa compuesta propia —— el navegador debe remuestrearla en cada fotograma para el backdrop-filter de cada tarjeta; cuando la ventana de muestreo y la posición de desplazamiento se desincronizan, el color salta. Además, las tarjetas se mueven mientras la imagen no, así que cada tarjeta translúcida recorre toda la foto. Ambas cosas juntas producían «a veces oscuro, a veces claro, a veces normal»
  • Arreglo del parpadeo al desplazarse: el fondo salió de body a una capa dedicada position: fixed (body::before, z-index: -1, pointer-events: none, will-change: transform). Una capa dedicada puede promoverse a capa compuesta, de modo que la fuente de muestreo es un único bitmap ya compuesto durante todo el desplazamiento
  • Arreglo de la diferencia en reposo: ahora las tarjetas fijan su propio color. Se basa en una extrapolación lineal de las mediciones —— deriva ≈ (1−alpha)×53, así que mantenerse bajo 4 niveles exige alpha ≥ .925. Las tarjetas grandes pasan de 72 % → 95 % arriba y 60 % → 90 % abajo; las fichas de estadísticas de 80 %/70 % → 97 %/94 %; la tarjeta de radar de 76 %/66 % → 96 %/92 %. La foto sigue trasluciéndose un 5~10 %, de ahí viene el tinte del cristal
  • El cristal es ahora un material multicapa: capa de ruido + degradado vertical + brillo rasante en los bordes + chaflán de refracción interior, con cada parámetro expuesto como variable (--glass-blur --glass-sat --glass-highlight --glass-displacement --glass-noise). Una nota honesta: la refracción real con SVG feDisplacementMap no es posible aquí —— Chromium y Safari solo aceptan funciones de filtro en backdrop-filter, nunca url(#svgfilter); un chaflán interior aproxima ese aspecto en lugar de fingirlo
  • Resultado: en el mismo punto la diferencia al desplazarse es de solo 3~6 niveles (18 en la versión anterior, 100 al principio), con un brillo global de 229~245; en tema oscuro es de solo 1~3 niveles. También se eliminó el halo text-shadow de las superficies de cristal —— con la tarjeta estable ya no ayuda y solo se come los trazos de los textos de 12 px
  • También se corrigió «las etiquetas del radar de habilidades se leen mal»: no se tocó ninguna transparencia. Las subetiquetas «promedio del servidor» pasaron de .76rem a los .84rem de la fila principal, de gris atenuado a color de texto, más algo de peso. La causa real es que los CJK de 12 px y 13 px siguen rutas de antialiasing distintas en Windows. Todo lo anterior afecta solo a los perfiles con banner subido; las páginas sin banner no cambiaron ni un byte
v1.9.29 Sitio 2026-10-02

El brillo de las tarjetas ya no cambia al desplazarse

  • La causa no era un fallo de renderizado. Las páginas de perfil usan background-attachment: fixed para el banner: la imagen queda fijada al viewport mientras las tarjetas se desplazan sobre ella —— cada tarjeta translúcida recorre toda la foto: con cielo oscuro se apaga, con edificios claros se lava. La misma tarjeta medía entre rgb(99,107,125) y rgb(201,197,200) según la posición, 100 niveles de diferencia
  • La solución es densificar el propio cristal, porque alpha es la única palanca que conserva a la vez transparencia y estabilidad: las tarjetas grandes pasan de 56 % → 72 % arriba y de 34 % → 60 % abajo; las fichas de estadísticas de 76 %/60 % → 80 %/70 %; la tarjeta de radar de 70 %/52 % → 76 %/66 %. El orden de densidad (tarjetas grandes más claras, fichas más densas) no cambia
  • Resultado: en el mismo punto la variación al desplazarse es ahora de solo 14 niveles en vez de 47, y el brillo general se sitúa entre 163 y 206 —— una superficie esmerilada claramente clara en lugar de un gris turbio. El tema oscuro se densificó en consonancia (el nivel 82 %/72 %), donde la deriva restante es de solo 4~8 niveles
  • Solo afecta a los perfiles con banner subido. Las páginas sin banner (como /players/zlc) no emiten esta hoja de estilos en absoluto: no ha cambiado ni un byte en ellas
v1.9.28 Sitio 2026-10-02

«86 horas de juego al día» está corregido

  • La fórmula anterior era «tiempo de juego acumulado ÷ días con sesiones registradas» —— el numerador abarca diez años, el denominador solo los 11 días posteriores al 2026-09-12. Dividir dos épocas distintas daba «86 horas al día». El numerador nunca estuvo mal; al denominador le faltaba la mayor parte
  • El denominador ahora es tu número de días activos acumulados: los mensajes de chat, los logros desbloqueados y las sesiones de juego se unen por día —— 423 días para esta cuenta. 941 horas ÷ 423 días = 2 horas al día, por fin el orden de magnitud correcto
  • De paso se corrigieron dos cosas más: el número de inicios de sesión usa ya el total acumulado (1.655, cuando 929 jugadores antiguos mostraban 0), y la sesión más larga ya no puede mostrar la pareja imposible «21 minutos de media, 0 horas como máximo»
  • También se desbloquearon tres logros: 7 / 30 / 100 días activos eran imposibles de conseguir por ese mismo denominador —— en todo el servidor solo había 16 días con sesiones registradas, los umbrales quedaban fuera de alcance
  • Auditoría de seguridad, parte uno: se cerraron varios fallos realmente explotables —— los escapes de CSS podían ocultar una URL externa dentro de un SVG subido (un avatar servía para filtrar la IP de los visitantes), el panel de administración podía borrar archivos fuera de uploads, el inicio de sesión tenía una redirección abierta, un script dentro de un archivo de copia de seguridad podía instalarse como webshell, y dos scripts de depuración locales eran accesibles en producción
  • Auditoría de seguridad, parte dos: refuerzo de la API y de la administración —— una lista vacía ya no puede borrar de un golpe todos los baneos del servidor, los informes tienen límite de filas, los nombres de la lista blanca se validan, una sola línea de chat defectuosa ya no hace fallar todo el lote, y los errores de base de datos ya no muestran sus detalles a los visitantes
v1.9.27 Sitio 2026-10-02

La letra pequeña del radar ya se lee

  • La letra pequeña del panel «radar de capacidades» (nombres de ejes, las cifras de la derecha, las filas de «media del servidor» y la nota de abajo) estaba sobre un cristal al 34 % cuyas zonas más oscuras daban solo 3,3 : 1 de contraste —— por debajo del 4,5 : 1 que necesita la letra pequeña. Eso es el «no se lee» que reportaste, y fue un descuido mío en la versión anterior
  • Dos cambios: el color del texto secundario se oscureció un escalón y el panel del radar recibió su propio fondo —— casi todas sus líneas son letra pequeña, así que no debía compartir la misma transparencia que las tarjetas grandes
  • Las tarjetas grandes no se tocaron: la tarjeta de skin, la de logros y el pie de página siguen al 34 %, la imagen se sigue viendo igual y las casillas de estadísticas mantienen su fondo más denso
  • El tema oscuro recibió el mismo tratamiento. Y esto sigue ocurriendo solo en las páginas cuyo dueño subió un banner —— las páginas sin banner no se movieron ni un píxel
v1.9.26 Sitio 2026-10-02

Un punto más translúcido, y el texto aguanta

  • Perfiles: arriba pasa del 62 % al 56 % y abajo del 40 % al 34 %. Ahora la imagen de detrás se ve de verdad —— las franjas verticales de las luces, el horizonte y las siluetas de bloques se transparentan, en vez de una plancha de cristal esmerilado
  • «Ver la imagen» y «leer el texto» se estorban, así que van por separado: las casillas de estadísticas (las zonas de letra pequeña como «tiempo jugado» e «inicios de sesión») conservan un fondo más denso propio (76 % → 60 %), mientras que las tarjetas grandes siguen muy claras. Lo pequeño más sólido, lo grande más transparente —— al revés de la jerarquía habitual de Apple, y a propósito
  • El texto ganó un halo muy tenue en el mismo sentido (text-shadow) —— invisible cuando el fondo es claro, solo aparece cuando es oscuro: la tipografía lleva su propio fondo local. Eso es lo que permite bajar al 34 %
  • El tema oscuro recibió su cristal oscuro y su halo oscuro correspondientes. Y esto sigue ocurriendo solo en las páginas cuyo dueño ha subido un banner —— las páginas sin banner no se han movido ni un píxel
v1.9.25 Sitio 2026-10-01

Cristal más translúcido y más parecido al de Apple

  • Perfiles: se acabó el «68 % de blanco» uniforme —— ahora es un degradado vertical, claro arriba y más transparente abajo (62 % → 40 %), con el desenfoque gaussiano de 22 px a 32 px, más saturate(180%) y brightness(1.12). El cristal al estilo Apple recoge el color de detrás y lo realza un poco; desenfocar sin más solo da aspecto esmerilado
  • El cristal ahora tiene un borde de refracción en todo su contorno —— un brillo rasante de 1 px arriba y un trazo interior muy tenue. La sombra se divide en dos capas (una sombra de contacto ceñida y una ambiental amplia), para que la lámina parezca flotar sobre la imagen en vez de estar pegada como papel
  • Arreglado algo que solo se vio al aclarar el cristal: las etiquetas secundarias como «tiempo jugado» e «inicios de sesión» eran casi invisibles —— su gris solo llega a 2,5:1 sobre blanco translúcido. Ahora usan un tono más oscuro dentro del cristal, mientras que el texto pequeño que va directo sobre el banner no cambia
  • El tema oscuro recibió su propio juego de valores de cristal oscuro. Y todo esto sigue ocurriendo solo en las páginas cuyo dueño ha subido un banner —— las páginas sin banner no se han movido ni un píxel
v1.9.24 Sitio 2026-10-01

Los perfiles ahora son «cristal líquido»

  • Las tarjetas, el panel de skin, los seis recuadros de estadísticas y todo el pie de página ahora son cristal translúcido (68 % de blanco + un desenfoque gaussiano de 22 px), con el banner asomando difuminado por detrás. El texto sigue siendo oscuro, así que se lee bien sobre la imagen; el tema oscuro cambia a cristal oscuro
  • La cabecera de la tarjeta de logros ahora tiene Contraer todo / Expandir todo, que pliega las 8 categorías de una vez —— ya no hay que bajar hasta el final de los 98 logros para pulsar ese botón
  • El panel de administración de la esquina inferior derecha tiene una cuarta pestaña, Avatares / Fondos, donde aprobar o rechazar las subidas pendientes. Son los mismos datos que «Jugadores y datos → Avatares / fondos»: revisar desde un sitio o desde el otro es idéntico
  • Todo esto solo ocurre en las páginas cuyo dueño ha subido un banner —— las páginas de personaje sin banner no se han movido ni un píxel (comparé las capturas de antes y después píxel a píxel)
  • Cuando el cristal no está disponible (navegadores antiguos) se vuelve a las tarjetas opacas de antes. En cambio, la preferencia del sistema «reducir transparencia» no se respeta a propósito —— el Windows del dueño del sitio tiene los efectos de transparencia desactivados, así que respetarla haría que él nunca viera el cristal
v1.9.23 Sitio 2026-10-01

Tu página de perfil ya puede llenar la pantalla

  • Fondo —— si has subido un banner, tu página de personaje usa esa imagen para llenar toda la ventana del navegador, con el avatar, el nombre, el nivel y la ubicación encima. Las páginas sin banner no cambian ni un píxel
  • Ubicación —— en Yo → Personalización puedes elegir un país (y una provincia si eliges China); aparece en tu perfil junto a «sin conexión / puesto #8». Si no eliges nada, no se muestra
  • Los avatares de la lista de jugadores ahora prefieren el que subiste tú. Antes siempre se pedía el avatar oficial del skin a un servidor extranjero, que aquí casi nunca carga —— de ahí los cuadraditos de letras de colores
  • Los avatares y fondos subidos se revisan antes de publicarse. Mientras esperan, se sigue viendo la imagen anterior, así que nunca queda una página «a medio actualizar»; en cambio, quitarla es inmediato
  • El límite de subida es más amplio: banners de hasta 3840×2160 (antes 1920×1080) y ahora se acepta SVG —— los SVG se depuran: scripts, referencias externas y HTML incrustado se eliminan
v1.9.22 Sitio 2026-10-01

Ventanas nuevas · y los baneos antiguos han vuelto

  • Las 16 ventanas del sitio usan ahora el diálogo propio. Antes eran las ventanas del navegador, encabezadas por «cloudridge.cn dice», lo que desentonaba en el móvil e ignoraba por completo el estilo del sitio. Ahora los títulos, los textos y los botones son nuestros; las acciones destructivas llevan botón rojo, Esc cancela, Enter confirma y el foco vuelve al botón que pulsaste
  • Los 8 jugadores y 3 IP que seguían baneados cuando cerró el servidor antiguo se han restaurado: la página pública muestra ahora 12 jugadores y 7 IP. Nombres, IP, fechas de baneo y operadores se copian tal cual de los archivos, sin inventar nada. Una advertencia: el mod solo lee los archivos de baneo del servidor y los reporta —— quien queda bloqueado de verdad en el juego lo decide la lista del servidor, así que hace falta que la recargue
v1.9.21 Sitio 2026-10-01

Ese «jugador desconocido» era la misma persona

  • La lista de jugadores llevaba siempre una fila «未知玩家 · 000000» (jugador desconocido), como si fuera una cuarta persona sin contar. Ya está claro: el floodgate del servidor antiguo daba a los jugadores de Bedrock un UUID del rango ficticio 00000000-0000-0000-0009-…, y el mod solo podía informar de un *nombre* —— que en ese instante era justo ese UUID. En realidad era birdzhonghuifei jugando en Bedrock, y se ha fusionado con su dueño
  • La regla al fusionar: los contadores (tiempo de juego, inicios de sesión, muertes, bloques minados y colocados, distancia) se suman, los progresos se unen, y la primera conexión toma la más antigua de las dos mientras que la última conexión toma la más reciente —— las marcas de tiempo nunca se suman. Las nueve insignias de esa fila ya las tenía el dueño, así que los duplicados se descartaron. La tabla tiene una fila menos y las cifras de birdzhonghuifei son ahora más completas
v1.9.20 Sitio 2026-10-01

Saltar directamente a cualquier mes en el calendario

  • La ventana del calendario ahora tiene dos desplegables, año y mes, arriba a la izquierda: eliges el año, eliges el mes y estás a dos clics de cualquier mes —— ya no hace falta pulsar ‹ mes a mes. Los botones de anterior/siguiente y «Hoy» siguen ahí, y los desplegables acompañan al navegar
  • De paso se corrigió un fallo de ordenación: al ordenar por «primera conexión», las filas con fecha desconocida subían a los puestos 1–4 y parecía que toda la tabla estaba rota —— «sin valor» no es lo mismo que «el más antiguo». Ahora esas filas bajan al final de la lista, en ambos sentidos
v1.9.19 Sitio 2026-10-01

229 mensajes de chat más recuperados

  • El registro del plugin TrChat solo empieza el 2023-09-01, así que faltaban tramos de finales de 2024. Tres bases CoreProtect de servidores antiguos que nunca se habían importado contenían 34,417 mensajes de 2024-07 a 2024-12; tras eliminar duplicados son 229 mensajes netos repartidos en 37 días, el más antiguo del 2024-07-11
  • La deduplicación se basa en «este jugador ya dijo lo mismo con ±5 segundos de diferencia» —— el mismo mensaje lo registran TrChat y CoreProtect por separado, sus marcas de tiempo suelen diferir un segundo y a veces cruzan el minuto; comparar por minuto dejaría pasar esos pocos cientos como duplicados
  • Esos 37 días no estaban vacíos desde el principio —— TrChat había registrado la mayor parte; lo que vuelve son las líneas sueltas que se le escaparon. Al recorrer esos días de julio a diciembre de 2024 la conversación se ve más completa
v1.9.18 Sitio 2026-10-01

Los personajes secundarios se despliegan en su fila

  • Las filas de la lista de jugadores con más de un personaje ahora empiezan con una flecha: plegadas por defecto, y un clic despliega cada personaje en su propia línea con su tiempo de juego, número de inicios de sesión, última conexión y estado (la fila principal es la suma, las secundarias los valores individuales). Otro clic vuelve a plegarlas
  • Buscar el nombre de un personaje secundario despliega esa fila automáticamente —— buscar Winter muestra sus cifras junto a las de Fruity_oxygen, sin tener que adivinar bajo qué nombre se esconde. De paso se corrigió un fallo antiguo: al ordenar por nombre de jugador, el encabezado tenía una columna menos que el cuerpo y toda la tabla se desalineaba
v1.9.17 Sitio 2026-10-01

Clasificación por cuenta · tres años de chat recuperados

  • La lista de jugadores ahora muestra una fila por cuenta del sitio: los personajes de una misma cuenta se suman (Fruity_oxygen y Winter se fusionan en una fila, ElfinLettuc y Faithe en otra), mientras que quien nunca vinculó una cuenta conserva su propia fila. La insignia «N personajes» junto al nombre indica quién se agrupó con quién: la lista anterior separaba una cuenta secundaria de su principal y hacía parecer que la secundaria había jugado en vano
  • Nueva página de cuenta (/accounts/<id>): cada personaje de la cuenta aparece por separado con su tiempo de juego y su número de inicios de sesión, y las cifras resumidas de arriba son su suma. La página es totalmente pública, sin necesidad de iniciar sesión. De paso se limpió un dato erróneo: un personaje apuntaba a un identificador de cuenta inexistente
  • Tres campos que llevaban tiempo atascados en valores de relleno ya están completos: última conexión (929 personajes decían todos 2026-09-13), primera conexión (936 igual de falsos, 2026-09-13) y número de inicios de sesión (solo 291 en todo el sitio, con 928 jugadores mostrando «—»). La última conexión proviene de la fecha de modificación de los archivos de guardado del servidor; la primera conexión y el número de inicios, de los registros de todas las generaciones del servidor. Ahora wwwsum dice con honestidad 2024-08-22 y 7Strawberry 2024-03-07, y el total de inicios pasó de 291 a 21.766
  • El panel de chat ha recuperado todo desde la apertura del servidor: desde la primera línea el 2022-12-16 hasta el relevo del reporte en vivo del mod el 2026-09-25, son 174.457 mensajes y registros de entrada/salida (124.024 mensajes, 25.424 entradas, 25.009 salidas). Antes solo existía historial de los pocos días con el mod instalado; ahora cualquier día en el que hagas clic en el mapa web muestra la conversación de ese día
  • El calendario solo marcaba como clicables los últimos 400 días, así que 492 de los 729 días recuperados no se podían abrir: restaurados pero invisibles. Ahora todos los días con registros son clicables. Además, la cifra de «jugadores registrados» difería en 2 entre la portada y la lista (791 frente a 789); ambas usan ya el recuento por cuenta

Las fechas son la fecha de publicación de cada versión. Si encuentras un problema nuevo, cuéntanoslo en el foro o contacta directamente con el dueño del servidor.