Cómo instalar Minecraft Server en Ubuntu 18.04 LTS

1 mar 2021 7 min di lettura
Cómo instalar Minecraft Server en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

Minecraft es uno de los juegos más populares de todos los tiempos. Es un videojuego sandbox, que permite a sus jugadores explorar mundos infinitos y construir de todo, desde casas simples hasta grandes rascacielos.

Este tutorial cubre la instalación y configuración de Minecraft Server en Ubuntu 18.04. 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.

Las mismas instrucciones se aplican a Ubuntu 16.04 y cualquier distribución basada en Ubuntu, incluidos Linux Mint y Elementary OS.

Prerrequisitos

El usuario que ha iniciado sesión debe tener privilegios de sudo para poder instalar paquetes.

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. Dado que el servidor de Minecraft no necesita una interfaz gráfica de usuario, instalaremos la versión sin cabeza del JRE. Esta versión es más adecuada para aplicaciones de servidor, ya que tiene menos dependencias y utiliza menos recursos del sistema.

Instale el paquete Headless OpenJRE 8 ejecutando:

sudo apt install openjdk-8-jre-headless

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

java -version
openjdk version "1.8.0_242"
 OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
 OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

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 que 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. Esta es una buena práctica de seguridad porque este usuario no podrá iniciar sesión a través de SSH. Para cambiar al minecraft, deberá 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, asegúrese de cambiar 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 almacenará la copia de seguridad del servidor. Posteriormente, puede sincronizar este directorio con el servidor de respaldo remoto.
  • tools directorio de 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 integrado en C.

Descargaremos el código fuente de GitHub y crearemos el binario mcrcon

Comience navegando al ~/tools y clone el Tiiffi/mcrcon de GitHub usando el siguiente comando:

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

Una vez completada la clonación, cambie al directorio del repositorio con el comando cd:

cd ~/tools/mcrcon

Comience a compilar la mcrcon escribiendo:

gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

Una vez completado, puede probarlo escribiendo:

./mcrcon -h

La salida se verá así:

Usage: mcrcon [OPTIONS]... [COMMANDS]...
 Sends rcon commands to Minecraft server.

 Option:
 -h Print usage
 -H Server address
 -P Port (default is 25575)
 -p Rcon password
 -t Interactive terminal mode
 -s Silent mode (do not print received packets)
 -c Disable colors
 -r Output raw packets (debugging and custom handling)
 -v Output version information

 Server address, port and password can be set using following environment variables:
 MCRCON_HOST
 MCRCON_PORT
 MCRCON_PASS

 Command-line options will override environment variables.
 Rcon commands with arguments must be enclosed in quotes.

 Example:
 mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop

 mcrcon 0.6.1 (built: May 19 2019 23:39:16)
 Report bugs to tiiffi_at_gmail_dot_com or 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.

El último archivo de archivo Java (JAR) del servidor de Minecraft está disponible para descargar desde la página de descarga de Minecraft.

En el momento de escribir este artículo, la última versión es la 1.52.2. Antes de continuar con el siguiente paso, debe consultar la página de descarga para obtener una nueva versión.

Ejecute el wget comando wget para descargar el archivo jar de Minecraft en el directorio ~/server

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

Configurar el servidor de Minecraft

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

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

Cuando inicia el servidor por primera vez, hace un trabajo y crea los archivos server.properties y eula.txt

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

Como puede ver en el resultado anterior, para ejecutar el servidor debe aceptar el EULA de Minecraft. Abra el eula.txt y cambie eula=false a eula=true:

nano ~/server/eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
 #Sat Feb 15 14:32:27 CET 2020
 eula=true

A continuación, debe editar el server.properties para habilitar el protocolo rcon y establecer la contraseña rcon. Abra el archivo con su editor de texto:

nano ~/server/server.properties

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

rcon.port=25575
 rcon.password=strong-password
 enable-rcon=true

No olvide cambiar strong-password segura por otra 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 posibles configuraciones, visite la página server.properties.

Cree el archivo de la unidad Systemd

Para ejecutar Minecraft como un servicio, crearemos un nuevo archivo de unidad Systemd.

Regrese al usuario de sudo escribiendo exit:

exit

Abra su editor de texto y cree un archivo llamado minecraft.service en /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 -Xms512M -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

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 y cierre el archivo y vuelva a cargar la configuración del administrador del sistema:

sudo systemctl daemon-reload

Ahora puede iniciar el servidor de Minecraft ejecutando:

sudo systemctl start minecraft

La primera vez que inicie el servicio, generará 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 Sat 2020-02-15 14:34:46 CET; 3s ago
 Main PID: 6014 (java)
 Tasks: 10 (limit: 2298)
 CGroup: /system.slice/minecraft.service
 └─6014 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui

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

sudo systemctl enable minecraft

Ajustar el firewall

Si su servidor está protegido por un firewall y desea acceder al servidor de Minecraft desde fuera de su red local, debe abrir el puerto 25565.

Para permitir el tráfico en el puerto predeterminado de Minecraft 25565, escriba el siguiente comando:

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.

Comience cambiando al usuario de minecraft

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_%R).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 ejecutando el siguiente chmod

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

Guarde y cierre el archivo.

Inicie sesión en la consola de Minecraft

Verifique el estado de la creación del servidor de Minecraft con el siguiente comando:

sudo systemctl status minecraft

Debería recibir un mensaje de salida similar al siguiente:

...
 Feb 15 14:38:01 TEST-SERVER-1 java[6014]: [14:38:01] [Server-Worker-1/INFO]: Preparing spawn area: 98%
 Feb 15 14:38:02 TEST-SERVER-1 java[6014]: [14:38:02] [Server-Worker-1/INFO]: Preparing spawn area: 99%

Espere a que el área de spwn esté 100% lista.

Para acceder a la consola de Minecraft, puede usar la utilidad mcrcon La sintaxis es la siguiente, debe especificar el host, el puerto rcon, la contraseña rcon y usar el -t que habilita el modo de terminal mcrcon

/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 a la consola de Minecraft con regularidad, en lugar de escribir este comando largo, debe crear un alias de bash.

Conclusión

Ha instalado correctamente el servidor de Minecraft en su sistema Ubuntu 18.04 y ha configurado una copia de seguridad diaria.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

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.