Instalar un servidor de Minecraft en un VPS: Ubuntu, Java 21 y systemd
La mayoría de la gente que quiere un servidor de Minecraft está mejor con un paquete de servidor de juegos: panel, copias de seguridad, actualizar con un clic. Pero hay un grupo para el que un VPS es la mejor opción: quieres varios servidores pequeños detrás de un proxy, quieres ejecutar tus propios scripts y cronjobs, o simplemente quieres aprender cómo funciona por dentro. Esta guía monta un servidor Paper en Ubuntu 24.04, como servicio de systemd que arranca solo tras un reinicio y guarda el mundo correctamente al parar. Calcula media hora.
¿Qué VPS?
Minecraft corre en un solo núcleo y lo quiere rápido. Elige por eso la línea Normal con el AMD EPYC 7443P (hasta 4,0 GHz): el HEN-N-02 con 4 GB por 5,30 € al mes es un buen comienzo para 5 a 10 jugadores, y el HEN-N-03 con 4 vCores y 8 GB por 9,50 € si quieres plugins o varios servidores. La línea budget en el Xeon más antiguo también funciona, pero notarás la menor velocidad de reloj en el tickrate en cuanto haya movimiento. Deja 1 GB libre para el sistema operativo: en un VPS de 4 GB le das 3 GB al servidor.

Paso 1: entrar, actualizar y crear un usuario aparte
Entra por SSH (así te conectas) y empieza con las actualizaciones y un usuario sin permisos de root. El servidor correrá después bajo ese usuario, para que un plugin malicioso no se haga de inmediato con toda tu máquina.
apt update && apt upgrade -y
adduser --disabled-password --gecos "" minecraft
mkdir -p /opt/minecraft && chown minecraft:minecraft /opt/minecraftPaso 2: firewall
ufw allow OpenSSH
ufw allow 25565/tcp
ufw enableSolo quedan abiertos SSH y el puerto de Minecraft. Si más adelante quieres Geyser para jugadores de Bedrock, se añade 19132/udp. RCON (paso 6) lo dejas a propósito cerrado hacia fuera.
Paso 3: Java 21
Minecraft 1.20.5 y posteriores, incluidas las versiones 26.x, requieren Java 21. En Ubuntu 24.04 es una sola línea; nuestra base de conocimientos tiene una guía aparte por si usas otra distribución.
apt install -y openjdk-21-jre-headless
java -versionPaso 4: descargar Paper y la EULA
Descarga la build más reciente de Paper para tu versión de Minecraft desde la web de PaperMC y ponla como paper.jar en /opt/minecraft. Arráncala una vez como el usuario minecraft; crea los archivos y se detiene en la EULA.
su - minecraft
cd /opt/minecraft
java -Xms3G -Xmx3G -jar paper.jar --nogui
sed -i 's/eula=false/eula=true/' eula.txtCon -Xms y -Xmx iguales evitas que Java tenga que pedir memoria una y otra vez. Más flags, como el conocido ajuste del recolector de basura, pueden venir después; con diez jugadores no notarás la diferencia. Ajusta ahora también server.properties: deja online-mode=true, pon view-distance en 8 y un motd. Qué hacen las demás líneas lo tienes en server.properties explicado.
Paso 5: el servicio de systemd
Este es el paso que distingue un servidor en VPS de una «pantalla que dejo abierta». Crea /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft (Paper)
After=network-online.target
Wants=network-online.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms3G -Xmx3G -jar paper.jar --nogui
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=120
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload
systemctl enable --now minecraft
systemctl status minecraft
journalctl -u minecraft -fKillSignal=SIGINT es la línea más importante: el servidor de Minecraft captura esa señal y guarda todos los mundos antes de detenerse, exactamente igual que con stop en la consola. Sin esa línea, en un reinicio recibe una señal brusca y te arriesgas a un chunk corrupto. TimeoutStopSec le da dos minutos para hacerlo; un mundo grande a veces los necesita.
Paso 6: una consola mediante RCON
Un servicio no tiene una pantalla en la que escribir comandos. La solución limpia es RCON: pon en server.properties enable-rcon=true, rcon.port=25575 y un rcon.password largo, e instala en el VPS un cliente RCON como mcrcon. Como el firewall no abre ese puerto, RCON solo es accesible en local, y eso es justo lo que quieres. Una alternativa que muchos administradores prefieren: arrancar el servidor dentro de screen o tmux desde el servicio, para ver la consola real con screen -r. Funciona, pero la lógica de parada se complica; empieza con RCON.
Paso 7: copias de seguridad
Nuestros VPS incluyen copias de seguridad de toda la máquina, pero un mundo lo quieres guardar más a menudo y de forma más específica. Un cronjob que empaquete cada hora las carpetas del mundo es suficiente:
0 * * * * tar -czf /opt/backups/mundo-$(date +\%Y%m%d-%H).tar.gz -C /opt/minecraft world world_nether world_the_endAñade una línea que limpie los archivos de más de siete días y copia la carpeta de vez en cuando a otro sitio que no sea el propio VPS. Una copia de seguridad en el mismo disco que el servidor no es una copia de seguridad.
Paso 8: actualizar y mantener
Actualizar es poner el nuevo paper.jar y ejecutar systemctl restart minecraft. Antes de cada actualización revisa los plugins: tienen que ser compatibles con la nueva versión. Vigila la máquina con htop y free -m; si quedan libres menos de unos cientos de MB, toca un paquete más grande, y eso se puede hacer cada mes.
Con sinceridad: cuándo no deberías hacer esto
Todo lo de arriba lo tienes hecho en un servidor de juegos de Minecraft: panel con consola, copias de seguridad con un clic, cambio de versión, instalación de plugins y protección anti-DDoS en el puerto del juego. Empieza en 0,50 € al mes y cuesta aproximadamente 1,10 € por GB, que para un solo servidor es más barato que un VPS de tamaño comparable. El VPS solo gana cuando hay varios servidores, un proxy Velocity, software propio al lado o simplemente las ganas de hacerlo tú mismo. Si quieres lo mejor de los dos mundos, mira Pterodactyl en tu propio VPS: un panel que administras tú.