-- The Forgotten Server Config
-- Account manager
accountManager = true
namelockManager = true
newPlayerChooseVoc = false
newPlayerSpawnPosX = 95
newPlayerSpawnPosY = 117
newPlayerSpawnPosZ = 7
newPlayerTownId = 1
newPlayerLevel = 1
newPlayerMagicLevel = 0
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 = 30 * 24 * 60 * 60
blackSkullLength = 45 * 24 * 60 * 60
dailyFragsToRedSkull = 3
weeklyFragsToRedSkull = 5
monthlyFragsToRedSkull = 10
dailyFragsToBlackSkull = dailyFragsToRedSkull
weeklyFragsToBlackSkull = weeklyFragsToRedSkull
monthlyFragsToBlackSkull = monthlyFragsToRedSkull
dailyFragsToBanishment = dailyFragsToRedSkull
weeklyFragsToBanishment = weeklyFragsToRedSkull
monthlyFragsToBanishment = monthlyFragsToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = true
useFragHandler = true
advancedFragList = false
-- 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 = 7 * 24 * 60 * 60
killsBanLength = 7 * 24 * 60 * 60
finalBanLength = 30 * 24 * 60 * 60
ipBanishmentLength = 1 * 24 * 60 * 60
broadcastBanishments = true
maxViolationCommentSize = 200
violationNameReportActionType = 2
autoBanishUnknownBytes = false
-- Battle
-- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage.
-- loginProtectionPeriod is the famous Tibia anti-magebomb system.
-- deathLostPercent set to nil enables manual mode.
worldType = "pvp"
protectionLevel = 1
pvpTileIgnoreLevelAndVocationProtection = true
pzLocked = 60 * 1000
huntingDuration = 60 * 1000
criticalHitChance = 7
criticalHitMultiplier = 1
displayCriticalHitNotify = false
removeWeaponAmmunition = true
removeWeaponCharges = true
removeRuneCharges = true
whiteSkullTime = 15 * 60 * 1000
noDamageToSameLookfeet = false
showHealingDamage = false
showHealingDamageForMonsters = false
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = false
oldConditionAccuracy = false
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 2 * 1000
pushCreatureDelay = 2 * 1000
deathContainerId = 1987
gainExperienceColor = 215
addManaSpentInPvPZone = true
squareColor = 0
allowFightback = true
-- Connection config
worldId = 0
ip = "127.0.0.1"
bindOnlyConfiguredIpAddress = false
loginPort = 7171
gamePort = 7172
adminPort = 7171
statusPort = 7171
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome to the Forgotten Server 8.60!"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = true
allowClones = false
serverName = "Forgotten 8.60"
loginMessage = "Welcome to the Forgotten Server 8.60!"
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 = ""
sqlDatabase = "theforgottenserver"
sqlFile = "forgottenserver.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
encryptionType = "plain"
-- Deathlist
deathListEnabled = true
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 5
-- Guilds
ingameGuildManagement = true
levelToFormGuild = 8
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 20
-- Highscores
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 60
-- Houses
buyableAndSellableHouses = true
houseNeedPremium = true
bedsRequirePremium = true
levelToBuyHouse = 1
housesPerAccount = 0
houseRentAsPrice = false
housePriceAsRent = false
housePriceEachSquare = 1000
houseRentPeriod = "never"
houseCleanOld = 0
guildHalls = false
-- Item usage
timeBetweenActions = 200
timeBetweenExActions = 1000
hotkeyAimbotEnabled = true
-- Map
-- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
mapName = "forgotten"
mapAuthor = "Komic"
randomizeTiles = true
storeTrash = true
cleanProtectedZones = true
mailboxDisabledTowns = "-1"
-- Process
-- 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"
-- Startup
optimizeDatabaseAtStartup = true
removePremiumOnInit = true
confirmOutdatedVersion = false
-- Spells
formulaLevel = 5.0
formulaMagic = 1.0
bufferMutedOnSpellFailure = false
spellNameInsteadOfWords = false
emoteSpells = false
-- Outfits
allowChangeOutfit = true
allowChangeColors = true
allowChangeAddons = true
disableOutfitsForPrivilegedPlayers = false
addonsOnlyPremium = true
-- Miscellaneous
-- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature,
-- called "exception tracer" (__EXCEPTION_TRACER__ flag).
dataDirectory = "data/"
bankSystem = true
displaySkillLevelOnAdvance = false
promptExceptionTracerErrorBox = true
separateViplistPerCharacter = false
maximumDoorLevel = 500
maxMessageBuffer = 4
-- Saving-related
-- useHouseDataStorage usage may be found at README.
saveGlobalStorage = true
useHouseDataStorage = false
storePlayerDirection = false
-- Loot
-- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's)
checkCorpseOwner = true
monsterLootMessage = 3
monsterLootMessageType = 25
-- Ghost mode
ghostModeInvisibleEffect = false
ghostModeSpellEffects = true
-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
expireReportsAfterReads = 1
playerQueryDeepness = 2
maxItemsPerPZTile = 0
maxItemsPerHouseTile = 0
-- Premium-related
freePremium = false
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 = 5.0
rateExperienceFromPlayers = 0
rateSkill = 3.0
rateMagic = 3.0
rateLoot = 2.0
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 = 8
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = false
-- Spawns
deSpawnRange = 2
deSpawnRadius = 50
-- Summons
maxPlayerSummons = 2
teleportAllSummons = false
teleportPlayerSummons = false
-- Status
ownerName = ""
ownerEmail = "@otland.net"
url = "http://otland.net/"
location = "Europe"
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
here you go
Code:-- the forgotten server config -- account manager accountmanager = true namelockmanager = true newplayerchoosevoc = false newplayerspawnposx = 95 newplayerspawnposy = 117 newplayerspawnposz = 7 newplayertownid = 1 newplayerlevel = 1 newplayermagiclevel = 0 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 = 30 * 24 * 60 * 60 blackskulllength = 45 * 24 * 60 * 60 dailyfragstoredskull = 3 weeklyfragstoredskull = 5 monthlyfragstoredskull = 10 dailyfragstoblackskull = dailyfragstoredskull weeklyfragstoblackskull = weeklyfragstoredskull monthlyfragstoblackskull = monthlyfragstoredskull dailyfragstobanishment = dailyfragstoredskull weeklyfragstobanishment = weeklyfragstoredskull monthlyfragstobanishment = monthlyfragstoredskull blackskulleddeathhealth = 40 blackskulleddeathmana = 0 useblackskull = true usefraghandler = true advancedfraglist = false -- 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 = 7 * 24 * 60 * 60 killsbanlength = 7 * 24 * 60 * 60 finalbanlength = 30 * 24 * 60 * 60 ipbanishmentlength = 1 * 24 * 60 * 60 broadcastbanishments = true maxviolationcommentsize = 200 violationnamereportactiontype = 2 autobanishunknownbytes = false -- battle -- note: Showhealingdamageformonsters inheritates from showhealingdamage. -- loginprotectionperiod is the famous tibia anti-magebomb system. -- deathlostpercent set to nil enables manual mode. Worldtype = "pvp" protectionlevel = 1 pvptileignorelevelandvocationprotection = true pzlocked = 60 * 1000 huntingduration = 60 * 1000 criticalhitchance = 7 criticalhitmultiplier = 1 displaycriticalhitnotify = false removeweaponammunition = true removeweaponcharges = true removerunecharges = true whiteskulltime = 15 * 60 * 1000 nodamagetosamelookfeet = false showhealingdamage = false showhealingdamageformonsters = false fieldownershipduration = 5 * 1000 stopattackingatexit = false oldconditionaccuracy = false loginprotectionperiod = 10 * 1000 deathlostpercent = 10 stairhopdelay = 2 * 1000 pushcreaturedelay = 2 * 1000 deathcontainerid = 1987 gainexperiencecolor = 215 addmanaspentinpvpzone = true squarecolor = 0 allowfightback = true -- connection config worldid = 0 ip = "127.0.0.1" bindonlyconfiguredipaddress = false loginport = 7171 gameport = 7172 adminport = 7171 statusport = 7171 logintries = 10 retrytimeout = 5 * 1000 logintimeout = 60 * 1000 maxplayers = 1000 motd = "welcome to the forgotten server 8.60!" displayonoroffatcharlist = false oneplayeronlineperaccount = true allowclones = false servername = "forgotten 8.60" loginmessage = "welcome to the forgotten server 8.60!" 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 = "" sqldatabase = "theforgottenserver" sqlfile = "forgottenserver.s3db" sqlkeepalive = 0 mysqlreadtimeout = 10 mysqlwritetimeout = 10 encryptiontype = "plain" -- deathlist deathlistenabled = true deathlistrequiredtime = 1 * 60 * 1000 deathassistcount = 19 maxdeathrecords = 5 -- guilds ingameguildmanagement = true leveltoformguild = 8 premiumdaystoformguild = 0 guildnameminlength = 4 guildnamemaxlength = 20 -- highscores highscoredisplayplayers = 15 updatehighscoresafterminutes = 60 -- houses buyableandsellablehouses = true houseneedpremium = true bedsrequirepremium = true leveltobuyhouse = 1 housesperaccount = 0 houserentasprice = false housepriceasrent = false housepriceeachsquare = 1000 houserentperiod = "never" housecleanold = 0 guildhalls = false -- item usage timebetweenactions = 200 timebetweenexactions = 1000 hotkeyaimbotenabled = true -- map -- note: Storetrash costs more memory, but will perform alot faster cleaning. Mapname = "forgotten" mapauthor = "komic" randomizetiles = true storetrash = true cleanprotectedzones = true mailboxdisabledtowns = "-1" -- process -- 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" -- startup optimizedatabaseatstartup = true removepremiumoninit = true confirmoutdatedversion = false -- spells formulalevel = 5.0 formulamagic = 1.0 buffermutedonspellfailure = false spellnameinsteadofwords = false emotespells = false -- outfits allowchangeoutfit = true allowchangecolors = true allowchangeaddons = true disableoutfitsforprivilegedplayers = false addonsonlypremium = true -- miscellaneous -- note: Promptexceptiontracererrorbox works only with precompiled support feature, -- called "exception tracer" (__exception_tracer__ flag). Datadirectory = "data/" banksystem = true displayskilllevelonadvance = false promptexceptiontracererrorbox = true separateviplistpercharacter = false maximumdoorlevel = 500 maxmessagebuffer = 4 -- saving-related -- usehousedatastorage usage may be found at readme. Saveglobalstorage = true usehousedatastorage = false storeplayerdirection = false -- loot -- monsterlootmessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like tibia's) checkcorpseowner = true monsterlootmessage = 3 monsterlootmessagetype = 25 -- ghost mode ghostmodeinvisibleeffect = false ghostmodespelleffects = true -- limits idlewarningtime = 14 * 60 * 1000 idlekicktime = 15 * 60 * 1000 expirereportsafterreads = 1 playerquerydeepness = 2 maxitemsperpztile = 0 maxitemsperhousetile = 0 -- premium-related freepremium = false 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 = 5.0 rateexperiencefromplayers = 0 rateskill = 3.0 ratemagic = 3.0 rateloot = 2.0 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 = 8 shutdownatglobalsave = true cleanmapatglobalsave = false -- spawns despawnrange = 2 despawnradius = 50 -- summons maxplayersummons = 2 teleportallsummons = false teleportplayersummons = false -- status ownername = "" owneremail = "@otland.net" url = "http://otland.net/" location = "europe" 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
create a new textfile in your tfs folder, and then choose "save as" and name it config.lua