• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Problem with cloning chars!

Damon

Check my status to contact me :)
Joined
Mar 26, 2011
Messages
6,219
Solutions
1
Reaction score
2,038
Location
Germany
Hello, my problem is, that a player on my serv can login two times at once with his char,
so he can login with his char two times or even more at once, and trade/clone items...
how can i avoid this?
here my config.lua:

-- The Forgotten Server Config

-- Account manager
accountManager = false
namelockManager = true
newPlayerChooseVoc = true
newPlayerSpawnPosX = 999
newPlayerSpawnPosY = 999
newPlayerSpawnPosZ = 5
newPlayerTownId = 1
newPlayerLevel = 8
newPlayerMagicLevel = 0
generateAccountNumber = false
generateAccountSalt = 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.
useFragHandler = true
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
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 = 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 = "open"
protectionLevel = 30
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
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 2 * 1000
pushCreatureDelay = 2 * 1000
deathContainerId = 1987
gainExperienceColor = 215
addManaSpentInPvPZone = true
squareColor = 0
allowFightback = true
fistBaseAttack = 7

-- Connection config
worldId = 0
ip = "81.169.168.207"
bindOnlyGlobalAddress = false
loginPort = 7171
gamePort = 7172
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome!Enjoy playing here and bring your friends :)"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = true
allowClones = false
serverName = "Damonia RPG"
loginMessage = "Welcome to Damonia"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = true
forceSlowConnectionsToDisconnect = false
loginOnlyWithLoginServer = false
premiumPlayerSkipWaitList = false

-- 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 or vahash.
sqlType = "mysql"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "IWONTTELLYOU"
sqlPass = "IWONTTELLYOU"
sqlDatabase = "damonia2"
sqlFile = "theforgottenserver.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
encryptionType = "sha1"

-- 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 = "otfusion.otbm"
mapAuthor = "Joelan"
randomizeTiles = true
storeTrash = true
cleanProtectedZones = true
mailboxDisabledTowns = ""

-- Process
-- NOTE: defaultPriority works only on Windows and niceLevel on *nix
-- niceLevel works only on *nix systems
-- 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
startupDatabaseOptimization = true
updatePremiumStateAtStartup = true
confirmOutdatedVersion = 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
displaySkillLevelOnAdvance = false
promptExceptionTracerErrorBox = true
maximumDoorLevel = 500
maxMessageBuffer = 4
tradeLimit = 100

-- Mounts
useMounts = true
mountCooldown = 2000
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 = 19

-- Ghost mode
ghostModeInvisibleEffect = false
ghostModeSpellEffects = true

-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
reportsExpirationAfterReads = 1
playerQueryDeepness = 2
tileLimit = 0
protectionTileLimit = 0
houseTileLimit = 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.
-- 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.
experienceStages = false
rateExperience = 8.0
rateExperienceFromPlayers = 0
rateSkill = 15.0
rateMagic = 5.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 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

-- Spawns
deSpawnRange = 2
deSpawnRadius = 50
monsterSpawnWalkback = true

-- Summons
maxPlayerSummons = 2
teleportAllSummons = false
teleportPlayerSummons = false

-- Status
statusPort = 7171
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.
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 = ""
 
Hrm bro idk Everything looks alright it might not be a problem in your config cause yours is setup the way ming=e is and my ot wont let players do that :/
 
Hope you can figure it out cause I love the map and I can't wait to play it again. I seriously thought it was possible to disable letting people duplicate characters through the configuration.
 
Here i always have an error on startup at the server, does it have to do with this? if yes, how to fix it?

15p5tnq.jpg
 
Didnt work, sorry!
tested witw Vedal!
he and me was online at same time with his char!
could it be, that you cant login from same ip now twice?
then you can hope, that those cheaters dont have 2 ips :D
 
sad :(
we got two last ideas in mind, but dont know whcih we will do.
We hope someone can help here!

1. Try to use other TFS
2. Logi nat our dedicated host on the server with a char, who will always say !online and /mc (check multiclient) and take it as a movie with the known tool:
Hypercam2 which films the desktop (tibia window) so we will see, who logins twice! we will watch every second cause it will eb a gm or cm char, which cant be still muted :D

Kind Regards,
Damon
 
sad :(
we got two last ideas in mind, but dont know whcih we will do.
We hope someone can help here!

1. Try to use other TFS
2. Logi nat our dedicated host on the server with a char, who will always say !online and /mc (check multiclient) and take it as a movie with the known tool:
Hypercam2 which films the desktop (tibia window) so we will see, who logins twice! we will watch every second cause it will eb a gm or cm char, which cant be still muted :D

Kind Regards,
Damon

But lets say I give 1 cc from my main character to a new character on a diffrent account. And then I do it on that character, i dont take long to get 1kkk and then i just parcel/send it to my main character before you know it :/ dont think it will be very effective
 
ye so maybee wait until someone has the answer, or try using other TFS, or try to make a rule on dedicated server, which denies an access to server twice at the same time ..
Would wish those cheaters would die out. We could also make kicktime 2 seconds so u get kicked after 2 seconds not doing anything so no time to login twice because other char will be kicked until you logged in with your second char and trade together... So you wont be kicked if you hunt and if you are afk in depot you will be kicked! doesnt metter, eh?
Kind Regards,
Damon
 
;( too sad :/ create a bot char on dedicated, which does always /mckick so u cant cheat with same ip :D and almost noobe has 2 ips or i try out another tfs .exe and other config :D
 
Well there is no capable chance that somebody could create such a script. It's something related to config because you have to put false in config for 1 setting. But you don't have that setting, so it's very weird :(
 
Back
Top