Ha salido una nueva versión de la plataforma de gestión de servidores de juego. La mayoría de los cambios son técnicos y afectan al sistema de plugins: se han modificado más de 1000 archivos y se han añadido más de 100 000 líneas de código.

Sistema de plugins actualizado #

El sistema de plugins es el que más cambios ha recibido: se han añadido nuevas capacidades y se han ampliado las existentes.

Nuevas capacidades para los plugins #

Los plugins se ejecutan en un entorno aislado e interactúan con el panel únicamente a través de las funciones que el panel (el host) expone mediante una API interna. Este conjunto de funciones ha crecido:

  • Almacén de credenciales (secretos). Los valores se cifran con la clave del panel (AES-256-GCM) y quedan vinculados a su propietario: un plugin no puede leer los secretos de otro.
  • Conexiones SSH. Están pensadas para preparar nuevos servidores virtuales en los que todavía no está instalado GameAP Daemon. Esto permite añadir y configurar automáticamente servidores dedicados en su infraestructura. El módulo SSH está desactivado de forma predeterminada; el administrador lo activa con la variable de entorno PLUGINS_SSH_ENABLED.
  • Operaciones ampliadas con los archivos de los servidores dedicados: los archivos grandes se leen por partes y se transmiten al navegador directamente, sin cargarse en la memoria del plugin.
Edición de los permisos concedidos a un plugin
Permisos del plugin

Instalación y actualización de plugins #

  • Un plugin se puede actualizar desde un archivo local. Antes de instalarlo, el panel muestra la descripción del plugin y los permisos que solicita, sin instalar nada.
  • Al actualizar se conservan los datos, la configuración y los permisos concedidos anteriormente. Los permisos nunca se amplían automáticamente.
  • Los plugins que se detienen se reinician automáticamente.
  • Si el panel funciona en varias instancias, el estado de los plugins se sincroniza entre ellas automáticamente.

Compatibilidad #

La compatibilidad hacia atrás se comprueba automáticamente: los plugins compilados para versiones anteriores del panel siguen funcionando en la nueva.

Las variables de entorno PLUGIN_* han pasado a llamarse PLUGINS_*. Los nombres antiguos siguen funcionando por ahora, pero al usarlos se escribe una advertencia en el registro.

Más lugares para los plugins en la interfaz #

El número de lugares de la interfaz donde un plugin puede añadir su componente ha pasado de 6 a 20: la cabecera, la barra lateral, la página del servidor, la lista de servidores, el perfil del usuario y los formularios de administración.

Actualización del gestor de archivos #

El gestor de archivos ha recibido muchos cambios importantes y nuevas funciones.

Historial de archivos y directorios #

El panel recuerda los directorios que ha visitado y los archivos que ha abierto. El historial se guarda únicamente en su navegador y nunca se envía a ningún sitio. Mantiene dos tipos de listas:

  • Usados con frecuencia. Los archivos que edita más a menudo.
  • Accedidos recientemente. Los archivos y directorios que ha solicitado en último lugar.
Historial de directorios y archivos visitados en el gestor de archivos
Historial de archivos y directorios

Búsqueda en el directorio actual #

Puede encontrar rápidamente un archivo o directorio dentro del directorio abierto en ese momento. Hay varias formas de iniciar una búsqueda:

  • Pulsar el botón de la lupa en la barra de herramientas del gestor de archivos
  • Pulsar CTRL+F en su navegador
  • Simplemente empezar a escribir el nombre del archivo

La búsqueda también funciona cuando la distribución de su teclado no coincide con la del nombre del archivo que busca. Por ejemplo, al escribir «ыукмукюсап» con la distribución rusa se encuentra el archivo «server.cfg».

Búsqueda de un archivo en el directorio actual del gestor de archivos
Búsqueda en el directorio actual

Creación y extracción de archivos comprimidos #

Ahora puede comprimir archivos sueltos, grupos de archivos y directorios. Los archivos comprimidos se colocan en el directorio del servidor. Una vez creados, se pueden descargar. La compresión y la descompresión se realizan en el servidor dedicado, y el panel muestra el progreso de la operación.

Diálogo de creación de un archivo comprimido en el gestor de archivos
Creación de un archivo comprimido

Los archivos comprimidos se pueden crear en los siguientes formatos:

  • zip
  • tar
  • gzip
  • bz2
  • xz
  • zst

También puede subir un archivo comprimido al directorio de su servidor de juego y extraerlo.

La extracción es compatible con todos los formatos anteriores, así como con los propietarios:

  • 7zip
  • rar

Sumas de verificación de archivos #

Puede ver las sumas de verificación de los archivos que seleccione. Se admiten los siguientes algoritmos:

  • SHA256. Uno de los algoritmos más utilizados.
  • MD5
  • SHA1
  • SHA512
  • CRC32
  • CRC64
Sumas de verificación del archivo seleccionado
Sumas de verificación del archivo

Configuración de los servidores de juego #

Los parámetros de los mods de juegos ahora pueden definir tipos de variables, reglas de validación, una lista de valores permitidos y otras opciones adicionales. Esto facilita la edición de la configuración del servidor de juego: en la configuración del servidor de juego puede elegir un valor predefinido.

Tipos de variables admitidos: cadena, número, interruptor, lista, contraseña. Una variable puede tener reglas de validación, nombre y descripción traducidos y el indicador «Solo administradores». Al guardar el formulario, todos los errores de los campos se devuelven en una sola respuesta.

Configuración del servidor de juego con un valor elegido de una lista
Configuración del servidor de juego: elección de un valor de una lista

Las definiciones de juegos se pueden importar desde el formato de Pelican.

Los servidores dedicados ahora disponen de un conjunto arbitrario de metadatos en forma de pares clave-valor.

Versiones de GameAP y GameAP Daemon en los servidores dedicados #

La página de inicio del panel ahora muestra la versión actual de GameAP y si las versiones de GameAP Daemon en los servidores dedicados están actualizadas. Esto le ayuda a controlar las versiones de la plataforma e instalar las actualizaciones a tiempo.

Página de inicio del panel con las versiones de GameAP y GameAP Daemon
Versiones de GameAP y GameAP Daemon en la página de inicio

La información sobre las versiones se solicita como máximo una vez cada 6 horas; no se envía nada aparte de la propia solicitud. La comprobación se puede desactivar con la variable de entorno UPDATE_CHECK_ENABLED=false. La línea de comandos ahora cuenta con el comando gameap version.

SSO #

El SSO (inicio de sesión único) permite a un usuario entrar en el panel desde un sistema externo, como un sistema de facturación o el sitio web de un hosting, sin introducir una contraseña. El sistema externo emite un ticket de inicio de sesión de un solo uso, y el navegador del usuario lo canjea por una sesión normal. El ticket es válido durante 60 segundos y solo se puede usar una vez. Los administradores siguen teniendo que pasar la verificación de dos factores.

Seguridad de los tokens de acceso #

Se han endurecido las reglas para los tokens de acceso que se usan en las integraciones externas:

  • Los endpoints administrativos de la API que no declaran permisos de token ahora están completamente cerrados a las solicitudes con token. Antes, esos endpoints solo comprobaban el rol del propietario del token.
  • Los tokens no pueden asignar roles administrativos ni cambiar contraseñas o la configuración de dos factores, independientemente de los permisos concedidos.

Los nombres de usuario y las direcciones de correo electrónico ahora se normalizan a minúsculas.

Gestión del acceso de los usuarios a los servidores #

Se han añadido dos nuevos endpoints de la API para conceder y revocar el acceso a un servidor concreto:

  • PUT /api/users/{id}/servers/{server} asigna el servidor al usuario indicado;
  • DELETE /api/users/{id}/servers/{server} desasigna el servidor del usuario.

Asignar un servidor que ya está asignado no es un error. Al desasignarlo se conservan los privilegios concedidos para ese servidor, y vuelven a aplicarse cuando el servidor se asigna de nuevo. Esto simplifica la integración con sistemas externos.

La interfaz del panel usa los mismos endpoints: la asignación se aplica al instante, sin botón «Guardar». Da al usuario acceso a un servidor concreto y permite conceder privilegios de forma granular; todo lo demás en ese servidor sigue siendo inaccesible para él.

Para asignar un servidor, vaya a «Administración» → «Usuarios», seleccione un usuario y pulse «Editar». En el bloque «Servidores» pulse «Añadir» y elija el servidor; al hacer clic en el icono del candado se abre la selección de privilegios.

Asignación de un servidor de juego a un usuario
Asignación de un servidor de juego a un usuario

Nuevos idiomas #

Ahora se admiten el español y el alemán. Para cambiar el idioma, abra Perfil y pulse el botón «Editar perfil» en la parte superior. En la ventana modal que se abre, cambie el campo «Idioma».

Cambio de idioma en la sección Perfil del usuario
Cambio de idioma en la sección Perfil del usuario

Otros cambios menores #

  • La barra lateral y la versión móvil ahora usan una única lista de elementos del menú de administración.
  • Las tareas de GameAP Daemon se han movido del menú general a la página de servidores dedicados.
  • Se han unificado los botones y los iconos de estado.
  • Las pruebas ahora se ejecutan en paralelo; se han actualizado las dependencias internas.