Ya sabemos que con la Raspberry Pi podemos jugar a juegos retros usando Recalbox o Retropie pero que os parece hacerla servidor de Minecraft, seguro que los que tienen niños les va a gustar.
Lo he estado usando durante mucho tiempo y la Raspberry Pi se ha comportado magníficamente, no hay habido nunca más de tres usuarios conectados simultáneamente, no os penséis que podéis meter a todo el mundo que si no la Pi revienta.
Os voy a explicar como montar un servidor de Minecraft básico, luego si ya queréis mods y esas cosas en la documentación lo explica bastante bien, solo será cuestión de cambiar o añadir parámetros al docker-compose.
Ya que hablo de docker-compose, pues si, vamos a correr el servidor de Minecraft con docker, posiblemente la manera más fácil de hacerlo funcionar, aunque por ahí existía un script que te montaba un servidor pero en ese caso te enguarraba la Raspberry Pi, con docker, todo limpio.
Ante todo, vamos a montar un servidor Minecraft para clientes java, la versión Bedrock no está para Raspberry Pi, aunque a podéis instalar en cualquier PC linux, 64 bits, eso si.
Empezamos, lo primero tener docker y docker-compose instalado, sino lo teneis aquí teneis el video, algo antiguo pero aún sirve para instalar docker.
Básicamente, instalamos docker
curl -sSL https://get.docker.com | sh
y añadimos al usuario PI al grupo docker para poder ejecutar ordenes docker
sudo usermod -aG docker pi
Y ahora instalamos docker-compose
sudo apt install docker-compose
Ahora si, vamos a Minecraft, crearemos una carpeta para poner el docker-compose y la aprovechamos para guardar los datos que va a generar el servidor minecraft.
mkdir minecraft
Entraremos en este directorio y vamos a crear el docker-compose.yml para configurar nuestro servidor minecraft.
nano docker-compose.yml
Este sería un código básico, a partir de aquí se puede ir ampliando y añadiendo opciones
version: "3"
services:
minecraftserver:
image: itzg/minecraft-server
container_name: ZGMinecraft
volumes:
- ./data:/data
ports:
- 25565:25565
environment:
EULA: "TRUE"
TYPE: "PAPER"
ONLINE_MODE: "false"
Memory: "2G"
tty: true
stdin_open: true
restart: unless-stopped
Vamos a explicar algunas de las cosas importantes:
Container_name , le pones el nombre que quieres que tenga el contenedor de docker
volumes: aquí mapeamos una carpeta local que va a generar y que es donde guardará los mapas, configuración, etc.
Environment: aquí solo he puesto 4 opciones pero hay muchísimas, lo ideal es mirar la documentación y modificar al gusto. En mi caso:
Eula: le digo que acepte los terminos y condiciones
TYPE: Tipo de servidor, en este caso PAPER, es un servidor espigot, acepta plugins pero más libiano, si quisieramos mods pondriamos por ejemplo FORGE
ONLINE_MODE: en false para que no valide y deje usar versiones Minecraft no premium, o sea, de algún launcher de los que se pueden bajar.
MEMORY: por defecto es 1 Gb de memoria máxima, yo lo amplio a 2.
Y listo, es resto se puede dejar como está.
Se puede mirar toda la documentación y opciones en github docker-minecraft-server/README.md at master · itzg/docker-minecraft-server (github.com)
Acabado esto, solo nos queda lanzar el docker-compose con un docker-compose up -d .
Esperamos un rato, abrimos Minecraft y escogemos multijugador donde nos dejará introducir laIP de la Raspberry Pi.
MUY IMPORTANTE, la versión del cliente tiene que coincidir con la versión del servidor, por defecto vamos a correr la última versión de servidor, si teneis una versión más antigua de Minecraft teneis que poner la versión que quereis en el docker-compose.
Y como no, aquí os dejo con el video de la instalación.