• 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!

TFS 0.3.6 crashing

unsword

New Member
Joined
May 16, 2009
Messages
18
Reaction score
0
my ot is running on tfs 0.3.6 tibia 8.54

the problem is, my server is crashing pretty often, seems unstable at all, i didnt add anything that would crash it, so my question is:

is there any way to find out 'reason' for the crashes? i mean, to get a message wheres the bug located or something like that, i already removed the house commands, cause i heard it might be reason for crashes, but it still happens and, i got no idea where to find the reason.
if anyone could help me out with it i would be really appreciated

thanks in advance
 
You leave it up overnight, and leave the cam on.
Then come back check the video and look in your console what happened.. lol
 
if that had to be a twisted joke you just failed, huh

the crashes happens just after everything is loaded, while me or some other people try to logIn.

for example
Code:
[21/02/2010 21:33:23] >> All modules were loaded, server is starting up...
[21/02/2010 21:33:23] >> xxxx server Online!

[21/02/2010 21:33:27] Sensation has logged in.
[21/02/2010 21:39:26] Danieluk has logged in.
[21/02/2010 21:41:06] Danieluk has logged out.
[21/02/2010 21:41:08] Szpadyzor has logged in.

and BOOM, 'Program shuttded off' -> send or cancel?
 
oh puck im dumb, here it is:

Lua:
local config = {
	loginMessage = getConfigValue('loginMessage'),
	useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
	local loss = getConfigValue('deathLostPercent')
	if(loss ~= nil) then
		doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
	end

	local accountManager = getPlayerAccountManager(cid)
	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str .. " Please choose your outfit."
			doPlayerSendOutfitWindow(cid)
		end

		doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
	elseif(accountManager == MANAGER_NAMELOCK) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
	elseif(accountManager == MANAGER_ACCOUNT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
	end

	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end

	registerCreatureEvent(cid, "Mail")
	registerCreatureEvent(cid, "GuildMotd")
	registerCreatureEvent(cid, "PlayerDeath")


	registerCreatureEvent(cid, "Idle")
	if(config.useFragHandler) then
		registerCreatureEvent(cid, "SkullCheck")
	end

	registerCreatureEvent(cid, "ReportBug")
	registerCreatureEvent(cid, "AdvanceSave")
    registerCreatureEvent(cid, "ArenaKill")
    -- if he did not make full arena 1 he must start from zero
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena 
	return true
end
 
You could compile it with -D__EXCEPTION_TRACER__, but since you're using Windows it won't be much of a help.
 
ok theres another thing i just found out now

theres a one char, that crashing the server everytime hes trying to log on it.
i checked his char in phpmyadmin players table but theres nothing wrong
town id is right, position is right, checked if looktype is weird, its not, checked body values, everything is just right, but its still crashing when hes trying to log in.

anyone got an idea?
 
Turn off house commands in talkactions, like aleta sio, som and grav. Then check if crashes are still occuring.
My server has almost 9 days uptime, here goes Linux advantage :)
 
Try and remove the function doPlayerSave(cid, true) in your function onAdvcane, thats if you've alot of players in your database and that would suck for your pc. Im guessing
 
Back
Top