Integración domótica Game Servers (GameDig), gratuita y de código abierto

Valheim, Counter-Strike, ARK, Rust… y 300 juegos más: estado del servidor, jugadores, llegadas.
Siga sus servidores de juego desde Gladys: si cada uno está en línea, cuántos jugadores hay y quiénes, el mapa, el nombre del servidor, la versión y el ping. Gladys puede reaccionar cuando un jugador llega o se va, cuando el servidor se cae o vuelve, se vacía o se llena. Valheim, Counter-Strike, ARK, Rust, Satisfactory, Palworld, 7 Days to Die, Project Zomboid, Quake… más de 300 juegos, en casa (un NAS, un PC, una Raspberry Pi) o alquilados en Internet.
La integración lee cada servidor como lo hace el navegador de servidores del juego, gracias a la biblioteca libre GameDig: ninguna cuenta de juego, ningún plugin, nada que instalar en el servidor. No está afiliada a GameDig ni a ningún editor de juegos.
Para un servidor Minecraft, use mejor la integración dedicada
Minecraft Server
(gladys-minecraft): lee la lista completa de jugadores por RCON y puede
enviar mensajes al chat.
Probada solo con un servidor OpenArena real: sus comentarios son bienvenidos. Los demás juegos pasan por la misma biblioteca pero no se han probado con un servidor real, y todavía no se ha probado nada en un Gladys real. Si algo no funciona como se describe, indíquelo en el foro de Gladys o en las issues.
Lo que necesita
- Gladys Assistant 5.1.0 o posterior.
- Un servidor de juego accesible desde Gladys, cuyo juego esté en la lista de juegos de GameDig.
- Sus consultas deben responder. Es así por defecto en la mayoría de los
juegos; algunos necesitan un ajuste:
- Valheim: iniciar el servidor en modo público (
-public 1); - Palworld:
RESTAPIEnabled=True, y la contraseña de administrador en la configuración; - Terraria: el mod TShock y un token REST;
- Farming Simulator: el token de la interfaz web del servidor;
- 7 Days to Die, Counter-Strike 2, Conan Exiles: dan el número de jugadores, no sus nombres.
- Valheim: iniciar el servidor en modo público (
- Un cortafuegos delante del servidor debe dejar pasar el puerto de consulta (a menudo un puerto UDP junto al puerto de juego: Valheim 2457, ARK 27015…).
Configuración
- Instale la integración desde el catálogo de Gladys.
- En Configuración, para cada servidor (cuatro como máximo):
- elija el Juego. ¿No está en la lista? Elija Otro (tipo GameDig) y
escriba su identificador de la lista de juegos de GameDig (
barotrauma,insurgency…) en Tipo GameDig; - introduzca la Dirección:
192.168.1.20,game.example.com, y:puertocuando el puerto no sea el predeterminado del juego. Normalmente el puerto de juego: GameDig deduce de él el puerto de consulta de la mayoría de los juegos, y el propio puerto de consulta también sirve. Palworld pide el puerto de su API REST (8212), Farming Simulator el de su interfaz web (8080); - si lo desea, un Nombre mostrado en Gladys, y la Contraseña o token de los pocos juegos que lo piden.
- elija el Juego. ¿No está en la lista? Elija Otro (tipo GameDig) y
escriba su identificador de la lista de juegos de GameDig (
- Elija el Intervalo de lectura (1 minuto por defecto) y, si hace falta, el Tiempo de espera de respuesta y los Intentos por lectura para un servidor lejano.
- Guarde y haga clic en Probar la conexión: una línea por servidor, con su juego, jugadores, ping y mapa.
- En Descubrimiento, añada los dispositivos que quiera conservar en Gladys (historial, panel). Los disparadores de escena y el widget funcionan incluso sin ellos.
El dispositivo de cada servidor
| Función | Lo que muestra |
|---|---|
| En línea | 1 cuando el servidor responde, 0 tras dos lecturas sin respuesta |
| Jugadores conectados | las personas que juegan ahora (los bots no cuentan) |
| Plazas | el número máximo de jugadores |
| Jugadores | quién juega, o cuántos cuando el juego no da los nombres |
| Mapa | el mapa o mundo actual, cuando el juego lo facilita |
| Nombre del servidor | el nombre que anuncia el servidor, cuando el juego lo facilita |
| Versión | la versión del servidor de juego, cuando el juego la facilita |
| Ping | el tiempo de la consulta, en milisegundos |
Mapa, Nombre del servidor y Versión solo aparecen cuando el juego ha facilitado un valor: Mumble no tiene mapa, muchos juegos no tienen versión. Un servidor leído por primera vez fuera de línea los recibe más tarde; Gladys propone entonces Actualizar en el dispositivo en la pestaña Descubrimiento.
Los nombres de las funciones se escriben en el Idioma de los nombres de la configuración, al crear el dispositivo.
Panel
El widget Servidores de juego muestra una ficha por servidor (jugadores conectados y plazas, en verde cuando responde, en rojo cuando está fuera de línea), luego el estado y el mapa de cada servidor y quién juega. Todos los servidores por defecto, o el elegido en la configuración del widget.
Escenas
Disparadores
- Un jugador se ha unido al servidor de juego: con el Nombre del jugador cuando el juego facilita los nombres de todos, si no con un nombre vacío. El filtro Nombre del jugador (vacío: cualquiera) se compara exactamente, mayúsculas incluidas.
- Un jugador ha abandonado el servidor de juego: da también los Minutos jugados cuando se vio llegar al jugador.
- El servidor de juego está fuera de línea: tras dos lecturas sin respuesta, con 15 segundos de intervalo. Sin salida para cada jugador en ese caso.
- El servidor de juego vuelve a estar en línea: con los Minutos fuera de línea.
- El servidor de juego está vacío: el último jugador se ha ido.
- El servidor de juego está lleno: todas las plazas están ocupadas.
Cada disparador puede limitarse a un servidor, y pasa a las acciones siguientes el nombre del servidor y el juego, y el número de jugadores salvo cuando el servidor se cae. Un servidor ya fuera de línea al arrancar la integración no dispara «fuera de línea». Un servidor que se reinicia con muchos jugadores dispara diez llegadas como máximo.
Acciones
- Leer un servidor de juego: lo consulta ahora y pasa su estado a los pasos siguientes: En línea, Jugadores conectados, Plazas, Jugadores, Mapa, Versión, Ping… Para un mensaje («3 jugadores en Valheim: Ann, Bob, Chris»), o una condición Continuar solo si sobre En línea.
Ideas de escenas
- Alguien se ha unido a nuestro servidor → una notificación con el nombre del jugador y el del servidor, elegidos en las variables del disparador.
- El servidor de juego está fuera de línea → un mensaje de Telegram a quien lo gestiona, y volver a encender el enchufe del servidor a los 5 minutos.
- Viernes a las 21 h → Leer un servidor de juego → Continuar solo si En línea → un mensaje «ya hay N jugadores en el mapa», con Jugadores conectados y Mapa.
- El servidor de juego está vacío por la noche → apagar el enchufe del PC de juegos.
Solución de problemas
- No responde (¿juego, puerto, consultas activadas?): ¿el juego correcto?
¿El puerto correcto (pruebe el de juego y el de consulta)? ¿Las consultas
activadas en el servidor (Valheim
-public 1, API REST de Palworld)? ¿Un cortafuegos que deja pasar UDP? Losdocker logsde la integración conLOG_LEVEL=debugmuestran cada lectura. - Nombre no encontrado: el nombre de la dirección no se resuelve desde Gladys.
- Tipo GameDig desconocido: el identificador escrito en Tipo GameDig no está en la lista de juegos de GameDig.
- Jugadores da un número, no nombres: el juego no los facilita (Counter-Strike 2, 7 Days to Die, DayZ…). Los disparadores funcionan entonces por número.
- Jugadores conectados vale 0 aunque haya bots: los bots no cuentan, a propósito.
Límites
- Lectura cada minuto por defecto (cada 30 segundos como máximo): un jugador que se queda menos de un intervalo puede pasar desapercibido, y los eventos llegan con una lectura de retraso.
- ARK: Survival Ascended y Factorio no están en la lista: GameDig los lee a través de la API de lobby de su editor, que solo conoce los servidores públicos y recibiría la dirección. Siguen siendo posibles con Otro (tipo GameDig) (
asa,factorio). - Cuatro servidores como máximo. GameDig lee lo que publica cada juego: nombres, mapa y versión dependen del juego, y algunos juegos anuncian menos jugadores de los que hay.
- La consulta son unos pocos paquetes pequeños por lectura: nunca carga un servidor, y los servidores públicos no la limitan a este ritmo.
- No se modifica nada en los servidores: la integración solo los lee.
- Los secretos introducidos en la configuración solo van al servidor de juego correspondiente y nunca aparecen en los registros.
GameDig es © sus colaboradores, licencia MIT.
Parámetros de configuración
Estos son los parámetros que Game Servers (GameDig) te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Sus servidores de juego | section | No | Leídos como el navegador de servidores del juego, sin ninguna cuenta, gracias a GameDig (más de 300 juegos). En casa o en línea. Hasta cuatro servidores. |
| Servidor 1 | section | No | |
| Juego | select | No | |
| Tipo GameDig (juego «Otro») | string | No | El identificador de la lista de juegos de GameDig, p. ej. barotrauma o protocol-valve. |
| Dirección | string | Sí | Dirección IP o nombre, :puerto si no es el predeterminado del juego (puerto de juego o de consulta). |
| Nombre mostrado en Gladys | string | No | Vacío: el juego y la dirección. |
| Contraseña o token (algunos juegos) | secret | No | Solo Palworld (contraseña de administrador, API REST activa), Terraria TShock y Farming Simulator (token), Satisfactory (token opcional). |
| Servidor 2 | section | No | Opcional: deje la dirección vacía si no tiene otro servidor. |
| Juego | select | No | |
| Tipo GameDig (juego «Otro») | string | No | El identificador de la lista de juegos de GameDig, p. ej. barotrauma o protocol-valve. |
| Dirección | string | No | Dirección IP o nombre, :puerto si no es el predeterminado del juego (puerto de juego o de consulta). |
| Nombre mostrado en Gladys | string | No | Vacío: el juego y la dirección. |
| Contraseña o token (algunos juegos) | secret | No | Solo Palworld (contraseña de administrador, API REST activa), Terraria TShock y Farming Simulator (token), Satisfactory (token opcional). |
| Servidor 3 | section | No | Opcional: deje la dirección vacía si no tiene otro servidor. |
| Juego | select | No | |
| Tipo GameDig (juego «Otro») | string | No | El identificador de la lista de juegos de GameDig, p. ej. barotrauma o protocol-valve. |
| Dirección | string | No | Dirección IP o nombre, :puerto si no es el predeterminado del juego (puerto de juego o de consulta). |
| Nombre mostrado en Gladys | string | No | Vacío: el juego y la dirección. |
| Contraseña o token (algunos juegos) | secret | No | Solo Palworld (contraseña de administrador, API REST activa), Terraria TShock y Farming Simulator (token), Satisfactory (token opcional). |
| Servidor 4 | section | No | Opcional: deje la dirección vacía si no tiene otro servidor. |
| Juego | select | No | |
| Tipo GameDig (juego «Otro») | string | No | El identificador de la lista de juegos de GameDig, p. ej. barotrauma o protocol-valve. |
| Dirección | string | No | Dirección IP o nombre, :puerto si no es el predeterminado del juego (puerto de juego o de consulta). |
| Nombre mostrado en Gladys | string | No | Vacío: el juego y la dirección. |
| Contraseña o token (algunos juegos) | secret | No | Solo Palworld (contraseña de administrador, API REST activa), Terraria TShock y Farming Simulator (token), Satisfactory (token opcional). |
| Lecturas | section | No | |
| Intervalo de lectura | select | No | Con qué frecuencia se consulta cada servidor. Un primer fallo se vuelve a comprobar 15 s después. |
| Tiempo de espera de respuesta | select | No | Por paquete. Auméntelo para un servidor lejano. |
| Intentos por lectura | select | No | Los paquetes UDP se pierden: una lectura solo falla tras este número de intentos. |
| Idioma de los nombres | select | No | De las funciones de los dispositivos y de los textos que escribe la integración. |
Cómo instalar Game Servers (GameDig) en Gladys
- En Gladys, abre Integraciones: Game Servers (GameDig) aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-gamedig:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-gamedig.
Game Servers (GameDig) requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Game Servers (GameDig) es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación