Boa tarde, pessoal .
Meu servidor está dando um erro que atrapalha muito .
Aproximadamente de 3 em 3 horas, o erro aparece e fecha o server subitamente, sem dar save.
Segue abaixo uma imagem do erro e uma imagem do servidor sendo executado.

A única mensagem anormal no executável no servidor está na imagem abaixo... se isso ajudar a diagnosticar, aqui está :

Vou aproveitar para postar meu config.lua
-- The Forgotten Server Config -- Account manager accountManager = true namelockManager = true newPlayerChooseVoc = true newPlayerSpawnPosX = 160 newPlayerSpawnPosY = 51 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 8 newPlayerMagicLevel = 1 generateAccountNumber = false -- Unjustified kills -- NOTE: *Banishment and *BlackSkull variables are >summed up< -- (dailyFragsToRedSkull + dailyFragsToBanishment) with their -- *RedSkull equivalents. -- Auto banishing works only if useBlackSkull set to negative. -- advancedFragList is not advised if you use huge frags -- requirements. redSkullLength = 1 * 12 * 40 * 40 blackSkullLength = 1 * 12 * 50 * 40 dailyFragsToRedSkull = 20 weeklyFragsToRedSkull = 25 monthlyFragsToRedSkull = 40 dailyFragsToBlackSkull = 35 weeklyFragsToBlackSkull = 60 monthlyFragsToBlackSkull = 100 dailyFragsToBanishment = 35 weeklyFragsToBanishment = 65 monthlyFragsToBanishment = 105 blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true useFragHandler = true advancedFragList = true -- Banishments -- violationNameReportActionType 1 = just a report, 2 = name lock, 3 = player banishment -- killsBanLength works only if useBlackSkull option is disabled. notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 1 * 24 * 60 * 60 killsBanLength = 1 * 24 * 60 * 60 finalBanLength = 1 * 24 * 60 * 60 ipBanishmentLength = 1 * 24 * 60 * 60 broadcastBanishments = true maxViolationCommentSize = 20 violationNameReportActionType = 2 autoBanishUnknownBytes = true -- Battle -- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage. -- loginProtectionPeriod is the famous Tibia anti-magebomb system. -- deathLostPercent set to nil enables manual mode. worldType = "pvp" protectionLevel = 50 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 30 * 500 huntingDuration = 60 * 1000 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = true removeWeaponAmmunition = false removeWeaponCharges = false removeRuneCharges = false whiteSkullTime = 5 * 60 * 1000 noDamageToSameLookfeet = false showHealingDamage = true showHealingDamageForMonsters = true fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false oldConditionAccuracy = false loginProtectionPeriod = 10 * 1000 deathLostPercent = 10 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 190 addManaSpentInPvPZone = true squareColor = 0 allowFightback = true -- Connection config worldId = 0 ip = "cartola.servegame.com" bindOnlyConfiguredIpAddress = false loginPort = 7171 gamePort = 7172 adminPort = 7171 statusPort = 7171 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 212 motd = "Bem vindo(a) ao Cartola Server. Dúvidas no HELP." displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = false serverName = "Cartola" loginMessage = "Bem vindo(a) ao Cartola Server! Qualquer coisa fale no Help. Para ver os comandos, digite /Commands. Para ver as Spells, digite !spells. Items de vocações no teleport no templo. Para comprar VIP, fale com o GOD (Preço = 1kk)." statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = false -- Database -- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database. -- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value. sqlType = "sqlite" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "1234" sqlDatabase = "theforgottenserver" sqlFile = "Styller.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" -- Deathlist deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 -- Guilds ingameGuildManagement = true levelToFormGuild = 50 premiumDaysToFormGuild = 1 guildNameMinLength = 4 guildNameMaxLength = 20 -- Highscores highscoreDisplayPlayers = 10 updateHighscoresAfterMinutes = 5 -- Houses buyableAndSellableHouses = true houseNeedPremium = true bedsRequirePremium = true levelToBuyHouse = 100 housesPerAccount = 0 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 500 houseRentPeriod = "never" houseCleanOld = 0 guildHalls = false -- Item usage timeBetweenActions = 200 timeBetweenExActions = 1000 checkCorpseOwner = true hotkeyAimbotEnabled = true maximumDoorLevel = 500 -- Map -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning. -- useHouseDataStorage usage may be found at README. mapName = "Styller" mapAuthor = "Leo" randomizeTiles = true useHouseDataStorage = false storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "-1" -- Startup -- NOTE: defaultPriority works only on Windows and niceLevel on *nix -- coresUsed are seperated by comma cores ids used by server process, -- default is -1, so it stays untouched (automaticaly assigned by OS). defaultPriority = "high" niceLevel = 5 coresUsed = "-1" optimizeDatabaseAtStartup = true removePremiumOnInit = true confirmOutdatedVersion = false -- Muted buffer maxMessageBuffer = 5 bufferMutedOnSpellFailure = false -- Miscellaneous -- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature, -- called "exception tracer" (__EXCEPTION_TRACER__ flag). -- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's) dataDirectory = "data/" allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false bankSystem = true saveGlobalStorage = true displaySkillLevelOnAdvance = true spellNameInsteadOfWords = false emoteSpells = true promptExceptionTracerErrorBox = true storePlayerDirection = false monsterLootMessage = 3 monsterLootMessageType = 25 separateViplistPerCharacter = false -- Ghost mode ghostModeInvisibleEffect = false ghostModeSpellEffects = true -- Limits idleWarningTime = 59 * 60 * 1000 idleKickTime = 60 * 60 * 1000 expireReportsAfterReads = 1 playerQueryDeepness = 2 maxItemsPerPZTile = 0 maxItemsPerHouseTile = 0 -- Premium-related freePremium = true premiumForPromotion = true -- Blessings -- NOTE: blessingReduction* regards items/containers loss. -- eachBlessReduction is how much each bless reduces the experience/magic/skills loss. blessingOnlyPremium = true blessingReductionBase = 30 blessingReductionDecreament = 5 eachBlessReduction = 8 -- Rates -- NOTE: experienceStages configuration is located in data/XML/stages.xml. -- rateExperienceFromPlayers 0 to disable. experienceStages = false rateExperience = 300.0 rateExperienceFromPlayers = 0 rateSkill = 90.0 rateMagic = 70.0 rateLoot = 3.5 rateSpawn = 1 -- Monster rates rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 -- Experience from players -- NOTE: min~Threshold* set to 0 will disable the minimum threshold: -- player will gain experience from every lower leveled player. -- max~Threshold* set to 0 will disable the maximum threshold: -- player will gain experience from every higher leveled player. minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 -- Stamina -- NOTE: Stamina is stored in miliseconds, so seconds are multiplied by 1000. -- rateStaminaHits multiplies every hit done a creature, which are later -- multiplied by player attack speed. -- rateStaminaGain is divider of every logged out second, eg: -- 60000 / 3 = 20000 milliseconds, what gives 20 stamina seconds for 1 minute being logged off. -- rateStaminaThresholdGain is divider for the premium stamina. -- staminaRatingLimit* is in minutes. rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 41 * 60 staminaRatingLimitBottom = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true -- Party -- NOTE: experienceShareLevelDifference is float number. -- experienceShareLevelDifference is highestLevel * value experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000 -- Global save -- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours, -- if you want such a system please check out data/globalevents/globalevents.xml. globalSaveEnabled = false globalSaveHour = 3 shutdownAtGlobalSave = false cleanMapAtGlobalSave = false -- Spawns deSpawnRange = 2 deSpawnRadius = 50 -- Summons maxPlayerSummons = 2 teleportAllSummons = true teleportPlayerSummons = false -- Status ownerName = "Scream" ownerEmail = "" url = "" location = "Brazil" displayGamemastersWithOnlineCommand = false -- Logs -- NOTE: This kind of logging does not work in GUI version. -- For such, please compile the software with __GUI_LOGS__ flag. adminLogsEnabled = false displayPlayersLogging = true prefixChannelLogs = "" runFile = "" outLogName = "" errorLogName = "" truncateLogsOnStartup = false
Versão 0.7.2 .
Protocolo do Tibia : 8.54~8.57 .
Se estiver relacionado ao Sistema de VIP, vou postar os scripts relacionados à ela:
Data/Talkactions/scripts/addvip.lua
-------------------------------------
function onSay(cid, words, param)
-- configs
access = 3
days = 30
-- end configs
player = getPlayerByName(param)
daysvalue = days*3600*24
storageplayer = getPlayerStorageValue(player,13540)
timenow = os.time()
if storageplayer == -1 or storageplayer == 0 then
time = timenow+daysvalue
else
time = storageplayer+daysvalue
end
if param ~= "" then
if getPlayerGroupId(cid) >= access then
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(player,13540,time)
quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente jogadores com acesso maior que "..access.." podem adicionar vips.")
end
end
end
Data/Movements/Scripts/vip.lua
-------------------------------
local pos = {x=818, y=373, z=7}
pos = {x=818, y=373, z=7}
function onLogin(cid)
if vip.hasVip(cid) == true then
if getPlayerStorageValue(cid,55555) ~= 1 then
setPlayerStorageValue(cid,55555,1)
end
elseif vip.hasVip(cid) ~= true and vip.getVip(cid) ~= 0 then
if getPlayerStorageValue(cid,55555) == 1 then
doTeleportThing(cid, pos, true)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip ACABOU!")
doPlayerSendTextMessage(cid,22,"Sua Vip ACABOU!")
setPlayerPromotionLevel(cid, 1)
setPlayerStorageValue(cid,55555,2)
elseif getPlayerStorageValue(cid,55555) == -1 then
setPlayerStorageValue(cid,55555,2)
end
end
return true
end
Data/Movements/Scripts/vipp.lua
-------------------------------
function onStepIn(cid, item, pos)
novapos1 = {x=295, y=24, z=7}
backpos = {x=295, y=24, z=7}
msg = ""
if isPlayer(cid) then actionid == 5955 then
doSendMagicEffect(cid,2)
doTeleportThing(cid,novapos1)
doSendMagicEffect(novapos1,10)
else
doTeleportThing(cid,backpos)
doPlayerSendTextMessage(cid, 22, msg)
end
end
Data/Movements/Scripts/vipTilee.lua
-----------------------------------
--- Script by dark billie
--- Edited by mock to ##### vip system
function onStepIn(cid, item, position, fromPosition)
local tileConfig = {
kickPos = fromPosition,
kickEffect = CONST_ME_POFF,
kickMsg = "Você precisa ser um Player VIP para acessar essa área.",
enterMsg = "Bem-vindo à Área VIP! Divirta-se!",
enterEffect = CONST_ME_MAGIC_BLUE,
}
if isPlayer(cid) == true then
if vip.hasVip(cid) == FALSE then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doPlayerSendTextMessage(cid, 25, tileConfig.enterMsg)
doSendMagicEffect(position, tileConfig.enterEffect)
return true
end
end
Data/Movements/Scripts/vipTileee.lua
------------------------------------
function onStepIn(cid, item, position, fromPosition)
local tileConfig = {
kickPos = fromPosition,
kickEffect = CONST_ME_POFF,
kickMsg = "You need to be a vip to access this area.",
enterMsg = "Welcome to vip area. Enjoy!",
enterEffect = CONST_ME_MAGIC_BLUE,
vipStorage = 13540,
}
if(getPlayerStorageValue(cid, tileConfig.vipStorage) <= 0) then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doPlayerSendTextMessage(cid, 25, tileConfig.enterMsg)
doSendMagicEffect(position, tileConfig.enterEffect)
return true
end
Espero respostas para alguém poder me ajudar.
Obrigado.