Qué es y qué conseguirás: Un servidor Minecraft Forge permite ejecutar Minecraft con mods que alteran el motor del juego. En esta guía práctica aprenderás, paso a paso, a crear un servidor Minecraft Forge en Ubuntu (Linux): requisitos de Java, instalación headless del instalador de Forge, inicio en segundo plano, configurar arranque automático con systemd, seguridad básica, instalación de mods y resolución de problemas.
Intención y público objetivo
Esta guía está pensada para administradores de servidores domésticos o pequeños servidores comunitarios que usan Ubuntu (por ejemplo 22.04/24.04) y desean ejecutar un servidor moddeado con Forge. Asume conocimientos básicos de Linux (terminal, sudo) y acceso SSH al servidor.
Requisitos previos y compatibilidad
- Hardware: mínimo 2–4 GB RAM para pocos jugadores; 6–12+ GB recomendados según mods y número de jugadores.
- Sistema: Ubuntu Server o Desktop (ejemplos con 22.04/24.04). Acceso SSH y un usuario con sudo.
- Puertos: por defecto Minecraft usa 25565/TCP (abrir en el cortafuegos si procede).
- Permisos: crea y usa un usuario no root para ejecutar el servidor (por seguridad).
Elegir y comprobar la versión de Java
La versión de Java que necesitas depende de la versión de Minecraft que quieras ejecutar: por ejemplo, las ramas 1.18–1.20 requieren Java 17; versiones más recientes (a partir de 1.20.5/1.21 en algunos lanzamientos) pueden requerir Java 21 o superior. Comprueba la versión mínima para la versión de Minecraft objetivo antes de instalar Java y Forge. (minecraft.wiki
Comprobar Java instalado
java -version
Salida esperada (ejemplo Java 17):
openjdk version "17.0.x" 2024-xx-xx
OpenJDK Runtime Environment (build 17.0.x+xx)
Si la versión es inferior a la requerida instala la versión correcta.
Instalar dependencias en Ubuntu
Ejemplo de comandos para Ubuntu (22.04/24.04):
sudo apt update && sudo apt upgrade -y
sudo apt install -y openjdk-17-jre-headless wget screen unzip
El paquete openjdk-17-jre-headless está disponible en los repositorios de Ubuntu LTS; si necesitas otra versión (Java 21) instala el paquete correspondiente o usa un paquete oficial del proveedor. (packages.ubuntu.com
Crear la carpeta del servidor y permisos
- Crear usuario y carpeta (ejecutar como sudo):
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft sudo mkdir -p /opt/minecraft/forge && sudo chown -R minecraft:minecraft /opt/minecraft/forge - Usar siempre un usuario no root para ejecutar el servidor.
Descargar el instalador de Forge
Descarga desde la página de releases de Forge la versión que coincida con la versión de Minecraft que desees (por ejemplo, 1.20.x). Sube el archivo forge-vers-installer.jar al servidor o descárgalo con wget en el directorio vacío donde vayas a instalar.
Instalar Forge en modo servidor (headless)
Para instalar sin GUI usa la opción --installServer del instalador de Forge. Ejecuta desde el directorio donde colocarás los archivos del servidor (directorio vacío):
cd /opt/minecraft/forge
sudo -u minecraft java -jar forge--installer.jar --installServer
El instalador en modo servidor descarga minecraft_server.jar, las libraries necesarias y genera el JAR de Forge (suele aparecer con un nombre tipo forge-<version>-universal.jar o similar). El propio instalador incluye la acción installServer en su código. (github.com
Qué archivos genera y por qué importan
eula.txt: debes cambiareula=falseaeula=truesi aceptas el EULA antes del primer arranque.libraries/: dependencias necesarias por el servidor Forge.forge-...-universal.jar: JAR de lanzamiento que iniciará el servidor moddeado.
Primer arranque y ejecución
Acepta el EULA con:
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
Arranca el servidor por primera vez para que cree sus archivos de configuración:
sudo -u minecraft java -Xms1G -Xmx3G -jar forge--universal.jar nogui
Ajusta -Xms y -Xmx según la memoria disponible y la carga prevista. Si el servidor lanza errores de versión de clase (UnsupportedClassVersionError) significa que Java es demasiado antiguo o demasiado nuevo para ese build de Forge/Minecraft.
Ejecutar en segundo plano: screen/tmux o script run.sh
Usa screen o tmux para mantener la sesión activa al cerrar SSH:
sudo -u minecraft screen -S minecraft
# dentro de screen:
sudo -u minecraft java -Xms1G -Xmx3G -jar forge--universal.jar nogui
Alternativamente crea run.sh (asegúrate de que el script no sea ejecutado como root y tenga permisos correctos):
#!/bin/bash
cd /opt/minecraft/forge
exec java -Xms1G -Xmx3G -jar forge--universal.jar nogui
Crear un servicio systemd (inicio automático)
Ejemplo de unidad systemd (crea /etc/systemd/system/minecraft.service):
[Unit]
Description=Minecraft Forge Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/forge
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar forge--universal.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Recarga systemd e inicia el servicio:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft.service
sudo systemctl status minecraft.service
Abrir puerto y recomendaciones de seguridad
Si usas UFW abre el puerto 25565/TCP y limita acceso SSH por IP cuando sea posible:
sudo ufw allow 25565/tcp
sudo ufw allow OpenSSH
sudo ufw enable
Recomendaciones: ejecutar como usuario no root, mantener Java y el sistema actualizados, limitar el acceso SSH con claves, y revisar regularmente los logs del servidor.
Enlaces relacionados: consulta nuestra guía general sobre servidores Minecraft en Linux para conceptos básicos y nuestra guía sobre UFW para configurar el cortafuegos de forma segura. Servidor de Minecraft en Linux: Guía Completa · UFW en Linux: Aprende a Configurarlo y Usarlo · También explicamos diferencias entre servidores con plugins y moddeados en: Servidor Minecraft Spigot: Crea tu propio mundo.
Instalar mods (básico)
- Detén el servidor.
- Copia los archivos JAR de los mods compatibles con la versión de Forge y Minecraft a
/opt/minecraft/forge/mods/. - Arranca el servidor y observa la consola para errores por conflictos o dependencias faltantes.
Compatibilidad: los mods deben coincidir con la versión exacta de Minecraft y, a veces, con una versión concreta de Forge. Si un mod falla, revisa su log y elimina el mod problemático para arrancar de nuevo.
Backups y mantenimiento
Haz backups frecuentes del mundo y de la carpeta config/. Ejemplo simple con tar y cron (advertencia: realiza pruebas antes de eliminar backups antiguos):
# script /usr/local/bin/backup_minecraft.sh
date=$(date +%F_%H%M)
tar -czf /var/backups/minecraft_world_${date}.tar.gz -C /opt/minecraft/forge world config
# añadir limpieza de backups antiguos según política
# cron (ejecutar como root): guardar diariamente a las 03:00
0 3 * * * /usr/local/bin/backup_minecraft.sh
Para servidores en cloud considera snapshots de disco además de backups a otro host o almacenamiento en la nube.
Solución de problemas comunes
- Servidor no arranca — UnsupportedClassVersionError: Java instalado es demasiado antiguo. Verifica
java -versiony instala la versión requerida. - Faltan libraries o crash al lanzar: ejecuta de nuevo el instalador con
--installServeren un directorio vacío o revisa que la carpetalibraries/esté completa. (github.com - Crash al cargar mods: uno o varios mods no son compatibles con la versión de Forge/Minecraft. Inicia sin la carpeta
mods/y añade mods uno a uno para identificar el problema. - Puerto en uso: comprueba con
ss -tulpn | grep 25565y detén el proceso que ocupe el puerto o cambia el puerto enserver.properties.
Consejos avanzados
- Memory tuning: reserva un mínimo razonable para el sistema (p. ej. mantener 1–2 GB fuera de Java) y asigna el resto a
-Xmx. Para grandes modpacks 8–16+ GB pueden ser necesarios. - Monitoreo: usa herramientas como Prometheus/node_exporter o simples scripts que recojan uso de memoria/CPU y reinicios automáticos controlados.
- Contenerización: ejecutar en Docker o en una VM facilita snapshots y aislamiento; sin embargo, el rendimiento de I/O y la gestión de persistencia requieren atención.
Verificar que todo funciona
- Comprueba que el servicio systemd está activo:
systemctl status minecraft.service. - Conéctate desde un cliente Minecraft con la misma versión y prueba que el mundo carga y los mods funcionan.
- Revisa logs en
logs/latest.logpara errores al arrancar.
Preguntas frecuentes
¿Puedo ejecutar varios servidores Forge en la misma máquina?
Sí, pero usa usuarios distintos, carpetas separadas y puertos distintos (cambia server-port en server.properties) y ajusta recursos RAM/CPU para evitar contención.
¿Necesito la versión exacta de Forge para mis mods?
Normalmente sí: los mods suelen compilarse contra una versión concreta de Forge/Minecraft. Utiliza versiones de mods compatibles con tu versión de Forge.
¿Dónde comprobar la versión de Java que necesita mi versión de Minecraft?
Consulta la documentación de la versión de Minecraft que quieres usar; como regla general, 1.18–1.20 suelen requerir Java 17 y versiones a partir de 1.20.5 pueden requerir Java 21. Confirma siempre antes de instalar. (minecraft.wiki
Si necesitas, puedo generar un ejemplo de unidad systemd completa adaptada a tu versión concreta de Forge (indícame la versión de Minecraft/Forge y la memoria RAM del servidor) y revisar los comandos para Ubuntu 22.04 o 24.04 según prefieras.
