Skip to content
Saltar al contenido
Volver al Blog
Hibernación de Servidor: Ahorra CPU Cuando Nadie Juega

Hibernación de Servidor: Ahorra CPU Cuando Nadie Juega

Alexandru Maftei
Alexandru Maftei
@ice
Actualizado
35 vistas
Respuesta rápida:La Hibernación de Servidor Minecraft (MSH) es un proxy que inicia y detiene automáticamente tu servidor cuando jugadores se unen o van, ahorrando recursos. Funciona como un intermediario entre jugadores y tu servidor real, iniciándolo solo cuando es necesario.
TL;DR:Hibernación de Servidor Minecraft inicia automáticamente tu servidor cuando entran jugadores y lo apaga cuando todos se van, ahorrando CPU y electricidad. Una herramienta simple y ligera perfecta para grupos de amigos casuales o pequeñas comunidades de mods que no necesitan hosting 24/7.

"Inicia y detiene minecraft-server cuando los jugadores se unen/se van"

gekware/minecraft-server-hibernation · github.com
⭐ 465 estrellas💻 Go📄 GPL-3.0

Ejecutar un servidor Minecraft 24/7 es desperdiciar recursos. Ya sea que estés alojando para un grupo de amigos o una pequeña comunidad de mods, tu servidor consume CPU y electricidad tanto si alguien está en línea como si no. Hibernación de Servidor Minecraft (MSH) resuelve esto iniciando automáticamente tu servidor cuando un jugador se une y apagándolo cuando la última persona se va. Es una idea simple que ahorra dinero y recursos reales.

Qué Hace Este Proyecto

Hibernación de Servidor Minecraft es un proxy ligero escrito en Go que se sitúa entre tus jugadores y tu servidor real. Cuando alguien intenta conectarse, MSH los detecta, inicia tu servidor real en segundo plano y reenvía su conexión. Una vez que todos se van y expira un período de tiempo de espera (configurable), MSH detiene el servidor y vuelve a dormir.

No necesitas cambiar cómo te conectas a tu servidor. Los jugadores simplemente se unen normalmente, excepto que ahora el servidor se inicia mágicamente cuando llegan.

El proyecto registra cuánto tiempo ha puesto servidores en hibernación entre todos los usuarios: más de mil años acumulados de tiempo de CPU ahorrado desde 2019. Eso no es poco.


Por Qué Lo Usarías

La mayoría de las personas que ejecutan servidores caen en algunos grupos. Tienes grupos de amigos casuales que juegan esporádicamente, quizás unas pocas horas a la semana. Tienes pequeñas comunidades de mods con 10-20 jugadores activos que se conectan en ciertos momentos. Tienes personas que quieren juguetear con un servidor pero no quieren pagar por hosting 24/7. Para cualquiera de estas situaciones, pagar por un servidor que está inactivo 16 horas al día es simplemente dinero tirado a la basura.

El beneficio secundario es la conveniencia real. No más iniciar manualmente tu servidor antes de que tus amigos se conecten, ni correr cuando alguien dice "vamos a jugar esta noche". Se unen, el servidor se inicia, estás en un juego en 15 segundos. Se apaga automáticamente cuando el último jugador se va.

¿Y si tienes un servidor modded con una lista de mods pesada? Eliminar 8 horas de tiempo de servidor inactivo por día se suma a ahorros reales de energía, especialmente si estás ejecutando esto en hardware en tu casa en lugar de una máquina alquilada.


Cómo Ejecutarlo

La configuración es sencilla una vez que entiendes las piezas. Vas a descargar el ejecutable MSH para tu SO (Linux, Windows o macOS), crear un archivo de configuración, apuntarlo a tu servidor Minecraft existente y ejecutarlo.

Tarjeta de proyecto GitHub para gekware/minecraft-server-hibernation
Tarjeta de proyecto GitHub para gekware/minecraft-server-hibernation

Primero, descarga la última versión de GitHub:

bash
cd /home/user/minecraft-server-hibernation
wget https://github.com/gekware/minecraft-server-hibernation/releases/download/v2.5.1/msh-v2.5.1-fd9f22d-linux-amd64.bin
chmod +x msh-v2.5.1-fd9f22d-linux-amd64.bin

También necesitarás descargar el archivo de configuración de ejemplo de la página de lanzamientos y editarlo. La configuración importante:

  • Folder - ruta a tu directorio de servidor (donde vive server.jar)
  • FileName - el nombre del archivo jar del servidor actual
  • StartServerParam - argumentos de lanzamiento (generalmente algo como "-Xmx4G -Xms4G -jar server.jar nogui")
  • StopServer - cómo apagar gracefully el servidor (comandos de teclado como "save-all" y "stop")
  • TimeBeforeStoppingEmptyServer - cuánto tiempo esperar después de que el último jugador se vaya antes de detener el servidor (en segundos)

El reenvío de puertos viene a continuación. En tu router, reenvía el puerto 25555 (o el puerto que hayas establecido en la configuración) a tu máquina servidora. Luego abre ese puerto en el cortafuegos de tu servidor.

Si estás en Linux con UFW:

bash
sudo ufw allow 25555/tcp

Coloca el ejecutable en tu carpeta de servidor, ejecútalo, y ya está.

bash
./msh-v2.5.1-fd9f22d-linux-amd64.bin

Los jugadores se conectan usando tu puerto de servidor real (25555 por defecto), y MSH maneja todo detrás de escenas.


Características Clave Que Importan

La herramienta tiene algunos detalles bien pensados más allá de simplemente "iniciar y detener".

Icono de Servidor Personalizado - Puedes colocar un icono de servidor congelado (imagen llamada `server-icon-frozen`) en tu carpeta de servidor, y MSH lo mostrará a los jugadores mientras el servidor real se está despertando. Se ve más limpio que un estado genérico sin conexión.

Soporte de Lista Blanca - Puedes configurar una lista blanca directamente en MSH, o respetará la lista blanca existente de tu servidor. Controla quién puede incluso despertar el servidor.

El apagado elegante está integrado. MSH no simplemente mata el proceso. Envía comandos de parada adecuados y espera a que el servidor guarde y se cierre limpiamente, para que no corrompas tu mundo.

Tiempo de Espera de Inactividad Configurable - ¿Quieres que tu servidor permanezca activo durante 5 minutos después de que se vaya el último jugador, o 30 minutos? Tú lo controlas. Da a los jugadores tiempo para regresar sin que el servidor muera en el momento en que se desconecten.

Multiplataforma - Funciona en Linux, Windows y macOS, y es compatible con servidores vanilla y con mods pesados. El proyecto existe desde 2019 y se mantiene activamente (el último lanzamiento fue v2.5.1 con mejoras en el manejo de fallos y compilación de Go actualizada).


Trampa y Cosas a Saber

Primero: el archivo de configuración no se genera automáticamente. Tienes que descargarlo de la página de lanzamientos o crearlo tú mismo. Sin magia aquí.

Habitantes antiguos en Minecraft
Habitantes antiguos en Minecraft

Segundo, server.properties necesita una configuración: `server-ip=0.0.0.0`. Si está establecido en una IP específica, MSH no puede alcanzar tu servidor correctamente y obtendrás errores de conexión. Es fácil pasarlo por alto e incómodo de depurar.

Los inicios en frío toman unos segundos. Cuando un jugador se conecta, hay un retraso mientras el servidor se inicia y carga chunks. Para la mayoría de los grupos esto está bien ("el servidor se está iniciando, dame un segundo"). Para speedrunners o juego hipercompetitivo, podría importar.

Asegúrate de haber reenviado puertos correctamente. MSH escucha en tu puerto especificado pero necesita ser accesible desde fuera de tu red. Si los amigos no pueden conectarse, 9 de cada 10 veces es un problema de reenvío de puertos, no de MSH.

Una cosa más: si reinicia tu máquina anfitriona, asegúrate de que MSH se inicie automáticamente al arrancar. Ejecútalo como un servicio systemd en Linux o una tarea programada en Windows para que no tengas que iniciarlo manualmente cada vez.


¿Qué Hay Sobre Alternativas

Hay algunas otras herramientas en este espacio. Los contenedores Docker con algo de scripting pueden hacer cosas similares, pero son más complejos de configurar. Algunos proveedores de hosting ofrecen características de auto-inicio integradas, pero estás bloqueado a su infraestructura y generalmente pagando extra.

También está la opción nuclear: configurar un trabajo cron que verifique si tu servidor se está ejecutando e inicia/detiene basándose en la cantidad de jugadores. En serio, funciona, pero estás manteniendo scripts de shell en lugar de usar una herramienta diseñada para este trabajo específico.

La ventaja de MSH es que es un único binario que se ha refinado durante más de 6 años. No está pensando demasiado en el problema, y funciona sin conexión (sin dependencia de la nube ni servicios externos).

Si estás construyendo un servidor para ti o para un pequeño grupo y te importa la eficiencia, vale la pena los 20 minutos para configurarlo.

¿Buscas más herramientas para mejorar tu servidor? Consulta la Lista de Servidores Minecraft para inspiración sobre qué están ejecutando otras comunidades, o usa herramientas útiles como la Calculadora del Portal del Nether y Generador de Texto Minecraft para tu juego.

Sobre el autor
Alexandru Maftei
Alexandru MafteiRedactor principal

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

¡Compártelo con tus amigos!

Preguntas Frecuentes

¿Cómo funciona la Hibernación de Servidor Minecraft?
Actúa como un proxy entre jugadores y tu servidor, iniciándolo automáticamente cuando un jugador se une y deteniéndolo cuando el último se va.
¿Necesito cambiar la forma en que me conecto al servidor con MSH?
No, los jugadores se unen normalmente; MSH maneja el inicio y cierre en segundo plano.
¿Cuánto tiempo de CPU ha ahorrado MSH según el proyecto?
Más de mil años acumulados de tiempo de CPU ahorrado desde 2019.
¿Qué pasa con el estado del servidor cuando se inicia y detiene?
MSH muestra un icono de servidor congelado mientras se inicia y apaga el servidor de manera elegante, sin corromper el mundo.
¿MSH soporta servidores con mods?
Sí, es compatible con servidores vanilla y mods pesados, incluso con listas de mods pesadas.

Comentarios

Aún no hay comentarios. ¡Sé el primero en compartir tu opinión!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy