Cómo grabar, guardar y compartir replays de HaxBall

Actualizada el 25 de septiembre de 2026 · 6 min de lectura

Una replay de HaxBall es la mejor prueba de lo que pasó en un partido: sirve para revisar un gol dudoso, sacar estadísticas o guardar la final de un torneo. Esta guía explica cómo grabar desde el juego y desde una sala headless, qué situaciones hacen que se pierda una grabación y cómo guardarla y compartirla con un link.

Grabar desde el juego: el botón Rec

Cualquier jugador puede grabar lo que ve en la sala; no hace falta ser admin. Los pasos son:

  1. Dentro de la sala, pulsa Esc (o el botón Menu) para abrir el menú de la sala.
  2. En la parte de arriba del menú hay tres botones: Rec, Link y Leave. Pulsa Rec: la grabación empieza y el botón queda resaltado mientras dure.
  3. Cierra el menú con Esc y sigue jugando o mirando normalmente.
  4. Para terminar, abre de nuevo el menú y pulsa Rec otra vez. El navegador descarga un archivo con un nombre como HBReplay-2026-08-28-22h14m.hbr2.

La grabación arranca con una foto completa de la sala en ese instante, así que puedes empezar con un partido ya en juego y se verá bien desde el primer segundo. Aun así, si quieres el partido completo, pulsa Rec antes del saque inicial: lo que pasó antes de grabar no se puede recuperar. Si te interesa qué guarda exactamente el archivo, está explicado en el formato .hbr2 por dentro.

Cómo no perder la grabación

Mientras grabas, todo se va acumulando en la memoria de la pestaña del juego. El archivo recién existe cuando detienes la grabación con Rec. Eso deja tres formas de perderla:

  • Salir con Leave. Si sales de la sala con el botón Leave y confirmas «Leave room?», el juego no ofrece guardar lo grabado. Detén primero con Rec y después sal.
  • Cerrar la pestaña o el navegador. La grabación en curso se pierde entera.
  • Ignorar el aviso de desconexión. Si se corta la conexión con la sala mientras grabas, aparece la ventana «Disconnected» con dos botones, Ok y Save replay. Pulsa Save replay antes de Ok: es la única oportunidad de bajar el archivo.

Para una liga conviene una grabación por partido en lugar de una sola de toda la noche: los archivos quedan más fáciles de ordenar, de compartir y de revisar, y cada uno entra holgado en los límites de las herramientas.

Grabar en una sala headless

Las salas headless, las que se hostean con la API de HaxBall desde haxball.com/headless, no tienen botón Rec: se graba con código. La API tiene dos funciones:

  • room.startRecording() empieza a grabar. Si ya había una grabación en curso, la descarta sin avisar y empieza una nueva.
  • room.stopRecording() termina la grabación y devuelve los bytes del archivo como un Uint8Array, o null si no se estaba grabando.

Lo habitual es grabar cada partido por separado, usando los eventos de inicio y fin. Este ejemplo descarga el archivo en la misma pestaña donde corre la sala, con el mismo formato de nombre que usa el juego:

const room = HBInit({ roomName: 'Mi liga', maxPlayers: 12 }); // y el resto de tus opciones

room.onGameStart = () => room.startRecording();

room.onGameStop = () => {
    const rec = room.stopRecording();
    if (!rec) return;
    const d = new Date();
    const dos = (n) => String(n).padStart(2, '0');
    const nombre = 'HBReplay-' + d.getFullYear() + '-' + dos(d.getMonth() + 1) + '-' + dos(d.getDate())
        + '-' + dos(d.getHours()) + 'h' + dos(d.getMinutes()) + 'm.hbr2';
    const a = document.createElement('a');
    a.href = URL.createObjectURL(new Blob([rec]));
    a.download = nombre;
    a.click();
};

Como startRecording() pisa la grabación anterior, no la llames en más de un evento sin antes guardar lo que devuelve stopRecording().

Nombrar y ordenar los archivos

El juego nombra cada archivo como HBReplay-AAAA-MM-DD-HHhMMm.hbr2, con la fecha y la hora del momento en que se guarda el archivo (al detener la grabación), no del momento en que empezó. Ese nombre importa más de lo que parece: el archivo en sí no guarda ninguna fecha, y el analizador de Spike la lee del nombre para mostrarla en la pestaña Info.

Puedes agregar texto sin perder la fecha. El analizador busca el patrón HBReplay-AAAA-MM-DD-HHhMMm en cualquier parte del nombre, así que algo como Fecha 3 - Rojos vs Azules - HBReplay-2026-08-28-22h14m.hbr2 sigue funcionando. Si borras esa parte, lo único que queda es la fecha de modificación del archivo, que no siempre coincide con el día del partido.

Para un torneo, una carpeta por fecha o por fase con los partidos adentro es suficiente. Si vas a guardarlos en Spike, las carpetas del perfil hacen lo mismo y además se pueden compartir, como se ve más abajo.

Verlas: el reproductor de HaxBall o el analizador

El reproductor del juego

En la pantalla principal de HaxBall, la de la lista de salas, está el botón Replays. Elige el archivo .hbr2 y la grabación empieza a reproducirse. Los controles son pocos: volver al principio, pausar, bajar o subir la velocidad (0.5x, 0.75x, 1x, 2x y 3x), la barra de tiempo con una marca por cada gol y Leave para salir. Puedes hacer clic en cualquier punto de la barra para saltar.

Ir hacia adelante es rápido, pero ir hacia atrás obliga al reproductor a empezar de nuevo desde el principio y adelantar hasta el momento pedido, así que en grabaciones largas hay que esperar un poco. Si el archivo es de otra versión del formato, el juego muestra «Incompatible replay version» y ofrece abrir un reproductor para esa versión.

El analizador de Spike

En el analizador arrastras el archivo a la página o pulsas «Elegir archivo». La simulación y el análisis corren en tu navegador: el archivo no se sube a ningún lado mientras no decidas guardarlo. Además del reproductor, con velocidades de 0.5x a 8x y saltos instantáneos a cualquier momento, tienes marcador por partes, momentum, mapas de calor, tiros, red de pases y el ping de cada jugador. Cómo usarlo está en la guía del analizador, y para sacar un video con los goles, en exportar los highlights a video.

Guardar y compartir en Spike

Para compartir una replay sin mandar el archivo, guárdala en tu perfil. En el analizador, con la replay abierta, pulsa Guardar. Si no iniciaste sesión, te pide hacerlo con Discord; al volver, si el archivo pesa hasta 3 MB, el analizador lo abre solo y te muestra la ventana de guardado. Si pesa más, tendrás que cargarlo otra vez.

La ventana de guardado tiene tres opciones:

  • Nombre: por defecto, el nombre del archivo sin la extensión.
  • Carpeta: «Sin carpeta» o una tuya; puedes crear una nueva desde ahí mismo.
  • Pública: si está encendida, la replay aparece en la lista Replays de la comunidad, donde cualquiera puede buscarla por nombre, sala, jugador o estadio. Viene encendida para tus propias grabaciones.

Al guardar recibes el link para compartir. Quien lo abra ve el analizador con la replay ya cargada, sin tener que bajar el archivo ni iniciar sesión. Ten en cuenta que «Pública» solo decide si aparece en la lista: el link funciona para cualquiera que lo tenga, esté publicada o no. Si una replay no debe verla nadie más, no compartas su link.

Si guardas dos veces el mismo archivo no se duplica: el analizador avisa que ya estaba en tu perfil. Cada replay puede pesar hasta 10 MB, y cada cuenta guarda hasta 100 replays en hasta 50 carpetas.

Desde tu perfil (Mis replays) puedes renombrar, mover de carpeta, descargar el .hbr2, copiar el link, publicar u ocultar cada replay y borrarla. Cada carpeta tiene además su propio link («Copiar link de la carpeta»), que abre una página con todas sus replays: es la forma más cómoda de compartir todos los partidos de una fecha de una sola vez.

En tu liga de Discord: /analyze

Si tu servidor usa Spike, cualquier miembro puede adjuntar la grabación al comando /analyze y el bot responde con el marcador, la posesión, los tiros, la duración, la línea de goles, los penales y las plantillas. Acepta archivos .hbr2 y .hbr de hasta 8 MB, detecta partidos jugados por mitades con el marcador de cada parte y marca los goles en contra con (OG) y los de penal con (penal). El botón «Definir equipos» sirve para cambiar los nombres Rojo y Azul. Todos los detalles del comando están en Partidos y replays, y cómo armar el resto de la liga, en organizar una liga de HaxBall en Discord.

Más guías