Cómo funcionan nuestros mundos alojados
Tu propio mundo en internet, al que tus amigos pueden unirse cuando quieran, sin que nadie tenga que montar un servidor. Esa es la idea de nuestros mundos alojados, y en este artículo te enseño qué pasa de verdad detrás del botón “Jugar” del portal.
El corazón de todo es el WorldHost: un pequeño servicio en nuestro servidor que gestiona los mundos. Cada mundo corre en su propio contenedor Docker, totalmente aislado, con su propia partida guardada, su propio límite de memoria y su propio tope de CPU. Cuando nadie juega, no hay nada en marcha: el mundo duerme, el contenedor está detenido y no consume recursos.
Cuando alguien hace clic en “Jugar” en el portal, pasa lo siguiente: primero, el WorldHost comprueba si puedes unirte siquiera. En los mundos protegidos con contraseña, la contraseña se comprueba antes de despertar el mundo, para que nadie pueda arrancar mundos ajenos solo con intentar unirse. Solo entonces se inicia el contenedor, el mundo carga su partida guardada y tú recibes un token de acceso de corta duración para ese mundo en concreto. Mientras tanto, el portal te muestra el estado “Despertando el mundo…”.
Cuando todos los jugadores salen del mundo, al cabo de un rato vuelve a dormirse: se guarda la partida y el contenedor se detiene. Y si prefieres seguir jugando tu mundo en local, puedes descargar la partida guardada y volver a subirla más tarde: la partida de un mundo alojado es la misma que la de una partida local.
Todo está construido pequeño a propósito: nada de Kubernetes, nada de magia en la nube; un servidor, Docker y un servicio que arranca y detiene contenedores. Para un proyecto familiar, eso llega sorprendentemente lejos. Hasta dónde exactamente, y cuánto cuesta un servidor así, te lo cuento en el artículo sobre nuestro VPS.
Comentarios