Cómo alojar un servidor de Minecraft en un VPS o servidor dedicado Linux
Alojar tu propio servidor de Minecraft significa que el mundo en el que juegan tus amigos corre sobre un hardware que tú controlas: sin límites de plazas, sin restricciones de plugins, sin tarifas por jugador. Esta guía recorre el camino en un VPS o servidor dedicado Linux, desde dimensionar la máquina y elegir entre vanilla, Paper, Fabric y NeoForge hasta instalar Java 25 y escribir una unidad systemd que sobrevive a los reinicios. También cubre el dimensionamiento de la JVM con los flags de Aikar, la regla de firewall y el registro SRV que dejan entrar a los jugadores, la lista blanca, las copias de seguridad, la actualización segura y el crossplay con Bedrock a través de Geyser y Floodgate.
Loading...
La versión corta
Un servidor de Minecraft es un único proceso Java que escucha en el puerto TCP 25565. Alojar uno tú mismo requiere una máquina Linux, un runtime de Java, un archivo jar, y aproximadamente una hora la primera vez. El procedimiento completo:
- Elige una máquina. Dos núcleos decentes y 4 GB de RAM cubren un mundo vanilla entre amigos; la tabla de dimensionamiento de más abajo lo escala.
- Instala Java 25. El Minecraft actual (las actualizaciones 26.x) se niega a arrancar en cualquier versión anterior.
- Crea un usuario de sistema dedicado
minecraftpara que el servidor nunca corra como root. - Descarga un jar de servidor: Paper para la mayoría de los servidores, vanilla si quieres el comportamiento original intacto.
- Ejecútalo una vez, luego pon
eula=trueeneula.txtpara aceptar los términos de licencia de Minecraft. - Configura lo básico en
server.properties: MOTD, límite de jugadores, distancia de vista, lista blanca. - Envuélvelo en una unidad systemd para que arranque en el boot y vuelva tras una caída.
- Abre 25565/tcp en el firewall, apunta el DNS a la máquina, y reparte la dirección.
Esa lista es todo el trabajo. El resto de esta guía recorre cada paso en Ubuntu o Debian, y luego cubre lo que separa a un servidor que funciona esta noche de uno que sigue funcionando dentro de seis meses: flags de la JVM, lista blanca, copias de seguridad, actualizaciones, y crossplay con Bedrock para los amigos con teléfono o consola.
Lo que necesitas
Importan tres recursos, en este orden: el rendimiento de CPU monohilo, la RAM, y luego el disco.
El bucle principal del juego corre en un solo hilo. Las versiones modernas desplazan parte del trabajo a otros sitios (red, carga de chunks), pero la página de requisitos de la wiki de Minecraft señala que el servidor normalmente usa tres núcleos como máximo. Una CPU con menos núcleos pero más rápidos vence a una con muchos núcleos lentos, y ninguna cantidad de núcleos adicionales rescata un bucle de tick que va con retraso. Este es el dato técnico que peor evalúan la mayoría de los comparativos de hosting.
La RAM depende del número de jugadores y del modding. Las cifras de abajo son reglas empíricas de la comunidad, ancladas en el mínimo de 1 GB que indica la wiki, no mediciones de ninguna máquina en particular:
| Configuración | Jugadores | Heap JVM (-Xmx) | RAM de la máquina |
|---|---|---|---|
| Vanilla o Paper, supervivencia con amigos | 2 a 5 | 2 GB | 4 GB |
| Paper, servidor público pequeño, algunos plugins | 10 a 20 | 4 GB | 8 GB |
| Paper o Purpur, comunidad establecida | 30 a 80 | 8 GB | 16 GB |
| Fabric con mods de rendimiento | 5 a 20 | 4 a 6 GB | 8 GB |
| Modpack pesado (NeoForge, tipo ATM) | 5 a 20 | 8 a 12 GB | 16 a 24 GB |
Dos notas sobre esta tabla. La distancia de vista mueve las cifras más que el número de jugadores, porque los chunks cargados crecen con el cuadrado de la distancia. Y los modpacks pesados publican sus propios requisitos; confía en el autor del pack antes que en cualquier tabla genérica, incluida esta.
El disco es la parte fácil. Un mundo recién creado pesa decenas de megabytes; un mapa comunitario de larga duración con exploración extensa alcanza decenas de gigabytes. Un disco NVMe ayuda cuando los jugadores se dispersan y el servidor transmite chunks desde el disco, y 50 GB de espacio dejan sitio para el mundo más las copias de seguridad locales. Para orientación de hardware más allá de Minecraft, la guía de dimensionamiento de servidores dedicados cubre el caso general.
En cuanto al sistema operativo, tanto Ubuntu LTS como Debian cumplen, y cada comando de más abajo funciona en cualquiera de los dos. Si quieres ayuda para elegir, Ubuntu vs Debian para un servidor dedicado repasa las diferencias.
Elegir el software de servidor
Una sola distinción ordena todo el panorama: los plugins corren solo en el servidor, así que los jugadores se conectan con un cliente estándar; los mods cambian el juego en sí y normalmente necesitan una instalación equivalente en la máquina de cada jugador. Decide cuál necesitas y el software se elige solo.
| Software | Tipo | Se extiende con | Recurre a él cuando |
|---|---|---|---|
| Vanilla | Jar oficial | Nada | Quieres un comportamiento estándar exacto para un mundo pequeño |
| Paper | Fork del servidor | Plugins (Bukkit, Spigot, API de Paper) | La mayoría de servidores: mejor rendimiento, enorme catálogo de plugins, clientes estándar |
| Purpur | Fork de Paper | Plugins | Quieres Paper con cientos de opciones de configuración más |
| Fabric | Cargador de mods | Mods | Modding ligero y mods de rendimiento de servidor como Lithium |
| NeoForge | Cargador de mods | Mods | Modpacks de contenido grandes en versiones actuales |
La mitad de los cargadores de mods necesita algo de historia. NeoForge se separó de Forge a mediados de 2023, y los packs grandes en versiones recientes lo usan como objetivo; All The Mods 10 corre sobre NeoForge, por ejemplo. Los packs fijados en la 1.20.1 y anteriores todavía usan el Forge clásico. Fabric sigue siendo el cargador ligero y de actualización rápida donde vive el ecosistema de mods de rendimiento. Los mods no cruzan entre cargadores, y cada mod también debe coincidir con la versión del juego, así que el pack que elijas dicta tanto el cargador como la versión.
La opción por defecto honesta: usa Paper a menos que un modpack concreto decida lo contrario. Mantiene el tickrate bajo carga mejor que vanilla, su ecosistema de plugins cubre desde permisos hasta minijuegos, y nadie tiene que tocar su cliente. La rara razón para preferir vanilla es querer un comportamiento de referencia sin ninguna desviación, algo relevante sobre todo para comunidades técnicas de redstone.
Configurarlo en Ubuntu o Debian
Los pasos de abajo asumen una máquina recién instalada a la que accedes por SSH como root o con sudo. El servidor de ejemplo vive en 203.0.113.10; sustitúyelo por tu propia dirección en todo momento.
Paso 1: instalar Java 25
El requisito de Java de Minecraft se ha movido dos veces recientemente: la 1.18 lo subió a Java 17, la 1.20.5 lo subió a Java 21, y la actualización 26.1 (marzo de 2026) lo subió a Java 25. Cualquier versión actual necesita la 25. Si planeas ejecutar un modpack fijado en una versión de juego más antigua, instala en su lugar el runtime más antiguo que pida.
En una distribución cuyos repositorios ya la incluyen (Ubuntu 26.04 lo hace), un solo paquete hace el trabajo:
sudo apt update
sudo apt install openjdk-25-jre-headless
Si tu versión es anterior a que exista un paquete de Java 25, los builds de Temurin 25 de Adoptium cubren Ubuntu y Debian mediante un repositorio apt. En cualquier caso, confirma lo que has obtenido:
java -version
openjdk version "25.0.1" 2025-10-21
OpenJDK Runtime Environment (build 25.0.1+8)
Tu cadena de build exacta será diferente; el número que importa es el 25.
Paso 2: crear un usuario dedicado
Los servidores de juego procesan muchas entradas no confiables procedentes de internet. Si alguno llega a verse comprometido, el radio de impacto debe limitarse a una cuenta sin privilegios, no a toda la máquina:
sudo adduser --system --group --home /opt/minecraft minecraft
Todo lo que sigue ocurre en /opt/minecraft, propiedad de ese usuario.
Paso 3: descargar el jar del servidor
Para Paper, copia el enlace de descarga del build más reciente desde la página de descargas de Paper y descárgalo como el usuario de servicio:
cd /opt/minecraft
sudo -u minecraft wget -O server.jar 'https://...paste-the-build-link-here...'
Para vanilla, el enlace del jar está en la página oficial de descarga del servidor. Ambos generan un único server.jar; no hay nada más que instalar.
Paso 4: primer arranque y el EULA
Ejecuta el jar una vez manualmente. Escribe sus archivos de configuración y termina:
sudo -u minecraft java -Xms1G -Xmx1G -jar server.jar nogui
[12:00:01 INFO]: You need to agree to the EULA in order to run the server.
Go to eula.txt for more info.
Activar este parámetro significa que aceptas el EULA de Minecraft, así que léelo una vez; en resumen, los servidores privados y comunitarios están permitidos y vender ventajas de juego está restringido:
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
Paso 5: lo esencial de server.properties
El primer arranque también escribió server.properties. La mayoría de sus claves pueden esperar. Estas no:
| Clave | Por defecto | Qué hacer con ella |
|---|---|---|
motd | A Minecraft Server | El nombre que se muestra en la lista de servidores del cliente |
max-players | 20 | Tu límite realista; la RAM se agota antes de llegar aquí |
view-distance | 10 | Bájalo a 8 si la RAM va justa; la carga de chunks crece con el cuadrado de este valor |
simulation-distance | 10 | Hasta dónde tiquea el mundo; es el primero que hay que bajar cuando aparece el lag |
difficulty | easy | normal conviene a la mayoría de servidores de supervivencia |
white-list | false | Ponlo en true; la sección de seguridad de más abajo rellena la lista |
online-mode | true | Déjalo tal cual. Verifica las cuentas contra Mojang y bloquea la suplantación |
Paso 6: una unidad systemd que sobrevive a los reinicios
Pon el comando de arranque en un script para que el ajuste posterior de la JVM solo toque un archivo:
# /opt/minecraft/start.sh
#!/bin/sh
exec /usr/bin/java -Xms4G -Xmx4G -jar /opt/minecraft/server.jar nogui
Hazlo ejecutable y propiedad del usuario de servicio, luego crea la unidad:
# /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft server
After=network-online.target
Wants=network-online.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start.sh
Restart=on-failure
RestartSec=10
TimeoutStopSec=120
[Install]
WantedBy=multi-user.target
Restart=on-failure es la línea que importa: cuando el proceso muere a las 3 de la madrugada, systemd lo devuelve a la vida diez segundos después. Al detenerse, systemd envía SIGTERM, el hook de apagado del servidor guarda el mundo, y el generoso TimeoutStopSec da tiempo a un mapa grande para volcarse a disco antes de que ocurra algo más brusco. Actívalo e inícialo:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
journalctl -u minecraft -f
[12:03:11 INFO]: Starting minecraft server version 26.2
[12:03:14 INFO]: Preparing level "world"
[12:03:22 INFO]: Done (8.421s)! For help, type "help"
(La salida es ilustrativa; tu versión y tus tiempos serán diferentes.) La línea Done significa que el servidor está activo y escuchando.
Paso 7: abrir el firewall
En un firewall con denegación por defecto, una sola regla deja entrar a los jugadores de Java:
sudo ufw allow 25565/tcp comment 'Minecraft Java'
Si la máquina todavía no tiene una base de firewall, configura una antes de que el servidor se haga popular; la guía de reglas de firewall por defecto cubre un conjunto de reglas inicial sensato exactamente para este tipo de host.
Dimensionamiento de memoria y flags de Aikar
Dos reglas de la JVM cubren la mayoría de los problemas. Primero, pon -Xms igual a -Xmx para que el heap nunca cambie de tamaño en mitad de la partida. Segundo, nunca entregues a la JVM toda la RAM de la máquina: el sistema operativo y la propia sobrecarga fuera del heap de la JVM necesitan espacio, así que un servidor con 8 GB de RAM debería correr con un heap de 6 GB como máximo.
Más allá del dimensionamiento, el ajuste estándar son los flags de Aikar, una configuración del recolector de basura G1 documentada por PaperMC como su base recomendada. El G1 de fábrica tiende a ejecutar recolecciones largas y poco frecuentes que congelan el bucle de tick durante segundos enteros; este conjunto de flags las cambia por pausas cortas y frecuentes que los jugadores no notan. El start.sh completo para un heap de 4 GB:
# /opt/minecraft/start.sh
#!/bin/sh
exec /usr/bin/java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \
-jar /opt/minecraft/server.jar nogui
Los heaps por encima de 12 GB quieren un puñado de valores distintos (regiones G1 más grandes entre ellos); la guía original de Aikar lista las sustituciones exactas. Reinicia el servicio después de editar y los flags quedan activos.
Hacerlo accesible
Los jugadores ya pueden unirse con la dirección y el puerto en bruto: 203.0.113.10:25565. Nadie quiere escribir eso, así que dale un nombre. Un registro A te lleva a mitad de camino; un registro SRV también elimina el puerto, de modo que la gente escribe un play.example.com limpio aunque algún día muevas el servidor o cambies de puertos:
mc.example.com. 300 IN A 203.0.113.10
_minecraft._tcp.play.example.com. 300 IN SRV 0 5 25565 mc.example.com.
Las direcciones y dominios usados aquí proceden de los rangos documentales reservados para ejemplos; sustitúyelos por los tuyos.
Una realidad de red merece decirse sin rodeos antes de publicar esa dirección en cualquier sitio. Los servidores de juego públicos están entre las cosas más atacadas de internet: un jugador recibe un baneo, alquila un booter por unos dólares, y tu evento del sábado por la noche se cae. Esto es rutina, no una hipótesis, y las reglas de firewall a nivel de host no pueden absorber inundaciones volumétricas; la mitigación tiene que vivir en la red que tienes delante. La guía de tipos de ataques DDoS explica cómo son esos ataques y qué los detiene de verdad. Ten esto en cuenta al elegir dónde alojar, porque no se puede añadir después.
Lista blanca y seguridad desde el primer día
Un servidor abierto atrae griefers y bots a los pocos días de que la dirección se filtre. Para cualquier cosa que no sea deliberadamente pública, activa la lista blanca antes de compartir la dirección.
Como el servidor corre bajo systemd, no hay ninguna consola interactiva conectada, así que los comandos de administración viajan por RCON. Actívalo en server.properties, solo en local:
enable-rcon=true
rcon.password=use-a-long-random-string-here
RCON escucha en el puerto 25575. No abras ese puerto en el firewall; con la configuración de denegación por defecto de más arriba permanece inalcanzable desde fuera, que es exactamente lo correcto. Desde la propia máquina, cualquier cliente RCON funciona (mcrcon es uno habitual):
mcrcon -H 127.0.0.1 -p 'your-rcon-password' "whitelist on" "whitelist add Alex" "op Alex"
Pon enforce-whitelist=true en server.properties para que una recarga expulse a cualquiera que no esté en la lista. Limita la lista de operadores a las personas a las que darías acceso SSH, porque los operadores dentro del juego pueden ejecutar todos los comandos que puede ejecutar RCON. Y deja online-mode=true: desactivarlo elimina por completo la verificación de cuentas, lo que invita a la suplantación y a conexiones con cuentas robadas. El crossplay con Bedrock tampoco necesita que se desactive, como muestra la sección de Geyser.
La máquina en sí necesita el mismo cuidado que cualquier host Linux expuesto a internet: SSH solo con clave, actualizaciones de seguridad desatendidas, ningún servicio suelto. La checklist de endurecimiento de servidores Linux es la pieza complementaria para esa capa.
Copias de seguridad
El mundo vive en el directorio world (Paper separa las dimensiones en world_nether y world_the_end junto a él). Copiar archivos mientras el servidor escribe en ellos arriesga una instantánea corrupta, así que el patrón simple y fiable detiene el servicio alrededor de un tar nocturno:
sudo systemctl stop minecraft
sudo tar -C /opt/minecraft -czf /var/backups/minecraft-$(date +%F).tar.gz \
world world_nether world_the_end server.properties
sudo systemctl start minecraft
Ejecútalo desde cron a una hora en la que tus jugadores duerman; el hueco dura menos de un minuto para la mayoría de los mundos. Si cualquier tiempo de inactividad es inaceptable, la variante sin parada envía save-off y save-all por RCON, copia los archivos, y luego save-on. En cualquier caso, envía los archivos fuera de la máquina, porque las copias de seguridad en el disco que falla no son copias de seguridad. Prueba una restauración una vez descomprimiendo en un directorio temporal y arrancando un servidor desechable contra ella; la primera vez que descubras que una copia de seguridad está rota no debería ser el día en que la necesitas.
Actualizaciones
Minecraft ahora publica varias actualizaciones al año con versionado por calendario (26.1, 26.2, y así sucesivamente), más hotfixes entre medias, así que actualizar es una rutina, no un evento. La mecánica es agradablemente aburrida: haz una copia de seguridad, descarga el nuevo jar para tu software de servidor, sustituye server.jar, reinicia el servicio. Los datos del mundo se actualizan sobre la marcha cuando la nueva versión los arranca.
El orden de las operaciones es donde la gente se quema. Actualiza el software del servidor solo después de que tus plugins o mods soporten la nueva versión del juego; Paper publica builds por versión, y un plugin que se quede una actualización por detrás se negará a cargar o se comportará mal. Retén las actualizaciones mayores hasta que tus plugins esenciales estén listos, y mientras tanto sigue tomando los builds de hotfix de tu versión actual, ya que son los que llevan las correcciones de seguridad.
Crossplay con Bedrock mediante Geyser
Java y Bedrock son juegos separados con protocolos incompatibles, y los amigos con más probabilidad de preguntar por unirse están en teléfono, consola, o la app de Windows Bedrock. Geyser salva la distancia: acepta conexiones Bedrock y las traduce al protocolo Java en tiempo real. En un servidor Paper son dos jars colocados en plugins/: Geyser-Spigot, más Floodgate para que los jugadores de Bedrock puedan unirse sin tener una cuenta de Java. En la configuración de Geyser, pon auth-type: floodgate para cambiar la verificación.
Bedrock habla UDP en su propio puerto, así que ábrelo junto a la regla de Java:
sudo ufw allow 19132/udp comment 'Minecraft Bedrock (Geyser)'
Los teléfonos y Windows se unen añadiendo un servidor con tu dirección y el puerto 19132. Las consolas son el caso incómodo: su lista de servidores solo muestra socios oficiales, así que los jugadores de consola necesitan una solución alternativa como BedrockConnect. Floodgate marca a sus jugadores con un . al principio del nombre de usuario, y una capa de traducción nunca es perfecta (algunos bloques y comportamientos de movimiento difieren en los márgenes), pero el crossplay de supervivencia del día a día funciona bien. Los registros SRV no se aplican aquí; los clientes Bedrock nunca los consultan.
Preguntas frecuentes
¿Cuánta RAM necesita un servidor de Minecraft?
La wiki de Minecraft fija el mínimo en 1 GB de heap, y 2 GB hacen funcionar un mundo vanilla para un puñado de amigos sin contratiempos. Un pequeño servidor Paper público con algunos plugins se mueve con holgura en 4 GB, y los modpacks pesados indican sus propios requisitos, normalmente 8 GB o más. Más no es automáticamente mejor: las pausas de recolección de basura crecen con el tamaño del heap, así que ajusta la asignación a la carga de trabajo y deja un par de gigabytes para el sistema operativo.
¿Qué versión de Java necesita un servidor de Minecraft?
Depende de la versión del juego, y equivocarse impide que el servidor arranque. La actualización 26.1 de marzo de 2026 elevó el requisito a Java 25, así que cualquier versión actual lo necesita. La rama 1.20.5 a 1.21.x necesita Java 21, y de 1.18 a 1.20.4 necesita Java 17. Los modpacks fijados en versiones antiguas heredan el requisito antiguo, así que comprueba el pack antes de instalar un runtime.
¿Pueden los jugadores de Bedrock unirse a un servidor Java?
Sí, a través de Geyser, que traduce el protocolo Bedrock al protocolo Java en el borde de la red. Si añades Floodgate, los jugadores de Bedrock ni siquiera necesitan una cuenta de Java. Abres el puerto UDP 19132 junto al puerto Java, y los teléfonos y PC se unen por dirección y puerto. Las consolas necesitan un paso extra, como BedrockConnect, porque su lista de servidores está limitada a socios oficiales. Algunos detalles de juego difieren a través de la capa de traducción, pero el juego de supervivencia normal funciona.
¿Por qué mis amigos no pueden conectarse a mi servidor?
Repasa la cadena paso a paso. Comprueba que el servidor está en marcha con systemctl status y que el registro muestra el mensaje Done. Comprueba que el firewall realmente permite 25565/tcp. Comprueba que usan la dirección correcta, y si configuraste un registro SRV, pruébalo antes de culpar a cualquier otra cosa. Si alguien con un launcher pirateado es rechazado mientras todos los demás entran, eso es online-mode haciendo su trabajo, no un fallo.
¿Necesito Paper, o vanilla es suficiente?
Vanilla es suficiente para un pequeño mundo de supervivencia estándar; es la implementación de referencia y no necesita explicación. Paper se gana su lugar en cuanto quieres mejor rendimiento bajo carga o cualquier plugin, porque los plugins corren en el servidor y los jugadores se unen con un cliente sin modificar. Los mods son el paso siguiente: necesitan Fabric o NeoForge en el servidor y una instalación equivalente en el cliente de cada jugador. Puedes trasladar un mundo vanilla a Paper apuntando el nuevo jar al mismo directorio; haz antes una copia de seguridad.
Despliegue en Serverside
Un servidor de Minecraft es un proceso de larga duración y sensible a la latencia, al que tarde o temprano atacarán desconocidos, lo que convierte la red sobre la que corre en parte de las especificaciones. Serverside opera su propia red (AS55285) con mitigación DDoS permanente delante de cada servidor, así que el booter apuntado a tu mundo golpea la capa de mitigación en lugar de tu bucle de tick, y el aprovisionamiento tarda menos de un minuto, así que la máquina ya existe antes de que termines de leer el EULA.
La orientación honesta de encaje sigue la tabla de dimensionamiento. Un VPS en la nube cubre un mundo vanilla o un pequeño Paper entre amigos: unos pocos núcleos, 4 a 8 GB de RAM, listo. En cuanto alojas una comunidad real o un modpack pesado de NeoForge, es la velocidad de reloj monohilo y el margen de RAM de un servidor dedicado lo que mantiene 20 ticks por segundo bajo carga, sin vecinos con los que compartir los núcleos sobre los que corre tu bucle de juego.

Escrito por
CEO, Serverside.com & Host Havoc
Clay is the CEO of Serverside.com and Host Havoc, with more than a decade of experience running globally distributed hosting infrastructure and a game-server platform that has served over 200,000 customers.
Seguir leyendo
Ver todos los artículos¿Te ha gustado este artículo?
Recibe nuevas guías y artículos técnicos en tu correo. Sin spam, cancela cuando quieras.




canadiense y
neerlandés