Cómo crear un servidor Minecraft en Ubuntu 20.04 LTS

1 mar 2021 7 min di lettura
Cómo crear un servidor Minecraft en Ubuntu 20.04 LTS
Indice dei contenuti

Introducción

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

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

Si desea instalar Minecraft en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Prerrequisitos

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

Instale los paquetes necesarios para mcrcon la herramienta mcrcon:

sudo apt update
sudo apt install git build-essential

Instalar Java Runtime Environment

Minecraft requiere Java 8 o posterior. El servidor de Minecraft no necesita una interfaz gráfica de usuario, por lo que instalaremos la versión sin cabeza 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 sin cabeza OpenJRE 11:

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)

Crea el usuario de Minecraft

Por razones de seguridad, Minecraft no debe ejecutarse con el usuario root. Crearemos un nuevo usuario y grupo del sistema con el directorio de inicio /opt/minecraft. El 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 minecraft, debe iniciar sesión en el servidor como root o usuario con privilegios de sudo.

Instalar Minecraft en Ubuntu

Antes de comenzar con el proceso de instalación, cambie al usuario de minecraft

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 backups en el directorio será almacenar copias de seguridad de su servidor de Minecraft. Puede sincronizar este directorio con el servidor de respaldo remoto.
  • El directorio de tools mcrcon y el script de respaldo.
  • El server directorio contendrá el servidor de Minecraft actual y sus datos.

Descarga y compilación de mcrcon

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 crearemos el binario mcrcon

Clone el Tiiffi/mcrcon de GitHub al ~/tools/mcron con git:

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

mcron, cambie al directorio mcron con el comando cd y cree la utilidad:

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

Una vez completado, verifique que mcrcon se compiló correctamente imprimiendo su versión:

./mcrcon -v

La salida se verá así:

mcrcon 0.7.1 (built: Jun 24 2020 17:16:11) - 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 cambiar aún más la configuración de su servidor.

En esta guía, instalaremos el último servidor oficial de Minecraft vanilla de Mojang. Las mismas instrucciones se aplican para instalar otros mods de servidor.

Vaya a la página de descarga de Minecraft para obtener el enlace de descarga del último archivo Java del servidor de Minecraft (JAR). En el momento de redactar este artículo, la última versión es la 1.16.

Descargue el archivo jar en el directorio ~/server wget:

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

Configurar el servidor de Minecraft

Una vez que se complete la descarga, navegue hasta el ~/server e inicie el servidor de Minecraft:

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

Cuando se inicia por primera vez, el servidor realiza algunas operaciones, crea los server.properties y eula.txt y se detiene.

[17:17:07] [main/ERROR]: Failed to load properties from file: server.properties
 [17:17:07] [main/WARN]: Failed to load eula.txt
 [17:17:07] [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.txt y cambie eula=false a eula=true:

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

Cierra y guarda el archivo.

Luego, abra el server.properties y habilite el protocolo rcon y configure la contraseña rcon:

nano ~/server/server.properties

Busque las siguientes líneas y actualice sus valores, como se muestra a continuación (el puerto ya debería estar configurado en 25575 ):

rcon.port=25575
 rcon.password=tua-password
 enable-rcon=true
~ /server /server.properties

No olvide cambiar tua-password por una más segura. 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.

Cree el archivo de la unidad Systemd

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

Regrese a su usuario de sudo escribiendo exit:

exit

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

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

Pegue la siguiente configuración:

[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 tua-password stop

 [Install]
 WantedBy=multi-user.target
/etc/systemd/system/minecraft.service

Cambie el indicador Xmx y Xms según los recursos del servidor. La Xmx define el grupo de asignación de memoria máxima para una máquina virtual Java (JVM), mientras que Xms define el grupo de asignación de memoria inicial. Además, asegúrese de que está utilizando el rcon y la contraseña correctos.

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

sudo systemctl daemon-reload

Ahora puede iniciar el servidor de Minecraft escribiendo:

sudo systemctl start minecraft

La primera vez que inicie el servicio, se generarán varios archivos de configuración y directorios, 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 Wed 2020-06-24 17:23:45 CEST; 3s ago
 Main PID: 11959 (java)
 Tasks: 12 (limit: 2286)
 Memory: 56.6M
 CGroup: /system.slice/minecraft.service
 └─11959 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui

 Jun 24 17:23:45 TEST-SERVER-1 systemd[1]: Started Minecraft Server.

Finalmente, habilite el servicio de Minecraft para que se inicie automáticamente al inicio:

sudo systemctl enable minecraft

Ajustar el firewall

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

sudo ufw allow 25565/tcp

Crear una copia de seguridad

En esta sección, crearemos un script de shell de respaldo y cronjob para respaldar automáticamente el servidor de Minecraft.

Cambie al usuario de minecraft con el comando su:

sudo su - minecraft

Abra su editor de texto y cree el siguiente archivo:

nano /opt/minecraft/tools/backup.sh

Pegue la siguiente configuración:

#!/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
/opt/minecraft/tools/backup.sh

Guarde el archivo y haga que el script sea ejecutable:

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

Luego, 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 respaldo todos los días a las 11:00 p.m., pegue la siguiente línea:

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

Inicie sesión en la consola de Minecraft

Para acceder a la consola de Minecraft, use la utilidad mcrcon Debe especificar el host, el puerto rcon, la contraseña rcon y usar la -t que habilita el modo terminal mcrcon

Verifique el estado del servidor de Minecraft:

sudo systemctl status minecraft

Asegúrese de que el servidor esté listo:

Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Worker-Main-2/INFO]: Preparing spawn area: 99%
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Time elapsed: 103220 ms
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Done (126.416s)! For help, type "help"
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Starting remote control listener
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Thread RCON Listener started
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575

Luego conéctese a través de la utilidad mcrcon

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p tua-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 te conectas a la consola de Minecraft con regularidad, en lugar de escribir este comando largo, creas un alias de bash.

Conclusión

En este tutorial hemos visto cómo crear un servidor de Minecraft en Ubuntu 20.04 LTS Focal Fossa y configurar una copia de seguridad diaria.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.