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

Unable to load items.otb

Fiester

New Member
Joined
Aug 30, 2022
Messages
22
Reaction score
2
Hello. I got a problem when i start server 8.60 - TheForgottenServer
error unable to load item.otb
i try make in config.lua

skipItemsVersionCheck = false
to
skipItemsVersionCheck = true

but still dont work another i try copy from another server items.otb and still dont work

any know how to fix it?
i got this config.

Lua:
    accountManager = true
    namelockManager = false

    newPlayerChooseVoc = true

    newPlayerSpawnPosX = 1000
    newPlayerSpawnPosY = 1000

    newPlayerSpawnPosZ = 7

    newPlayerTownId = 1

    newPlayerLevel = 8

    newPlayerMagicLevel = 3

    generateAccountNumber = false



    redSkullLength = 1 * 24 * 60 * 60

    blackSkullLength = 2 * 24 * 60 * 60

    dailyFragsToRedSkull = 15

    weeklyFragsToRedSkull = 100

    monthlyFragsToRedSkull = 250

    dailyFragsToBlackSkull = 30

    weeklyFragsToBlackSkull = 200

    monthlyFragsToBlackSkull = 500

    dailyFragsToBanishment = 60

    weeklyFragsToBanishment = 400

    monthlyFragsToBanishment = 1000

    blackSkulledDeathHealth = 40

    blackSkulledDeathMana = 1

    useBlackSkull = true

    useFragHandler = true

    advancedFragList = true



    notationsToBan = 3

    warningsToFinalBan = 4

    warningsToDeletion = 6

    banLength = 1 * 24 * 60 * 60

    killsBanLength = 1 * 24 * 60 * 60

    finalBanLength = 2 * 24 * 60 * 60

    ipBanishmentLength = 1 * 24 * 60 * 60

    broadcastBanishments = true

    maxViolationCommentSize = 200

    violationNameReportActionType = 3

    autoBanishUnknownBytes = true



    worldType = "pvp"

    protectionLevel = 200

    pvpTileIgnoreLevelAndVocationProtection = true

    pzLocked = 60 * 240

    huntingDuration = 60 * 240

    criticalHitChance = 10

    criticalHitMultiplier = 0.5

    displayCriticalHitNotify = false

    removeWeaponAmmunition = false

    removeWeaponCharges = false

    removeRuneCharges = false

    whiteSkullTime = 4 * 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 = 82

    addManaSpentInPvPZone = true

    squareColor = 0

    allowFightback = true



    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 = 500

    motd = "Welcome to The Epic Hexanim Evo 8.6 !"

    displayOnOrOffAtCharlist = false

    onePlayerOnlinePerAccount = false

    allowClones = false

    serverName = "Hexanim"

    loginMessage = "Welcome to the Epic Hexanim Evo 8.6 !"

    statusTimeout = 5 * 60 * 1000

    replaceKickOnLogin = true

    forceSlowConnectionsToDisconnect = false

    loginOnlyWithLoginServer = false

    premiumPlayerSkipWaitList = false
    
    forceSlowConnectionsToDisconnect = "yes"




    sqlType = "mysql"

    sqlHost = "localhost"

    sqlPort = 3306

    sqlUser = "root"

    sqlPass = ""

    sqlDatabase = "ots"

    sqlFile = "forgottenserver.s3db"

    sqlKeepAlive = 0

    mysqlReadTimeout = 10

    mysqlWriteTimeout = 10

    encryptionType = "plain"


    deathListEnabled = true

    deathListRequiredTime = 1 * 60 * 1000

    deathAssistCount = 19

    maxDeathRecords = 10



    ingameGuildManagement = true

    levelToFormGuild = 8

    premiumDaysToFormGuild = 0

    guildNameMinLength = 4

    guildNameMaxLength = 20


    highscoreDisplayPlayers = 15

    updateHighscoresAfterMinutes = 60



    buyableAndSellableHouses = true

    houseNeedPremium = true

    bedsRequirePremium = true

    levelToBuyHouse = 100

    housesPerAccount = 0

    houseRentAsPrice = false

    housePriceAsRent = false

    housePriceEachSquare = 850

    houseRentPeriod = "never"

    houseCleanOld = 10

    guildHalls = false



    timeBetweenActions = 10

    timeBetweenExActions = 600

    hotkeyAimbotEnabled = true



    mapName = "simon"

    mapAuthor = "Simon"

    randomizeTiles = true

    storeTrash = true

    cleanProtectedZones = true

    mailboxDisabledTowns = "-1"



    defaultPriority = "high"

    niceLevel = 5

    coresUsed = "-1"



    optimizeDatabaseAtStartup = true

    removePremiumOnInit = true

    confirmOutdatedVersion = false



    formulaLevel = 1.0

    formulaMagic = 1.0

    bufferMutedOnSpellFailure = false

    spellNameInsteadOfWords = false

    emoteSpells = true

    allowChangeOutfit = true

    allowChangeColors = true

    allowChangeAddons = true

    disableOutfitsForPrivilegedPlayers = false

    addonsOnlyPremium = true



    dataDirectory = "C:\EVO"

    bankSystem = true

    displaySkillLevelOnAdvance = false

    promptExceptionTracerErrorBox = true

    separateViplistPerCharacter = false

    maximumDoorLevel = 999

    maxMessageBuffer = 20




    saveGlobalStorage = true

    useHouseDataStorage = false

    storePlayerDirection = false


    
    checkCorpseOwner = true
    monsterLootMessage = 3

    monsterLootMessageType = 25



    ghostModeInvisibleEffect = false

    ghostModeSpellEffects = true



    idleWarningTime = 29 * 60 * 1000

    idleKickTime = 30 * 60 * 1000

    expireReportsAfterReads = 1

    playerQueryDeepness = 2

    maxItemsPerPZTile = 0

    maxItemsPerHouseTile = 0



    freePremium = true

    premiumForPromotion = true



    blessingOnlyPremium = false

    blessingReductionBase = 70

    blessingReductionDecreament = 5

    eachBlessReduction = 8


    experienceStages = true
    rateExperience = 1.0

    rateExperienceFromPlayers = 0

    rateSkill = 70.0

    rateMagic = 250.0

    rateLoot = 2.0

    rateSpawn = 1



    rateMonsterHealth = 1.0

    rateMonsterMana = 1.0

    rateMonsterAttack = 1.0

    rateMonsterDefense = 1.0



    minLevelThresholdForKilledPlayer = 0.9

    maxLevelThresholdForKilledPlayer = 1.1



    rateStaminaLoss = 1

    rateStaminaGain = 3

    rateStaminaThresholdGain = 12

    staminaRatingLimitTop = 41 * 60

    staminaRatingLimitBottom = 14 * 60

    rateStaminaAboveNormal = 1.5

    rateStaminaUnderNormal = 0.5

    staminaThresholdOnlyPremium = true



    experienceShareRadiusX = 30

    experienceShareRadiusY = 30

    experienceShareRadiusZ = 1

    experienceShareLevelDifference = 2 / 3

    extraPartyExperienceLimit = 20

    extraPartyExperiencePercent = 5

    experienceShareActivity = 2 * 60 * 1000



    globalSaveEnabled = false

    globalSaveHour = 12

    shutdownAtGlobalSave = false

    cleanMapAtGlobalSave = false

    deSpawnRange = 2

    deSpawnRadius = 50



    maxPlayerSummons = 2

    teleportAllSummons = false

    teleportPlayerSummons = false



    ownerName = ""

    ownerEmail = ""

    url = ""

    location = "Poland"

    displayGamemastersWithOnlineCommand = true



    adminLogsEnabled = false

    displayPlayersLogging = true

    prefixChannelLogs = ""

    runFile = ""

    outLogName = ""

    errorLogName = ""

    truncateLogsOnStartup = false

    skipItemsVersionCheck = false
 
Unable to load items.otb.
Let's go:
Go to the folder where the sources of your executable are located and look for items.ccp, open it in editor mode (or through your compilation program) and look for:

C++:
if(Items::dwMajorVersion == 0xFFFFFFFF)
std::clog << "[Warning - Items::loadFromOtb] items.otb using generic client version." << std::endl;
else if(Items::dwMajorVersion < 3)
{
std::clog << "[Error - Items::loadFromOtb] Old version detected, a newer version of items.otb is required." << std::endl;
return ERROR_INVALID_FORMAT;
}
else if(Items::dwMajorVersion > 3)
{
std::clog << "[Error - Items::loadFromOtb] New version detected, an older version of items.otb is required." << std::endl;
return ERROR_INVALID_FORMAT;
}
else if(Items::dwMinorVersion != CLIENT_VERSION_861)
{
std::clog << "[Error - Items::loadFromOtb] Another (client) version of items.otb is required." << std::endl;
return ERROR_INVALID_FORMAT;
and replace with this:
C++:
/*if(Items::dwMajorVersion == 0xFFFFFFFF)
std::clog << "[Warning - Items::loadFromOtb] items.otb using generic client version." << std::endl;
else if(Items::dwMajorVersion < 3)
{
std::clog << "[Error - Items::loadFromOtb] Old version detected, a newer version of items.otb is required." << std::endl;
return ERROR_INVALID_FORMAT;
}
else if(Items::dwMajorVersion > 3)
{
std::clog << "[Error - Items::loadFromOtb] New version detected, an older version of items.otb is required." << std::endl;
return ERROR_INVALID_FORMAT;
}
else if(Items::dwMinorVersion != CLIENT_VERSION_861)
{
std::clog << "[Error - Items::loadFromOtb] Another (client) version of items.otb is required." << std::endl;
return ERROR_INVALID_FORMAT;
}*/
and now just compile.

Explanation: The /**/ tag was just added to the script to cancel these lines, that is, make them unusable, meaning that when turning on the server, your distro does not check the version of items.otb, (and remembering that on these servers more recents there is already an option in config.lua itself that cancels the items.otb check).
 
i got 1st time this problem can u ask me where i can find items.ccp
and how i need edit it ? with cc++ ?
in my data/folder is only Items.xml / items.otb
 
You need to have a program like Dev C++ or Microsoft Visual C++ to edit your source, make changes, and compile. That's it...

If you don't have the source, I don't know which base you used to use the server. There are two different types: TFS 0.4 and OTX 2 8.6.

TFS 0.4
source,

Otx 2 8.6
source,
 
Back
Top