Reinícios programados: quando e como fazer
Um servidor bem feito pode rodar muito tempo sem reiniciar. Mesmo assim, reinícios programados são uma prática comum: aplicam atualizações, limpam estados acumulados e liberam memória de possíveis vazamentos em scripts e plugins.
Com que frequência
- Diário, num horário de pouco movimento (por exemplo, 5h da manhã), é o mais comum;
- Servidores estáveis podem reiniciar com menos frequência;
- Se o servidor precisa de reinícios frequentes para não travar, isso é sintoma: investigue vazamentos de memória, timers esquecidos e objetos que nunca são destruídos.
Avise os jogadores
Um reinício de surpresa irrita e pode causar perda de dados. Faça uma contagem:
[SERVIDOR] Reinício em 10 minutos.
[SERVIDOR] Reinício em 5 minutos. Guarde seus veículos!
[SERVIDOR] Reinício em 1 minuto.
[SERVIDOR] Reiniciando agora. Voltamos em instantes!
Salve tudo antes
Antes de desligar:
- Salve todos os jogadores logados;
- Salve propriedades, veículos e economia que estejam em memória;
- Espere as consultas pendentes ao banco terminarem;
- Só então encerre.
Implemente isso numa função de desligamento chamada tanto pelo reinício programado quanto pelo OnGameModeExit.
Formas de agendar
Pelo painel de hospedagem
Painéis como o Pterodactyl permitem criar agendamentos (schedules) que enviam comandos ao console ou reiniciam o servidor em horários definidos. Você pode, por exemplo, enviar mensagens de aviso e depois reiniciar.
Pelo gamemode
Um timer verifica o horário (gettime) e dispara a contagem regressiva e o desligamento controlado. O processo precisa voltar a subir sozinho, o que o painel da hospedagem já faz quando configurado para reiniciar.
Depois do reinício
- Acompanhe o console nos primeiros minutos;
- Confira se plugins e banco conectaram;
- Verifique se o servidor voltou para a lista pública.
Hospede seu servidor com a VittHost
Nos planos OPENMP-BR da VittHost, você agenda reinícios e comandos pelo painel Pterodactyl. Servidores no Brasil, proteção DDoS, MySQL incluso, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.