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
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
):
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:
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:
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.