Postado Setembro 5, 2019 5 anos Gente to querendo fazer o sistema de server save a cada 24 horas assim como ocorre no global, e o clean map seria no server save. como fazer?
Postado Setembro 12, 2019 5 anos Então, eu não entendo muito, mas vou tentar ajudar: Em globalevents eu coloco o seguinte evento: Mostrar conteúdo oculto <!-- Shutdown/Server Save --> <globalevent name="Server Save" time="09:55:00" script="save.lua" /> E crio o arquivo save.lua com o seguinte código: Mostrar conteúdo oculto function prepareShutdown(minutes) if(minutes <= 0) then Game.setGameState(GAME_STATE_SHUTDOWN) return false end if(minutes == 1) then Game.broadcastMessage("O Servidor será desligado em " .. minutes .. " minuto, saia antes dele desligar!", red) elseif(minutes <= 3) then Game.broadcastMessage("O Servidor será desligado em " .. minutes .. " minutos, saia das hunts ou areas perigosas.", red) else Game.broadcastMessage("O servidor sera desligado em " .. minutes .. " minutos.", red) end shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1) return true end function onTime() return prepareShutdown(5) -- Quantos minutos pra executar o ServeSave. end "O que ele vai fazer é uma contagem regressiva de 5 minutos, e ao chegar em 0 ele vai ativar a função shutdown, que na minha source (TFS 1.2) é isso aqui: Mostrar conteúdo oculto case GAME_STATE_SHUTDOWN: { g_globalEvents->execute(GLOBALEVENT_SHUTDOWN); //kick all players that are still online auto it = players.begin(); while (it != players.end()) { it->second->kickPlayer(true); it = players.begin(); } saveMotdNum(); saveGameState(); g_dispatcher.addTask( createTask(std::bind(&Game::shutdown, this))); g_scheduler.stop(); g_databaseTasks.stop(); g_dispatcher.stop(); break; } Essa parte que eu te falei, vai DESLIGAR o server na hora determinada lá em global events. Aí pro server iniciar novamente, você precisa de um ot restarter. No meu caso, como o meu ot está em linux, eu criei o seguinte arquivo no bloco de notas e salvei como ".sh" (no lugar de tfs você coloca o nome do seu executável que abre a distro): Mostrar conteúdo oculto #!/bin/bash ulimit -c unlimited while true; do ./tfs; done Ele vai reabrir a distro sempre que ela fechar, que é quando o server dá shutdown no global event. Caso tu esteja usando windows pode baixar um aplicativo ot restarter na net q ele faz isso por você. Espero ter ajudado. De novo, não entendo muito disso, apenas mandei o que tenho aqui.
Postado Setembro 13, 2019 5 anos Autor @MatCollier vlw pela ajuda na verdade eu ja tinha resolvido mas o topico ficou aberto aqui um tempao ahuaehaueh. mas obg
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.