Saltar al contenido principal

Elemental Fracture, actualización Marla Server 2.0

· 6 min de lectura
Brendon (Doobs)
Responsable del proyecto

Hola a todos, ¡aquí Doobs! Vaya viaje ha sido esto. Antes de entrar en materia, dejadme decirlo: sí, sí, ya sé, dije seis horas. Resulta que, cuando arrancas la fontanería y empiezas a sustituirla, a veces encuentras alguna que otra fuga por el camino. Pero después de lo que pareció un ciclo interminable de arreglar una cosa y romper otra, me alegra informar de que todo está en marcha y funcionando mejor que nunca. Esta actualización es enorme, tanto que me he pasado del límite de Nitro. Hemos revisado la infraestructura a fondo, reforzado la seguridad, mejorado la eficiencia de los servidores y añadido bastante automatización. Ah, y he colado unas cuantas mejoras de calidad de vida en el back-end para hacerme la vida un poco más fácil.

Novedades y mejoras

1. Saludad a Marla 2.0

¡Marla ya está totalmente integrada en el sistema! Sigue siendo un trabajo en curso (¿no lo somos todos?), pero creo que ya toca declarar oficialmente terminada esta versión 2.0. Si tenéis ideas de nuevas funciones o de ajustes, decídmelo. Está aquí para facilitar la vida, y quiero seguir mejorándola en función de lo que vosotros necesitéis.

2. Sentinel: en línea.

Esta es para nuestro staff, pero también es la base de lo que está por venir (sin spoilers, lo siento, ¡tendréis que seguir leyendo!). El tan esperado sistema Sentinel ya está activo y es oficialmente la columna vertebral de cómo seguimos a los jugadores y gestionamos el acceso a los servidores. Este sistema aporta un nivel de estructura y supervisión que hacía mucha falta, y hace las cosas más justas y transparentes para todo el mundo. Esto es lo que hace:

  • Registro de actividad de jugadores, que anota las primeras conexiones y mantiene un historial de inicios de sesión.
  • Control de acceso, que da a los administradores una forma estructurada de gestionar permisos y restricciones.
  • Registro seguro de acciones, que garantiza que todas las interacciones queden registradas, manteniendo todo transparente y responsable. Para los más preocupados por la privacidad, esto es exactamente lo que se recopila:
  • Nombre de usuario (el de cuando empezaste a jugar a Spellbreak)
  • Dirección IP
  • Marca de tiempo de la primera conexión Nada más. Ni mensajes privados, ni seguimiento oculto de tus otros hábitos de navegación (me da igual cuántas horas pases en YouTube viendo vídeos conspiranoicos). Ahora, la segunda pregunta: «¿están estos datos en riesgo?». ¿La respuesta honesta? . Toda interacción en línea conlleva cierto riesgo, ya sea un juego, tu banco o las redes sociales. Los únicos datos verdaderamente seguros son los que están almacenados sin conexión o los que no existen. Dicho esto, he puesto salvaguardas para minimizar la exposición:
  • Cifrado, todos los datos recopilados están cifrados.
  • Acceso limitado, solo las cuentas con privilegios elevados (y un token RSA) pueden acceder a ellos.
  • Protecciones root/sudo, descifrar cualquier cosa exige privilegios completos de root/sudo, así que nadie fisgonea por casualidad. Un pequeño inconveniente, eso sí: si cambias de nombre de usuario, puede que tengas problemas de conexión. Podemos ajustarlo manualmente en Sentinel, pero para evitar complicaciones te recomiendo mantener un nombre estable. Sé que esto fastidia a los que se cambian el nombre a menudo, y por ello pido disculpas. ¡Pero bueno, al menos vuestra crisis de identidad es segura!

3. Ni Windows, ni tarjeta de crédito, ni tonterías

Esta es enorme. Después de lo que pareció una eternidad lidiando con las manías de Windows, hemos migrado oficialmente todo a Linux usando Wine, y configurado para funcionar dentro de un conjunto de contenedores Docker. Se acabaron las máquinas virtuales de Windows ralentizándonos. Se acabaron los cierres aleatorios porque a Windows le dio por actualizarse justo ahora, ¡o porque a Pink Marla no le gustó algo! En fin, blablá de servidores, ¿y esto qué significa para vosotros?

  • Sin la sobrecarga de Windows, las máquinas virtuales de Windows acaparaban recursos del sistema y causaban problemas de rendimiento. Eso es cosa del pasado.
  • Mejor rendimiento, Linux es bastante más eficiente, lo que reduce la carga del sistema y suaviza la experiencia de juego.
  • Mayor estabilidad, menos cierres inesperados, mejor disponibilidad y una experiencia global más fluida.
  • Actualizaciones y mantenimiento más rápidos, sin Windows estorbando puedo publicar actualizaciones, correcciones y optimizaciones mucho más rápido. Pero aquí viene lo realmente interesante. Este cambio nos da mucha más flexibilidad a la hora de desplegar servidores. Podemos:
  • Levantar servidores de prueba pública (PTB) sin apagar nada más.
  • Desplegar servidores de cualquier ciclo de parche de equilibrio anterior, incluido Spellbreak vanilla.
  • Automatizar un montón de tareas de mantenimiento y reducir la intervención manual.
  • Ofrecer esta configuración a socios comunitarios internacionales que la soliciten. Esto no es solo una victoria para Elemental Fracture. Es una victoria para toda la comunidad de Spellbreak.

4. Sistema de seguimiento de partidas mejorado

Se acabaron los días de esperar a que la lista de servidores se desplazara sin fin solo para ver quién estaba conectado. El Match Tracker Mod ha vuelto, totalmente reintegrado y mejor que nunca. Ahora los datos de partida se actualizan en tiempo real en Discord. El sistema muestra cinco estados de partida:

  • Starting Up, el servidor de juego está cargando.
  • Waiting for Players, el servidor está abierto y acepta conexiones.
  • Waiting to Start, la cuenta atrás de la partida está en marcha.
  • Started, la partida está en curso (lo siento, no se admiten rezagados).
  • Ended, la partida ha terminado (o algo se ha roto). Esto hace mucho más fácil ver quién está jugando en tiempo real, pero también abre otras posibilidades interesantes. Por cierto, me encantaría vuestra opinión sobre esto: ¿debería Marla mencionar ciertos roles cuando haya suficiente gente conectada? Si hay diez jugadores o más en Solos, ¿debería avisar a @Battle Royale para ayudar a llenar la partida? Aquí hay mucho potencial, así que contadme qué os parece.

Lo que viene

¿El próximo gran proyecto? El launcher. Ahora mismo, la instalación puede ser algo pesada, sobre todo si no eres muy técnico. Quiero que la experiencia sea lo más simple y fluida posible. Y aunque tengo un montón de ideas, no puedo hacerlo todo yo solo. Si te apetece echar una mano, escríbeme. Esta es la hoja de ruta:

  1. Se acabó introducir la IP a mano. He estado estudiando cómo asociar paquetes de red a modos de juego concretos, de forma que baste con elegir un modo y conectarse automáticamente, sin escribir ninguna IP.
  2. Sistema de autenticación y seguimiento. Quiero construir un sistema que vincule el progreso del jugador, o incluso un ELO, a tu perfil de Sentinel. Eso abriría la puerta a un juego más competitivo, a mejoras en el emparejamiento e incluso a torneos.

Si te encuentras con problemas, tienes comentarios o simplemente quieres decirme cuánto te gustan (u odias) los cambios, o si crees que me he enrollado demasiado, dímelo. Gracias por ser siempre la mejor parte de Elemental Fracture y, como siempre, ¡tengo muchas ganas de ver lo que viene!