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

Compiling TFS 1.0/1.1 latest source. 64 and 32 bits. Pics and lots of explanation.

I think that's not quite true what you say. If there War System code.
Code player.cpp
Code:
        if (isInWar(player)) {
            return SKULL_GREEN;
        }

        if (!player->getGuildWarList().empty() && guild == player->getGuild())

I am 100% sure there is no guildwar in TFS 1.0. You are probably looking at the wrong files or something.
 
Yes, tfs 1.0 have war.
With Znote AAC i add parameters for invite guild wars and accept.
Ingame works guild war system 100%.
Now i use it and works ^^
 
Yes, tfs 1.0 have war.
With Znote AAC i add parameters for invite guild wars and accept.
Ingame works guild war system 100%.
Now i use it and works ^^

@Mark Does TFS 1.0 have a guild war system implemented? If it does how do we enable it?
 
Very nice, the standard guide for compiling isint very clear at all. Liked. Thanks :)
 
I don't know what im doing wrong, help me please, I'm compiling on 32bit Windows 7
Code:
1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release Win32 ------
1>Project file contains ToolsVersion="12.0". This toolset is unknown or missing. You may be able to resolve this by installing the appropriate .NET Framework for this toolset. Treating the project as if it had ToolsVersion="4.0".
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
 
can you tell me what is your MSVC version ? 2013 or 2012 :D
anyway open project and press right-click on you project in the solution explore >> and choose Propertise
then u can see Plateform Toolset

if you have MSVC2012 so choose Visual Studio 2012 (v110)
if you have MSVC2013 so choose Visual Studio 2013 (v120)
problem is in toolset :D version of compiler
 
I don't know what im doing wrong, help me please, I'm compiling on 32bit Windows 7
Code:
1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release Win32 ------
1>Project file contains ToolsVersion="12.0". This toolset is unknown or missing. You may be able to resolve this by installing the appropriate .NET Framework for this toolset. Treating the project as if it had ToolsVersion="4.0".
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

You must use MSVC 2013, other versions will fail like this one did.
 
Error when I open tfs 1.0 .exe

Code:
>> Establishing database connection...
MySQL Error Message: Access denied for user 'forgottenserver' @ 'localhost' <using password: NO>
> ERROR: Failed to connect to database.
>>> No services running. The server is NOT online.
FIXED

Problem loading config.lua:

Code:
>ERROR: Unable to load config.lua
 
Last edited:
Did you add config.lua and the data folder to the exe's directory?
Yes I did. it looks like this:
Code:
-- The Forgotten Server Config

-- Account manager
accountManager = "no"
namelockManager = "no"
newPlayerChooseVoc = "no"
newPlayerSpawnPosX = 1000
newPlayerSpawnPosY = 1000
newPlayerSpawnPosZ = 7
newPlayerTownId = 1
newPlayerLevel = 1
newPlayerMagicLevel = 0
generateAccountNumber = "no"

-- Unjustified kills
redSkullLength = 10 * 24 * 60 * 60
blackSkullLength = 20 * 24 * 60 * 60
dailyFragsToRedSkull = 8
weeklyFragsToRedSkull = 10
monthlyFragsToRedSkull = 15
dailyFragsToBlackSkull = 20
weeklyFragsToBlackSkull = weeklyFragsToRedSkull
monthlyFragsToBlackSkull = monthlyFragsToRedSkull
dailyFragsToBanishment = dailyFragsToRedSkull
weeklyFragsToBanishment = weeklyFragsToRedSkull
monthlyFragsToBanishment = monthlyFragsToRedSkull
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = "yes"
advancedFragList = "no"

-- Banishments
notationsToBan = 3
warningsToFinalBan = 4
warningsToDeletion = 5
banLength = 7 * 24 * 60 * 60
finalBanLength = 30 * 24 * 60 * 60
ipBanishmentLength = 1 * 24 * 60 * 60
broadcastBanishments = "yes"
maxViolationCommentSize = 200
violationNameReportActionType = 2
autoBanishUnknownBytes = "no"

-- Battle
worldType = "pvp"
protectionLevel = 500
pvpTileIgnoreLevelAndVocationProtection = "yes"
pzLocked = 5000
huntingDuration = 60 * 1000
criticalHitChance = 7
criticalHitMultiplier = 1
displayCriticalHitNotify = "yes"
removeWeaponAmmunition = "no"
removeWeaponCharges = "no"
removeRuneCharges = "yes"
whiteSkullTime = 2 * 60 * 1000
noDamageToSameLookfeet = "no"
showHealingDamage = "yes"
showHealingDamageForMonsters = "yes"
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = "no"
oldConditionAccuracy = "no"
loginProtectionPeriod = 10 * 1000
deathLostPercent = 7
stairhopDelay = 2 * 1000
pushCreatureDelay = 2 * 1000
deathContainerId = 1987
gainExperienceColor = 70
addManaSpentInPvPZone = "yes"
squareColor = 0
allowFightback = "yes"

-- Connection config
worldId = 0
ip = "127.0.0.1"
bindOnlyConfiguredIpAddress = "no"
loginPort = 7171
gamePort = 7172
adminPort = 7171
statusPort = 7171
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome to Selesnya, have a good time!"
displayOnOrOffAtCharlist = "no"
onePlayerOnlinePerAccount = "yes"
allowClones = "no"
serverName = "Evo highexp"
loginMessage = "!spells/!soft/!changesex/!sex/!buyaol/!bless/!manarune"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = "yes"
forceSlowConnectionsToDisconnect = "yes"
loginOnlyWithLoginServer = "no"
premiumPlayerSkipWaitList = "yes"

-- Database
sqlType = "mysql"
sqlHost = "127.0.0.1"
sqlPort = 3306
sqlUser = "****"
sqlPass = "****"
sqlDatabase = ""
sqlFile = "forgottenserver.s3db"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
passwordType = "plain"

-- Deathlist
deathListEnabled = "yes"
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 10

-- Guilds
ingameGuildManagement = "yes"
levelToFormGuild = 8
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 20

-- Highscores
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 60

-- Houses
buyableAndSellableHouses = "yes"
houseNeedPremium = "yes"
bedsRequirePremium = "yes"
levelToBuyHouse = 1000
housesPerAccount = 0
houseRentAsPrice = "no"
housePriceAsRent = "no"
housePriceEachSquare = 1000
houseRentPeriod = "never"
houseCleanOld = 0
guildHalls = "no"

-- Item usage
timeBetweenActions = 200
timeBetweenExActions = 1000
checkCorpseOwner = "yes"
hotkeyAimbotEnabled = "yes"
maximumDoorLevel = 500

-- Map
mapName = "Evolutions"
mapAuthor = "William"
randomizeTiles = "yes"
useHouseDataStorage = "no"
storeTrash = "yes"
cleanProtectedZones = "yes"
mailboxDisabledTowns = "-1"

-- Startup
defaultPriority = "high"
niceLevel = 5
coresUsed = "-1"
optimizeDatabaseAtStartup = "yes"
removePremiumOnInit = "yes"
confirmOutdatedVersion = "no"

-- Muted buffer
maxMessageBuffer = 4
bufferMutedOnSpellFailure = "no"

-- Miscellaneous
dataDirectory = "data/"
allowChangeOutfit = "yes"
allowChangeColors = "yes"
allowChangeAddons = "yes"
disableOutfitsForPrivilegedPlayers = "no"
bankSystem = "yes"
saveGlobalStorage = "yes"
displaySkillLevelOnAdvance = "yes"
spellNameInsteadOfWords = "no"
emoteSpells = "yes"
promptExceptionTracerErrorBox = "yes"
storePlayerDirection = "no"
monsterLootMessage = 3
monsterLootMessageType = 25

-- Ghost mode
ghostModeInvisibleEffect = "no"
ghostModeSpellEffects = "yes"

-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
expireReportsAfterReads = 1
playerQueryDeepness = 2
maxItemsPerPZTile = 0
maxItemsPerHouseTile = 0

-- Premium-related
freePremium = "yes"
premiumForPromotion = "yes"

-- Blessings
blessingsOnlyPremium = "yes"
blessingReductionBase = 30
blessingReductionDecreament = 5
eachBlessReduction = 8

-- Rates
experienceStages = "no"
rateExperience = 99999
rateExperienceFromPlayers = 0
rateSkill = 100
rateMagic = 75
rateLoot = 4
rateSpawn = 1

-- Experience from players
minLevelThresholdForKilledPlayer = 0
maxLevelThresholdForKilledPlayer = 0

-- Stamina
rateStaminaLoss = 1
rateStaminaGain = 1000 / 3
rateStaminaThresholdGain = 4
staminaRatingLimitTop = 41 * 60
staminaRatingLimitBottom = 14 * 60
rateStaminaAboveNormal = 1.5
rateStaminaUnderNormal = 0.5
staminaThresholdOnlyPremium = "yes"

-- Party
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 2 / 3
extraPartyExperienceLimit = 20
extraPartyExperiencePercent = 5
experienceShareActivity = 2 * 60 * 1000

-- Global save
globalSaveEnabled = "no"
globalSaveHour = 1
shutdownAtGlobalSave = "no"
cleanMapAtGlobalSave = "yes"

-- Spawns
deSpawnRange = 2
deSpawnRadius = 50

-- Summons
maxPlayerSummons = 2
teleportAllSummons = "no"
teleportPlayerSummons = "no"

-- Status
ownerName = ""
ownerEmail = ""
url = ""
location = "Europe"
displayGamemastersWithOnlineCommand = "no"

-- Logs
adminLogsEnabled = "no"
displayPlayersLogging = "no"
prefixChannelLogs = ""
runFile = ""
outLogName = ""
errorLogName = ""
truncateLogsOnStartup = "no"
 
Last edited by a moderator:
Ok, i changed it to the original file, just modified the spaces and that.

Code:
-- Combat settings

worldType = "pvp"

hotkeyAimbotEnabled = "yes"

protectionLevel = 1

killsToRedSkull = 3

killsToBlackSkull = 6

pzLocked = 60000

removeAmmoWhenUsingDistanceWeapon = "yes"

removeChargesFromRunes = "yes"

timeToDecreaseFrags = 24 * 60 * 60 * 1000

whiteSkullTime = 15 * 60 * 1000

stairJumpExhaustion = 2000

experienceByKillingPlayers = "no"


-- Connection
Config
ip = "127.0.0.1"

bindOnlyGlobalAddress = "no"

loginProtocolPort = 7171

gameProtocolPort = 7172

statusProtocolPort = 7171

maxPlayers = "1000"

motd = "Welcome to The Forgotten Server!"

onePlayerOnlinePerAccount = "yes"
allowClones = "no"

serverName = "Forgotten"

statusTimeout = 60000

replaceKickOnLogin = "yes"

maxPacketsPerSecond = 25


-- Deaths
-- NOTE: Leave deathLosePercent as -1 if you want to use the default
-- death penalty formula. For the old formula, set it to 10. For
-- no skill/experience

loss, set it to 0.

deathLosePercent = -1


-- Houses
-- NOTE: set housePriceEachSQM to -1 to disable the ingame buy house functionality

housePriceEachSQM = 1000

houseRentPeriod = "never"


-- Item Usage

timeBetweenActions = 200

timeBetweenExActions = 1000


-- Map

mapName = "forgotten"

mapAuthor = "Komic"


-- Market

marketOfferDuration = 30 * 24 * 60 * 60

premiumToCreateMarketOffer = "yes"

checkExpiredMarketOffersEachMinutes = 60

maxMarketOffersAtATimePerPlayer = 100


-- MySQL

mysqlHost = "127.0.0.1"

mysqlUser = "forgottenserver"

mysqlPass = ""

mysqlDatabase = "forgottenserver"

mysqlPort = 3306

mysqlSock = ""


-- Misc.

allowChangeOutfit = "yes"

freePremium = "no"

kickIdlePlayerAfterMinutes = 15

maxMessageBuffer = 4

noDamageToSameLookfeet = "no"


-- Rates
-- NOTE: rateExp is not used if you have enabled stages in data/XML/stages.xml

rateExp = 5

rateSkill = 3

rateLoot = 2

rateMagic = 3

rateSpawn = 1


-- Monsters

deSpawnRange = 2

deSpawnRadius = 50


-- Stamina

staminaSystem = "yes"


-- Startup
-- NOTE: default Priority only works on Windows and sets process priority.

defaultPriority = "high"

startupDatabaseOptimization = "no"


-- Status server information

ownerName = ""

ownerEmail = ""

url = "http://otland.net/"
location = "Sweden"

The error that prompts with this config lua are the next:

Code:
>> Loading config
[Error - ConfigManager::load] config.lua:30: '=' expected near 'ip'
> ERROR: Unable to load config.lua!
>> No services running. The server is NOT online.
 
Back
Top