Este es el compañero práctico de nuestra página VPS para un servidor de juegos. Aquella va sobre qué plan encaja; esta va sobre montar el servidor de verdad — Paper, un servicio systemd adecuado, la config que te ahorra RAM, la firewall y las copias de seguridad. Al final tendrás un servidor de Minecraft que sobrevive a un fallo, sobrevive a un reinicio y no se come en silencio toda tu máquina.
Una nota honesta antes de empezar: los límites de CPU y RAM de la página del caso de uso siguen aplicando. Paper en un plan Small o Medium es genial para un grupo de amigos. Un pack de 150 mods para una gran comunidad no es para lo que están estos planes, y ninguna cantidad de config lo arregla. Con eso claro, construyamos.
1. Instala Java
Paper funciona sobre Java. Instala un JDK headless — para una versión actual de Minecraft eso es Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Si tu versión de Minecraft es más antigua, instala el Java que pida (17 para la era 1.18-1.20). Los logs del servidor se quejarán a voces si la versión está mal.
2. Configura el directorio del servidor y Paper
Ejecuta el servidor como su propio usuario, no como root — si algo sale mal alguna vez, quieres el radio de explosión pequeño.
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
Descarga la jar de Paper para tu versión de Minecraft (coge la URL de su página de descargas) y guárdala como server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
Ejecútala una vez para generar los archivos de config, luego acepta la EULA:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# se detiene de inmediato pidiéndote que aceptes la EULA
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
El -Xmx3G es el techo del heap de la JVM. En un plan Small de 4 GB, ~3 GB para la JVM deja al OS espacio para respirar. No lo fijes a toda tu RAM — la JVM tiene overhead más allá del heap, y el asesino de OOM no negocia.
3. Afina server.properties para ahorrar RAM
Aquí es donde te compras rendimiento gratis. Abre server.properties y fija:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunks que se mantienen cargados alrededor de cada jugador. El valor por defecto de 10 es generoso; 8 (o incluso 6) recorta RAM y CPU notablemente y casi nadie nota la diferencia.simulation-distance— hasta dónde tickan realmente entidades, redstone y crecimiento de cultivos. Más bajo es más barato. 6 es un punto de partida sensato.max-players— fíjalo a lo que realmente esperas, para que una multitud sorpresa no reviente tu presupuesto de RAM.
Recuerda la realidad de un solo hilo: el tick de Minecraft se apoya en un núcleo. Si los TPS caen, más RAM no ayudará — bajar simulation-distance y los topes de mobs sí.
4. Ejecútalo como un servicio systemd
Esta es la parte que convierte «una jar que ejecuté una vez» en «un servidor». Crea /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar server.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143
[Install]
WantedBy=multi-user.target
Restart=on-failure es la línea que importa — si la JVM se cae, systemd la trae de vuelta en diez segundos. SuccessExitStatus=... 143 impide que systemd trate un apagado normal por SIGTERM como un fallo. Actívalo e inícialo:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # logs en vivo
Ahora arranca al inicio, se reinicia en los fallos, y los logs van a journald.
5. Abre el puerto de la firewall
Minecraft escucha en TCP 25565 por defecto. Abre solo eso:
sudo ufw allow 25565/tcp
sudo ufw enable
Dales a tus amigos la IP del servidor (y :25565 si cambiaste el puerto). No abras nada que no necesites — todo el sentido de ejecutar tu propia máquina es que tú decides qué es accesible.
6. Haz copia de seguridad del mundo
La que la gente se salta hasta el día en que desearía no haberlo hecho. Un script simple:
#!/bin/bash
cd /opt/minecraft/server
TS=$(date +%Y%m%d-%H%M)
tar czf /opt/minecraft/backups/world-$TS.tar.gz world world_nether world_the_end
Ejecútalo desde cron, y — esta es la mitad importante — copia el archivo fuera del servidor, a object-storage o a otra máquina. Una copia en el mismo disco que el mundo muere con el disco. Si tu mundo importa, ejecuta save-off y save-all en la consola del servidor antes del tar para nunca hacer un snapshot a mitad de escritura.
Esa es la cosa entera
Java, Paper, config afinada, un servicio systemd que se auto-reinicia, un puerto de firewall y copias que viven en otro sitio. Ese es un servidor de Minecraft que se comporta como uno.
Si aún no tienes una máquina: elige un plan — Small (8 $) para un grupo pequeño, Medium (12 $) si estás empujando diez jugadores — paga en USDC o USDT (sin KYC, sin documentos), y tendrás root en unos 60 segundos. Luego trabaja esta página hacia abajo. Y el recordatorio honesto una última vez: esta es la configuración correcta para vanilla o Paper con amigos. Un modpack pesado para una gran comunidad necesita hardware distinto, y preferimos que lo oigas de nosotros primero.
Comentarios
Aún no hay comentarios. Sé el primero.