Tras un tiempo trabajando con Chef Server y aprovechando un cambio de trabajo donde había que empezar la automatización de despliegues y gestión de la configuración desde cero, decidí trabajar con Ansible por la mas sencilla (nada de servidores centrales), limpia (Bye bye gemas de Ruby) y directa arquitectura que presenta y su cercanía a los conocimientos del administrador de sistemas (ssh, python, yaml …)

ansible-logo

Y hace poco quise aprovechar esos conocimientos para realizar un pequeño proyecto personal que juntaba una de mis aficiones, videojuegos, con este recién adquirido conocimiento de Ansible.

jugar minecraftEs por ello que he desarrollado una playbook (disponible en https://github.com/juanviz/ansible) que instala el servidor del videojuegos Minecraft, el tercero mas vendido de toda la historia a día de hoy y vendiendo actualmente 10000 copias diarias, en una instancia EC2 pública para que cualquier usuario de Minecraft pueda jugar y en una Raspberry Pi 1 modelo B en loca,l para juego en Red (aunque nada impide hacerla accesible mediante Internet al igual que la instancia EC2).

La arquitectura del videojuego es del tipo cliente /  servidor y el código es JAVA en ambos casos.

En el caso de la instancia EC2 se ha podido usar la versión oficial del servidor https://mcversions.net/.

30f249d

En el caso de la Raspberry PI por limitaciones del hardware he usado una versión modificada, Spigot, del mismo que he compilado según las instrucciones de esta página y que con la configuración incluida en la playbook  (plugin  NoSpawnChunks) incluido funciona a las mil maravillas (con un límite de 5 jugadores simultáneos) usando 364 MB de RAM.

maxresdefault

En el readme.md tenéis las instrucciones básicas para ejecutarla la playbook, pero realmente solo tenéis que modificar el inventario para poner las direcciones ip/url de vuestra instancia ec2 y vuestra Raspsberry Pi.

Recomendado añadir la siguiente configuración ssh (editar $HOME/.ssh/config) en la máquina donde se ejecute la workstation para facilidad de uso (explicado en el readme):

 

Host urldetuinstanciaec2
User ubuntu
IdentityFile ~/.ssh/tukeypairprivado.pem

La playbook instala java 1.8 de Oracle así como los scripts de arranque/parada.

Actualmente la playbook solo contempla SO Ubuntu/Debian pero se irá actualizando para otros sistemas operativos.

Para comprobar que todo funciona correctamente necesitáis registraros en minecraft.net y comprar vuestra licencia de uso (19.95 euros) y seguir las sencillas instrucciones explicadas en este vídeo.

Todo el proceso de ejecución de la playbook, arranque del servidor y conexión mediante el cliente Minecraft está explicado en el siguiente vídeo

Enjoy the game!

Documentación consultada: 

https://www.spigotmc.org/wiki/spigot-installation/#linux

http://minecraft.gamepedia.com/Pi_Edition

https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/worksheet/

https://pimylifeup.com/raspberry-pi-minecraft-server/

  • EC2

https://qwiklabs.com/focuses/2628?locale=en

Anuncios