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
v1.9.90 Sitio 2026-11-01

v1.9.90 · Nueva portada y la escena 3D vuelve a arrastrarse

  • La portada se reorganiza: el título ocupa su propia fila, la proyección 3D va a la izquierda y las tarjetas de «unirse al servidor» y «en línea ahora» se alinean a la derecha. En el móvil se apila en una columna.
  • Arrastrar la escena 3D vuelve a funcionar: había dos capas transparentes sobre el lienzo que se comían todos los eventos del puntero. Ahora solo los botones y enlaces reciben clics; en el resto se puede arrastrar.
  • El modelo de la portada ya es tu proyección del agujero negro horneada directamente del archivo (ya no hecha a mano), con cristales, muros y losas a su grosor real, así que la estructura calada por fin se ve.
v1.9.89 Sitio 2026-11-01

v1.9.89 · El agujero negro reconstruido

  • El agujero negro de la portada se rehízo desde cero: disco de dos capas, embudo mucho más profundo, un hueco real en el centro, un anillo luminoso de horizonte de sucesos y cuatro brazos espirales. Visto desde arriba ahora parece un vórtice, no un pastel.
  • La inclinación de cámara pasó de 0.62 a 0.78 para mirar dentro del embudo, y el modelo se movió hacia arriba para no tapar el título ni los botones.
  • Corregido un solapamiento en la portada: la banda de nubes cortaba la caja con la dirección del servidor y ahora tiene su propio espacio.
v1.9.88 Sitio 2026-11-01

Portada recentrada y el agujero negro ahora está hecho a mano

  • La portada ahora es título arriba, modelo al centro y botones abajo; la tarjeta de jugadores en línea pasó a una franja bajo la portada.
  • El esquema del agujero negro tiene 13,8 millones de bloques sobre 565×565; en la portada solo sería ruido de color. Se reconstruyó a mano: anillos concéntricos, pupila oscura y borde mecánico, 5.700 bloques y 33 KB.
  • En móvil se mantiene el póster estático (nueva imagen del agujero negro, 54 KB); el render se carga solo al pulsar Entrar en 3D.
v1.9.87 Sitio 2026-11-01

Completa tu cuenta y los cambios exigen prueba

  • Las cuentas creadas con QQ deben, en su primer inicio de sesión, definir una contraseña y verificar un correo o teléfono antes de entrar al resto del sitio.
  • Cambiar el correo o el teléfono ahora exige primero el código enviado a la dirección o número actual.
  • Cambiar la cuenta de QQ vinculada ahora exige tu contraseña actual.
  • Si tu cuenta entra desde un dispositivo que nunca había usado, recibirás un aviso en tu correo verificado.
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
v1.9.16 Sitio 2026-09-30

Las solicitudes salientes ahora verifican los certificados TLS

  • Todas las solicitudes HTTPS que el sitio envía hacia fuera — servidor de skins, geolocalización por IP, pasarela de SMS, servidor de correo, inicio de sesión con QQ y los botones de prueba del panel — se enviaban con la comprobación de certificados desactivada, así que cualquiera en el camino podía responder con un certificado autofirmado y quedarse con la solicitud entera. Ahora todas verifican como es debido, contra un paquete de certificados raíz que se distribuye con el sitio (el de Mozilla, 121 raíces).
  • Lo del correo era lo más grave: sin comprobación, alguien en el camino podía hacerse con la contraseña del buzón y con el texto completo de todos los mensajes. El certificado del buzón de 126 es válido, así que el envío no se ve afectado.
  • Hay un coste: cuando el certificado remoto sí está roto, la solicitud ahora falla con un error en lugar de conectarse en silencio. Los botones de prueba del panel distinguen ese caso aparte como «no superó la validación del certificado». Y si algún día desaparece el paquete, el código sigue negándose a volver a la comprobación desactivada: simplemente falla de forma más clara.
  • De paso, corregido un defecto antiguo: las entradas v1.9.6 y mod 1.6.0 del registro mostraban literalmente «title» como título — nunca tuvieron más que el cuerpo del texto, y la página renderiza un título sin condiciones, así que la clave ausente recaía en el último segmento de su propio nombre. Ya tienen título
v1.6.6 Mod 2026-09-30

La lista de baneos ya no dice «nadie está baneado» cuando no se puede leer

  • Una lista de baneos vacía que llegaba al sitio sobrescribía todos los baneos guardados. El mod devolvía un array vacío siempre que fallaba la lectura del archivo o el formato era incorrecto, y eso provocaba exactamente ese resultado. Ahora devuelve null (un archivo que realmente no existe sigue significando «nadie está baneado») y solo declara bans_authoritative=true cuando se han leído tanto banned como banned_ips. El lado del sitio recibió la protección correspondiente; hacen falta las dos mitades para que esto quede bien arreglado
v1.9.15 Sitio 2026-09-30

Una revisión de seguridad: seis fallos corregidos

  • El panel de administración tenía una puerta entornada: cualquiera de los grupos Propietario / Administrador / Gestor podía iniciar sesión en la web con su contraseña normal del sitio y entrar directo en /admin/** — el paso de verificación por correo se saltaba por completo (solo se había cerrado la propia página de acceso al panel). Ahora hay una credencial de «esta sesión sí pasó el paso del código», así que iniciar sesión en la web ya no es iniciar sesión en el panel. En el sitio siempre se ha dicho que /admin/** solo acepta cuentas de la tabla admins; por fin la implementación coincide con lo que dice
  • Cuando el mod no podía leer la lista de baneos informaba de una lista vacía, y el sitio interpretaba «la lista está vacía» como «todos los baneos han sido levantados»: sobrescribía toda la tabla de baneos, inventaba una entrada de desbaneo en el historial y de paso borraba players.is_banned. Ahora el mod solo declara la lista autoritativa cuando realmente la ha leído, y el sitio solo hace la reconciliación de desbaneos cuando recibe esa declaración (o una lista no vacía). Esta corrección necesita el mod 1.6.6 para surtir efecto completo; la parte del sitio ya aguanta
  • La dirección de la pancarta del perfil la rellena el propio jugador, y se pegaba directamente dentro de style="…url(URL)". Basta un ) en esa dirección para añadir declaraciones CSS arbitrarias — y los perfiles son públicos, así que le toca a cada visitante (position:fixed para un phishing a pantalla completa, o un píxel de seguimiento que filtra la IP y el navegador de cada visitante). Aquí escapar no sirve de nada: HTML convierte &quot; otra vez en comilla antes de que CSS llegue a verla. Ahora las direcciones pasan por una lista blanca, y lo que no cumpla simplemente no muestra pancarta
  • La tarjeta de /whitelist titulada «Mis solicitudes» en realidad consultaba las 5 solicitudes más recientes de todo el sitio — cualquier usuario con sesión iniciada podía leer el ID de juego, el número de QQ y las notas de revisión de otras personas. Ahora se filtra por propietario; las páginas del panel y de gestión del servidor siguen mostrando la vista de todo el sitio
  • La consulta DNS de la página de herramientas era el único punto de entrada que nunca bloqueaba direcciones privadas: 127.0.0.1 y los nombres de host internos se resolvían sin problema, y un registro SRV (cuyo destino lo decide el DNS de otro) ofrecía una forma de saltarse el bloqueo. Además, la comprobación de puerto host:port se ejecutaba antes de separar los dos puntos, así que 8.8.8.8:53 podía sondear el puerto que quisiera. Las tres están corregidas, y los registros AAAA que apuntan a ::1 también quedan cubiertos
  • Tres más: ① un valor javascript:… en el parámetro next= de la redirección de acceso era un XSS de una línea (Url::ensure() dejaba pasar cualquier cosa sin tocarla en cuanto la cadena contenía index.php, sin mirar nunca el esquema); ② después de ejecutar el script de recuperación de contraseña, la página de acceso al panel mostraba la nueva contraseña en texto plano a cualquiera que la abriera — esa contraseña ya se imprime en la consola del servidor, así que la copia de la página ya no está; ③ con el interruptor CDR_DEBUG_CSRF activado, el registro guardaba los primeros 160 bytes de la petición de acceso, que es la contraseña en texto plano — ahora solo guarda nombres de campo y longitudes
v1.9.14 Sitio 2026-09-26

Corregido que los logros subieran y bajaran

  • Los logros de un jugador estaban encendidos mientras estaba conectado y se apagaban al desconectarse, porque cuando el mod no puede leer el archivo de progreso informa de una lista vacía, y el sitio lo interpretaba como «este jugador no tiene logros» y lo escribía en la base de datos, borrando lo ya guardado. Ahora una lista vacía nunca se escribe: mejor conservar los datos antiguos que ponerlos a cero (igual para adv_done, que solo se acepta por encima de cero)
  • También se corrigió un orden que partía una serie dentro de una categoría: «primero los conseguidos» empujaba 跳跃 10.000 / 100.000 (conseguidos) y 跳跃 500.000 (no conseguido) a extremos opuestos del grupo, con los progresos del End y el Nether en medio. Ahora se agrupa primero por serie (1 km / 10 km …, 10k saltos / 100k saltos …) y dentro de cada serie van primero los conseguidos — al plegar, los no conseguidos se siguen ocultando en su sitio, así que los conseguidos siguen viéndose de inmediato
v1.6.5 Mod 2026-09-26

Arreglado: los logros de jugadores desconectados no se leían

  • Los archivos de progreso del mundo se llaman con guiones (077e53e3-c49c-362b-87ee-12457397e38c.json), pero el mod construía una ruta de 32 caracteres sin guiones, así que no encontraba ni un solo archivo: los jugadores conectados pasan por la instantánea en vivo del servidor y funcionaban, mientras que estar desconectado se trataba como «sin progreso». Afectaba a los 1.859 archivos de progreso y a 963 jugadores, y es la causa directa de que la cifra de logros oscilara (el sitio ahora tampoco escribe una lista vacía). Ya se prueban ambas formas; solo una ausencia real cuenta como ninguna
v1.9.13 Sitio 2026-09-26

Corregida la asignación del nombre rellenado

  • El mismo nombre puede aparecer varias veces en la tabla de relleno: un jugador puede tener a la vez un UUID antiguo sin conexión (00000000-0000-...) y uno real, y ambos apuntan a él. El código original era el primero que llega se lo queda según el orden del archivo: aquí birdzhonghuifei corresponde tanto a una fila de 106,4 horas como a otra de 1,9 horas, y solo salió bien porque la fila más larga venía primero por casualidad. Otro orden habría dado el nombre a la persona equivocada. Ahora va a la fila con más tiempo de juego, sin importar el orden
v1.9.12 Sitio 2026-09-26

Los 863 «jugadores desconocidos» recuperan su nombre

  • El usercache.json del servidor solo conserva alrededor de un mes, así que en un mundo actualizado desde el servidor de supervivencia 1.21 hasta 1.21.11 los nombres de los jugadores antiguos caducaron hace tiempo: el sitio solo podía usar el UUID y mostraba «Jugador desconocido · xxxxxx». Así que fuimos a rebuscar en el archivo de copias: fusionar cronológicamente los usercache / whitelist / ops / banned-players de todos los servidores anteriores recuperó los 863 nombres, sin faltar ninguno (el de 395 horas en la clasificación es iRXC). La actualización a v13 los rellena una sola vez: solo se tocan las filas que aún llevan un UUID como nombre; un nombre real existente no se altera ni un byte
  • También se cubre un caso límite: players.name es un índice único, así que si el nombre a rellenar ya lo tiene otra fila, esa fila se omite y se anota — un conflicto de unicidad nunca puede hacer fallar toda la actualización. Mejor dejar a un jugador como «Desconocido» que atascar la migración
v1.9.11 Sitio 2026-09-26

Nombres de jugador en el panel corregidos · los nombres reales ya no se sobrescriben

  • Las páginas del panel de lista de jugadores / panel / baneos / lista blanca / skins / usuarios mostraban como UUID en bruto a los jugadores cuyo nombre no se podía resolver — el sitio público siempre ha mostrado «Jugador desconocido · xxxxxx»; al panel solo le faltaban unos sitios y ahora coinciden. Hay 863 jugadores así: el usercache.json del servidor solo conserva alrededor de un mes, los nombres que trajo este mundo antiguo caducaron hace tiempo y el sitio solo puede usar el UUID completo como identificador (no es un fallo de visualización: realmente ya no queda ningún nombre que mostrar)
  • También se ha corregido un riesgo de pérdida de datos: cuando el mod no puede resolver un nombre informa de uno vacío, y el código antiguo escribía el UUID encima del valor guardado. Un veterano que deje de jugar más de un mes vería su nombre real borrado para siempre en la siguiente sincronización — ahora se conserva el nombre real existente y el UUID solo sustituye cuando de verdad no hay nombre
v1.9.10 Sitio 2026-09-26

Corregido «225 horas jugadas en un día» en las páginas de jugador

  • Corregida la cifra absurda del gráfico «últimos 30 días» de las páginas de jugador: cuando el servidor se cae o se pierde un evento de salida queda un registro de conexión que nunca se cierra, y el cierre usaba «visto por última vez» como hora de fin, así que una sesión abierta el 13-09 se contó hasta el 23-09 y esas 225 horas cayeron todas en el día en que entró. Ahora el cierre tiene tres topes: el límite de 6 horas, el inicio de la siguiente sesión de ese jugador y un «visto por última vez» que solo puede acortar la estimación, nunca alargarla
  • Las pocas filas erróneas que ya están en la base de datos ahora se muestran bien sin tocar la base de datos (se aplica la misma regla al leerlas), y «últimos accesos», «tiempo total», «esta semana» y «tiempo por servidor» comparten una única regla: antes cada sitio sumaba segundos por su cuenta y la misma cifra se contradecía en la página
v1.9.9 Sitio 2026-09-26

Arreglado el desbordamiento del calendario en móvil · el anual usa ahora el máximo diario

  • El selector de fecha del chat ya no se sale del borde del panel en móvil (en pantallas estrechas deja de flotar sobre el panel y ocupa una línea propia, así que su ancho es simplemente el del contenedor)
  • El conteo anual de jugadores en línea pasa de una media de 6 días al máximo de cada día: un servidor que solo tiene gente por la noche puede promediar 2 jugadores mientras una docena coincidía a la vez; dibujado como media, un año entero se aplana en una línea que no dice nada. 24 horas / 7 días / 30 días siguen usando la media, porque ahí un punto cubre solo decenas de minutos
v1.6.4 Mod 2026-09-26

Marcador de latencia propio: %cloudridge:ping%

  • El %player:ping% integrado devuelve 0 para todos los jugadores en las filas de la TAB (el mismo marcador funciona bien en el pie de la misma configuración: al contexto de la fila le falta el jugador en vivo). El nuevo marcador prueba ambos caminos: primero el jugador del contexto y, si no, el nombre del GameProfile contra la lista de jugadores en línea. Si ninguno funciona, deja el hueco vacío en vez de un 0 engañoso
v1.6.3 Mod 2026-09-26

Notificar arranque y parada

  • El mod avisa de «iniciado» cuando arranca el servidor y de «detenido» en un apagado limpio. El aviso de parada se envía de forma síncrona: el proceso está a punto de terminar, así que dejarlo a un hilo en segundo plano significa que nunca sale. Un cierre inesperado o un corte de luz no inventan un registro de parada
v1.9.8 Sitio 2026-09-26

Chat: el arranque y la parada del servidor ya aparecen en el chat en vivo

  • El arranque y la parada del servidor (con su hora) aparecen ahora como una línea en el panel de chat, con una barrita vertical en lugar de avatar y un color que los distingue de los mensajes de jugadores
  • El texto del historial admite ahora marcado de código y negrita (antes solo se procesaban las comillas invertidas, así que la negrita mostraba sus asteriscos tal cual)
v1.9.7 Sitio 2026-09-25

Chat: consultar por fecha, publicar más fácil, ventanas de verdad

  • El historial del chat ahora se consulta por fecha: haz clic en un día del calendario para leer el chat de ese día, y los días con mensajes aparecen en negrita. Cambiar de día ya no recarga toda la página.
  • Publicar es más fácil: basta con iniciar sesión, ya no hace falta vincular antes un personaje del juego. Si tienes uno vinculado, se muestra su nombre; si no, se usa el apodo del sitio y en el juego se marca como [Web · sin vincular] para distinguirlo de los personajes reales.
  • El apodo del sitio solo se puede cambiar cada 15 días (el primero no tiene límite) y «Mi cuenta» muestra cuántos días faltan; un apodo no puede repetir el de un personaje del juego ni el de un administrador, para que nadie se cambie el nombre y se haga pasar por otra persona.
  • Las denuncias ahora usan una ventana de verdad, con un campo de motivo y su contador de caracteres en lugar del cuadro minúsculo del navegador; la confirmación de retirada y varias confirmaciones del panel también se reemplazaron — las ventanas nativas del navegador bloquean toda la página.
  • La gestión del chat del panel marca a los remitentes sin vincular; borrar, atender denuncias y silenciar siguen igual.
v1.6.2 Mod 2026-09-25

Filtro de bots arreglado + prefijo web por mensaje

  • Arreglado el filtro de bots que no hacía nada: el valor predeterminado de la lista era bot_, y sin * se interpreta como coincidencia exacta, así que no se filtró ni un solo jugador falso. El valor predeterminado ahora es bot_* y al arrancar el servidor la lista efectiva se escribe en el registro, para que «puesto pero sin efecto» no vuelva a pasar en silencio.
  • El prefijo de los mensajes web ahora se envía mensaje a mensaje: quien tiene un personaje vinculado recibe [Web] y quien no lo tiene, [Web · sin vincular], así los jugadores ven de un vistazo si lo dijo un personaje del juego.
  • Añadido sobre 1.6.1: las entradas, salidas, muertes y progresos antes no se mostraban nunca porque la clasificación dependía solo de claves de traducción y algunos mods sustituyen por completo el mensaje original, de modo que la clave no se encuentra; ahora hay una clasificación de respaldo por el texto renderizado y un registro de diagnóstico en los primeros 25 mensajes del sistema de cada partida.
v1.6.0 Mod 2026-09-25

Sincronización del chat: chat público y eventos en tiempo real

  • Nueva sincronización del chat: los mensajes del chat público del juego, las entradas y salidas, las muertes y los progresos se envían en tiempo real al chat del sitio
  • Los mensajes de los usuarios del sitio se anuncian en el juego con el prefijo [网页] en cian; se envían uno por uno para esquivar el evento de mensajes del sistema, así que nada se anuncia dos veces
  • Las muertes y los progresos se clasifican por clave de traducción y no por el texto ya renderizado, así que cambiar el idioma del servidor al chino no rompe nada
  • Las entradas, salidas y muertes de los jugadores falsos (bots de Carpet) no se envían; la lista se cambia en chat_bot_names dentro de cloudridge.json, por defecto bot_
  • Solo se recoge el chat público — los mensajes privados (/msg, /tell, /w) no se recogen nunca, y no hay ningún interruptor que pueda activarlo
  • Nuevas opciones upload_chat / chat_bot_names / chat_poll_ms; los archivos de configuración antiguos funcionan sin tocarlos y usan los valores predeterminados
v1.9.6 Sitio 2026-09-25

Panel de chat web disponible: conexión bidireccional con el chat del juego

  • Nuevo chat bajo el mapa web: los mensajes del chat público del juego, las entradas y salidas, las muertes y los progresos aparecen en el sitio en tiempo real, con su hora de envío
  • En los dos sentidos: lo que escribes en el chat web aparece en el chat público del juego con el prefijo [网页]; dentro y fuera del juego se ve el mismo nombre (el del personaje que vinculaste), así que nadie puede hacerse pasar por otro
  • Sin iniciar sesión no se ve el chat (no está oculto en la interfaz: el servidor no envía ni un byte); solo puedes escribir después de iniciar sesión y vincular tu personaje del juego
  • El chat se organiza por rondas del servidor: puedes cambiar entre las rondas anteriores y el historial sobrevive a los reinicios
  • Cada mensaje lleva avatar y hora de envío; los tuyos puedes retirarlos y los de los demás, denunciarlos
  • Nuevo en el panel de administración: «gestión del chat» — borrar mensajes (surte efecto en el sitio y en el juego a la vez), atender denuncias, silenciar y dejar registro de cada acción (al borrar se conserva el texto original para poder rastrearlo)
v1.9.5 Sitio 2026-09-25

Filtrar el historial por tipo, mes y versión

  • El historial ya se puede filtrar: los tres contadores de arriba (sitio / mod / servidor) ahora son chips en los que se puede hacer clic — un clic muestra solo ese tipo, otro clic lo quita
  • Se añadió filtro por mes y búsqueda por versión — escribir «1.9» trae desde 1.9.0 hasta 1.9.4, y ambos se pueden combinar
  • El estado del filtro va en la URL, así que puedes pasar el enlace y quien lo abra ve el mismo resultado
  • Los contadores siguen siendo los totales (no se encogen al filtrar) y se añadió el aviso «ninguna actualización coincide con estos filtros»
v1.5.2 Mod 2026-09-25

Métricas del servidor en la lista TAB

  • Nueva familia de marcadores %cloudridge:*% (18: TPS, MSPT, chunks, entidades, memoria, CPU, tasas de red, tiempo encendido) para que la lista TAB muestre estos datos directamente
  • Reutiliza la recogida que el mod ya hace — nada se recoge dos veces; los marcadores leen una caché al renderizar, porque se renderiza constantemente y leer archivos o lanzar procesos ahí bloquearía el servidor
  • Sin el mod de TAB no pasa nada: el registro está aislado y los valores ausentes se muestran vacíos en vez de un 0 engañoso
v1.5.1 Mod 2026-09-25

Los contadores de red funcionan y el registro deja de llenarse

  • El tráfico de red mostraba 0 siempre: las dos APIs que buscaba no existen en ningún JDK estándar, así que ese código nunca podía funcionar. Ahora usa una fuente que el sistema sí ofrece y analiza por estructura en vez de por texto, así que funciona también en sistemas no ingleses
  • La recogida pasa a un hilo de fondo: esa fuente necesita un subproceso, y hacerlo en línea provocaría picos de tick
  • Nuevo interruptor «registrar instantánea por latido», desactivado por defecto; activado, solo escribe cuando los valores cambian de verdad
v1.9.4 Sitio 2026-09-25

Arreglo del inicio de sesión, red de seguridad de copias y documentación de la API

  • Ya se puede superar la verificación en dos pasos del panel. La causa era una transacción de escritura cuyo commit se omitía en silencio en la versión de PHP del servidor: los códigos nunca llegaban a la base de datos. El correo llegaba, pero al introducir el código decía «solicita un código primero», y el límite de reenvío también fallaba
  • Se corrigieron otros tres casos del mismo fallo (búsqueda de jugadores, métricas del latido, registro de sesiones)
  • La limpieza de copias usa ahora cupos por categoría: las instantáneas previas a una actualización o restauración no las desplazan las copias normales, y las exportadas a mano nunca se borran solas
  • La API pública de jugadores ignoraba su parámetro de búsqueda: con más de 500 jugadores no se encontraba a nadie por debajo del puesto 500. Ahora usa coincidencia parcial y se cerró un hueco de comodines
  • Los envíos demasiado grandes ya no muestran una página en blanco, sino un mensaje claro
  • La documentación de la API ya cubre los 5 puntos públicos de solo lectura
  • El enlace «volver a usuario y contraseña» del panel lleva al paso correcto
v1.21.11 Servidor 2026-09-25

Servidor actualizado a Minecraft 1.21.11

  • El servidor pasó de 1.21.1 a 1.21.11, junto con Fabric Loader, Fabric API y todos los mods
  • El mapa web vuelve a cargar: la configuración de BlueMap seguía en el formato antiguo y hacía que el plugin entero se negara a cargar
  • Todas las versiones visibles para el jugador, en la web y en el mod, son ya 1.21.11
  • Lista TAB rediseñada: los colores ahora son los del sitio (cian / verde), cada jugador muestra su ping en milisegundos y el pie muestra TPS, MSPT, memoria, chunks, entidades y CPU de un vistazo
  • MOTD rediseñado: degradado con los colores de marca, eliminados los dos textos ingleses que quedaban, y el texto emergente ahora incluye la web y el grupo de QQ
  • Todas las versiones visibles son ya 1.21.11
v1.5.0 Mod 2026-09-24

Compatibilidad con Minecraft 1.21.11

  • El mod ahora apunta a Minecraft 1.21.11 (Fabric Loader 0.19.5 / Fabric API 0.141.6+1.21.11)
  • La comprobación de permisos de comandos usa ahora la lista de OP del servidor; la interfaz anterior se eliminó en 1.21.11. La consola y los bloques de comandos conservan su acceso igual que antes
  • El recuento de chunks cargados usa la nueva interfaz, escrita para compilar en versiones antiguas y nuevas
  • El resto de interfaces cambiadas también se migraron, verificadas una a una contra los mapeos oficiales
v1.9.3 Sitio 2026-09-23

Muro de insignias plegable, explicaciones de gráficos y arreglo de la tendencia de 24 horas

  • El sistema de logros pasa de 28 a 98 insignias, repartidas en 8 grupos (supervivencia / construcción / exploración / redstone / agricultura / combate / social / colección) y cada grupo indica cuántas tienes del total; 35 de ellas corresponden a logros reales del juego, y la fecha es el momento exacto en que el juego los concedió
  • Cada eje del radar de cinco dimensiones ahora se explica: qué mide, cómo se calcula y cuánto cuenta como máximo, así no hay que adivinar a partir de la forma; además hay leyenda: la figura rellena eres tú y la línea gris discontinua es la media del servidor
  • Arreglado que el gráfico de tendencia de 24 horas no cuadrara: el historial guardaba el recuento bruto del mod (incluido el bot siempre conectado) mientras la página mostraba el número filtrado, así que nunca coincidían; ahora el latido y el gráfico usan el mismo número, y al pasar el ratón por la línea se ven la hora y los jugadores
  • Los gráficos ya permiten cambiar el rango: 24 horas / 7 días / 30 días / 1 año, así que de un vistazo sabes cómo ha ido el servidor; la línea se corta mientras el servidor está cerrado en lugar de dibujar esos días con 0 jugadores
  • El muro de insignias de la página del jugador se puede plegar: las conseguidas se muestran siempre (son tu historial) y las pendientes se esconden tras el título de cada grupo o el botón «mostrar todo» de abajo; la elección se recuerda, así que al recargar se ve igual, y sin JavaScript se siguen mostrando las 98
  • Arregladas las sesiones: la marca «en línea» solo miraba si la sesión tenía hora de fin, así que un cierre inesperado o una desconexión no informada la dejaban atascada en «en línea», incluso mostrando a una misma persona en línea en dos sesiones a la vez. Ahora sigue la lista que el servidor informa en vivo, las sesiones que no cuadran muestran «fin anómalo» y se cierran solas, y una desconexión repetida ya no abre una segunda sesión
  • Arreglado que las insignias de «progreso del juego» no se encendieran nunca: la clave usada para comprobarlas llevaba un prefijo de más y no coincidía con los nombres de progreso que informa el juego, así que los 35 logros reales se quedaban siempre como no conseguidos — solo se veían en gris, igual que uno que aún no has logrado, así que la página no lo delataba. Ahora las claves coinciden, las conseguidas se encienden y muestran el día real en que el juego las concedió
v1.9.2 Sitio 2026-09-22

Refuerzo de seguridad y privacidad, subidas y acabado

  • El acceso con QQ ya está montado: el AppID, el AppKey y la URL de retorno están configurados, así que funcionará en cuanto Tencent apruebe la aplicación y se active el interruptor en el panel; hasta entonces la página de acceso no muestra el botón, para no dejar una entrada que no haga nada al pulsarla
  • Seguridad: el directorio /storage/ ya no se puede abrir directamente (ahí viven las copias de la base de datos, la caché de skins y otros archivos que no deben ser públicos)
  • Las contraseñas de administrador en texto plano que quedaban en la base de datos se han borrado; solo queda el resumen cifrado
  • La confirmación de personaje ahora limita los fallos: si se falla el código corto varias veces, se bloquea un rato, así nadie puede probar códigos a lo bruto
  • Los filtros de jugadores, la comprobación de SVG y la validación de campos pasan a listas permitidas y parámetros vinculados: solo entra lo permitido y lo que llega de fuera ya no se pega directamente en las consultas
  • Las 74 salidas JSON del sitio llevan ahora las marcas de escape seguro, así que los datos incrustados en las páginas ya no se pueden interpretar como etiquetas
  • Privacidad: los interruptores de visibilidad del perfil tenían todavía 5 sitios por los que se podía esquivar (incluida la API pública de jugadores, que no pide clave); ya están todos cerrados: lo que está apagado no se ve, tampoco desde la API pública
  • Subidas en WebP: el avatar, el banner, la biblioteca de imágenes, el foro y hasta 8 entradas aceptan WebP directamente
  • Arreglado el ajuste del panel donde la lista de formatos permitidos se corrompía como la cadena "array": era la causa de que los formatos de subida dejaran de aplicarse, y al guardar ya no se rompe
  • El tiempo de juego se muestra en horas en todo el sitio (las horas como cifra principal y los días como subtítulo); la clasificación muestra exactamente la columna por la que ordenas
  • Compatibilidad con navegadores antiguos: el mapa de calor de actividad, las barras de progreso y el fondo suave / anillo de foco de la zona de subida ya no se quedan transparentes donde no hay color-mix()
  • La página pública del jugador muestra una insignia de nivel (Lv.N) junto al nombre, sin desbordarse en móviles estrechos
  • Imágenes de marca: el logo y los iconos que había sobrescrito una imagen de prueba están restaurados, y los recursos de marca ahora tienen archivo sin conexión y la herramienta brand-restore.php, así que una futura sobrescritura se puede revertir al momento
v1.9.0 Sitio 2026-09-19

Centro del jugador y envío de imágenes renovado

  • La página de perfil se ha renovado: progreso, actividad de esta semana, insignias de logros, huella en la comunidad y la cronología de actividad reciente reunidos en una sola página
  • Nuevo nivel de juego: se calcula con tu tiempo de juego total, un nivel por cada 10 horas jugadas y desde Lv.1, y se ve tanto en tu página de perfil como en la página pública del jugador
  • Nuevos interruptores de visibilidad: tiempo de juego total, última conexión, primera conexión y lista de jugadores en línea los decides tú, y si lo desactivas tampoco aparece en las demás páginas
  • El avatar y el banner ahora aceptan una imagen subida directamente y se guardan en WebP (archivos más pequeños, carga más rápida); el avatar se recorta al centro en cuadrado y el banner se reduce proporcionalmente hasta 1920×1080
  • Las imágenes pueden ser PNG / JPG / WebP / GIF; con AVIF aparece el aviso de guardarlo antes como PNG o WebP
  • Nueva biblioteca de imágenes: las imágenes subidas se gestionan en un solo sitio del panel, con dimensiones, peso y dónde se usan
  • Seguridad de subida reforzada: el tipo se decide por el contenido real del archivo, así que renombrar la extensión para disimularlo se rechaza siempre; se bloquean los intentos de salir de la carpeta de subida, el SVG solo pasa desde una lista aprobada y los archivos huérfanos sin referencias se limpian
  • Reclamar un personaje ahora funciona así: solicitud en el sitio y luego /cdr claim con el código corto en el juego, y solo ese personaje puede confirmar
  • La página de perfil añade una vista previa 3D de la skin; el mapa de semilla y el mapa en vivo ahora usan HTTPS
v1.9.1 Sitio 2026-09-19

Tabla de permisos rehecha (según los mods que hay instalados aquí)

  • La lista de permisos se ha rehecho según los mods realmente instalados en este servidor: solo quedan los elementos con un nodo de permiso real, y marcarlos sí tiene efecto
  • Las capacidades que necesitan un mod que no está (terrenos, /hat, /back, colores de chat, etc.) ya no salen en la lista; una sección debajo explica con sinceridad qué falta y qué nodo habría que poner más adelante
  • Cada permiso deja claro qué permite de verdad en el juego, así que el modo espectador, por ejemplo, nunca desbloquea el modo creativo de paso
  • El modo creativo tiene su propia casilla: para el dueño y el equipo se guarda sin segunda confirmación, los demás grupos ven antes una ventana de confirmación. Las cuentas del sitio del dueño y del equipo ahora también pueden entrar directamente al panel
v1.8.2 Sitio 2026-09-18

Azul CloudRidge y un acceso más sólido

  • La paleta del sitio pasa a ser "azul CloudRidge": los colores salen directamente del logo del servidor, así el sitio y el logo nunca desentonan
  • Arreglada la verificación humana que fallaba para absolutamente todo el mundo en producción (detrás del proxy inverso no había IP real y el límite de peticiones trataba a todos los visitantes como una sola persona)
  • Cuando la verificación ya pasó pero la página no cambia, el botón de enviar ya no se queda atascado; se recupera a los 8 segundos
  • Los botones de la portada ya no se salen de la pantalla en el móvil
v1.8.1 Sitio 2026-09-18

Verificación humana mejorada

  • La verificación humana sube a ALTCHA 2.x con un captcha de imagen como respaldo: si tu navegador no puede calcular la solución, basta con escribir los caracteres
  • El registro, las solicitudes de whitelist y el reenvío de códigos también pasan por la verificación humana, lo que bloquea usar el correo de otro para gastar nuestro cupo
  • La portada tiene un botón de "unirse al grupo de QQ" en un clic que abre QQ tanto en ordenador como en móvil
  • Los iconos del sitio ya cubren todos los tamaños, así que "añadir a la pantalla de inicio" en el móvil tiene un icono de verdad
v1.8.0 Sitio 2026-09-18

Logros, dispositivos recordados y nuevo aspecto

  • Las páginas de jugador añaden insignias de logros y un radar de habilidades, para ver de un vistazo en qué destaca alguien
  • Nuevo "recordar este dispositivo": si lo marcas sigues conectado 30 días (cambiar la contraseña o cerrar sesión en todas partes lo cancela al instante)
  • El acceso al panel ahora tiene un segundo paso con código por correo, más una clave de recuperación sin conexión para cuando el correo no llega
  • La página de whitelist ahora muestra contenido distinto según tu estado: en revisión, aprobada, o el motivo del rechazo junto a un formulario para reenviar
  • Todo el sitio pasa a una paleta de verde y tinta tomada del logo del servidor, con títulos en serif, para un aire más tranquilo y despejado
  • Los iconos de las categorías del foro ya no usan emoji (salían como cuadros vacíos en algunos sistemas) y ahora usan iconos propios
v1.7.0 Sitio 2026-09-18

Búsqueda en la guía e información en vivo

  • La guía del servidor ya se puede buscar por título o por texto
  • Un panel de servidor en vivo en la barra lateral de la guía muestra la versión, el loader y la versión de los mods sin salir de la página
  • La lista de comandos y la de mods tienen su propia dirección, lo que facilita compartirlas con jugadores nuevos
  • En el móvil la barra lateral de la guía pasa encima del texto y el panel en vivo ya no se come una pantalla entera
v1.6.0 Sitio 2026-09-18

Sincronización con el sitio de skins

  • Sincronización con el sitio de skins: regístrate allí con el mismo nombre, sube tu skin y el sitio web puede traerla automáticamente
  • La primera vez que una página de jugador se topa con un nombre desconocido, lo busca en el sitio de skins y muestra el resultado
  • Un botón de "resincronizar skin" en tu perfil lo actualiza en un clic después de cambiarlo allí
  • La dirección del sitio de skins se configura en el panel (LittleSkin por defecto), así cambiar de sitio no requiere tocar código
v1.4.0 Sitio 2026-09-18

Cuenta y seguridad

  • Tu perfil se renueva con dos secciones, "Cuenta y seguridad" y "Personalización": historial de accesos, cambio de vínculo y de contraseña están ahí
  • Se admite "cerrar sesión en todos los dispositivos": tras cambiar la contraseña o cerrar sesión en otro sitio, los demás dispositivos salen al instante
  • Los códigos de verificación ahora están atados al dispositivo: máximo 5 por dispositivo y día, lo que evita que los scripts quemen el cupo de SMS y correo
  • Si tu correo o tu teléfono aún no está verificado, un aviso te lo recuerda una vez; solo entonces puedes pedir la whitelist, publicar o vincular un personaje
  • Tu perfil muestra un resumen de tu actividad en todos los servidores
v1.5.0 Sitio 2026-09-18

Publicación reempaquetada

  • Idéntico a la v1.4.0, solo se reempaquetó para publicarlo, nada cambió
v1.3.8 Sitio 2026-09-17

Opciones de acceso documentadas

  • La página de acceso con contraseña ahora lista los tres tipos de cuenta (correo, teléfono y nombre de juego vinculado), igual que lo que funciona de verdad
  • Traducciones puestas al día
v1.3.7 Sitio 2026-09-17

Imágenes de fondo para las páginas de acceso

  • Las páginas de inicio de sesión, registro y recuperación de contraseña aceptan una imagen de fondo personalizada (subida desde el panel), con tarjetas de efecto vidrio esmerilado
  • La sección de apariencia permite subir la imagen grande de la portada, el logo del sitio, el icono del navegador y el fondo del acceso
  • Además del correo y el teléfono, puedes iniciar sesión con un nombre de juego que ya tengas vinculado
v1.3.6 Sitio 2026-09-17

Vuelve la comprobación de la clave de SMS

  • La comprobación de la clave vuelve, pero solo avisa en el caso que de verdad falla: una cadena hexadecimal de 32 caracteres, que es un MD5 y no la KEY en texto plano
  • El aviso ahora dice exactamente dónde volver a copiar la KEY, en lugar de dejarte con un simple "clave no válida"
v1.3.5 Sitio 2026-09-17

Aviso sobre la clave de SMS corregido

  • Eliminado un aviso falso sobre la longitud de la clave de SMS (pedía 32 caracteres, pero la clave real de la plataforma tiene 16)
  • Ahora es la propia plataforma de SMS la que dice si la clave es correcta, en vez de adivinarlo por su longitud
v1.3.4 Sitio 2026-09-17

Inicio de sesión arreglado y reforzado

  • Arreglado el inicio de sesión con correo y teléfono que fallaba siempre (antes devolvía un 500)
  • Demasiados intentos fallidos ahora provocan un bloqueo temporal, lo que frena los scripts que prueban contraseñas
  • Cuando la página actual pertenece a un grupo de navegación, el botón del grupo también se resalta, así ves dónde estás
  • Un separador en la página de inicio de sesión distingue el login con QQ del login con correo, ya no se confunden
v1.3.3 Sitio 2026-09-16

Autodiagnóstico de los ajustes de SMS

  • Nuevo autodiagnóstico sin coste para los SMS: comprueba el usuario, la clave y la plantilla sin enviar ni un mensaje
  • Dice claramente si el usuario y la clave están mal o si la plantilla sigue pendiente de aprobación, sin tener que adivinar
  • Una tarea programada revisa de vez en cuando el estado de la plantilla de SMS y te recuerda activarla cuando la aprueben
v1.3.2 Sitio 2026-09-16

Compatibilidad con varios servidores

  • Varios servidores: cada uno tiene un tipo (supervivencia, creativo, minijuegos) y el sitio muestra contenido distinto según el tipo
  • Los servidores de creativo muestran un panel de construcción y los de minijuegos muestran la info de partida y una clasificación PvP
  • Los cambios de whitelist y baneos se confirman servidor por servidor, así nada se queda sin sincronizar en silencio
  • El panel puede enviar un cambio solo a un servidor concreto
v1.1.6 Mod 2026-09-16

Tipos de servidor compatibles

  • Nuevo ajuste server_type: supervivencia, creativo, minijuegos, lobby u otro, y el sitio presenta cada tipo de forma distinta
  • El envío de estadísticas históricas se corrigió otra vez, los totales del sitio son más exactos
  • Documentación de los ajustes y mensajes del juego puestos al día
v1.3.1 Sitio 2026-09-16

Registro de auditoría y centro de mensajes

  • Nuevo registro en el panel: quién cambió qué y cuándo, todo consultable en vez de rebuscar en la base de datos
  • Nuevo centro de mensajes: historial de envíos de correo y SMS, para comprobar directamente cuando alguien dice "no me llegó el código"
  • Nuevas herramientas de whitelist en bloque: añadir, quitar o limpiar entradas obsoletas de una vez
  • Arreglados los permisos de grupos de usuarios que nunca coincidían; ahora los ajustes de permisos sí se aplican
  • El panel de inicio añade un gráfico de tendencia de 14 días: usuarios nuevos, solicitudes de whitelist, visitas y jugadores nuevos
v1.3.0 Sitio 2026-09-16

Skins de jugador y navegación agrupada

  • Skins de jugador: sube un skin de 64×64 y tu perfil y tu página de jugador lo muestran en un modelo 3D (sin cargar ninguna librería externa)
  • Nueva sección "Mi skin" en tu perfil, donde puedes subirlo o borrarlo cuando quieras
  • La navegación de la cabecera ahora se agrupa en menús desplegables (Servidores, Comunidad) y ya no se parte en dos líneas en el móvil
  • Arreglados bloques como [[mods]] y [[server-facts]] que salían con los corchetes en crudo en algunas páginas de la guía
  • El pie de página ahora lleva el número de registro ICP y el icono de registro policial
v1.2.3 Sitio 2026-09-13

Canal de SMS y una tanda de arreglos

  • Los códigos de verificación por SMS ya están conectados: el registro por teléfono y la recuperación de contraseña funcionan (solo hay que rellenar los ajustes de la plataforma en el panel)
  • Arreglado el "cambié un ajuste en el panel pero el sitio lo ignora": los ajustes de correo, SMS, bot y whitelist ahora sí surten efecto
  • Arreglada la página de detalle de nodo del estado que devolvía un 500; los nodos desconocidos ahora muestran un mensaje normal
  • Arreglados los motivos de baneo que salían en inglés como "Banned by an operator."; ahora se muestran traducidos
  • Si pulsas la solicitud de whitelist sin sesión, primero te pide iniciar sesión y después te devuelve a la solicitud
v1.2.2 Sitio 2026-09-13

Cuentas y solicitudes de whitelist en línea

  • Sistema de cuentas: regístrate con un código por correo o teléfono, inicia sesión con contraseña y recupérala si la olvidas
  • Solicitudes de whitelist en línea: rellena tu ID de juego y un método de contacto, y la aprobación se sincroniza directamente con el servidor
  • Si diste tu número de QQ, entraste al grupo y tu nivel de QQ es suficiente, el bot de QQ te aprueba automáticamente
  • El dueño y el equipo aprueban solicitudes, añaden o quitan whitelists y editan la config del servidor desde la bola flotante de la esquina
  • Nuevo botón de "publicar novedad de actualización" en el panel, así cada actualización futura queda registrada sola
v1.1.5 Mod 2026-09-13

Sincronización de whitelist y proxy de config

  • Sincronización de whitelist: las solicitudes aprobadas en el sitio se escriben solas en la whitelist del servidor, sin pasos manuales
  • Los archivos de config del servidor se pueden editar desde el panel del sitio, con una copia de seguridad automática del original antes
  • Una cola de operaciones pendientes permite al sitio encargar trabajo al mod y recibir el resultado
v1.2.1 Sitio 2026-09-13

Herramientas y página de estado renovada

  • Nueva página de herramientas: generador de texto degradado, consulta del estado del servidor, revisión de dirección de servidor, conversor de ticks y búsqueda de jugadores
  • La página de estado se renueva: disponibilidad de 24 horas, lista de servicios y salud de la máquina, y cada nodo abre una vista detallada
  • Una cuenta puede vincular varios personajes y elegir el principal (también se cambia en el juego con /cdr main)
  • La galería de construcciones pasa a vista de foto grande, mucho más agradable para navegar
  • La lista de comandos y la de mods de la guía ahora siguen al servidor automáticamente, ya nadie tiene que copiarlas a mano
v1.1.4 Mod 2026-09-13

Más reglas del servidor y mensajes bilingües

  • Envío más completo de las reglas: game rules como conservar objetos o soltar al morir viajan con el estado, así la página de la guía es exacta
  • Los mensajes de los comandos en el juego están en chino y en inglés y siguen el idioma del cliente del jugador
v1.1.3 Mod 2026-09-13

Datos de jugadores más precisos

  • Corregida la lectura y el envío de estadísticas históricas, los totales del sitio ya no discrepan de la partida guardada
  • Los muñecos AFK y los bots se excluyen desde la recogida, así no aparecen en las clasificaciones del sitio
v1.2.0 Sitio 2026-09-13

Los datos de los jugadores desde el primer día

  • Ya están las estadísticas de la partida guardada: tiempo de juego, muertes, kills, bloques minados y colocados, y distancia recorrida desde la apertura del servidor
  • La lista de jugadores se puede ordenar por tiempo de juego total y cada entrada abre una página detallada
  • Los muñecos AFK y los bots se detectan y se excluyen, así ya no ocupan puestos en la clasificación
  • La lista de baneos añade una sección de IP baneadas con la procedencia de cada dirección
  • Arreglado que los MSPT no se mostraban; ahora TPS y MSPT tienen cada uno su propia escala
v1.1.2 Mod 2026-09-13

Estadísticas de jugadores y lista de mods

  • Los jugadores conectados se envían ahora con su UUID, así que cambiar de nombre ya no convierte a una persona en dos
  • Lee las estadísticas de la partida guardada y envía los totales desde la apertura: tiempo de juego, muertes, kills, bloques minados y colocados, y distancia recorrida
  • Envía automáticamente la lista de mods instalados y la de comandos disponibles (se filtran las decenas de submódulos de Fabric API)
  • Las IP baneadas también se envían y se muestran en su propia sección del sitio
v1.1.1 Sitio 2026-09-13

Avatar de reserva y nuevo panel de administración

  • Se acabaron las pantallas llenas de imágenes rotas cuando fallan los avatares: si el avatar externo no responde, generamos uno con la inicial del jugador
  • Nuevo diseño del panel: barra superior y menú lateral con buscador, encuentras cualquier ajuste escribiendo una palabra clave
  • Arreglada la verificación humana que daba error y las páginas que no abrían en algunos servidores
  • Arreglada la trampa en la que la dirección de la API del mod se redirigía: la API parecía correcta pero no llegaba ningún dato; ahora el autodiagnóstico del panel lo avisa claramente
  • El mapa en vivo ahora muestra un mensaje claro cuando no puede conectar, en vez de un recuadro en blanco
v1.1.1 Mod 2026-09-13

Protección contra redirecciones de la dirección de la API

  • Si la dirección de la API se redirige con un 301 o un 302, el mod ahora avisa del error y muestra la dirección correcta en vez de perder datos en silencio
  • El motivo de un envío fallido se ve en el juego con /cdr status
v1.1.0 Sitio 2026-09-13

Cuentas y galería de construcciones

  • Nueva galería de construcciones: subes capturas de lo que has construido y los demás pueden darle me gusta o abrir la imagen a tamaño completo
  • Nueva lista de jugadores y páginas de jugador: tiempo de juego, muertes, bloques minados y distancia recorrida de un vistazo
  • Llega el panel de administración: noticias, páginas, galería, usuarios y ajustes se gestionan desde el navegador
  • Varios idiomas y paletas de color, y puedes cambiar tú mismo entre claro y oscuro
  • Los baneos son públicos, con el resultado de cada caso
v1.1.0 Mod 2026-09-12

Primera versión del mod de observación

  • Envía el estado del servidor al sitio cada 30 segundos: jugadores conectados, TPS, MSPT, CPU, memoria, disco y red
  • Envía la lista de baneos y los eventos de entrada y salida de jugadores, con los que el sitio calcula el tiempo de juego
  • Añade el comando en el juego /cdr bind <code> para vincular una cuenta, más /cdr status y /cdr reload para los administradores
  • Todas las peticiones de red van en un hilo de fondo, así que un sitio que no responde nunca ralentiza el servidor
v1.0.0 Sitio 2026-09-12

El sitio se pone en marcha

  • El sitio abre para todo el mundo: inicio, estado del servidor, guía del jugador, lista de baneos, noticias y foro
  • La página de inicio muestra en vivo el número de jugadores conectados, los TPS y la carga de la máquina, enviados por el mod del servidor cada 30 segundos
  • Inicio de sesión con QQ en un clic: una vez dentro puedes vincular tu personaje y publicar en el foro
  • Sin ningún CDN externo y con la verificación humana alojada en nuestro propio servidor, así que las páginas abren más rápido
  • Se ve bien tanto en el móvil como en el ordenador, y el menú se pliega solo en pantallas estrechas

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.