Servidores de jogos se beneficiam de reinícios regulares para limpar vazamentos de memória, aplicar alterações de configuração e manter a performance estável durante longas sessões de jogo. Este guia mostra como configurar reinícios automáticos programados usando o recurso de Agendamentos no GPanel, para que seu servidor se mantenha saudável sem intervenção manual.
Por Que Programar Reinícios?
A maioria dos servidores de jogos acumula uso de memória e dados temporários ao longo do tempo. Sem reinícios periódicos, você pode notar:
- Lag crescente e rubber-banding conforme o uso de RAM aumenta ao longo de horas ou dias
- Lentidão no carregamento de entidades e chunks em jogos como Minecraft e Project Zomboid
- Vazamentos de memória relacionados a mods que só são corrigidos com um reinício completo do servidor
- Aplicação atrasada de alterações de configuração que requerem um reinício para entrar em vigor
Um reinício programado a cada 6 a 12 horas é a configuração mais comum e previne a maioria desses problemas.
Pré-requisitos
- Um servidor de jogos ativo com a Legion Hosting
- Acesso ao GPanel com suas credenciais de conta
- Seu servidor deve estar no estado Running (agendamentos só são acionados quando o servidor está online, a menos que configurado de outra forma)
Passo 1: Abrir a Aba de Agendamentos
- Faça login no GPanel e selecione seu servidor na lista de servidores.
- Na barra lateral esquerda, clique na aba Schedules.
- Você verá uma lista de agendamentos existentes. Se este é um servidor novo, a lista estará vazia.
Passo 2: Criar um Novo Agendamento
- Clique no botão Create Schedule.
- Insira um Nome para o agendamento — algo descritivo como
Auto Restart Every 6 Hours. - Defina a Expressão Cron para controlar quando o agendamento será executado. Veja a seção abaixo para exemplos comuns.
- Certifique-se de que Enabled está ativado.
- Clique em Save para criar o agendamento.
Passo 3: Adicionar uma Tarefa de Reinício ao Agendamento
- Após salvar o agendamento, clique no nome dele para abri-lo.
- Na seção Tasks, clique em New Task.
- Defina a Action como Send power action.
- Defina o Payload como Restart.
- Defina o Time Offset como
0segundos (isso significa que a tarefa é executada imediatamente quando o agendamento dispara). - Clique em Save.
Seu reinício programado agora está ativo. O servidor será reiniciado automaticamente de acordo com a expressão cron que você configurou.
Entendendo Expressões Cron
O GPanel usa expressões cron para definir quando um agendamento é executado. Uma expressão cron possui cinco campos separados por espaços:
Minute Hour Day-of-Month Month Day-of-Week
* * * * *
| Campo | Valores Permitidos | Descrição |
|---|---|---|
| Minute | 0–59 | O minuto da hora em que a tarefa é executada |
| Hour | 0–23 | A hora do dia (formato 24 horas) |
| Day of Month | 1–31 | O dia do mês |
| Month | 1–12 | O mês do ano |
| Day of Week | 0–6 (0 = Domingo) | O dia da semana |
Caracteres especiais:
*— corresponde a todos os valores (curinga)*/N— corresponde a cada N intervalos (ex.:*/6no campo Hour significa a cada 6 horas),— separa múltiplos valores (ex.:0,12significa às 0 e às 12)
Agendamentos de Reinício Comuns
Aqui estão os intervalos de reinício mais populares e as expressões cron para usar no GPanel:
| Frequência de Reinício | Expressão Cron | Reinicia Às (Horário do Servidor) |
|---|---|---|
| A cada 6 horas | 0 */6 * * * |
12:00 AM, 6:00 AM, 12:00 PM, 6:00 PM |
| A cada 8 horas | 0 */8 * * * |
12:00 AM, 8:00 AM, 4:00 PM |
| A cada 12 horas | 0 0,12 * * * |
12:00 AM, 12:00 PM |
| Uma vez por dia (4:00 AM) | 0 4 * * * |
4:00 AM |
| Uma vez por dia (6:00 AM) | 0 6 * * * |
6:00 AM |
| A cada 3 horas | 0 */3 * * * |
12 AM, 3 AM, 6 AM, 9 AM, 12 PM, 3 PM, 6 PM, 9 PM |
Avisando Jogadores Antes de um Reinício
Reiniciar sem aviso pode interromper jogadores no meio de uma ação, causando frustração ou perda de progresso. Você pode usar a tarefa Send Command do GPanel para transmitir uma mensagem de aviso aos jogadores antes que o reinício aconteça.
Como Funciona
Em vez de uma única tarefa de reinício, você cria múltiplas tarefas dentro do mesmo agendamento, escalonadas com intervalos de tempo:
- Uma tarefa Send Command com offset
0que transmite uma mensagem de aviso (ex.: "Server restarting in 5 minutes") - Uma tarefa Send Command com offset
240(4 minutos depois) com um aviso final (ex.: "Server restarting in 1 minute") - Uma tarefa Send power action → Restart com offset
300(5 minutos após o primeiro aviso)
0 para imediatamente, 60 para 1 minuto, 300 para 5 minutos, etc.
Exemplo: Agendamento Completo com Avisos
Veja como fica um agendamento completo com aviso de 5 minutos, aviso de 1 minuto e o reinício:
| Tarefa # | Ação | Payload / Comando | Intervalo de Tempo |
|---|---|---|---|
| 1 | Send command | (comando de aviso específico do jogo — veja abaixo) | 0 segundos |
| 2 | Send command | (comando de aviso final específico do jogo) | 240 segundos |
| 3 | Send power action | Restart | 300 segundos |
Comandos de Aviso Específicos por Jogo
O comando que você usa para transmitir uma mensagem aos jogadores varia por jogo. Abaixo estão os comandos para os jogos mais populares:
Project Zomboid
Use o comando servermsg para enviar uma mensagem no jogo para todos os jogadores conectados:
servermsg "Server restarting in 5 minutes. Please find a safe location."
servermsg "Server restarting in 1 minute!"
Minecraft
Use o comando say para transmitir uma mensagem no chat para todos os jogadores:
say Server restarting in 5 minutes. Please save your progress.
say Server restarting in 1 minute!
ARK: Survival Ascended
Use o comando broadcast para exibir uma mensagem na tela para todos os jogadores:
broadcast Server restarting in 5 minutes. Please find a safe location.
broadcast Server restarting in 1 minute!
Boas Práticas
- Reinicie durante horários de menor movimento. Se o seu servidor tem um horário previsível de jogadores, programe os reinícios para quando menos jogadores estiverem online. Um reinício diário às 4:00 AM ou 6:00 AM funciona bem para a maioria das comunidades.
- Sempre inclua um aviso. Mesmo um aviso de 1 minuto dá tempo para os jogadores chegarem a um local seguro ou terminarem uma negociação. Um aviso de 5 minutos é o ideal.
- Use backups junto com os reinícios. Se o seu jogo ou GPanel suporta backups automáticos, programe um backup antes do reinício. Isso garante que você sempre terá um save recente caso algo dê errado.
- Não reinicie com muita frequência. Reiniciar a cada hora é desnecessário para a maioria dos servidores e vai frustrar os jogadores. A cada 6 a 12 horas é o ponto ideal, a menos que você esteja rodando um servidor com muitos mods com problemas conhecidos de vazamento de memória.
- Teste seu agendamento. Após criar um agendamento, verifique após o primeiro horário esperado de disparo para confirmar que o reinício aconteceu. Verifique o log do Console do GPanel para o evento de reinício.
- Nomeie seus agendamentos de forma clara. Use nomes descritivos como "6h Auto Restart with Warning" para identificar rapidamente o que cada agendamento faz.
Gerenciando Agendamentos Existentes
Você pode modificar ou desabilitar agendamentos a qualquer momento na aba Schedules do GPanel:
- Para editar um agendamento: clique no nome do agendamento, altere a expressão cron ou as tarefas e clique em Save.
- Para desabilitar temporariamente um agendamento: abra o agendamento e desative o Enabled. O agendamento ficará salvo mas não será disparado até que você o reative.
- Para excluir um agendamento: clique no ícone de excluir ao lado do agendamento. Isso o remove permanentemente.
Solução de Problemas
| Problema | O Que Verificar |
|---|---|
| O agendamento não está disparando | Abra o agendamento e confirme que Enabled está ativado. Verifique novamente a expressão cron — um erro comum é usar a ordem incorreta dos campos. Certifique-se de que o servidor está online quando o agendamento deve ser acionado. |
| O reinício acontece mas a mensagem de aviso não aparece | Certifique-se de que a tarefa Send Command usa o comando correto para o seu jogo. Verifique se o intervalo de tempo é menor que o offset da tarefa de reinício (ex.: aviso em 0 segundos, reinício em 300 segundos). |
| O servidor não volta a ficar online após o reinício | Verifique o Console do GPanel para erros de inicialização. Se o servidor travou durante o desligamento, ele pode não reiniciar corretamente. Tente um Start manual pelo GPanel. Se o problema persistir, abra um ticket de suporte. |
| Expressão cron não aceita | O GPanel requer exatamente 5 campos na expressão cron (minuto, hora, dia do mês, mês, dia da semana). Não inclua um campo de segundos. Certifique-se de que não há espaços extras ou caracteres especiais. |
| O comando de aviso é enviado mas os jogadores não o veem | Alguns jogos exigem formatação específica. Para Project Zomboid, a mensagem deve estar entre aspas: servermsg "Your message here". Para Minecraft, say não usa aspas. Verifique a seção específica do jogo acima. |
Precisa de Ajuda?
Se você está tendo problemas para configurar reinícios programados ou seu agendamento não está funcionando como esperado, abra um ticket de suporte e inclua:
- O nome do seu servidor no GPanel
- A expressão cron que você está usando
- Uma descrição do que está acontecendo (ou não acontecendo)
Nossa equipe de suporte ajudará você a configurar o agendamento corretamente.