Cómo configurar un servidor de Minecraft en Google Compute Engine

Este instructivo no está aprobado por Mojang o Minecraft ni está asociado con ninguno de ellos.

Para ejecutar un servidor de Minecraft dedicado, debes tener un servidor dedicado, además de RAM y ancho de banda suficientes. ¿Por qué no dejar que Google se encargue de estos requisitos por ti? En este instructivo, aprenderás cómo instalar, configurar y ejecutar un servidor estándar de Minecraft de Java en Google Compute Engine. Este servidor es compatible con los clientes estándar de Minecraft de escritorio basados en Java.

Tu software del servidor de Minecraft se ejecutará en una instancia de Compute Engine, la cual es una máquina virtual que se ejecuta en la infraestructura de Google. En este instructivo, se utiliza el tipo de máquina predeterminado para las instancias de Compute Engine, n1-standard-1. El tipo de máquina n1-standard-1 incluye un disco de arranque de 10 GB, 1 CPU virtual (vCPU) y 3.75 GB de RAM. Este tipo de máquina ejecuta Debian Linux de forma predeterminada.

A fin de asegurarte de que haya espacio suficiente para los datos de mundos de tu servidor de Minecraft, también adjuntarás a la instancia una unidad de estado sólido (SSD) de 50 GB, persistente y de alto rendimiento. Con la incorporación de este SSD persistente, tu instancia satisfará los requerimientos del sistema para un servidor de Minecraft dedicado, que admite hasta 50 jugadores de forma cómoda.

Objetivos

  • Crear una instancia de máquina virtual de Google Compute Engine
  • Instalar y configurar el servidor de Minecraft
  • Configurar copias de seguridad automáticas para tus datos de mundo de Minecraft

Costos

En este instructivo se usan los siguientes componentes facturables de Google Cloud Platform:

  • Máquinas virtuales de Compute Engine
  • Discos persistentes de Compute Engine
  • Google Cloud Storage

Usa la calculadora de precios a fin de generar una estimación de los costos según el uso previsto. Los usuarios nuevos de GCP pueden optar a una prueba gratuita.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a Google Cloud Platform project.

    Go to the Manage resources page

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

Crea y configura tu instancia de Compute Engine

Para empezar, crea y configura una nueva instancia de Compute Engine:

  1. En GCP Console, ve a la página de VM Instances:

    Página de VM Instances

    Llegarás a un diálogo que te pedirá que crees una nueva instancia de Compute Engine.

  2. Haz clic en Crear para empezar.

  3. En la página Crear una instancia, configura tu instancia como se describe a continuación:

    • Asigna un nombre a tu instancia. En todo este instructivo, se usa el nombre de instancia mc-server.
    • Selecciona la zona en la que quieras que se aloje tu instancia. En todo este instructivo, se usa la zona us-central1-f.
    • En la sección Disco de arranque haz clic en Cambiar. Aparecerá el diálogo de Disco de arranque.
    • Cambia el tipo de disco a Disco persistente SSD.
  4. Haz clic en Seleccionar para confirmar el cambio y cerrar el diálogo.

Ya terminamos con la configuración básica. Sin embargo, todavía no crees tu nueva instancia, pues para cumplir con los requisitos de un servidor de Minecraft dedicado, necesitarás establecer algunas configuraciones avanzadas.

Habilita el acceso de tu instancia a Google Cloud Storage

Más tarde en este instructivo, aprenderás a enviar copias de seguridad de tus datos de mundos a Google Cloud Storage, lo que requiere que tu instancia tenga acceso de lectura y escritura a Cloud Storage. Para habilitar el acceso, sigue estos pasos:

  1. En Identidad y acceso a la API, haz clic en el menú desplegable Cuenta de usuario y selecciona cuenta de servicio predeterminada de Compute Engine.
  2. Configura Alcances de acceso como Configurar el acceso para cada API.
  3. En el menú desplegable Almacenamiento, selecciona Lectura y escritura.

Etiqueta tu instancia

Luego, etiqueta tu instancia. Más adelante en el instructivo, usarás esta etiqueta para crear una regla de firewall que permita que los clientes externos de Minecraft tengan acceso a tu servidor.

  1. Haz clic en Administración, seguridad, discos, Herramientas de redes, inquilino único para revelar una serie de pestañas de configuración avanzada.
  2. En la pestaña de Herramientas de redes, agrega la etiqueta minecraft-server al campo de Etiquetas de redes.

Configura una dirección IP estática para tu instancia

Para poder reenviar las solicitudes entrantes a tu instancia de forma confiable, la instancia debe tener una dirección IP estática. Para agregar una dirección IP estática a tu instancia, haz lo siguiente:

  1. En la pestaña Herramientas de redes, en la sección Interfaces de redes, haz clic en Configuración predeterminada. Aparece el menú de configuración de Interfaz de red.
  2. Haz clic en el menú desplegable IP externa y selecciona Crear dirección IP. Aparece un cuadro de diálogo.

    Crea una nueva dirección IP estática

  3. Asigna a la dirección IP el nombre mcs-ip.

  4. Haz clic en Reservar para crear la dirección.

  5. Haz clic en Listo para confirmar tus cambios y cerrar el menú de configuración de Interfaz de red.

Agrega un disco persistente a tu instancia

A continuación, adjuntarás un disco persistente a tu instancia. A diferencia de los discos de arranque, los discos persistentes no están vinculados a la vida de tu instancia de Compute Engine. Por ejemplo, si tu hosting requiere cambios con el paso del tiempo, puedes mover el disco a un tipo de máquina más adecuado más tarde.

El tipo específico de disco persistente que usarás en este instructivo es un disco persistente SSD. Este tipo de disco es compatible con operaciones de E/S muy rápidas, lo que puede contribuir a reducir el retraso del servidor.

Para agregar un disco persistente a tu instancia, sigue estos pasos:

  1. En la pestaña Discos, en la sección Discos adicionales, haz clic en Agregar nuevo disco. Aparece la página de creación de discos:

    Crea un nuevo disco

  2. En el cuadro de diálogo, llena el formulario como se indica a continuación:

    • Name (Nombre): minecraft-disk
    • Disk type (Tipo de disco): SSD Persistent Disk (disco persistente SSD)
    • Source type (Tipo de fuente): Blank disk (disco en blanco)
    • Size (GB) (Tamaño en GB): 50
  3. Haz clic en Crear para crear el nuevo disco. Cuando creas la instancia, el disco se va a adjuntar automáticamente.

Crea tu instancia

Ya terminamos con la configuración de la instancia. Haz clic en el botón Crear en la parte inferior de la página para crear tu nueva instancia. Esta acción también te llevará de vuelta a la página de VM Instances.

Formatea y activa tu disco persistente

En este punto, tu disco está adjuntado a tu instancia, pero todavía no se ha activado en ella. Así debe ser: si activas el disco ahora, no podrías hacer mucho con él. Esto se debe a que, como cualquier otro disco, tu disco persistente primero debe formatearse con un sistema de archivos que el sistema operativo (en este caso, Debian Linux) pueda comprender.

Para comenzar, establece una conexión SSH con tu instancia. En la fila de mc-server, en tu página de VM Instances, haz clic en SSH para abrir una terminal de SSH basada en el servidor:

Terminal de SSH

Después de que se abra la terminal de SSH, crea un nuevo directorio llamado minecraft en el directorio home de tu instancia:

user@mc-server: sudo mkdir -p /home/minecraft

Usarás este directorio como un punto de activación para tu disco persistente.

A continuación, formatea tu disco:

user@mc-server: sudo mkfs.ext4 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/google-minecraft-disk

Finalmente, activa tu disco:

user@mc-server: sudo mount -o discard,defaults /dev/disk/by-id/google-minecraft-disk /home/minecraft

Instala y ejecuta el servidor de Minecraft en tu instancia

Tu disco persistente está oficialmente activado. Ahora es momento de hacer la tarea principal: instalar y ejecutar tu servidor de Minecraft.

Configura Java Runtime Environment (JRE)

El servidor de Minecraft se ejecuta en la máquina virtual Java (JVM), por lo que es necesario ejecutar Java Runtime Environment (JRE). Dado que el servidor no necesita una interfaz gráfica de usuario, en este instructivo, se utiliza la versión headless del JRE. Este enfoque reduce el uso de recursos de JRE en la máquina, lo que ayuda a garantizar que el servidor de Minecraft tenga espacio suficiente para expandir su propio uso de recursos si fuera necesario.

Necesitarás actualizar los repositorios de Debian en tu instalación de Debian antes de descargar y de instalar la versión headless del JRE. Para esto, ejecuta el comando siguiente en tu terminal de SSH:

user@mc-server: sudo apt-get update

Después de actualizar tus repositorios, puedes instalar el JRE headless:

user@mc-server: sudo apt-get install -y default-jre-headless

Instala el servidor de Minecraft

Ahora que has configurado el JRE, es momento de descargar y de instalar el servidor de Minecraft. En primer lugar, navega a tu directorio de minecraft:

user@mc-server: cd /home/minecraft

Debido a que el directorio de minecraft contiene tu disco persistente activado, vas a necesitar un nivel especial de acceso, denominado acceso de usuario raíz, para ejecutar comandos en él. Ejecuta lo siguiente para convertirte en el usuario raíz:

user@mc-server: sudo su

Luego, descarga el archivo de Java (JAR) del servidor de Minecraft actual en tu instancia:

root@mc-server: wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar

Inicia el servidor por primera vez:

root@mc-server: java -Xms1G -Xmx3G -d64 -jar minecraft_server.1.12.2.jar nogui

La primera ejecución no es muy interesante: el servidor solo se inicia, ejecuta algunas operaciones rápidas y se detiene. Sin embargo, si ejecutas el siguiente comando, verás que se han creado algunos archivos nuevos en el directorio minecraft:

root@mc-server: ls -l

Entre estos nuevos archivos, encontrarás uno llamado eula.txt. Abre este archivo para editarlo:

root@mc-server: nano eula.txt

Este archivo contiene una variable booleana única, eula. Para usar el servidor de Minecraft, debes aceptar las condiciones del Contrato de Licencia para el Usuario Final de Minecraft (CLUF). Si aceptas las condiciones del CLUF, configura el valor eula de false a true; luego, guarda y cierra.

Configura el servidor de Minecraft

Antes de ejecutar tu servidor de Minecraft, tal vez quieras editar las propiedades predeterminadas del servidor. Para hacer esto, puedes editar el archivo server.properties:

$ nano server.properties

Para obtener una descripción completa de cada tipo de propiedad y sus valores posibles, consulta la página de propiedades del servidor en la Wiki de Minecraft.

Ejecuta el servidor de Minecraft

Si inicias el servidor de Minecraft nuevamente en esta etapa, estará vinculado a la vida de tu sesión SSH; es decir, si cierras tu terminal de SSH, el servidor también se cerrará. Para evitar este problema, puedes utilizar screen, una aplicación que te permite crear una terminal virtual que se puede “separar” y ejecutar como proceso en segundo plano, o “reconectar” y ejecutar como proceso en primer plano. Cuando una terminal virtual se separa para iniciar el proceso en segundo plano, se ejecutará ya sea que hayas accedido al sistema o no.

En tu terminal de SSH, ejecuta el siguiente comando para instalar screen:

root@mc-server: apt-get install -y screen

Luego, inicia tu servidor de Minecraft en una terminal virtual de screen. Usa la marca -S para asignar un nombre a tu terminal mcs:

root@mc-server: screen -S mcs java -Xms1G -Xmx3G -d64 -jar minecraft_server.1.12.2.jar nogui

Para separar la terminal de screen, presiona Ctrl + a y, luego, d. La terminal seguirá ejecutándose en segundo plano. Para volver a conectar la terminal, ejecuta screen -r <terminal_name> como se muestra a continuación:

root@mc-server: screen -r mcs

Finalmente, desconecta tu terminal de screen nuevamente si es necesario. Escribe exit una vez para abandonar el modo de usuario raíz, luego, exit otra vez para cerrar tu conexión SSH.

Felicitaciones. Ya tienes un servidor de Minecraft en funcionamiento. Sin embargo, todavía no está listo para compartirse. Antes de que puedas compartir tu servidor, necesitas configurar una regla de firewall que permitirá que las personas accedan a él.

Permite que los clientes accedan al servidor de Minecraft

A fin de reenviar solicitudes entrantes a tu instancia de forma confiable, necesitarás crear una regla de firewall. Para ello, deberás hacer lo siguiente:

  1. En GCP Console, ve a la página de redes de VPC.

    Ir a la página Redes de VPC

  2. En la tabla de redes disponibles, en la columna Nombre, haz clic en la red predeterminada.

  3. En la página Detalles de red de VPC, en la pestaña Reglas de firewall, haz clic en Agregar regla de firewall.

En la página Crear una regla de firewall, llena el formulario como se muestra a continuación:

  • Nombre: minecraft-rule
  • Etiquetas de destino: minecraft-server
  • Filtro de fuente: rangos de IP
  • Rangos de IP de fuente: 0.0.0.0/0
  • Protocolos o puertos: tcp:25565

Haz clic en Crear para crear tu nueva regla de firewall. Los usuarios ahora pueden acceder a tu servidor desde sus clientes de Minecraft locales.

Programa copias de seguridad regulares

Ya sea que estés ejecutando un cliente de Minecraft local o un servidor de Minecraft, es recomendable que hagas copias de seguridad de tus datos de mundos de Minecraft con regularidad. En esta sección, se muestra cómo configurar copias de seguridad regulares de datos de mundos con Google Cloud Storage.

Crea una secuencia de comandos de copia de seguridad

En primer lugar, establece una conexión SSH con tu instancia desde la página de VM Instances en GCP Console. Después de que se abra la terminal, conviértete en el usuario raíz:

user@mc-server: sudo su

Crea un nuevo depósito de Cloud Storage. Usarás este depósito para almacenar tus copias de seguridad:

root@mc-server: gsutil mb gs://<project_id>-minecraft-backup

A continuación, crea un nuevo archivo de secuencia de comandos de shell, backup.sh, en tu carpeta minecraft, y luego ábrela para editarla:

root@mc-server: nano /home/minecraft/backup.sh

Pega la siguiente secuencia de comandos en el archivo. Reemplaza <bucket> por tu depósito de Google Cloud Storage:

#!/bin/bash
screen -r mcs -X stuff '/save-all\n/save-off\n'
/usr/bin/gsutil cp -R ${BASH_SOURCE%/*}/world gs://<bucket>/$(date "+%Y%m%d-%H%M%S")-world
screen -r mcs -X stuff '/save-on\n'

Esta secuencia de comandos empieza por guardar el estado actual de tus datos de mundo y pausar la funcionalidad de guardado automático del servidor. A continuación, la secuencia de comandos realiza una copia de seguridad del directorio de datos de mundos del servidor (world) y coloca su contenido en un directorio con marcas de tiempo (<timestamp>-world) en tu depósito de Google Cloud Storage. Una vez que la secuencia de comandos finaliza la copia de seguridad de los datos, se reanuda el guardado automático en el servidor de Minecraft.

Guarda y cierra; luego, ejecuta lo siguiente para que tu secuencia de comandos sea ejecutable:

root@mc-server: chmod 755 /home/minecraft/backup.sh

Prueba la secuencia de comandos:

root@mc-server: /home/minecraft/backup.sh

Una vez que la secuencia de comandos ha finalizado, visita el navegador de Storage en GCP Console y haz clic en tu depósito. Deberías ver una copia de seguridad de tu directorio world con marcas de tiempo.

Programa un trabajo cron

A menos que prefieras inicializar cada copia de seguridad manualmente, probablemente, quieras que tu secuencia de comandos se ejecute de forma automática a intervalos predecibles. Para realizar esta tarea, necesitas programar un nuevo trabajo cron.

Si quieres programar un trabajo cron, primero abre la tabla de cron para editar:

root@mc-server: crontab -e

Desplázate hasta el inferior del archivo y pega la siguiente línea, que especifica que se ejecutará backup.sh cada 4 horas:

0 */4 * * * /home/minecraft/backup.sh

Guarda y cierra.

Listo. Tu instancia de Compute Engine hará copias de seguridad de tus datos de mundos en un depósito de Google Cloud Storage automáticamente cada 4 horas.

Quita las copias de seguridad antiguas automáticamente

Si haces copias de seguridad de tus datos de mundos cada 4 horas, significa que haces copias 6 veces por día, 72 veces por semana y, aproximadamente, 300 veces por mes. Puedes quitar copias de seguridad antiguas automáticamente si usas una característica de Cloud Storage denominada Administración del ciclo de vida de los objetos. Esta característica te permite configurar tu depósito de Cloud Storage de modo que archive o borre las copias de seguridad antiguas automáticamente después de un período determinado o si hay nuevas copias de seguridad disponibles.

Para configurar tu depósito de Cloud Storage de modo que quite las copias de seguridad automáticamente, haz lo siguiente:

  1. Abre el navegador de Cloud Storage en GCP Console:

    Ir al navegador de Cloud Storage

  2. En la lista de depósitos, encuentra tu depósito de copias de seguridad de Minecraft.

  3. Haz clic en Ninguno en la columna del depósito Ciclo de vida. Aparece la página Ver reglas del ciclo de vida de los objetos.

  4. Haz clic en Agregar regla.

  5. En la sección Seleccionar condiciones de objetos, selecciona Edad. Configura la antigüedad en 7 días y haz clic en Continuar.

  6. En la sección Seleccionar acción, selecciona Borrar y haz clic en Continuar.

  7. Haz clic en Guardar para guardar la configuración. Esto te hace volver a la página Ver reglas del ciclo de vida de los objetos.

Las copias de seguridad se borrarán una semana después de que tu secuencia de comandos las envíe a Cloud Storage.

Cierra tu servidor de Minecraft

Si no necesitas ejecutar tu servidor de Minecraft, deberías cerrarlo para no incurrir en gastos innecesarios.

En primer lugar, establece una conexión SSH con tu instancia desde la página de VM Instances en GCP Console. Después de que se abra la terminal, detén el servidor de Minecraft mediante un comando \stop a la terminal de screen en la que se está ejecutando:

user@mc-server: sudo screen -r -X stuff '/stop\n'

Ahora que has detenido tu servidor de Minecraft, puedes cerrar tu instancia con seguridad. En la página de VM Instances, haz clic en el nombre de tu instancia y, luego, en el botón Detener en la parte superior de la página. Saldrás de tu sesión SSH.

Para iniciar tu instancia nuevamente, visita la página de tu instancia y haz clic en el botón Iniciar en la parte superior. A fin de iniciar nuevamente el servidor de Minecraft, puedes establecer una conexión SSH con la instancia, volver a activar el disco persistente y, luego, iniciar tu servidor de Minecraft en una nueva terminal de screen, como se describió en la sección Ejecuta el servidor de Minecraft.

Automatiza los procedimientos de inicio y cierre

Si tienes planeado cerrar tu servidor regularmente, considera agregar secuencias de comandos de inicio y cierre a tu instancia a fin de automatizar los procedimientos comunes de inicio y cierre. Puedes automatizar el procedimiento de inicio como se describe a continuación:

  1. Ve a la página de VM Instances en GCP Console.

    Página de VM Instances

  2. Haz clic en el nombre de tu instancia.

  3. Haz clic en Editar.

  4. En la sección Metadatos personalizados, agrega una nueva clave llamada startup-script y copia la siguiente secuencia de comandos en su campo Valor.

    #!/bin/bash
    mount /dev/disk/by-id/google-minecraft-disk /home/minecraft
    (crontab -l ; echo "0 */4 * * * /home/minecraft/backup.sh")| crontab -
    cd /home/minecraft
    screen -d -m -S mcs java -Xms1G -Xmx3G -d64 -jar minecraft_server.1.12.2.jar nogui
    

Cuando reinicies la instancia, esta secuencia de comandos activará automáticamente tu disco de Minecraft en el directorio correcto, reinstalará tu trabajo cron, iniciará tu servidor de Minecraft en una sesión de screen y separará la sesión.

Para automatizar el procedimiento de cierre, agrega otra clave llamada shutdown-script y copia lo siguiente en su campo Valor:

#!/bin/bash
sudo screen -r -X stuff '/stop\n'

En la parte inferior de la página, haz clic en Guardar para confirmar tus cambios. Cuando detengas la instancia, esta secuencia de comandos detendrá tu servidor de Minecraft antes de que la instancia se cierre.

¿Qué sigue?

Visita la Wiki de Minecraft

La Wiki de Minecraft ofrece una gran cantidad de recursos útiles tanto para los jugadores de Minecraft como para los administradores de servidores de Minecraft.

Prueba un servidor de Minecraft alternativo

El servidor de Minecraft convencional que instalaste con este instructivo es tan solo uno de los numerosos servidores de Minecraft disponibles. Visita Servidores personalizados en la Wiki de Minecraft si quieres consultar la lista de los servidores alternativos que se han optimizado para tipos de juego, requisitos de máquina, modificaciones sencillas y más.

Prueba otros instructivos

Prueba otras funciones de Google Cloud Platform tú mismo. Revisa nuestros instructivos.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...