Ejecutando un Servidor de Teeworlds en Raspberry Pi 4
Para los que no han escuchado de Teeworlds es un Juego multijugador online opensource y multiplataforma. Hoy siguiendo con la saga de Raspberry Pi 4, veremos la cara "Gaming" montando un server de Teeworlds uno de mis juegos opensource favoritos. Pero lo haremos de una forma geek, crearemos nuestra propia imagen Docker y la construiremos para que soporte ARM64 que es la arquitectura que usa Raspberry Pi 4.
Para crear nuestra imagen Docker de Teeworlds usaremos un Dockerfile con Multi Stage ya que debemos compilar el código fuente para que soporte ARM64.
Hay que tener en cuenta que el Dockerfile es genérico y la imagen va a adoptar la arquitectura de la maquina en la que se construya. Por lo tanto debemos llevar nuestro proyecto con el Dockerfile y demás archivos de configuración a nuestro Raspberry Server y desde allí construir la imagen.
Una de las mejores formas de almacenar nuestros proyectos de código o configuración es usando una plataforma de control de versiones en mi caso suelo usar GitHub, les comparto mi proyecto por si lo quieren usar como base. https://github.com/AudelDiaz/teeworlds-srv-docker
Ya lo unico que resta es clonar nuestro repositorio git en la Raspberry y ejecutar:
docker build --build-arg VERSION=${VERSION} -t audeldiaz/teeworlds-srv:${VERSION} . --no-cache
Donde ${VERSION} hace referencia a la version del release del código fuente de Teeworlds que queremos compilar.
En mi caso estoy usando la 0.7.5 que a la fecha es la versión más reciente.
https://github.com/teeworlds/teeworlds/releases
Finalizada la construcción podremos usar el archivo docker-compose.yml para iniciar nuestro servidor.
docker-compose up -d
El servidor usa por defecto el puerto 8303 UDP por lo tanto ahora solo debemos instalar el cliente de Teeworlds para ello tenemos 2 opciones
Ejecutaremos nuestro cliente y en la sección de server pondremos la ip de nuestra Raspberry (Si quieres habilitar el acceso a internet a tu servidor recuerda seguir las recomendaciones que hicimos en el capitulo anterior)
Ahora solo resta invitar a algunos amigos y pasar un buen rato, hasta la próxima!