Cómo crear un servidor en Minecraft
Un servidor propio te da el control total sobre el mundo y las reglas del juego. Es la posibilidad de jugar con amigos sin pagar…
Un servidor propio te da el control total sobre el mundo y las reglas del juego. Es la posibilidad de jugar con amigos sin pagar suscripciones mensuales, instalar cualquier modificación, crear minijuegos o paquetes técnicos. El servidor se ejecuta como un programa independiente en el ordenador: procesa la lógica del juego, y los clientes de los jugadores se conectan a él. El proceso de creación consiste en elegir el núcleo, configurar los archivos básicos y abrir el acceso a la red.
Elección del núcleo del servidor
El tipo de núcleo determina la funcionalidad del servidor. No se pueden instalar mods de Forge en Paper, ni plugins en Vanilla.
Tipo de núcleo | Compatibilidad | Para qué sirve |
Vanilla | Solo paquetes de datos | Supervivencia pura, speedruns. La peor optimización. |
Paper | Plugins (Bukkit/Spigot/Paper) | Servidores públicos, supervivencia con amigos, minijuegos. Excelente optimización. |
Purpur | Plugins (Paper) + su propia configuración | Como Paper, pero con ajustes finos de las mecánicas (por ejemplo, permitir montar abejas). |
Fabric | Mods (Fabric) | Servidores técnicos (Carpet mod), paquetes vanilla+, optimización (Lithium). |
NeoForge / Forge | Mods (Forge/NeoForge) | Modpacks pesados con nuevas dimensiones, mecanismos y magia. |
Para el 90 % de los servidores privados sin grandes mods globales, Paper es la opción óptima. No requiere instalar mods en los clientes de los jugadores (todo funciona desde el cliente vanilla), admite plugins para la protección de territorios y funciona más rápido que el núcleo oficial.
⚠️ Importante: Los núcleos híbridos (Arclight, Mohist), que admiten mods y plugins al mismo tiempo, a menudo rompen las mecánicas de los mods y provocan inestabilidad. Elige una sola cosa: o plugins, o mods.
Requisitos del sistema y preparación
El servidor consume memoria RAM y recursos del procesador. La tarjeta gráfica no importa para el servidor: la generación del mundo se realiza exclusivamente en la CPU.
Para 2–5 jugadores (Paper):
RAM: 2–3 GB de memoria asignada.
CPU: cualquier procesador moderno de 4 núcleos o más.
Para 10+ jugadores o modpacks pesados (NeoForge):
RAM: 6–8 GB de memoria asignada.
CPU: alto rendimiento por núcleo.
Instalación de Java
Minecraft 1.21+ requiere Java 21 (para las versiones 26.1+ se necesita Java 26). El servidor no usa el Java integrado en el cliente; debe instalarse en el sistema por separado.
Descarga JDK 21 (o JDK 26) desde el sitio oficial de Oracle.
Instálalo, activando obligatoriamente la opción “Add to PATH” en el instalador.
Comprueba en la terminal: java -version. Debe mostrar la versión 21.0.x.
Instalación y arranque básicos
Ejemplo de instalación para el núcleo Paper:
Paso 1. Descarga del núcleo
Ve al sitio oficial papermc.io, elige la versión del juego (por ejemplo, 26.1) y descarga el archivo. Crea una carpeta vacía para el servidor y mueve el archivo allí. Renómbralo a server.jar para mayor comodidad.
Paso 2. Creación del archivo de arranque
El servidor no se inicia con doble clic. Hay que asignarle memoria mediante un script.
Crea en la carpeta del servidor un documento de texto start.txt,
ábrelo e inserta el código:
DOS
java -Xmx4G -Xms4G -jar server.jar nogui
pause
El parámetro -Xmx4G establece el límite máximo de memoria RAM (4 GB). -Xms4G es el tamaño inicial. Guarda el archivo y cambia su extensión de .txt a .bat (para Windows).
En Linux/macOS crea start.sh y añade #!/bin/bash como primera línea.
Paso 3. Aceptación del EULA
Ejecuta start.bat. La consola se abrirá durante unos segundos y se cerrará. Abre el nuevo archivo eula.txt. Cambia la línea eula=false a eula=true. Esto es la aceptación oficial del acuerdo de licencia de los desarrolladores.
Paso 4. Arranque completo
Vuelve a ejecutar start.bat. El servidor generará el mundo y los archivos de configuración. En la consola aparecerá el mensaje Done!. Detén el servidor únicamente con el comando stop en la consola, de lo contrario el mundo podría dañarse.
Configuración de server.properties
El archivo server.properties contiene los ajustes principales del servidor. Para abrirlo, haz clic derecho sobre el archivo y elige “Abrir con…”, luego elige “Bloc de notas” o cualquier otro editor de texto.\
A continuación, una tabla con los ajustes predeterminados de server.properties y la descripción de cada parámetro:
Parámetro | Valor | Descripción |
accepts-transfers | FALSE | Determina si este servidor acepta redirecciones (transferencias) de jugadores desde otros servidores. |
allow-flight | FALSE | Permite o prohíbe volar en el servidor en modo supervivencia (si el jugador usa modificaciones de terceros). Con false el servidor expulsará a esos jugadores. |
broadcast-console-to-ops | TRUE | Si está activado, los resultados de la ejecución de los comandos de consola se enviarán al chat de todos los operadores (administradores) del servidor. |
broadcast-rcon-to-ops | TRUE | Lo mismo que lo anterior, pero para los comandos enviados a través del acceso remoto (RCON). |
bug-report-link | (vacío) | Enlace que se mostrará a los jugadores en la pantalla cuando se desconecten del servidor por un error o fallo. |
debug | FALSE | Activa el modo de depuración (debug mode) para un registro ampliado de errores. |
difficulty | easy | Nivel de dificultad en el servidor (peaceful — pacífico, easy — fácil, normal — normal, hard — difícil). |
enable-code-of-conduct | FALSE | Si se exige a los jugadores aceptar las normas de conducta de Microsoft (Code of Conduct) al conectarse. |
enable-jmx-monitoring | FALSE | Permite el uso de JMX (Java Management Extensions) para monitorizar el rendimiento del servidor. |
enable-query | FALSE | Activa el protocolo GameSpy4 (Query), que permite a los sitios de monitorización de terceros obtener información sobre el servidor (jugadores en línea, plugins). |
enable-rcon | FALSE | Activa el acceso remoto a la consola del servidor (RCON) para gestionarlo sin acceso directo a la terminal de la máquina. |
enable-status | TRUE | Permite que el servidor se muestre como «en línea» en la lista de servidores del cliente del juego. |
enforce-secure-profile | TRUE | Exige que los jugadores tengan claves públicas firmadas del perfil de Mojang (protección contra la falsificación de mensajes en el chat). |
enforce-whitelist | FALSE | Si es true, el servidor expulsará por la fuerza a los jugadores que no estén en la «lista blanca» (whitelist) cuando esta lista se active. |
entity-broadcast-range-percentage | 100 | Controla la distancia (en porcentaje) a la que el servidor envía al cliente datos sobre las entidades (mobs, otros jugadores, objetos). |
force-gamemode | FALSE | Establece a la fuerza el modo de juego predeterminado a los jugadores cada vez que se conectan al servidor. |
function-permission-level | 2 | Nivel de permisos (de 1 a 4) para las funciones que se ejecutan a través de paquetes de datos (datapacks). |
gamemode | survival | Modo de juego predeterminado (survival, creative, adventure, spectator). |
generate-structures | TRUE | Determina si se generarán estructuras en el mundo (aldeas, mazmorras, templos, etc.). |
generator-settings | {} | Ajustes especiales para el generador del mundo (normalmente se usa para mundos personalizados). |
hardcore | FALSE | Modo «Hardcore». Si es true, tras la muerte el jugador pasa al modo espectador para siempre. |
hide-online-players | FALSE | Si es true, oculta la lista de nicks de los jugadores activos en el menú del juego multijugador. |
initial-disabled-packs | (vacío) | Lista de paquetes de datos que se desactivarán al crear un mundo nuevo. |
initial-enabled-packs | vanilla | Lista de paquetes de datos activados por defecto (juego base «vanilla»). |
level-name | world | Nombre de la carpeta en la que se guardan los archivos de tu mundo. |
level-seed | (vacío) | Semilla (valor numérico) para la generación del mundo. Si está vacía, se generará una aleatoria. |
level-type | minecraft\:normal | Tipo de generación del mundo (normal — normal, flat — plano, large_biomes — biomas grandes, amplified — montañoso). |
log-ips | TRUE | Determina si las direcciones IP de los jugadores se registrarán en los archivos de registro del servidor. |
management-server-* | (varios) | Grupo de parámetros (puertos, claves, ajustes) para herramientas externas de gestión del servidor (se usa raramente). |
max-chained-neighbor-updates | 1000000 | Límite de actualizaciones en cadena de bloques (por ejemplo, durante una explosión de TNT o esquemas complejos de redstone) para evitar que el servidor se congele. |
max-players | 20 | Número máximo de jugadores que pueden estar simultáneamente en el servidor. |
max-tick-time | 60000 | Tiempo máximo (en milisegundos) de ejecución de un «tick». Si el servidor «se queda pensando» más de ese tiempo, se apagará automáticamente (protección contra un bloqueo «muerto»). |
max-world-size | 29999984 | Radio máximo del borde del mundo (en bloques). |
motd | A Minecraft Server | Message Of The Day. Descripción/nombre del servidor que los jugadores ven en la lista de servidores. |
network-compression-threshold | 256 | Tamaño mínimo del paquete (en bytes) a partir del cual el servidor empezará a comprimirlo para ahorrar tráfico de internet. |
online-mode | TRUE | Parámetro muy importante. Si es true — solo permite a jugadores con el juego con licencia. Si es false — permite entrar a jugadores con lanzadores «piratas». |
op-permission-level | 4 | Nivel de permisos de los operadores por defecto (1-4, donde 4 da acceso a todos los comandos, incluido stop). |
pause-when-empty-seconds | -1 | Tiempo de inactividad (en segundos) tras el cual el servidor pone el mundo «en pausa» si no hay jugadores (-1 significa desactivado). |
player-idle-timeout | 0 | Tiempo (en minutos) tras el cual un jugador inactivo (AFK) es expulsado automáticamente. 0 — desactivado. |
prevent-proxy-connections | FALSE | Prohíbe la conexión de jugadores que usan VPN o proxy (funciona junto con el sistema de autenticación de Mojang). |
query.port | 25565 | Puerto para el protocolo Query (si está activado con el parámetro enable-query). |
rate-limit | 0 | Número máximo de paquetes del cliente al servidor. Se usa para proteger contra el spam de paquetes (0 — desactivado). |
rcon.password | (vacío) | Contraseña para el acceso remoto a la consola del servidor (hay que rellenarla si enable-rcon=true). |
rcon.port | 25575 | Puerto para la conexión RCON. |
region-file-compression | deflate | Algoritmo de compresión de los archivos del mundo (regiones). deflate es el estándar y el más común. |
require-resource-pack | FALSE | Si es true, el jugador no podrá entrar al servidor hasta que acepte descargar el paquete de recursos del servidor. |
resource-pack | (vacío) | Enlace directo (URL) al archivo .zip del paquete de recursos del servidor que se ofrecerá a los jugadores. |
resource-pack-id | (vacío) | Identificador único del paquete de recursos (UUID). |
resource-pack-prompt | (vacío) | Mensaje que verá el jugador cuando se le proponga descargar el paquete de recursos (por ejemplo: «Por favor, descarga el paquete para una mejor experiencia de juego»). |
resource-pack-sha1 | (vacío) | Hash SHA-1 del archivo con el paquete de recursos. Es necesario para que el cliente no vuelva a descargar el paquete si no ha cambiado. |
server-ip | (vacío) | Dirección IP para «vincular» el servidor. Normalmente se deja vacía para que el servidor funcione en todas las interfaces de red de la máquina. |
server-port | 25565 | Puerto principal del servidor por el que se conectarán los jugadores. |
simulation-distance | 10 | Radio (en chunks) alrededor del jugador dentro del cual se simula el mundo (crecen las plantas, se mueven los mobs, funcionan los mecanismos). |
spawn-protection | 16 | Radio de protección de la zona de spawn (en bloques). En esta zona los jugadores normales no pueden romper ni colocar bloques. |
status-heartbeat-interval | 0 | Intervalo de envío de datos ampliados sobre el estado del servidor (normalmente no se usa). |
sync-chunk-writes | TRUE | Hace que el guardado de los chunks en el disco sea síncrono (más fiable para evitar la pérdida de datos del mundo en caso de fallos, pero puede ralentizar ligeramente el servidor). |
text-filtering-config | (vacío) | Configuración de un sistema externo de filtrado de palabras malsonantes en el chat. |
text-filtering-version | 0 | Versión de la API del sistema de filtrado de texto. |
use-native-transport | TRUE | Permite al servidor usar las bibliotecas de red optimizadas del sistema (por ejemplo, epoll para Linux), lo que mejora el rendimiento de la red. |
view-distance | 10 | Distancia de renderizado (en chunks) que el servidor envía al cliente (en la que se basa la distancia de visión del jugador). |
white-list | FALSE | Activación de la «lista blanca». Si es true, solo podrán entrar al servidor los jugadores cuyos nicks se hayan añadido a esta lista (con el comando /whitelist add <nick>). |
⚠️ Importante: Si pones online-mode=false, cualquier jugador podrá entrar con el nick del administrador. Instala obligatoriamente un plugin de autorización (por ejemplo, AuthMe Reloaded) para proteger el servidor.
Cómo instalar plugins
Los plugins amplían las capacidades del servidor sin necesidad de que los jugadores instalen mods. Solo funcionan en Paper, Purpur y Spigot.
Descarga el plugin en formato .jar.
Coloca el archivo en la carpeta plugins dentro del servidor.
Reinicia el servidor (stop -> start.bat).
En la carpeta plugins aparecerá una carpeta con las configuraciones del plugin, donde se editan sus ajustes (normalmente en el archivo config.yml).
Cómo instalar mods
Para jugar con mods se necesita el núcleo Fabric o NeoForge. Todos los jugadores deben tener un conjunto de mods idéntico en su cliente.
Para Fabric:
Descarga el instalador desde fabricmc.net.
Ejecútalo, elige la pestaña «Server», indica la versión del juego y una carpeta vacía. Pulsa «Install».
Ejecuta el fabric-server-launch.jar descargado mediante start.bat.
Coloca los mods en la carpeta mods generada. Para Fabric es obligatorio el mod Fabric API.
Para NeoForge:
Descarga el instalador desde neoforged.net.
Ejecútalo, elige «Install server» e indica la carpeta.
Tras la instalación, ejecuta el archivo run.bat (el instalador lo crea por sí mismo).
Coloca los mods del servidor en la carpeta mods.
Está prohibido instalar mods de cliente (minimapas, shaders, optimización de renderizado como Sodium) en el servidor: provocan un fallo del núcleo al arrancar.
Cómo dejar entrar a los jugadores al servidor
Método 1: Port Forwarding
El mejor método, con el menor ping. Requiere acceso al router.
Entra en el panel de configuración del router (192.168.1.1 en el navegador).
Busca la sección «Port Forwarding» o «NAT».
Crea una regla: puerto 25565, protocolo TCP/UDP, IP local — la dirección de tu ordenador (averíguala con ipconfig).
Los jugadores se conectan a través de tu dirección IP externa (sitio 2ip.ua).
Método 2: Túneles (Playit.gg)
Si el proveedor bloquea los puertos.
Descarga el programa desde playit.gg.
Ejecútalo junto con el servidor. Abrirá una página en el navegador.
Regístrate y el servicio te dará una dirección pública (por ejemplo, auto-bridge.playit.gg).
Los jugadores introducen esta dirección en el juego.
Método 3: Radmin VPN
Instala Radmin VPN en todos los ordenadores.
Crea una red y dale un nombre para tus amigos.
Ellos se unen a la red.
Los jugadores se conectan a través de la dirección IP de tu PC indicada en Radmin VPN.
Detalles técnicos / Cómo funciona por dentro
El servidor de Minecraft es una aplicación de un solo hilo. El bucle de juego principal (tick loop), que procesa el movimiento de los mobs, la física y los mecanismos, se ejecuta exclusivamente en un solo núcleo del procesador.
El juego intenta ejecutar 20 ticks por segundo (TPS — Ticks Per Second). A cada tick se le asignan 50 milisegundos. Si los cálculos tardan más, los TPS bajan y los jugadores notan retrasos. Precisamente por eso, para el servidor la frecuencia de reloj de un solo núcleo es más importante que el número total de núcleos.
El multihilo en núcleos como Paper se usa solo para la carga asíncrona de chunks desde el disco y el procesamiento de red, pero la propia lógica del juego permanece en un único hilo.
Comandos básicos del administrador
Se introducen en la consola del servidor (sin /).
Acción | Comando |
Conceder permisos de operador | op [nick] |
Retirar permisos | deop [nick] |
Activar la lista blanca | whitelist on |
Añadir a la lista blanca | whitelist add [nick] |
Expulsar a un jugador | kick [nick] [motivo] |
Banear a un jugador | ban [nick] [motivo] |
Guardar el mundo manualmente | save-all |
El hosting como alternativa
Si el ordenador de casa es débil, el servidor se puede alquilar.
Tipo | Representantes | Ventajas | Limitaciones |
Gratuitos | Aternos, FalixNodes | No hay que pagar | Colas para arrancar, lags con carga, el servidor se apaga sin jugadores. |
De pago económicos | PebbleHost, Bloom.host | Desde 1$ por GB, funcionamiento 24/7 | Hay que pagar mensualmente. |
VDS/VPS | Hetzner, Oracle | Control total sobre la máquina | Requiere conocimientos de administración de Linux. |
Errores comunes y cómo evitarlos
Error 1: FAILED TO BIND TO PORT. El servidor no arranca porque el puerto 25565 ya está ocupado. Suele ocurrir al iniciar dos start.bat. Abre el administrador de tareas y cierra todos los procesos Java(TM) Platform SE binary.
Error 2: UnsupportedClassVersionError. La versión de Java está desactualizada. Para 1.20.5+ se necesita Java 21, y para 1.16.5 — Java 11.
Error 3: Lags al volar rápido. El servidor no llega a generar los nuevos chunks. Instala el plugin Chunky y genera el mundo previamente en un radio de 5000 bloques.
Error 4: Fallo del servidor Fabric/Forge al arrancar. En la carpeta mods ha entrado un mod de cliente (minimapa, Sodium). El servidor no tiene interfaz gráfica y se cae al intentar cargarlos.
Error 5: Error Invalid session al conectarse. El jugador usa un lanzador pirata con online-mode=true activado. Cambia el valor a false en server.properties.
Conclusión
Un servidor propio basado en Paper es la opción óptima para una supervivencia privada con amigos, ya que proporciona un excelente rendimiento y permite añadir plugins sin modificar el cliente del juego. Para grandes paquetes con nuevas mecánicas habrá que usar Fabric o NeoForge, que requieren la sincronización de los mods entre el servidor y los jugadores. El principal reto al configurar un servidor doméstico es abrir correctamente los puertos, pero el uso de servicios como Playit.gg resuelve el problema de los puertos bloqueados por el proveedor. Si el rendimiento del PC doméstico no es suficiente, pasar a un hosting de pago económico garantiza un acceso estable 24/7.
Aún no hay comentarios. Sé el primero en compartir tu opinión.