Básicamente, estoy ejecutando un sitio de juegos en línea en el que cada "partido" tendría una duración determinada, después de dicha duración, el "partido" cambiaría de nombre y detalles. ¿Cómo implemento una cuenta regresiva en vivo que se sincroniza con todos los usuarios, que continúa ejecutándose en el lado del servidor incluso cuando un usuario cierra la ventana?
No necesita un contador distribuido para esto. La marca de tiempo que necesita es state , y el servidor del juego debe administrar el estado.
En Firebase (o Firestore) puede implementar esta funcionalidad con un detector de instantáneas . Luego, cada cliente se suscribiría a este oyente. Consulte esta pregunta para ver un ejemplo: Cómo implementar un temporizador de cuenta regresiva distribuido en Firebase .
Además, puede encontrar útil este hilo en Reddit. https://www.reddit.com/r/Firebase/comments/mnitde/making_a_timer_for_a_tabletop_game_in_firebase/