forked from Flatlander57/TheImaginedServer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.lua.dist
462 lines (419 loc) · 14.1 KB
/
config.lua.dist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
-- The Forgotten Server Config
-- New Features
capSpeedLoss = true
levelGainSpeed = false
defenseMin = 1.0 -- Minimum Defense Multiplier
defenseMax = 1.0 -- Maximum Defense Multiplier
armorMin = 1.0 -- Minimum Armor Multiplier
armorMax = 1.0 -- Maxmimum Armor Multiplier
offenseDamage = 1.0 -- Damage Divider
balancedDamage = 1.0 -- Damage Divider
defenseDamage = 1.0 -- Damage Divider
offenseDefense = 1.0 -- Defense Multiplier
balancedDefense = 1.5 -- Defense Multiplier
defenseDefense = 2.0 -- Defense Multiplier
playerDamageMult = 1.0 -- Multiplier For Damage To Players
useSkills = false -- Use Skills (Fist Fighting, Sword Fighting, etc)
monsterTargetDefault = false -- Use Default Monster Target?
seethroughwalls = false -- Can walls block player sight?
longday = 900 -- How long is a Day (in seconds)
daypercent = 70 -- What percent of a day is light (day/night percent)
nightlight = 150 -- How bright is it at night
daylight = 250 -- How bright is it during the day
lightcolor = 215 -- What color is the sun light (world light)
useShieldBar = true -- Use the Shield Bar?
useBarrierBar = true -- Use the Barrier Bar?
showPlayerVocation = true
showPlayerMarriage = true
showPlayerGuild = true
accountSize = 15
-- Account manager
accountManager = true
namelockManager = true
newPlayerChooseVoc = false
newPlayerSpawnPosX = 159
newPlayerSpawnPosY = 387
newPlayerSpawnPosZ = 6
newPlayerTownId = 2
newPlayerLevel = 8
newPlayerMagicLevel = 0
generateAccountNumber = false
generateAccountSalt = false
-- Rook system
useRookSystem = false
rookTownId = 1
rookLevelToGetRooked = 5
rookLevelToLeaveRook = 8
-- 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.
useFragHandler = true
redSkullLength = 30 * 24 * 60 * 60
blackSkullLength = 45 * 24 * 60 * 60
fragsLimit = 24 * 60 * 60
fragsSecondLimit = 7 * 24 * 60 * 60
fragsThirdLimit = 30 * 24 * 60 * 60
fragsToRedSkull = 3
fragsSecondToRedSkull = 5
fragsThirdToRedSkull = 10
fragsToBlackSkull = fragsToRedSkull
fragsSecondToBlackSkull = fragsSecondToRedSkull
fragsThirdToBlackSkull = fragsThirdToRedSkull
fragsToBanishment = fragsToRedSkull
fragsSecondToBanishment = fragsSecondToRedSkull
fragsThirdToBanishment = fragsThirdToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = 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
ipBanLength = 1 * 24 * 60 * 60
allowedMaxSizePackets = 20
-- Battle
-- NOTE: showHealth/ManaChangeForMonsters inherites from showHealth/ManaChange.
-- loginProtectionPeriod is the famous Tibia anti-magebomb system.
-- deathLostPercent set to nil enables manual mode.
worldType = "open"
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
showHealthChange = false
showManaChange = false
showHealthChangeForMonsters = false
showManaChangeForMonsters = false
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = false
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 2 * 1000
pushCreatureDelay = 2 * 1000
deathContainerId = 1987
gainExperienceColor = 215
addManaSpentInPvPZone = true
recoverManaAfterDeathInPvPZone = false
squareColor = 0
fistBaseAttack = 7
useFairfightReduction = true
optionalWarAttackableAlly = false
-- Connection config
worldId = 0
ip = "127.0.0.1"
bindOnlyGlobalAddress = false
loginPort = 7171
gamePort = "7172"
loginTries = 3
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome to the Forgotten Server!"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = true
allowClones = 0
serverName = "Forgotten"
loginMessage = "Welcome to the Forgotten Server!"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = true
forceSlowConnectionsToDisconnect = false
loginOnlyWithLoginServer = false
premiumPlayerSkipWaitList = false
packetsPerSecond = 50
-- RSA
-- NOTE: These should not be changed unless you know what your doing!
-- Prime1 - known as p; Prime2 - known as q; Public - known as e;
-- Modulus - known as n; Private - known as d.
rsaPrime1 = "14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113"
rsaPrime2 = "7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101"
rsaPublic = "65537"
rsaModulus = "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413"
rsaPrivate = "46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073"
-- Database
-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
-- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value.
-- encryptionType can be plain, md5, sha1, sha256, sha512.
sqlType = "sqlite"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = ""
sqlDatabase = "theforgottenserver"
sqlFile = "theforgottenserver.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
mysqlReconnectionAttempts = 3
encryptionType = "sha1"
-- Deathlist
deathListEnabled = true
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 5
multipleNames = false
-- Guilds
-- NOTE: externalGuildWarsManagement supports Automatic Account Creator(webpage or whatever you want)
externalGuildWarsManagement = false
ingameGuildManagement = true
levelToFormGuild = 8
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 20
-- Houses
buyableAndSellableHouses = true
houseNeedPremium = true
bedsRequirePremium = true
levelToBuyHouse = 1
housesPerAccount = 0
houseRentAsPrice = false
housePriceAsRent = false
housePriceEachSquare = 1000
houseSkipInitialRent = true
houseRentPeriod = "never"
houseCleanOld = 0
guildHalls = false
houseProtection = true
-- Item usage
timeBetweenActions = 200
timeBetweenExActions = 1000
timeBetweenCustomActions = 500
hotkeyAimbotEnabled = true
tibiaClassicSlots = false
canOnlyRopePlayers = true
-- Map
-- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
mapName = "forgotten.otbm"
mapAuthor = "Komic"
randomizeTiles = true
storeTrash = true
cleanProtectedZones = true
-- Mailbox
mailboxDisabledTowns = ""
mailMaxAttempts = 20
mailBlockPeriod = 60 * 60 * 1000
mailAttemptsFadeTime = 10 * 60 * 1000
-- Market
marketEnabled = true
marketOfferDuration = 30 * 24 * 60 * 60
premiumToCreateMarketOffer = true
checkExpiredMarketOffersEachMinutes = 60
maxMarketOffersAtATimePerPlayer = 100
-- Process
-- NOTE: daemonize works only on *nix, same as niceLevel, while
-- defaultPriority works only on Windows.
-- coresUsed are seperated by comma cores ids used by server process,
-- default is -1, so it stays untouched (automaticaly assigned by OS).
daemonize = false
defaultPriority = "high"
niceLevel = 5
serviceThreads = 1
coresUsed = "-1"
-- Startup
startupDatabaseOptimization = true
updatePremiumStateAtStartup = true
confirmOutdatedVersion = false
skipItemsVersionCheck = false
-- Spells
formulaLevel = 5.0
formulaMagic = 1.0
bufferMutedOnSpellFailure = false
spellNameInsteadOfWords = false
emoteSpells = false
unifiedSpells = true
enableCooldowns = true
-- 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/"
logsDirectory = "data/logs/"
bankSystem = true
promptExceptionTracerErrorBox = true
maximumDoorLevel = 500
maxMessageBuffer = 4
logPlayersStatements = true
tradeLimit = 100
useCapacity = true
-- set playerFollowExhaust to 1500 if someone causes lags and kicks
-- by following unreachable creatures too often
playerFollowExhaust = 0
-- Depot
defaultDepotSizePremium = 2000
defaultDepotSize = 1000
-- Mounts
useMounts = true
unmountPlayerInPz = true
-- VIP list
separateVipListPerCharacter = false
vipListDefaultLimit = 20
vipListDefaultPremiumLimit = 100
-- Saving-related
-- houseDataStorage usage may be found at README.
houseDataStorage = "binary"
saveGlobalStorage = true
storePlayerDirection = false
savePlayerData = true
-- Loot
-- monsterLootMessage 0 to disable, 1 - only party, 2 - only player, 3 - party or player (like Tibia's)
checkCorpseOwner = true
monsterLootMessage = 3
monsterLootMessageType = 29
-- Ghost mode
ghostModeInvisibleEffect = false
ghostModeSpellEffects = true
-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
reportsExpirationAfterReads = 1
playerQueryDeepness = -1
tileLimit = 0
protectionTileLimit = 0
houseTileLimit = 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.
-- pvpBlessingThreshold is damage percent received from PvP that is required to
-- enable pvpBlessing.
-- fairFightTimeRange is last X seconds from which damage to player counts.
-- Applies to pvp blessing.
blessings = true
blessingOnlyPremium = true
blessingReductionBase = 30
blessingReductionDecrement = 5
eachBlessReduction = 8
pvpBlessingThreshold = 40
fairFightTimeRange = 60
-- Rates
-- NOTE: experienceStages configuration is located in data/XML/stages.xml.
-- rateExperienceFromPlayers 0 to disable.
-- For constant spawn count increment, use exact values in rateSpawn* variables.
experienceStages = false
rateExperience = 5.0
rateExperienceFromPlayers = 0
rateSkill = 3.0
rateSkillOffLine = 1.5
rateMagic = 3.0
rateMagicOffLine = 1.5
levelToOfflineTraining = 8
rateLoot = 2.0
rateSpawnMin = 1
rateSpawnMax = 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 multiplying every second of logged out time, eg:
-- 60 * 1000 / 3 = 20 seconds, what gives 1 stamina minute for 3 being logged off.
-- rateStaminaThresholdGain is dividing in case the normal gain (that is
-- multiplied by rateStaminaGain, btw.) passed above threshold, eg:
-- 60 * 1000 / 3 = 20 / 4 = 5 seconds (3 * 4 = 12 minutes for 1 stamina minute).
-- staminaRatingLimit* is in minutes.
rateStaminaLoss = 1
rateStaminaGain = 3
rateStaminaThresholdGain = 12
staminaRatingLimitTop = 40 * 60
staminaRatingLimitBottom = 14 * 60
staminaLootLimit = 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
globalSaveMinute = 0
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = false
closeInstanceOnShutdown = true
-- Spawns
deSpawnRange = 2
deSpawnRadius = 50
monsterSpawnWalkback = true
allowBlockSpawn = true
-- Summons
maxPlayerSummons = 2
teleportAllSummons = false
teleportPlayerSummons = false
-- Status
statusPort = 7171
ownerName = ""
ownerEmail = "@otland.net"
url = "http://otland.net/"
location = "Europe"
displayGamemastersWithOnlineCommand = false
-- Logs
disableLuaErrors = false
displayPlayersLogging = true
prefixChannelLogs = ""
runFile = ""
outputLog = ""
truncateLogOnStartup = false
-- Manager
-- NOTE: managerPassword left blank disables manager.
managerPort = 7171
managerLogs = true
managerPassword = ""
managerLocalhostOnly = true
managerConnectionsLimit = 1
-- Admin
-- NOTE: adminPassword left blank disables manager.
-- Set to anything if you set adminRequireLogin to false.
-- adminEncryption available options: rsa1024xtea;
-- remember to set correct data!
adminPort = 7171
adminLogs = true
adminPassword = ""
adminLocalhostOnly = true
adminConnectionsLimit = 1
adminRequireLogin = true
adminEncryption = ""
adminEncryptionData = ""