Ejecutando un servidor de Minecraft sobre Docker / Raspberry Pi

Ejecutando un servidor de Minecraft sobre Docker / Raspberry Pi
Photo by ELLA DON / Unsplash

Como lo dice el titulo hoy vamos montar un servidor de Minecraft sobre Docker, no voy a profundizar mucho sobre que es Minecraft ya que es un juego bastante popular y reconocido, sin embargo lo que si vamos a hacer, es poner en práctica es mucho de lo que hemos visto en artículos anteriores.

La versión de Minecraft Java Version que vamos a ejecutar es la 1.19 (más reciente a la fecha), para lo cual si quieren usar la versión oficial deben dirigirse a https://www.minecraft.net/es-es/download/server y descargar el archivo server.jar, es importante destacar que hay otros archivos servidores modificados por terceros como por ejemplo https://files.minecraftforge.net/net/minecraftforge/forge/ sin embargo en este ejercicio yo voy a trabajar con el oficial.

Manos a la obra

Para este ejercicio he creado un repositorio en github.com, a continuación vamos a ir ejecutando algunos pasos relacionados con dicho repositorio y expicando algunos de sus archivos más importantes:

Clonamos el repositorio

git clone https://github.com/AudelDiaz/docker-minecraft-server.git

Al ingresar dentro del proyecto que acabamos de clonar, podremos ver que hay una carpeta "server", en dicha carpeta vamos a poner el archivo server.jar que descargamos, es importante que el archivo tenga ese nombre especificamente, para que no afecte la receta de nuesto Dockerfile.

Construimos nuestra imagen

Este paso es importante ya que dependiendo de la maquina donde vayamos a ejecutar nuestro servidor de Minecraft puede tener una arquitectura de procesador diferente. (Ejm: AMD64, ARM64, etc)

docker-compose build --pull

Ejecutamos nuestro servidor de Minecraft

Ahora solo basta subir nuestro contenedor con el servidor de Minecraft y a jugar.

docker-compose up -d

Listo ahora solo debemos abrir nuestro Launcher favorito y jugar.

Veamos con lupa nuestro proyecto:

Uno de los archivos más importantes del proyecto es el Dockerfile:



Este archivo se encarga de definir la receta para nuestra imagen, para la cual usamos una imagen minimal de java donde copiaremos el archivo server.jar y eula.txt (para aceptar la licencia) y finalmente pondremos el comando necesario para ejecutar nuestro servidor Minecraft.

También vamos a encontrar un archivo server.properties el cual contiene todos los parámetros de configuración de nuestro servidor, uno de los puntos más importantes a destacar en este archivo es que si al igual que yo no tienes una cuenta oficial de Minecraft (Mojang o Microsoft) debes poner la propiedad online-mode=false ya que de otro modo si usas algún launcher no oficial vas a tener un error al momento de iniciar sesión en el servidor.

Y por último vamos a revisar el archivo docker-compose.yml que es donde vamos a configurar nuestro servicio, exponer puertos, volúmenes, etc.



Para destacar de este archivo tenemos los puertos, que son los que usaremos para conectarnos a nuestro servidor Minecraft y los volúmenes que nos permitirán persistir la data del "mundo" que vamos a crear e inyectar las propiedades que queremos tenga nuestro servidor.

Recursos:

Gracias por llegar hasta el final, he habilitado https://disqus.com/ por si tienes alguna pregunta o comentario, nos vemos el próximo post!.