<globalevent name="globalsave" interval="172800000" event="script" value="globalsave.lua"/>
function prepareShutdown(minutes) if(minutes <= 0) then
doSetGameState(GAMESTATE_SHUTDOWN)
return false
end
if(minutes == 1) then
doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!")
elseif(minutes <= 3) then
doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.")
else
doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.")
end
shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1)
return true
end
function onThink(interval, lastExecution)
return prepareShutdown(10) -- minutes to save and shutdown before time configured on globalevents.xml
end
<globalevent name="globalsave" time="3:00" event="script" value="globalsave.lua"/>
function prepareShutdown(minutes) if(minutes <= 0) then
doSetGameState(GAMESTATE_SHUTDOWN)
return false
end
if(minutes == 1) then
doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!")
elseif(minutes <= 3) then
doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.")
else
doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.")
end
shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1)
return true
end
function onTime(interval)
if os.date('%H') == "3" then
return prepareShutdown(10)
end
return TRUE
end
Hey, thanks alot for posting here!Is possible to integrate an auto restart in console? Then we can enable/disable in config.lua
- - - Updated - - -
XML:<globalevent name="globalsave" time="3:00" event="script" value="globalsave.lua"/>
Lua:function prepareShutdown(minutes) if(minutes <= 0) then doSetGameState(GAMESTATE_SHUTDOWN) return false end if(minutes == 1) then doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!") elseif(minutes <= 3) then doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.") else doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.") end shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1) return true end function onTime(interval) if os.date('%H') == "3" then return prepareShutdown(10) end return TRUE end
This way you can set WHICH HOUR you want to restart.
Default = 3h (dawn)
Replace:
if os.date('%H') == "3" then
with:
if os.date('%H') == "3" and getWorldUpTime() > 24*60*60 then
<globalevent name="globalsave" time="3:00" event="script" value="globalsave.lua"/>
function prepareShutdown(minutes) if(minutes <= 0) then
doSetGameState(GAMESTATE_SHUTDOWN)
return false
end
if(minutes == 1) then
doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!")
elseif(minutes <= 3) then
doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.")
else
doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.")
end
shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1)
return true
end
function onTime(interval)
if os.date('%H') == "3" and getWorldUpTime() > 24*60*60 then
return prepareShutdown(10)
end
return TRUE
end