Mammoth Mod: de Minecraft a MMO: miles de jugadores en un solo mundo
Es lunes en PC Gamer y aún no hemos tenido un chat de servidor caliente: ¡pero no te preocupes! Un próximo mod de Minecraft con serias ambiciones está a punto de cambiar todo eso, e incluso podría tener un mayor impacto en el futuro de la plataforma. En esencia, se trata de un problema: Minecraft procesa toda la información de un servidor en una sola CPU (con un solo hilo). Así que puedes tener el PC más grande y potente del mundo, pero en cuanto tiene que lidiar con varias docenas o incluso cientos de jugadores, el rendimiento se ve gravemente afectado, el tick rate del servidor cae hasta el punto de que se vuelve injugable y ya nadie se divierte.
El "récord mundial" de jugadores simultáneos de Minecraft
El "récord mundial" de jugadores simultáneos de Minecraft en un solo mundo es de 2622, un logro caótico en el que ninguno de esos jugadores podía realmente hacer nada, pero oye, estaban ahí. Eso no fue suficiente para el programador Jackson Roberts. Quería un proyecto para completar a principios de 2020 y decidió crear un servidor gigante de Minecraft que pudiera albergar a miles de jugadores sin demora. El software de servidor de un solo hilo existente en Minecraft no estaba claramente a la altura, así que Roberts y su colaborador Harvey298 decidieron crear su propio servidor, al que llamaron Mammoth.
El primer intento, como explica Roberts, fue un sistema de prueba de concepto que dividía un mundo de Minecraft en 1024 bloques, cada uno gestionado por su propio servidor: Las zonas fronterizas estaban sincronizadas y los servidores transferían los objetos en movimiento entre sí. Sin embargo, había demasiados problemas: los jugadores no podían verse entre sí "a través de los servidores", el fallo de un servidor hacía que esa parte del mundo fuera inaccesible y, básicamente, la solución no hacía nada cuando muchos jugadores se reunían en una zona pequeña.
Tras esta experiencia, Roberts se fijó una serie de objetivos para Mammoth, entre ellos Los jugadores deben poder verse unos a otros aunque estén en diferentes servidores; si un jugador coloca un bloque o actualiza un escudo, esto debe ser inmediatamente visible para todos los demás jugadores; si un servidor se cae, todo el mundo debe seguir siendo accesible; si es necesario, se pueden añadir o quitar servidores a voluntad para adaptarse al número de jugadores.
La idea que tenía era una base de datos backend centralizada que pudiera comunicarse entre los servidores de Minecraft a medida que aparecieran y desaparecieran, y transmitir continuamente mensajes sobre, por ejemplo, los movimientos de los jugadores. Después de probar algunos programas existentes, como redis y SpatialOS, Roberts descubrió que no eran adecuados para sus propósitos y decidió desarrollar su propio programa, WorldQL, que describe como "una base de datos espacial en tiempo real con capacidad de scripting para juegos multijugador [que] puede sustituir a los servidores de juegos tradicionales o utilizarse para equilibrar la carga de los servidores existentes".
La nueva versión de Mammoth
La nueva versión de Mammoth, que saldrá a la venta el 8 de septiembre, se basa en WorldQL, que "almacena todos los cambios permanentes del mundo y pasa la información de los jugadores en tiempo real (por ejemplo, la ubicación) entre los servidores". Básicamente, cada servidor informa constantemente de sus datos a World QL, que a su vez hace preguntas a otros servidores basándose en estos informes: Si sabe que un jugador está cerca de otro, y el servidor del primero dice que se ha movido, WorldQL pregunta qué está haciendo el otro.
"En Mammoth, ningún servidor de Minecraft es responsable de almacenar el mundo. Todos los cambios en los bloques se almacenan de forma centralizada en WorldQL. Estos cambios están indexados por coordenadas de chunk y tiempo, por lo que un servidor de Minecraft sólo puede solicitar las actualizaciones que necesita desde la última vez que se sincronizó un chunk."
El post de Jackson se adentra en aspectos apasionantes como la "sincronización de bloques en tiempo real", los corredores de mensajes y el futuro potencial de los minijuegos de Minecraft para ser creados en el entorno de scripting de WorldQL (porque podrán explotar el escalado de jugadores por defecto). Aquí está la página de Github de Mammoth.
El debut de Mammoth será de especial interés para algunas de las comunidades de Minecraft más inusuales, como las que disfrutan jugando en servidores de anarquía, y permitirá toda una serie de otras actividades a gran escala que antes no eran posibles. Es de esperar que esto se pruebe en servidores como el 2b2t y, si funciona como se dice sin caerse, se convierta rápidamente en parte del escenario. Como puedes ver en nuestra lista de los mejores servidores de Minecraft, a la gente siempre se le ocurren formas locas y maravillosas de jugar, y si Mammoth está a la altura de su promesa, podría hacer honor a su nombre.
Por cierto, puedes encontrar un buen sitio web con ideas de construcción para Minecraft aquí https://minecraft-bauideen.de/