Aprende cómo puede instalar y configurar tu propio servidor Vanilla para Minecraft en su servidor Ubuntu 18.04.


Cuando era solo un niño, me enamoré de Minecraft porque era uno de los juegos que solía funcionar sin problemas en mi vieja computadora de baja especificación, la dinámica del juego era increíble y todas las cosas que podías lograr eran increíbles. Hasta la fecha, el juego todavía lanza actualizaciones constantes, nuevos elementos y otras cosas. Una de esas increíbles funciones fue la posibilidad de jugar con amigos en servidores públicos que, lamentablemente, ya no están disponibles.

Mientras trataba de jugar el juego con algunos amigos nuevamente, descubrí lo fácil que era alojar mi propio servidor de Minecraft en mi servidor para jugar con ellos, así que hoy te explicaré cómo configurar fácilmente tu propio servidor de Minecraft autohospedado en Ubuntu 18.04.

1. Instalar los requisitos para compilar

Antes de continuar con la configuración de su servidor de Minecraft, necesitará los siguientes paquetes preinstalados en su servidor. Antes de instalarlos, asegúrate de actualizar el repositorio de apt con el siguiente comando (inicialmente deberías tener privilegios de root):

sudo apt-get update

Luego, ejecuta el siguiente comando para instalar Git y el paquete Build Essential en tu servidor:

sudo apt-get install git build-essential

Una vez que tengas la compilación esencial y git en el servidor, deberías estar listo para continuar.

2. Instalar Headless Java Runtime Environment (JRE)

Como obviamente sabes, Minecraft se desarrolló en Java. Para ejecutar el código del servidor de Minecraft en tu servidor de Ubuntu, necesitará stener Java instalado, específicamente Java 8 o posterior. En este caso, instalaremos la versión headless de Java 8 con el siguiente comando en el servidor:

sudo apt-get install openjdk-8-jre-headless

Instalamos la versión sin cabeza ya que no necesitaremos ninguna interfaz gráfica en el servidor 🤷‍♂️. Después de instalar Java, puede verificar fácilmente la versión en el terminal con el siguiente comando:

java -version

Que debería generar algo como:

openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

Con Java instalado, puede continuar con el siguiente paso.

3. Creación de un usuario de Minecraft a nivel de servidor

DeberíaS tener un usuario exclusivo en su servidor ubuntu para configurar Tu servidor minecraft por razones de seguridad, de modo que el servidor no se ejecute con privilegios de root. El usuario no debería tener una contraseña tampoco porque no debería poder acceder a tu servidor a través de SSH. Puedes registrar al usuario con el siguiente comando:

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

Sin embargo, al configurar el servidor de Minecraft, debes tener privilegios de root, por lo que puedes cambiar a este usuario más tarde. Después de ejecutar el comando, el nuevo usuario debería existir ahora en tu sistema.

4. Cambie al usuario de Minecraft y cree directorios.

Ahora con privilegios de root, cambia al usuario de Minecraft con el siguiente comando:

sudo su - minecraft

En tu terminal, debes iniciar sesión como usuario de Minecraft minecraft@serverxd. Luego, proceda a crear los 2 directorios que necesitará para almacenar los datos de Minecraft:

  • servidor : este directorio contendrá la fuente de su servidor, el mundo, etc.
  • herramientas : este directorio almacenará la utilidad mcrcon que le ayudará a administrar su servidor de Minecraft a través de su terminal en el servidor.

Puedes crearlos con el siguiente comando:

mkdir -p ~/{tools,server}

Esto se creará en el directorio raíz del usuario de Minecraft.

5. Descarga y compila mcrcon

Ahora deberá clonar el código fuente de mcrcon en su servidor y compilarlo usted mismo. mcrcon es un cliente rcon de Minecraft basado en consola para scripts de administración remota y mantenimiento del servidor. Proceda a clonar el código fuente del proyecto con el siguiente comando mientras aún está registrado como usuario de Minecraft:

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

Esto cambiará el directorio actual al directorio de herramientas y clonará el repositorio usando git. Después de clonar el repositorio, cambie al directorio del proyecto clonado con el siguiente comando:

cd ~/tools/mcrcon

En este directorio, ejecuta el siguiente comando para iniciar la compilación de mcrcon usando el compilador GCC:

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

Una vez que finalice la compilación, podrá probar si funciona ejecutando el siguiente comando que básicamente ejecutará la utilidad con el argumento --help:

./mcrcon -h

Producirá algo como el siguiente texto en la terminal:

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/

6. Descarga y configura el servidor de Minecraft

Después de instalar el panel de control del servidor, deberá descargar el servidor. En este tutorial, usaremos el servidor oficial de Vanilla del sitio web de minecraft de mojang. Enumeraremos aquí las 3 últimas versiones (hasta la fecha 23/04/2020, así que si está leyendo este artículo después de esta fecha, busca la última versión en el sitio web oficial), sin embargo, puedes buscar en Google otras versiones si necesitas ( https://mcversions.net/ ):

En este caso, usaremos la última versión 1.15.2, por lo que podríamos descargar fácilmente el archivo del servidor con wget usando el siguiente comando:

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

Esto descargará el archivo .jar en el directorio del servidor que creamos anteriormente. Una vez que finalice la descarga, deberá iniciar temporalmente el servidor con los siguientes comandos:

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

Esto hará que el servidor se inicie y cree algunos archivos básicos, sin embargo, dejará de lanzar inmediatamente una excepción sobre la necesidad de aceptar el acuerdo EULA:

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

Habrá 2 archivos nuevos en el directorio del servidor, especificamente, eula.txtserver.properties. Debes aceptar el EULA simplemente cambiando la propiedad de falso a verdadero:

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
# Thu Apr 23 2020 10:58:54 GMT-0500 (Colombia Standard Time)
eula=true

Puede hacer esto usando nano en la terminal para editar el archivo:

nano ~/server/eula.txt

Luego, modifique el archivo server.properties con el siguiente comando:

nano ~/server/server.properties

Y cambia las siguientes propiedades:

# 1. Configurar las propiedades de rcon
# cambie su contraseña a algo seguro, esto se utilizará más tarde
rcon.port=25575
rcon.password=your-password
enable-rcon=true
# 2.Permitir el modo en línea o no
# Si establece este valor en falso, las personas con la versión pirata de Minecraft
# podrá conectarse a su servidor; de lo contrario, si se establece en verdadero, el
# se utilizará la autenticación de mojang, por lo que solo funcionarán las versiones pagas de Minecraft
online-mode=true

Es importante tener en cuenta aquí, que usted será el que defina cómo funcionará su servidor, la configuración anterior define la funcionalidad correcta de mcrcon y si permitirá que las versiones crackeadas de Minecraft funcionen con su servidor.

Después de cambiar los valores, podrás continuar con el tutorial, no inicies el servidor todavía . 

7. Creación de Minecraft Server como servicio

Ahora, la forma recomendada de iniciar el servidor de Minecraft es a través de un servicio, por lo que puedes detener, iniciar y reiniciar el servicio fácilmente con la facilidad de un comando. Haremos esto en Ubuntu a través de un archivo de unidad systemd.

Cambia al usuario root y cree el archivo con el siguiente comando:

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

Establece la siguiente configuración como contenido del archivo:

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

[Install]
WantedBy=multi-user.target

El archivo de configuración se describe a continuación: el proceso se ejecutará utilizando el usuario de Minecraft y tendrá como directorio de trabajo el directorio /opt/minecraft/server que creamos inicialmente. La propiedad ExecStart define el comando que se ejecutará el propio servidor: java -Xmx1024M -Xms1024 -jar server.jar nogui. Esto ejecutará el archivo server.jar usando 1 GB de memoria máxima, puedes ajustar este tamaño de acuerdo con los recursos disponibles de tu servidor y las necesidades de tu servidor de Minecraft.

Guarda los cambios en el archivo systemd y vuelve a cargar el daemon con el siguiente comando:

sudo systemctl daemon-reload

Al hacer esto, ahora podrá iniciar, detener y reiniciar el servidor de Minecraft a través del servicio creado.

8. Verifique que el puerto 25565 esté abierto

La gente debería poder conectarse a tu servidor de Minecraft usando el puerto 25565, por lo que debes verificar que el puerto esté abierto, en caso de que tu servidor esté protegido con un firewall, abre el puerto con ufw:

sudo ufw allow 25565/tcp

En entornos como AWS, debes abrir los puertos en la interfaz de administración.

9. Inicia el servidor de Minecraft

Finalmente, deberías poder iniciar el servidor de Minecraft con el siguiente comando:

sudo systemctl start minecraft

Después de iniciarlo, puede ver el estado del servidor con:

sudo systemctl status minecraft

Ahora tus amigos deberían poder conectarse al servidor de Minecraft usando la IP del servidor y agregando como sufijo your-server-ip:25565.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores