Sobre el proyecto

tgstation-server (TGS) es un conjunto de herramientas para gestionar servidores de juego DreamMaker en producción, principalmente aquellos que ejecutan bases de código de Space Station 13. Está escrito en C# y se distribuye como servicio de Windows, demonio de consola, paquete de Linux, flake de Nix o contenedor Docker. Capacidades principales descritas en el README: - Actualizar un servidor en ejecución sin detenerlo; los cambios surten efecto en el siguiente reinicio del servidor. - Iniciar el servidor y reiniciarlo automáticamente si se bloquea. - Gestionar el código y los archivos de juego de las instancias. - Fusionar localmente pull requests de GitHub para despliegues de prueba. - Panel de control basado en web servido desde el servidor. - Endpoint de métricas de Prometheus e ingesta opcional de registros en Elasticsearch. - Inicio de sesión OAuth y autenticación de puerta de enlace para GitHub, Discord e InvisionCommunity. - Un sistema de enjambre para coordinar múltiples servidores TGS contra una base de datos compartida. Almacenamiento y configuración: - Requiere una base de datos relacional. SQLite está incluido pero no se recomienda para escala; las bases de datos independientes compatibles son MariaDB, PostgreSQL, Microsoft SQL Server y MySQL. - Configuración mediante appsettings.Production.yml, variables de entorno o argumentos de línea de comandos. Un asistente de configuración se ejecuta en el primer inicio. - Ajustes destacados incluyen límites de instancias/usuarios, rutas de instancia válidas, token de acceso de GitHub, directorio y nivel de registro, URL del endpoint de Kestrel y detalles de conexión de la base de datos. Opciones de despliegue: - Instalador de Windows, paquete winget o zip manual (ServerService o ServerConsole). - Repositorio apt de Ubuntu/Debian en una línea, flake de Nix, configuración manual con unidad SystemD o imagen Docker. - La compatibilidad con OpenDream requiere que el SDK de .NET se instale por separado. Esta descripción general refleja únicamente lo que documenta el README; no se hacen afirmaciones de rendimiento ni de clasificación.