• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Server save not working

Spratt

New Member
Joined
Jun 26, 2011
Messages
106
Reaction score
1
Okay so my server save is not working properly.

Here is my data/globalevents/golbalevents.xml/save
Code:
<globalevent name="save" interval="900000" event="script" value="save.lua"/>


And here is my save.lua
Code:
 for var = 1,3 do
		if var == 1 then
			doBroadcastMessage("Saving server...") --- this appears before server freeze...
		end
		if var == 2 then
			doSaveServer() --- freeezee....
		end
		if var == 3 then
			doBroadcastMessage("Done.") --- no more lag!
		end
	end


What do I gotta do to make it work. Please I need help fast
 
Does it work when u do /save in game?


And did you edit this in config.lua?

Code:
	-- Global save
	globalSaveEnabled = false
	globalSaveHour = 8
	shutdownAtGlobalSave = true
	cleanMapAtGlobalSave = false
 
Does it work when u do /save in game?


And did you edit this in config.lua?

Code:
	-- Global save
	globalSaveEnabled = false
	globalSaveHour = 8
	shutdownAtGlobalSave = true
	cleanMapAtGlobalSave = false


here is my config.lua

Code:
-- Global save	
globalSaveEnabled = false	
globalSaveHour = 8	
globalSaveMinute = 0	
shutdownAtGlobalSave = true	
cleanMapAtGlobalSave = false

and /save works in game.
 
replace save.lua with this.

Code:
local config = {
	broadcast = {120, 30},
	shallow = "no",
	delay = 120,
	events = 30
}

config.shallow = getBooleanFromString(config.shallow)

local function executeSave(seconds)
	if(isInArray(config.broadcast, seconds)) then
		local text = ""
		if(not config.shallow) then
			text = "Full s"
		else
			text = "S"
		end

		text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!"
		doBroadcastMessage(text)
	end

	if(seconds > 0) then
		addEvent(executeSave, config.events * 1000, seconds - config.events)
	else
		doSaveServer(config.shallow)
	end
end

function onThink(interval)
	if(table.maxn(config.broadcast) == 0) then
		doSaveServer(config.shallow)
	else
		executeSave(config.delay)
	end

	return true
end
 
Lua:
local config = {
	broadcast = {30},
	shallow = "no",
	delay = 120,
	events = 30
}

config.shallow = getBooleanFromString(config.shallow)

local function executeSave(seconds)
	if(isInArray(config.broadcast, seconds)) then
		local text = ""
		if(not config.shallow) then
			text = "Full s"
		else
			text = "S"
		end

		text = text .. "erver save within " .. seconds .. " seconds, please mind it may freeze!"
		doBroadcastMessage(text)
	end

	if(seconds > 0) then
		addEvent(executeSave, config.events * 1000, seconds - config.events)
	else
		doSaveServer(config.shallow)
	end
end

function onThink(interval, lastExecution, thinkInterval)
	if(table.maxn(config.broadcast) == 0) then
		doSaveServer(config.shallow)
	else
		executeSave(config.delay)
	end

	return true
end

in globalevents.xml

Lua:
<globalevent name="save" interval="32190000" event="script" value="save.lua"/>


works for me, but maybe you wanna use yourown there but anyway :)
 
Rep for both of you :)


Also i want it set for Server save every 30 min, what do i set it at. i use TFs 0.3.6 if that means anything XD
 
Back
Top