Estoy "peleándome con gtp" para pasar a un iframe y conseguir poder tener el espacio necesario para el banner y que quede bien visible. Estamos en ello en cuanto tenga un layout enmaquetado en condiciones, y paso a subir el sourcode del index.html porque el 1 de marzo lanzo el primer torneo y ahí sí que me gustaría tener el banner. Eso sí yo no sé incrustarlo con código html, css, etc. Os dejo a vuestro criterio que se que siempre es correcto.
Mensajes
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
@cobito dijo en Banner de Hardlimit en app broadcast torneos entre elite uci chess engines:
Buenas @jordiqui Antes de nada, disculpa la tardanza en responder. He estado hasta arriba.
Mi ISP no me permite acceder a Pixeldrain, por lo que no puedo ver la última versión del código. He añadido el logo en la anterior versión del index.html para ir probando. Para evitar dependencias con terceros (yo personalmente intento evitarlas a toda costa con Hardlimit), he añadido la imagen en base64 para que esté autocontenido en el propio HTML. Pero si quieres, se puede sacar en un archivo de imagen independiente o te la puedo poner de acceso público desde hardlimit.com para mantener el html limpio.
He hecho una versión "oscura" al estilo del banco de pruebas.
Veo que tienes la página bastante bien maquetada y no estoy seguro dónde podría encajar; quizás en el pie de página, en una esquina. O si quieres, te paso por aquí el código HTML con el logo en su propio div para que sólo sea copiarlo y pegarlo donde quieras.
Ya me vas diciendo y enhorabuena por el proyecto. Está muy chulo.
Hola compañero, he hecho un .zip del sourcode del UI para que puedas ver dónde podemos encajar el banner para que quede bien encapsulado en un box ( lo ideal es que sea visible) dentro de la distribución actual con un enlace hacia el foro. ( actualmente analizando los datos de cloudfare no bajamos de 1000k diarias sin hacer nada de divulgación porque estamos en fase de pruebas e intentando que cuadren los emparejamientos, scripts para auditar los test finalizados, hasta que pasemos a producción que entonces sí que subirán las visitas ya que es un nicho quizá poco conocido, pero con miles de seguidores. Estados Unidos, España, Rusia, Dinamarca, etc. ( como uso el plan gratuito de cloudfare, no puedo contabilizar con exactitud de esos 1000k+ diarios cuántas provienen de bots y cuántas de usuarios reales, pero para no haber hecho nada oficial puede considerarse como buena señal.) Un saludo!
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
UI build: 2026-02-12F (Rules v1 enforced + /conditions aligned)
En estas semanas hemos consolidado una base realmente operativa para retransmisión de torneos de motores UCI (modo beta), con foco en robustez y trazabilidad:
- list item
UI estable en directo: reconexión automática de WebSocket + watchdog de inactividad + fallback HTTP para evitar “pantallas congeladas” al cambiar de match o tras reinicios del servidor.
Sin dependencia de GUI: pipeline UCI → servidor → sockets → UI; el front solo renderiza lo que emite el backend.
Telemetría y lectura clara: paneles por bando (score/depth/nodes/nps/time/PV), relojes y estado de turno, tablero principal + minis.
Rules v1 ya aplicadas: las reglas se ejecutan en backend y quedan visibles/auditables en endpoints.
/conditions alineado: el endpoint de condiciones queda como fuente de verdad (time control, adjudicaciones/claims, etc.) y la UI se sincroniza con ello.
Resumen: hoy ya no es “una demo bonita”; es una plataforma que aguanta sesiones largas y cambios de partida sin intervención manual, y con reglas visibles y alineadas para auditoría.

- list item
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
dijo en Banner de Hardlimit en app broadcast torneos entre elite uci chess engines:

Ahora os subo el código completo. Para que @cobito cuando puedas y tengas tiempo en el index.html poner el banner de hardlimit. Ya he acabado de pulirlo lo más que he podido, pero como todo siempre se puede mejorar, ahora que funciona sin romperse voy a ver si lo puedo subir al cloud de hostinguer que es donde tengo la web, que me permite instalar node y subir todo el proyecto para que se ejecute en el servidor para evitar las caídas más probables en casa y que me consume recursos, que las caídad en cloud. Lo ideal es vps, pero como tengo cloud y esto no genera nada, pues si lo permite hostinguer en esta modalidad hosting pues ahí lo metemos. Pero vamos que podéis comentar y proponer cosas, para esto dejamos el hilo como centro de operaciones.https://ijccrl-live.ijccrl.com/ ( ahora ya se vé en tiempo real, he tenido que marear un poco al tener que usar cloudfare, tunnel etc, pero ahora ya es cuestión de que vosotros digáis donde podemos situar el banner, porque tendrá visitas aseguradas)
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines

Ahora os subo el código completo. Para que @cobito cuando puedas y tengas tiempo en el index.html poner el banner de hardlimit. Ya he acabado de pulirlo lo más que he podido, pero como todo siempre se puede mejorar, ahora que funciona sin romperse voy a ver si lo puedo subir al cloud de hostinguer que es donde tengo la web, que me permite instalar node y subir todo el proyecto para que se ejecute en el servidor para evitar las caídas más probables en casa y que me consume recursos, que las caídad en cloud. Lo ideal es vps, pero como tengo cloud y esto no genera nada, pues si lo permite hostinguer en esta modalidad hosting pues ahí lo metemos. Pero vamos que podéis comentar y proponer cosas, para esto dejamos el hilo como centro de operaciones. -
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
El enlace con el sourcode ( falta pulir ui y detalles, pero ya funciona)
https://mega.nz/file/By9nxagA#WKCU20-l_zDJkYJzFgsdMHP_IiSwpyYz-3cGFDuRVvU -
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
@cobito Acabo de abrirlo desde mi lado, y sin problemas. De todas formas te lo subo a mega. Aprovecho para subir también el sourcode del proyecto que hemos conseguido por fih retransmisión a tiempo real.
https://mega.nz/file/BjtQSIpa#Qgch1fBAWD3T3GfUPMVT8_BMail7b1ceD4WANXjfvxY -
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
Os paso el enlace con mis contactos que la mayoría son todos extranjeros, menos un par de suscriptores que son de aquí ( uno de ellos vive en mi antiguo barrio en BCN). https://pixeldrain.com/u/7g3JuJrn
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
Ahora escribo yo, porque estoy medio ciego ya de escribir. Como podéis leer, hemos dado con la forma de hacerlo precisamente porque se lo he sugerido a GPT plus, porque con la app ( no descarto usarla si consigo o conseguimos salir del embudo, para ejecutarla desde linux en un vps, pero eso sería más adelante) no había forma. Ahora ya está resuelto, como bien ha explicado la IA. Un abrazo compañeros.
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
Perfecto. Vamos a endurecer el tono, hacerlo más “hardlimit”, y añadir fragmentos de código clave, sin postureo ni marketing. Esto es para gente que ha peleado con IPC, clocks y procesos en Windows/Linux.
Te dejo un post técnico, listo para publicar, con propuesta clara del banner de hardlimit al final.
Retransmisión de ajedrez en tiempo real – arquitectura UCI + Node.js (sin PGN, sin WinBoard)Buenas,
abro este mensaje para documentar una solución técnica real encontrada hoy, después de meses de pruebas con arquitecturas que funcionaban pero no resolvían el problema de fondo.
Lo comparto aquí porque el enfoque es interesante desde el punto de vista de arquitectura de sistemas, IPC, tiempo real y diseño limpio, independientemente de que os interese o no el ajedrez.
El problema (definido correctamente)Objetivo:
- Retransmitir partidas jugada a jugada en tiempo real
- Motores locales (Stockfish y derivados)
- Relojes exactos (control tipo 120+1)
- Latencia mínima
- Visualización estable durante horas
- Control total del stack
Restricciones reales:
PGN no es tiempo real (es un log)
WinBoard/XBoard es frágil bajo ejecución prolongada
Grabación de pantalla no es una solución técnica
APIs cerradas / servicios externos = caja negra
Conclusión temprana (que tardamos en aceptar):
El problema no se resuelve añadiendo capas, sino quitándolas.
Por qué descartamos la app “clásica”Durante meses usamos:
- cutechess-cli
- WinBoard
- VPS + scripts
- parsing de PGN
- polling periódico
Sí, funcionaba… pero:
- Latencia acumulada
- Relojes inexactos
- Estados inconsistentes
- Complejidad innecesaria
- Demasiados puntos de fallo
El error no era de implementación.
Era arquitectónico.
Arquitectura final (la que sí funciona)La solución fue bajar al nivel correcto: UCI puro.
[ Motor A ] [ Motor B ] │ │ └────── UCI ───────┘ │ Node.js (proxy UCI) child_process.spawn │ WebSocket (push) │ NavegadorSin PGN.
Sin WinBoard.
Sin polling.
Fragmento clave 1: Lanzar motores (IPC real)import { spawn } from "child_process"; const engine = spawn( "C:/engines/brainlearnjrc.exe", [], { stdio: "pipe", windowsHide: true } ); engine.stdin.write("uci\n"); engine.stdin.write("isready\n");Esto no es un wrapper mágico.
Es stdin/stdout directo, como debe ser.
♟️ Fragmento clave 2: Loop UCI mínimo
engine.stdout.on("data", (buf) => { const lines = buf.toString().split("\n"); for (const line of lines) { if (line.startsWith("info ")) { // depth, eval, pv → streaming } if (line.startsWith("bestmove")) { // aplicar jugada inmediatamente } } });Cada
bestmovees la verdad.
No hay estados intermedios ni reinterpretaciones.
️ Fragmento clave 3: Relojes exactos (no simulados)Este era el punto crítico.
En lugar de
movetime, se usa reloj real UCI:go wtime 120000 btime 120000 winc 1000 binc 1000En el proxy:
thinkingStartedAt = Date.now(); // cuando llega bestmove const elapsed = Date.now() - thinkingStartedAt; wTime = wTime - elapsed + increment;Resultado:
- Relojes exactos
- Incremento real
- Comportamiento idéntico a un GUI serio
- Sin drift acumulado
Fragmento clave 4: WebSocket (push real)Nada de polling.
const wss = new WebSocketServer({ server }); function broadcast(obj) { const msg = JSON.stringify(obj); wss.clients.forEach(ws => ws.send(msg)); }Eventos emitidos:
moveclockinfo
Latencia perceptible ≈ cero.
️ Visualización: decisiones pragmáticas- Piezas Unicode
- CSS local
- Sin CDN
- Sin SVG
- Sin dependencias externas
¿Por qué?
Porque no se rompe.
Esto tiene que aguantar horas/días en directo.
Resultado realEn pocas horas:
- Retransmisión jugada a jugada
- Tiempo real auténtico
- Relojes exactos
- Eval/PV en vivo
- Sistema estable
- Código simple y auditable
Lo que durante meses no cuajó con arquitecturas más “bonitas”.
🧠 Conclusión (para ingenieros)
- El PGN no es tiempo real
- WinBoard no está pensado para streaming moderno
- El nivel correcto era UCI, no por encima
- Menos capas = más fiabilidad
A veces la optimización real no es micro, sino conceptual.
🧩 Propuesta: banner de HardLimit
Dado que este proyecto se ha desbloqueado gracias a debates y mentalidad técnica como la que siempre ha habido aquí, me gustaría integrar un banner discreto de HardLimit en el visor live, por ejemplo:
“Proyecto desarrollado y documentado por miembros veteranos de HardLimit.com”
Con enlace directo al foro/hilo.
Si a los moderadores o a la comunidad le parece bien, encantado de hacerlo.
Si alguien quiere:
- revisar código
- debatir clocks / scheduling
- portar a Linux puro
- o discutir escalado
lo comentamos sin problema.
Un saludo

y larga vida a los foros técnicos de verdad. -
RE: IJCCRL Chess GUI
Tras el parón por las fiestas. Vuelvo a ponerme con esto que aunque ya he comprobado que funciona mediante cli, falta la capa visual, hay un embudo en el que estamos atascados gtp y yo. EL orden que usa winboard o Xboard si es desde linux es: 1. tlcs ( server.ini configurado con los paths correctos, ya ahondaremos en esto) 2. wireguard configurado correctamente 3. Ejecutar tlcs. 4. lanzar el torneo desde el framework ( la consola de tlcs recibe los datos del torneo en el caso de winboard es un archivo debug que es el que añade los datos) 5. Desde el vps, lanzar node-tlcv y entonces ya tenemos conectado tlcs y node, luego el visor web retransmite a tiempo real el torneo. En nuestro framework, hemos cogido esta idea, pero hemos creado la app desde el framework chessgui ( ccrl.live retransmite con este framework y con el mismo sistema) y no es un archivo .debug sino un txt. La cuestión es que los torneos sí que funcionan, pero no conseguimos que el cliente tlcs cambie el tablero, aunque el archivo .txt sí que recoge las jugadas y node-tlcv desde el vps conecta como con winboard, a tlcs. Cómo aunque es la versión plus, no deja de ser gpt al mayor plagio creado en la historia, se equivoca y puede dejar un espacio, añadir un carácter erróneo en el código y hay que ir depurando y depurando, pero sin conseguir retransmitir como si hicimos con winboard. Porqué no usé winboard, porque sólo permite lanzar una partida entre dos motores de ajedrez, no un torneo. En cualquier caso, aprovecho de nuevo para felicitar el año nuevo a todos y ya pasaremos a cuestiones de programación cuando pasen las fiestas. Un abrazo, compañeros.
-
IJCCRL Chess GUI
IjccrlChessGui es un marco abierto y moderno para torneos de motores + canal de retransmisión en directo inspirado en el concepto histórico «ChessGUI»:
ejecutar partidas de motores localmente y retransmitirlas en tiempo real a un sitio web.El objetivo final es ofrecer una alternativa práctica, reproducible y de código abierto a las pilas de retransmisión cerradas «estilo ChessGUI» que utilizan las principales ligas de motores, pero adaptada al ecosistema IJCCRL (pruebas, listas de clasificación y eventos en directo).
( Breve descripción del proyecto de código abierto. Dejo el Hilo como centro de operaciones de la aplicación: https://github.com/jordiqui/IjccrlChessGui )
-
RE: Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
@cobito dijo en Banner de Hardlimit en app broadcast torneos entre elite uci chess engines:
@jordiqui Buenas. Me parece bien. De hecho, si quieres podrías usar el foro como centro de soporte del programa. Probablemente a finales de enero comiencen las primeras pruebas multiidioma del foro, por si tienes una base de usuarios internacional.
Estoy fuera y no puedo mirar los pormenores de tu desarrollo (estoy con el móvil). Cuando vuelva le echo un ojo.
Un saludo, gracias por pensar en Hardlimit y felicidades por la herramienta.
Pues es una buena idea usar el foro como centro de soporte, porque vosotros sabéis programar, muchos de vosotros de hecho trabajáis en ello y desde mi lado uso gpt y codex de gpt para tareas complejas, pero a duras penas escribo tres líneas de código. Lo que sí tenía claro era la arquitectura del proyecto ya que durante meses he revisado lo poco que había sobre este tema con sourcode. Estamos en fechas de navideñas y quien más o quien menos está liado. Pero desde luego No se me había pasado por la cabeza y has dado en el clavo. Y sí he pensado en vosotros, en el foro, no podía ser de otra forma. Aprovecho para felicitar la navidad a todos y ya si acaso me dices dónde consideras más apropiado abrir el hilo. Un abrazo!
-
Banner de Hardlimit en app broadcast torneos entre elite uci chess engines
Hola compañeros, un cordial saludo a todos y especialmente a mis amigos krampak, Cobito y todos los que me enseñaron mucho en su momento cuando no tenía ni idea de nada.
Paso el lío, desde hace tiempo ando liado con una aplicación o interfaz gráfica de código abierto GNU/ Xboard, con el objetivo de realizar retransmisiones en tiempo real. Básicamente la estructura era Xboard o Winboard ( windows) un cliente ( tlcs) tunel ( Wireguard) vps y node-tlcv que permitía mostrar en un visor web ( html) las partidas en tiempo real. Pero las limitaciones eran que no podía realizar torneos, sino sólo enfrentamientos entre dos motores. Esto sí que lo he conseguido, pero no es mi objetivo. Luego me he puesto a crear ( tenía el interfaz más moderno, pero lo perdí y los que lo usan no lo comparten) una aplicación más moderna con lo báisco para que se puedan realizar las retransmisiones en directo a tiempo real entre una lista de los 10 principales motores de ajedrez que están en las listas de rating más populares a nivel mundial. Pero desgraciadamente, no comparten el cómo hacerlo, y en algunos casos hay que pagar ( lo respeto, pero no lo comparto en este caso concreto que no es un software para comercializar y que antes era libre y lo sigue siendo en GNU, que se han aprovechado del sourcode de GNU para luego cerrar el código y realizar esos test). Bien pues como propuesta por todo lo que he aprendido aquí y que sigo aprendiendo, me gustaría inlcuir un Banner de Hardlitmit ( único, no pondré nada más) para que la gente que se conecte a ver los torneos puedan conocer nuestro foro.) Sin compromiso alguno y por mi agradecimiento y buenos recuerdos de este entrañable lugar y buena gente. https://github.com/jordiqui/IjccrlChessGui/tree/main ( aquí está el proyecto en la github, no está terminado, pero cuando lo esté y espero compilar hoy para probar, me gustaría añadir a hardlimit en un lugar relevante del visor web. Feliz fin de semana y feliz navidad a todos los miembros del foro, especialmente a mi amigo krampak ( vuelvo este año a la bici desde Guardamar del segura, Alicante para llegar a los 4 w/kg) y Cobito por su tremendo trabajo en este foro. -
RE: Fallo de seguridad en los Zen 5
Siempre hay que esperar a las revisiones antes de comprar un procesador. Ahora que ando liado con ayuda del chatgpt con servidores vps, linux y phyton, c , etc sí que me fijo en estos temas que antes ni sabía que existian. Gracias por comentarlo, aunque por suerte el mini pc que he cogido para medio laborar su cpu pertenece a zen 4. Codename hawk Point.
-
RE: Banco de pruebas Hardlimit
Hola compañeros. He pasado el banco de pruebas con un Ryzen 7 8745HS y es la leche que en un formato como el que he escogido porque no hay para más, un mini pc, sea tan rápido comparado con mis trastos. Pero como necesitaba compilar en instrucciones modernas, motores de ajedrez, por petición de los usuarios, pues he cogido esta opción, por precio. Pero me sorprende como avanza el asunto. 4 nm y vuela, lógicamente no es para 24/7, pero me ha salvado el tema de los binarios. En fin, como siempre es un placer y ya tenéis otro procesador más en el historial, porque he visto que no había datos de uno igual. Un saludo.
-
RE: Cluster 3 nodos de Hp proliant dl360p gen8
@cobito dijo en Cluster 3 nodos de Hp proliant dl360p gen8:
@jordiqui Te refieres al tema del MPi que comentaste por aquí ¿no?
Está apuntado. Será el primer cambio de la próxima iteración, pero no sé cuando. Tengo muchos cambios apuntados de todas las páginas y necesito organizar el trabajo para optimizar el tiempo.
La verdad es que sería muy interesante (y una característica poco común).
A ver cómo entra 2024...
Eso es @cobito: Pero con todo lo que haces con el foro, etc. cuando pùedas porque imagino que integrar el MPi debe tener su faena. Un abrazo y feliz navidad con antelación

-
Cluster 3 nodos de Hp proliant dl360p gen8
Hola compañeros,
al final y viendo los precios que hay hoy en día, he desistido de comprar un pc y hemos añadido otro nodo más a los dos anteriores con la siguiente configuración final, pues no caben más en el armario.-
Hp proliant dl360p gen 8 2x e5 2697v2 24C 48T
-
Hp proliant dl360p gen 8 2x e5 2603v2 24C 48T
-
Hp proliant dl360p gen 8 2X e5 2680v2 20C 40T
Luego en aplicaciones que usen el mpi de microsoft nos encontramos con un total de 68 Cores físicos disponiblkes 136 Threads.
PD: aprovecho para comentar a @cobito la posiblidad de añadir código a la app del banco de pruebas que admita la interfaz de paso de microsoft.Un abrazo compañeros
-
)