Los servidores de juegos se benefician de reinicios regulares para limpiar fugas de memoria, aplicar cambios de configuración y mantener un rendimiento estable durante largas sesiones de juego. Esta guía te muestra cómo configurar reinicios automáticos programados usando la función de Schedules en GPanel, para que tu servidor se mantenga saludable sin intervención manual.
¿Por qué programar reinicios?
La mayoría de los servidores de juegos acumulan uso de memoria y datos temporales con el tiempo. Sin reinicios periódicos, puedes notar:
- Lag creciente y rubber-banding a medida que el uso de RAM aumenta durante horas o días
- Ralentizaciones en la carga de entidades y chunks en juegos como Minecraft y Project Zomboid
- Fugas de memoria relacionadas con mods que solo se reinician con un reinicio completo del servidor
- Aplicación retrasada de cambios de configuración que requieren un reinicio para surtir efecto
Un reinicio programado cada 6 a 12 horas es la configuración más común y previene la mayoría de estos problemas.
Requisitos previos
- Un servidor de juegos activo con Legion Hosting
- Acceso a GPanel con las credenciales de tu cuenta
- Tu servidor debe estar en estado Running (los schedules solo se activan cuando el servidor está en línea, a menos que se configure de otra manera)
Paso 1: Abrir la pestaña Schedules
- Inicia sesión en GPanel y selecciona tu servidor de la lista de servidores.
- En la barra lateral izquierda, haz clic en la pestaña Schedules.
- Verás una lista de los schedules existentes. Si es un servidor nuevo, la lista estará vacía.
Paso 2: Crear un nuevo schedule
- Haz clic en el botón Create Schedule.
- Ingresa un Nombre para el schedule — algo descriptivo como
Auto Restart Every 6 Hours. - Configura la Expresión Cron para controlar cuándo se ejecuta el schedule. Consulta la sección a continuación para ejemplos comunes.
- Asegúrate de que Enabled esté activado.
- Haz clic en Save para crear el schedule.
Paso 3: Añadir una tarea de reinicio al schedule
- Después de guardar el schedule, haz clic en su nombre para abrirlo.
- En la sección Tasks, haz clic en New Task.
- Configura la Action como Send power action.
- Configura el Payload como Restart.
- Configura el Time Offset a
0segundos (esto significa que la tarea se ejecuta inmediatamente cuando el schedule se activa). - Haz clic en Save.
Tu reinicio programado ahora está activo. El servidor se reiniciará automáticamente según la expresión cron que configuraste.
Entender las expresiones cron
GPanel usa expresiones cron para definir cuándo se ejecuta un schedule. Una expresión cron tiene cinco campos separados por espacios:
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| Campo | Valores permitidos | Descripción |
|---|---|---|
| Minuto | 0–59 | El minuto de la hora en que se ejecuta la tarea |
| Hora | 0–23 | La hora del día (formato de 24 horas) |
| Día del mes | 1–31 | El día del mes |
| Mes | 1–12 | El mes del año |
| Día de la semana | 0–6 (0 = Domingo) | El día de la semana |
Caracteres especiales:
*— coincide con todos los valores (comodín)*/N— coincide cada N intervalos (por ejemplo,*/6en el campo de Hora significa cada 6 horas),— separa múltiples valores (por ejemplo,0,12significa a las 0 y a las 12)
Schedules de reinicio comunes
Aquí están los intervalos de reinicio más populares y las expresiones cron para usar en GPanel:
| Frecuencia de reinicio | Expresión cron | Se reinicia a (Hora del servidor) |
|---|---|---|
| Cada 6 horas | 0 */6 * * * |
12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM |
| Cada 8 horas | 0 */8 * * * |
12:00 AM, 8:00 AM, 4:00 PM |
| Cada 12 horas | 0 0,12 * * * |
12:00 AM, 12:00 PM |
| Una vez al día (4:00 AM) | 0 4 * * * |
4:00 AM |
| Una vez al día (6:00 AM) | 0 6 * * * |
6:00 AM |
| Cada 3 horas | 0 */3 * * * |
12 AM, 3 AM, 6 AM, 9 AM, 12 PM, 3 PM, 6 PM, 9 PM |
Avisar a los jugadores antes de un reinicio
Reiniciar sin aviso puede interrumpir a los jugadores en medio de una acción, causando frustración o pérdida de progreso. Puedes usar la tarea Send Command de GPanel para transmitir un mensaje de advertencia a los jugadores antes de que ocurra el reinicio.
Cómo funciona
En lugar de una sola tarea de reinicio, creas múltiples tareas dentro del mismo schedule, escalonadas con desfases de tiempo:
- Una tarea Send Command con desfase
0que transmite un mensaje de advertencia (por ejemplo, "El servidor se reiniciará en 5 minutos") - Una tarea Send Command con desfase
240(4 minutos después) con una advertencia final (por ejemplo, "El servidor se reiniciará en 1 minuto") - Una tarea Send power action → Restart con desfase
300(5 minutos después de la primera advertencia)
0 para inmediatamente, 60 para 1 minuto, 300 para 5 minutos, etc.
Ejemplo: Schedule completo con advertencias
Así es como se ve un schedule completo con una advertencia de 5 minutos, una advertencia de 1 minuto y el reinicio:
| Tarea # | Acción | Payload / Comando | Desfase de tiempo |
|---|---|---|---|
| 1 | Send command | (comando de advertencia específico del juego — ver abajo) | 0 segundos |
| 2 | Send command | (comando de advertencia final específico del juego) | 240 segundos |
| 3 | Send power action | Restart | 300 segundos |
Comandos de advertencia específicos por juego
El comando que usas para transmitir un mensaje a los jugadores varía según el juego. A continuación se muestran los comandos para los juegos más populares:
Project Zomboid
Usa el comando servermsg para enviar un mensaje dentro del juego a todos los jugadores conectados:
servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"
Minecraft
Usa el comando say para transmitir un mensaje de chat a todos los jugadores:
say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!
ARK: Survival Ascended
Usa el comando broadcast para mostrar un mensaje en pantalla a todos los jugadores:
broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
Mejores prácticas
- Reinicia durante horas de baja actividad. Si tu servidor tiene un horario predecible de jugadores, programa los reinicios para cuando haya menos jugadores en línea. Un reinicio diario a las 4:00 AM o 6:00 AM funciona bien para la mayoría de las comunidades.
- Siempre incluye una advertencia. Incluso una advertencia de 1 minuto da tiempo a los jugadores para llegar a un lugar seguro o terminar un intercambio. Una advertencia de 5 minutos es ideal.
- Usa copias de seguridad junto con los reinicios. Si tu juego o GPanel admite copias de seguridad automáticas, programa una copia de seguridad antes del reinicio. Esto asegura que siempre tengas un guardado reciente en caso de que algo salga mal.
- No reinicies con demasiada frecuencia. Reiniciar cada hora es innecesario para la mayoría de los servidores y frustrará a los jugadores. Cada 6 a 12 horas es el punto ideal a menos que estés ejecutando un servidor con muchos mods con problemas conocidos de fugas de memoria.
- Prueba tu schedule. Después de crear un schedule, vuelve a verificar después del primer momento de activación esperado para confirmar que el reinicio ocurrió. Revisa el registro de la consola de GPanel para el evento de reinicio.
- Nombra tus schedules claramente. Usa nombres descriptivos como "6h Auto Restart with Warning" para que puedas identificar rápidamente qué hace cada schedule.
Gestionar schedules existentes
Puedes modificar o desactivar schedules en cualquier momento desde la pestaña Schedules en GPanel:
- Para editar un schedule: haz clic en el nombre del schedule, cambia la expresión cron o las tareas, y haz clic en Save.
- Para desactivar temporalmente un schedule: abre el schedule y desactiva Enabled. El schedule permanecerá guardado pero no se activará hasta que lo vuelvas a habilitar.
- Para eliminar un schedule: haz clic en el icono de eliminar junto al schedule. Esto lo elimina permanentemente.
Solución de problemas
| Problema | Qué verificar |
|---|---|
| El schedule no se activa | Abre el schedule y confirma que Enabled está activado. Verifica la expresión cron — un error común es usar un orden de campos incorrecto. Asegúrate de que el servidor esté en línea cuando se supone que el schedule debe activarse. |
| El reinicio ocurre pero el mensaje de advertencia no aparece | Asegúrate de que la tarea Send Command use el comando correcto para tu juego. Verifica que el desfase de tiempo sea menor que el desfase de la tarea de reinicio (por ejemplo, advertencia a 0 segundos, reinicio a 300 segundos). |
| El servidor no vuelve a estar en línea después del reinicio | Revisa la consola de GPanel para errores de inicio. Si el servidor se bloqueó durante el apagado, puede que no se reinicie limpiamente. Intenta un Start manual desde GPanel. Si el problema persiste, abre un ticket de soporte. |
| La expresión cron no es aceptada | GPanel requiere exactamente 5 campos en la expresión cron (minuto, hora, día del mes, mes, día de la semana). No incluyas un campo de segundos. Asegúrate de que no haya espacios adicionales ni caracteres especiales. |
| El comando de advertencia se envía pero los jugadores no lo ven | Algunos juegos requieren un formato específico. Para Project Zomboid, el mensaje debe estar entre comillas: servermsg "Tu mensaje aquí". Para Minecraft, say no usa comillas. Consulta la sección específica del juego arriba. |
¿Necesitas ayuda?
Si tienes problemas para configurar reinicios programados o tu schedule no funciona como se espera, abre un ticket de soporte e incluye:
- El nombre de tu servidor en GPanel
- La expresión cron que estás usando
- Una descripción de lo que está pasando (o no está pasando)
Nuestro equipo de soporte te ayudará a configurar el schedule correctamente.