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

Solved Tfs 0.4 server cant connect after a while

ojje

New Member
Joined
Dec 30, 2008
Messages
20
Reaction score
1
Location
Sweden
Hello all OTlanders!
I've got a bit of a problem on my server, I did search around for some days ago if someone had the same problem as me, but couldn't find this one.

So to the problem:
The server is running well and i can login on the server, but after 5-6 days its been up, you can just login to the character list and when trying to connect on a character, it will just say connecting to the gameworld, please wait.
This has happened more than one time and i don't really know what to do about this issue,

My server is 8.6 realmap, with 3 custom islands
Hosting on my own computer on a virtual machine.
It just starts working again when i restarted the tfs.. i have no idea what causes it.
Maybe this can help:
066d2ad74b6a47e1ac6f05905eba6d94.png

the server is www.gustera.se

if more info is needed please write here
THANKS in advance, Ojje
 
thats container.lua i use on same tfs
Code:
[code=lua]
local DISTILLERY = {5513, 5514, 5469, 5470}
local ITEM_RUM_FLASK = 5553
local ITEM_POOL = 2016

local TYPE_EMPTY = 0
local TYPE_WATER = 1
local TYPE_BLOOD = 2
local TYPE_BEER = 3
local TYPE_SLIME = 4
local TYPE_MANA_FLUID = 7
local TYPE_LIFE_FLUID = 10
local TYPE_OIL = 11
local TYPE_WINE = 15
local TYPE_MUD = 19
local TYPE_LAVA = 26
local TYPE_RUM = 27
local TYPE_SWAMP = 28

local oilLamps = {[2046] = 2044}
local casks = {[1771] = TYPE_WATER, [1772] = TYPE_BEER, [1773] = TYPE_WINE, [1369] = TYPE_WATER, [1368] = TYPE_WATER}
local alcoholDrinks = {TYPE_BEER, TYPE_WINE, TYPE_RUM}
local poisonDrinks = {TYPE_SLIME, TYPE_SWAMP}

local drunk = createConditionObject(CONDITION_DRUNK)
setConditionParam(drunk, CONDITION_PARAM_TICKS, 60000)

local poison = createConditionObject(CONDITION_POISON)
setConditionParam(poison, CONDITION_PARAM_DELAYED, true) -- Condition will delay the first damage from when it's added
setConditionParam(poison, CONDITION_PARAM_MINVALUE, -50) -- Minimum damage the condition can do at total
setConditionParam(poison, CONDITION_PARAM_MAXVALUE, -120) -- Maximum damage
setConditionParam(poison, CONDITION_PARAM_STARTVALUE, -5) -- The damage the condition will do on the first hit
setConditionParam(poison, CONDITION_PARAM_TICKINTERVAL, 4000) -- Delay between damages
setConditionParam(poison, CONDITION_PARAM_FORCEUPDATE, true) -- Re-update condition when adding it(ie. min/max value)

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(itemEx.uid == cid) then
        if(item.type == TYPE_EMPTY) then
            doPlayerSendCancel(cid, "It is empty.")
            return true
        end

        if(item.type == TYPE_MANA_FLUID) then
            if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
                return true
            end

            if(not doPlayerAddMana(cid, math.random(80, 160))) then
                return false
            end

            doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1)
            doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
            doAddCondition(cid, exhaust)
        elseif(item.type == TYPE_LIFE_FLUID) then
            if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
                return true
            end

            if(not doCreatureAddHealth(cid, math.random(40, 75))) then
                return false
            end

            doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1)
            doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
            doAddCondition(cid, exhaust)
        elseif(isInArray(alcoholDrinks, item.type)) then
            if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then
                return false
            end

            doCreatureSay(cid, "Aaah...", TALKTYPE_ORANGE_1)
        elseif(isInArray(poisonDrinks, item.type)) then
            if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then
                return false
            end

            doCreatureSay(cid, "Urgh!", TALKTYPE_ORANGE_1)
        else
            doCreatureSay(cid, "Gulp.", TALKTYPE_ORANGE_1)
        end

        doChangeTypeItem(item.uid, TYPE_EMPTY)
        return true
    end

    if(not isCreature(itemEx.uid)) then
        if(item.type == TYPE_EMPTY) then
            if(item.itemid == ITEM_RUM_FLASK and isInArray(DISTILLERY, itemEx.itemid)) then
                if(itemEx.actionid == 100) then
                    doItemEraseAttribute(itemEx.uid, "description")
                    doItemEraseAttribute(itemEx.uid, "aid")
                    doChangeTypeItem(item.uid, TYPE_RUM)
                else
                    doPlayerSendCancel(cid, "You have to process the bunch into the distillery to get rum.")
                end
                return true
            end

            if(isItemFluidContainer(itemEx.itemid) and itemEx.type ~= TYPE_EMPTY) then
                doChangeTypeItem(item.uid, itemEx.type)
                doChangeTypeItem(itemEx.uid, TYPE_EMPTY)
                return true
            end

            if(casks[itemEx.itemid] ~= nil) then
                doChangeTypeItem(item.uid, casks[itemEx.itemid])
                return true
            end

            local fluidEx = getFluidSourceType(itemEx.itemid)
            if(fluidEx ~= false) then
                doChangeTypeItem(item.uid, fluidEx)
                return true
            end

            doPlayerSendCancel(cid, "It is empty.")
            return true
        end

        if(item.type == TYPE_OIL and oilLamps[itemEx.itemid] ~= nil) then
            doTransformItem(itemEx.uid, oilLamps[itemEx.itemid])
            doChangeTypeItem(item.uid, TYPE_NONE)
            return true
        end

        if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then
            return false
        end
    end

    doDecayItem(doCreateItem(ITEM_POOL, item.type, toPosition))
    doChangeTypeItem(item.uid, TYPE_EMPTY)
    return true
end
[/CODE]
plz take a consol screenshot after restarting ot
 
Code:
doDecayItem(doCreateItem(ITEM_POOL, item.type, toPosition))

Code:
local thing = doCreateItem(ITEM_POOL, item.type, toPosition)
if(isItem(thing)) then
     doDecayItem(thing)
end

Give that a try.
 
This is how my console looks like now
Code:
[0:9:33.299] The Forgotten Server, version 0.4_SVN ()
[0:9:33.299] Compiled with GNU C++ version 4.4.0 at Jun  3 2012, 23:32:22.
[0:9:33.299] A server developed by Elf, Stian, Slawkens and KaczooH, .
[0:9:33.299] Visit our forum for updates, support and resources: http://vapus.ne
t/forum.

[0:9:33.315] >> Loading config (config.lua)
[0:9:33.315] > Opening logs
[0:9:33.315] > Using SHA1 encryption
I/O warning : failed to load external entity ""
[0:9:33.315] >> Checking software version...failed - could not parse remote file
(are you connected to any network?)
[0:9:33.315] >> Loading RSA key
[0:9:33.393] >> Starting SQL connection

[0:9:33.409] > WARNING: max_allowed_packet might be set too low for binary map s
torage.
[0:9:33.409] Use the following query to raise max_allow_packet: SET GLOBAL max_a
llowed_packet = 16776192;
[0:9:33.409] >> Running Database Manager
[0:9:33.940] > Optimizing table: house_data... [success]
[0:9:33.940] >> Loading items (OTB)
[0:9:33.987] >> Loading items (XML)
[0:9:34.065] >> Loading groups
[0:9:34.065] >> Loading vocations
[0:9:34.065] >> Loading outfits
[0:9:34.080] >> Loading chat channels
[0:9:34.080] >> Loading script systems
[0:9:34.252] [Warning - Event::loadScript] Event onSay not found (data/talkactio
ns/scripts/rskill.lua)
[0:9:34.362] >> Loading mods...
[0:9:34.362] > Loading cleanhouse.xml... done.
[0:9:34.362] > Loading firstitems.xml... done.
[0:9:34.362] > Loading FragRemover.xml... done.
[0:9:34.362] > Loading lottery.xml... done, but disabled.
[0:9:34.377] > Loading rep.xml... done, but disabled.
[0:9:34.377] > Loading ZaoShard.xml... done.
[0:9:34.377] > 6 mods were loaded (2 disabled).
[0:9:34.377] >> Loading experience stages
[0:9:34.377] >> Loading monsters
[0:9:34.627] >> Loading map and spawns...
[0:9:35.612] > Map size: 33536x33024.
[0:9:35.612] > Map descriptions:
[0:9:35.612] "Saved with Remere's Map Editor 2.2"
[0:9:35.627] ""
[0:9:45.455] > Map loading time: 10.828 seconds.
[0:9:46.987] > Data parsing time: 1.532 seconds.
[0:9:50.002] > Houses synchronization time: 3.015 seconds.
[0:9:50.065] > Content unserialization time: 0.047 seconds.
[0:9:50.065] >> Checking world type... Open PvP
[0:9:50.080] >> Initializing game state and binding services...
[0:9:50.252] > Global IP address: --edit
[0:9:50.268] > Local IP address(es): --edit
[0:9:50.268] > Bound ports: 7171        7172
[0:9:50.268] >> Everything smells good, server is starting up...
[0:9:51.268] > Saving server...
[0:9:51.737] > SAVE: Complete in 0.469 seconds using binary house storage.
[0:10:00.294] >> Gustera server Online!

Its possible to login right now, lets see how long now it takes for it to be unplayable.
 
Execute this in your phpmyadmin:
Code:
SET GLOBAL max_allowed_packet = 16776192;

Code:
[Warning - Event::loadScript] Event onSay not found (data/talkactio
ns/scripts/rskill.lua)

Wrong name or do you even use it? If not then remove it.
 
Execute this in your phpmyadmin:
Code:
SET GLOBAL max_allowed_packet = 16776192;

Code:
[Warning - Event::loadScript] Event onSay not found (data/talkactio
ns/scripts/rskill.lua)

Wrong name or do you even use it? If not then remove it.
I didn't use rskill.lua, its bugged and I dont want it anyways, another thing about Set globlal ~~, i did that one before, but it resets everytime i restart the computer, or Uniserver, I did it again now, and next time im restarting the computer im gonna reply if it resetted or not, if so, do you have a solution?
 
Back
Top