Minecraft es uno de los juegos más populares de todos los tiempos. Es un videojuego de caja de arena donde los jugadores exploran mundos infinitos y construyen diferentes estructuras, desde casas simples hasta rascacielos imponentes.

Este tutorial explica cómo hacer un servidor de Minecraft en Ubuntu 20.04. Usaremos Systemd para ejecutar el servidor de Minecraft y la mcrconutilidad para conectarse a la instancia en ejecución. También le mostraremos cómo crear un cronjob que realice copias de seguridad periódicas del servidor.

requisitos previos

Según el sitio oficial de Minecraft, se recomiendan 4 GB de RAM como configuración mínima para una instalación típica.

Instale los paquetes necesarios para compilar la mcrconherramienta:

sudo apt updatesudo apt install git build-essential

Instalación del entorno de tiempo de ejecución de Java

Minecraft requiere Java 8 o superior. El servidor de Minecraft no necesita una interfaz gráfica de usuario, por lo que instalaremos la versión sin interfaz de Java. Esta versión es más adecuada para aplicaciones de servidor ya que tiene menos dependencias y utiliza menos recursos del sistema.

Ejecute el siguiente comando para instalar el paquete OpenJRE 11 sin interfaz:

sudo apt install openjdk-11-jre-headless

Verifique la instalación imprimiendo la versión de Java :

java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Crear usuario de Minecraft

Por razones de seguridad, Minecraft no debe ejecutarse con el usuario raíz. Crearemos un nuevo usuario y grupo del sistema con el directorio de inicio /opt/minecraftEl usuario tendrá los permisos mínimos necesarios para ejecutar el servidor de Minecraft:

sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

No estableceremos una contraseña para este usuario. De esta manera, el usuario no podrá iniciar sesión a través de SSH y no se verá comprometido. Para cambiar al minecraftusuario, deberá iniciar sesión en el servidor como root o usuario con privilegios sudo .

Instalación de Minecraft en Ubuntu

Antes de comenzar con el proceso de instalación, cambie al minecraftusuario:

sudo su - minecraft

Ejecute el siguiente comando para crear tres nuevos directorios dentro del directorio de inicio del usuario:

mkdir -p ~/{backups,tools,server}
  • El backupsdirectorio almacenará las copias de seguridad del servidor de Minecraft. Puede sincronizar este directorio con su servidor de respaldo remoto.
  • El toolsdirectorio contendrá el mcrconcliente y el script de copia de seguridad.
  • El serverdirectorio contendrá el servidor de Minecraft real y sus datos.

Descargar y compilarmcrcon

RCON es un protocolo que le permite conectarse a los servidores de Minecraft y ejecutar comandos. mcron es un cliente RCON escrito en C.

Descargaremos el código fuente de GitHub y construiremos el mcrconbinario.

Clona el Tiiffi/mcrconrepositorio de GitHub al ~/tools/mcrondirectorio:

git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon

Cuando haya terminado, cambie al mcrondirectorio y cree la utilidad:

cd ~/tools/mcrcongcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

Una vez completado, verifique que mcrconse haya compilado con éxito imprimiendo su versión:

./mcrcon -v

La salida se verá algo como esto:

mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon
Bug reports:
	tiiffi+mcrcon at gmail
	https://github.com/Tiiffi/mcrcon/issues/

Descarga del servidor de Minecraft

Hay varias modificaciones de servidor de Minecraft, como Craftbukkit o Spigot , que le permiten agregar funciones (complementos) en su servidor y personalizar y modificar aún más la configuración del servidor.

En esta guía, instalaremos el último servidor Vanilla Minecraft oficial de Mojang. Las mismas instrucciones se aplican para instalar otras modificaciones de servidor.

Dirígete a la página de descarga de Minecraft para obtener el enlace de descarga del último archivo Java (JAR) del servidor de Minecraft. Al momento de escribir, la última versión es 1.16.

Descargue el archivo jar en el ~/serverdirectorio con wget :

wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server

Configuración del servidor de Minecraft

Una vez que se complete la descarga, cambie al ~/serverdirectorio e inicie el servidor de Minecraft:

cd ~/serverjava -Xmx1024M -Xms1024M -jar server.jar nogui

Cuando se inicia por primera vez, el servidor ejecuta algunas operaciones, crea los archivos server.propertieseula.txtse detiene.

[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties
[17:35:15] [main/WARN]: Failed to load eula.txt
[17:35:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Para ejecutar el servidor, debe aceptar el EULA de Minecraft, como se indica en el resultado anterior. Abra el eula.txtarchivo y cambie eula=falseeula=true:

nano ~/server/eula.txt
~/servidor/eula.txt
eula=true

Cierra y guarda el archivo.

A continuación, abra el server.propertiesarchivo y habilite el protocolo rcon y establezca la contraseña de rcon:

nano ~/server/server.properties

Localice las siguientes líneas y actualice sus valores, como se muestra a continuación:

~/servidor/servidor.propiedades
rcon.port=25575
rcon.password=strong-password
enable-rcon=true
No olvide cambiar el strong-passworda algo más seguro. Si no desea conectarse al servidor de Minecraft desde ubicaciones remotas, asegúrese de que su firewall bloquee el puerto rcon.

Mientras esté aquí, también puede ajustar las propiedades predeterminadas del servidor. Para obtener más información sobre la configuración del servidor, visite la página server.properties .

Crear archivo de unidad Systemd

En lugar de iniciar manualmente el servidor de Minecraft, crearemos un archivo de unidad Systemd y ejecutaremos Minecraft como un servicio.

Vuelva a su usuario sudo escribiendo exit.

Abra su editor de texto y cree un archivo llamado minecraft.serviceen el /etc/systemd/system/directorio:

sudo nano /etc/systemd/system/minecraft.service

Pegue la siguiente configuración:

/etc/systemd/system/minecraft.servicio
[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password stop

[Install]
WantedBy=multi-user.target

Modifique las banderas XmxXmssegún los recursos de su servidor. El Xmxindicador define el grupo de asignación de memoria máxima para una máquina virtual Java (JVM), mientras que Xmsdefine el grupo de asignación de memoria inicial. Además, asegúrese de estar utilizando el rconpuerto y la contraseña correctos.

Guarde el archivo y vuelva a cargar la configuración del administrador de systemd:

sudo systemctl daemon-reload

Ahora puede iniciar el servidor de Minecraft escribiendo:

sudo systemctl start minecraft

La primera vez que inicie el servicio, generará varios archivos y directorios de configuración, incluido el mundo de Minecraft.

Verifique el estado del servicio con el siguiente comando:

sudo systemctl status minecraft
● minecraft.service - Minecraft Server
     Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-23 17:48:44 UTC; 8s ago
   Main PID: 1338035 (java)
      Tasks: 15 (limit: 1074)
     Memory: 465.3M
     CGroup: /system.slice/minecraft.service
             └─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui

Finalmente, habilite el servicio de Minecraft para que se inicie automáticamente en el momento del arranque:

sudo systemctl enable minecraft

Ajuste del cortafuegos

Ubuntu viene con una herramienta de configuración de cortafuegos llamada UFW. Si el firewall está habilitado en su sistema y desea acceder al servidor de Minecraft desde el exterior de su red local, debe abrir el puerto 25565:

sudo ufw allow 25565/tcp

Configuración de copias de seguridad

En esta sección, crearemos un script de shell de copia de seguridad y un cronjob para hacer una copia de seguridad automática del servidor de Minecraft.

Cambiar a minecraft:

sudo su - minecraft

Abre tu editor de texto y crea el siguiente archivo:

nano /opt/minecraft/tools/backup.sh

Pegue la siguiente configuración:

/opt/minecraft/tools/backup.sh
#!/bin/bash

function rcon {
  /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1"
}

rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon "save-on"

## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete

Guarde el archivo y haga que el script sea ejecutable :

chmod +x /opt/minecraft/tools/backup.sh

A continuación, cree un trabajo cron que se ejecutará una vez al día automáticamente a una hora fija.

Abra el archivo crontab escribiendo:

crontab -e

Para ejecutar el script de copia de seguridad todos los días a las 23:00, pegue la siguiente línea:

0 23 * * * /opt/minecraft/tools/backup.sh

Acceso a la consola de Minecraft

Para acceder a la consola de Minecraft, use la mcrconutilidad. Debe especificar el host, el puerto rcon, la contraseña rcon y usar el -tinterruptor que habilita el mcrconmodo de terminal:

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit!
> 

Al acceder a la consola de Minecraft desde una ubicación remota, asegúrese de que el puerto rcon no esté bloqueado.

Si se conecta regularmente a la consola de Minecraft, en lugar de escribir este comando largo, crea un alias de bash .

Conclusión

Le mostramos cómo crear un servidor de Minecraft en Ubuntu 20.04 y configurar una copia de seguridad diaria.

Ahora puede iniciar su cliente de Minecraft, conectarse al servidor y comenzar su aventura de Minecraft.

Si encuentra un problema o tiene comentarios, deje un comentario a continuación.