Galera aqui enssinarei a vocês Configurarem e Abrir a melhor "Distro" que está disponível para OT (OpenTibia) como todo programa Aberto é disponivel as sources dos arquivos...mas isso não vem ao caso, logo criarei um tutorial de como compilar as sources da TFS, mas voltando ao assunto vamos Lá..!
1. Passo --
Baixe o Server que esta disponivel tanto como Console como em GUI (Recomendavel o GUI) e as DLLs No seguinte post !
AQUI
2. Passo --
Extraia os arquivos tanto as Dlls como o server !...
Copie as Dlls para a pasta do server..!
3. Passo --
Abra o arquivo Config.lua.. E Vamos as Configurações & Explicações:
-- The Forgotten Server Config
-- Account manager ~ É o "NPC" que cria accounts.. Abaixo as Configurações dele!
accountManager = "yes" ~ Aqui você configura se ele aparece ou não aparece em seu server.. yes/no (sim/não)
namelockManager = "yes" ~ Função nova, não sei pra que serve..^^
newPlayerChooseVoc = "no" ~ Se o player pode escolher a vocação quando ele criar a conta ou não.. yes/no (sim/não)
newPlayerSpawnPosX = 95 ~ A Posição X que o player ira nascer...
newPlayerSpawnPosY = 117 ~ A Posição Y que o player ira nascer...
newPlayerSpawnPosZ = 7 ~ A Posição Z que o player ira nascer...
newPlayerTownId = 1 ~ O ID da cidade que o player ira nascer... PADRÃO => 1
newPlayerLevel = 1 ~ O Level que o player ira nascer...
newPlayerMagicLevel = 0 ~ O ML (MagicLevel) que o player ira nascer...
generateAccountNumber = "no" ~ Se vai gerar a conta do player ou se ele digitará a conta desejada..! yes/no (sim/não)
-- Banishments ~ Inclui modos de banir, quanto tempo vai ficar banido etc...
notationsToBan = 3 ~ Quantas notificações são necessarias para banir
warningsToFinalBan = 4 ~ Quantos "Warnings" o char pode receber para ser banido..!
warningsToDeletion = 5 ~ Quantos "Warnings" o char pode receber para ser DELETADO !
banLength = 7 * 24 * 60 * 60 ~ Tempo que o char vai ficar Banido no caso aqui esta uma semana !
finalBanLength = 30 * 24 * 60 * 60 ~ Tempo que o char vai ficar banido quando é recebido o FinalBan no caso aqui esta 30 DIAS !
ipBanishmentLength = 1 * 24 * 60 * 60 ~ Tempo que o char vai ficar banido quando o GM/ADM Bani APenas o IP, que no caso esta 1 DIA !
broadcastBanishments = "yes" ~ Aqui você escolhe se vai aparecer pra todos que "fulano" foi Banido..! yes/no (sim/não)
killsToBan = 5 ~ Aqui é o Ban Automatico ele que decidi quando o player mata "a quantia designada pela opção" de chars ele é BANIDO !
maxViolationCommentSize = 200 ~ Não me lembro..;x
-- Battle ~ Aqui as Opções são variadas ..de batalha se pode matar ou não etc...
worldType = "pvp" ~ Se o server será pvp (pode matar), no-pvp (não pode matar) ou pvp-enforced (O Player ganha XP matando outro Player)
hotkeyAimbotEnabled = "yes" ~ Se as Hotkeys são permitidas ou não... yes/no (sim/não)
protectionLevel = 20 ~ Essa opção permite que até o level designado que ali no caso é 20 não pode "Atacar" ambos os lados !
pvpTileIgnoreLevelAndVocationProtection = "yes" ~ Não lembro ..;x
killsToRedSkull = 3 ~ Aqui essa opção permite você escolher quantos chars o player pode matar para até se virar "RedSkuLL" que no caso é o famoso PK..!
pzLocked = 60 * 1000 ~ Não me lembro..
criticalHitChance = 7 ~ O Quanto de chance o player tem para atacar e rancar um dano "Crítico"
displayCriticalHitNotify = "no" ~ Aqui você configura se você quer ou não mostrar uma noticia quando é executado o dano "Crítico"... yes/no (sim/não)
removeAmmoWhenUsingDistanceWeapon = "yes" ~ Aqui essa opção decidi se vai ou não tirar as munições das armas quando são disparadas ...yes/no (sim/não)
removeChargesFromRunes = "yes" ~ Essa opção decidi se vai ou não tirar as munições das runas quando são usadas... yes/no (sim/não)
timeToDecreaseFrags = 24 * 60 * 60 * 1000 ~ Essa Opção cuida de quanto tempo o player recebera por cada char que ele matar..!
whiteSkullTime = 15 * 60 * 1000 ~ Essa Opção decidi quanto tempo o "WhiteSkuLL" vai sair..!
noDamageToSameLookfeet = "no" ~ Não me lembro.. yes/no (sim/não)
experienceByKillingPlayers = "no" ~ Essa opção faz a grande diferença se o server sera um tipo de pvp-enforced... yes/no (sim/não)
showHealingDamage = "no" ~ Não me lembro ao certo... yes/no (sim/não)
fieldOwnershipDuration = 5 * 1000 ~ Quanto tempo o "field" vai ficar ativo...
-- Connection config ~ Essa Opçõa é usada para configurar menssagems do server e etc..!
ip = "127.0.0.1" ~ Seu NoIP sem Ifem...
port = 7171 ~ A porta do server (é necessario estar aberta, se no caso for router)
loginTries = 10 ~ Quantas vezes será permitida as tentativas de um player...
retryTimeout = 5 * 1000 ~ Quanto tempo o player aguarda para um re-login que no caso esta 5 segundos..
loginTimeout = 60 * 1000 ~ Quanto tempo o player esperara se ele passar o limite de tentativas disponiveis....
maxPlayers = "1000" ~ O Limite de players em seu server
motd = "Welcome to the Forgotten Server!" ~ Menssagem que o player receberá quando entrar pela primeira vez em seu server..!
displayOnOrOffAtCharlist = "no" ~ Mostrar ou não mostrar quando os chars estão offline ou online na lista de seleção de char..! yes/no (sim/não)
onePlayerOnlinePerAccount = "yes" ~ Se um ou mais chars podem serem logados na mesma conta..! yes/no (sim/não)
allowClones = 0 ~ Essa Opção é até preocupante pois permiti que o char pode ser logado 2 ou mais vezes que no caso duparia itens..!SEMPRE DEIXE 0..
serverName = "Forgotten" ~ O Nome de de seu server
loginMessage = "Welcome to the Forgotten Server!" ~ A Menssagem que o player receberá a cada vez que ele logar em seu server..!
adminLogsEnabled = "no" ~ Abilitar ou desablitar o log de admin e gms .. yes/no (sim/não)
statusTimeout = 5 * 60 * 1000 ~ Não me lembro ao certo..
replaceKickOnLogin = "yes" ~ Quando um player tentar logar o char duas vezes ele é kikado e assim consseguindo entrar com o char escolhido..! yes/no (sim/não).. SEMPRE yes
forceSlowConnectionsToDisconnect = "no" ~ Não me lembro..
-- Database ~ Configurações da DataBase
-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database. ~ NOTA: a opção SqlFile é usada apenas pelo SQLite e a opção sqlKeepALive pelo MySQL !
-- To disable sqlKeepAlive use 0 value. ~ Para desabilitar o sqlKeepAlive coloque 0
sqlType = "mysql" ~ Configuração do tipo de database a ser escolhido.. Sempre troque para mysql
sqlHost = "localhost" ~ Ip do computador... localhost => 127.0.0.1 => ip do computador..
sqlPort = 3306 ~ Porta do MySQL Não precisa ser aberta caso for router..
sqlUser = "root" ~ Nome de usuário de seu MySQL..
sqlPass = "" ~ Senha de seu usuário do MySQL
sqlDatabase = "theforgottenserver" ~ Caso você use MySQL, aqui se coloca o nome de sua Database
sqlFile = "forgottenserver.s3db" ~ Caso você use SQLite aqui se coloca o nome de sua DataBase
sqlKeepAlive = 60 ~ Opção nova, nao sei ainda..
passwordType = "plain" ~ tipo de encriptação de senhas.. sempre plain (PADRÃO)
-- Deathlist ~ Lista de mortes do char
deathListEnabled = "yes" ~ Abilitar para mostrar a lista de mortes ?.. yes/no (sim/não)
maxDeathRecords = 5 ~ O Maximo de mortes que podem aparecer na lista...!
-- Guilds ~ Configurações sobre as guilds, como cria-las, que level cria-las etc...
ingameGuildManagement = "yes" ~ Abilitar ou Desabilitar as opção de manuseio no jogo para guilds... yes/no (sim/não)
levelToFormGuild = 8 ~ Que level se pode criar uma guild
guildNameMinLength = 4 ~ Minimo de digitos para se colocar no nome da guild...
guildNameMaxLength = 20 ~ Maximo de digitos para se coloca no nome da guild
-- Highscores ~ Configurações do Raking no Jogo
highscoreDisplayPlayers = 15 ~ Quantos players irão aparecer no Ranking dentro do jogo..!
updateHighscoresAfterMinutes = 60 ~ De Quantu em quanto tempo o Ranking vai atualizar..!
-- Houses ~ Configurações do sistema de Houses (Casas) ...
buyableAndSellableHouses = "yes" ~ Se poder vender e comprar casas..! yes/no (sim/não)
housesPerAccount = 0 ~ Quantas Casa por conta 0 => sem limite..
levelToBuyHouse = 1 ~ O Level que o char deve estar para comprar uma casa
houseRentAsPrice = "no" ~ Não me lembro
housePriceAsRent = "no" ~ Não me lembro...
housePriceEachSQM = 1000 ~ Aqui você define qual é o preço por SQM (tipo passos no jogo) cada casa vale..!
houseRentPeriod = "never" ~ Não me lembro...
-- Item usage ~ Configurações sobre tempo de usar itens, tipo runas, bows etc...
timeBetweenActions = 200 ~ Tempo para a action de um item entrar em execução
timeBetweenExActions = 1000 ~ Tempo para terminar as actions..!
-- Map ~ Configurações sobre seu MAP (MAPA)...
mapName = "forgotten" ~ Nome do map, em algumas outras distros é colocado o caminho e no final .otb mas aqui não é necessario..!
mapAuthor = "Komic" ~ Nome do autor do Map, pode colocar qualquer coisa..
randomizeTiles = "yes" ~ Se os tiles serão randomizados ou não..! yes/no (sim/não)
cleanProtectedZones = "yes" ~ Se quando o server executar o Clean (Apaga todo item jogado no server) as Protect Zones estarão inclusas tambem..! yes/no (sim/não)
-- Miscellaneous ~ Configurações Diversas.. (Misc)
-- NOTE: defaultPriority works only on Windows ~ A Opção "defaultPriority" é somente para windows
kickIdlePlayerAfterMinutes = 15 ~ Quando o player fica parado ele é kikado após 15 minutos no caso...
allowChangeOutfit = "yes" ~ Os Chars podem trocar seu OutFit ? yes/no (sim/não)
allowChangeColors = "yes" ~ Os Chars podem trocar a cor de seu OutFit ? yes/no (sim/não)
maxMessageBuffer = 4 ~ Não lembro ao certo
displayGamemastersWithOnlineCommand = "no" ~ Quando um usuário digita o comando !online os GMS/ADMS aparecem na lista ou não ? yes/no (sim/não)
defaultPriority = "high" ~ Definir a Prioridade do Aplicativo..!
saveGlobalStorage = "yes" ~ Não me lembro..
bankSystem = "yes" ~ Se vai ter ou não Sistema de Banco..! yes/no (sim/não)
displaySkillLevelOnAdvance = "no" ~ Evoluir SkiLL quando evoluir level... yes/no (sim/não)
spellNameInsteadOfWords = "no" ~ Aqui você pode escolher dentre o nome da spell ou a recitação da spell (magia).. yes/no (sim/não)
emoteSpells = "no" ~ Não sei ao certo...
-- Premium account ~ Configurações relacionadas a P.A (Premium Account) do server
freePremium = "no" ~ Se a P.A vai ser de graça ou não..! yes/no (sim/não)
removePremiumOnInit = "yes" ~ Remover a premium de iniciação ? yes/no (sim/não)
premiumForPromotion = "yes" ~ Precisa ser P.A para ser promotion ? yes/no (sim/não)
blessingsOnlyPremium = "yes" ~ Precisa ser P.A para receber Bless ? yes/no (sim/não)
houseNeedPremium = "yes" ~ Precisa ser P.A para poder compra casa ? yes/no (sim/não)
bedsRequirePremium = "yes" ~ Precisa ser P.A para poder usar a "BED" (durmir na cama) ? yes/no (sim/não)
-- Rates ~ Aqui você regula a Exp, Skill, Loot etc...
-- NOTE: experienceStages configuration is located in data/XML/stages.xml. ~ Se você quiser que a EXP seja por "STAGE" abillite a opção esperienceStages
rateExp = 5 ~ Aqui você regula a EXP do server se a opção experienceStages não estiver ativa é claro..
rateSkill = 3 ~ Aqui você regula a rate da SkiLL no server
rateLoot = 2 ~ Aqui você controla a rate do Loot (O drop do server)
rateMagic = 3 ~ Aqui você controla a rate do Magic Level de seu server
rateSpawn = 1 ~ Aqui você controla a rate do tempo do respawn dos monstros..
experienceStages = "no" ~ Aqui você pode abilitar essa opção para ganhar EXP por Stage..!
-- Global save ~ Configurações do AUTO-SAVE (Salvar automaticamente) DESATIVADO
-- 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. ~ No momento o server está para salvar de 3 em 3 horas e agora o save funciona por Global Events..!
globalSaveEnabled = "no" ~ Abilitar ou Desablitar o AUTO-SAVE.. sempre deixe no.. yes/no (sim/não)
globalSaveHour = 8 ~ De quantas em quantas horas o server salva.. só funciona se a opção acima estiver ATIVADA...!
shutdownAtGlobalSave = "yes" ~ O Server fechará quando o AUTO-SAVE for executado ? yes/no (sim/não)
cleanMapAtGlobalSave = "no" ~ O server executará o clean quando o SAVE-AUTO for executado ?.. yes/no (sim/não)
-- Spawns ~ Configuração que se refere aos Spawns
deSpawnRange = 2 ~ O Tamanho do Respawn
deSpawnRadius = 50 ~ O Alacance do Respawn
-- Summons ~ Configurações relacionada aos Summons (Monstros Envocados)
maxPlayerSummons = 2 ~ O maximo de summons que um player pode invocar
teleportAllSummons = "no" --FIXME: Doesn't work ~ Não está funcionando do momento
teleportPlayerSummons = "no" --FIXME: Doesn't work ~ Não está funcionando no momento!
-- Status ~ Informações Pessoais
ownerName = "" ~ Seu nome, ou do ADM...!
ownerEmail = "@otland.net" ~ Seu E-mail...
url = "http://otland.net/" ~ O endereço de seu site..
location = "Europe" ~ Pais que você mora..
5. Passo ---
Baixando e configurando o XAMPP para aceitar a database da TFS..!
Baixe o XAMPP servidor de web no ApacheFriends
Instale o programa e, em seguida, executar ambos os servidores MySQL e Apache.
Em seguida, vá para
http://localhost/xampp (se isso não funcionar, tente
https://localhost/XAMPP) e clique sobre Segurança
E, em seguida, em
http://localhost/security/xamppsecurity.php (ou
https://localhost/security/xamppsecurity.php). Configure uma nova senha, preenchendo as duas primeiras caixas e clicar sobre alteração de senha.
Parar todos servidores (Apache e MySQL) e depois iniciá-los novamente.
6. Passo ---
Vá para
http://localhost/phpmyadmin (ou
https://localhost/phpmyadmin) e efetue login com a seu nome de usuário (root) e senha (A que você colocou no passo anterior).
Crie um novo banco de dados, escrevendo no campo "otserv" e em seguida clique em criar.
7. Passo ---
Na pasta do seu servidor existe um arquivo chamado schema.mysql que é
necessário para criar a base de dados.
vá em
http://localhost/phpmyadmin logue como root e coloque a senha..
Agora selecione seu banco de dados que foi criado que no nosso caso é "otserv" logo após... Existe um menu ali acima, clique no botão importar
e logo após clique em "choose File" (ou algo do tipo) vá na pasta do server e procure a schema.mysql,
agora clique em ok.
OBS: Se você não consseguir vamos fazer pelo modo manual...!
Vá em Iniciar => Todos os Programas => Acessórios => e clique no prompt de comando..!
logo após digite => cd C:\xampp\MySQL\bin e aperte "Enter"
depois digite => mysql -u root otserv -p < C:\onde_esta_a_pasta_de_seu_servidor\schema.mysql e aperte "Enter" novamente
logo após ira parecer para você colocar sua senha, coque ela e aperte "Enter" novamente
OFF TOPIC -- Mas pra que isso?
assim respondo, pois ali você vai fazer a restauração da database pelo proprio MySQL, já o outro modo não, o outro tem que passar pelo gerenciador (PHPMyAdmin)...
8. Passo ---
Ir para config.lua e preencher a parte que corresponde ao MySQL
-- Database
-- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
-- To disable sqlKeepAlive use 0 value.
sqlType = "mysql"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = "sua_senha"
sqlDatabase = "sua_database" (que no caso seria a "otserv")
sqlFile = "forgottenserver.s3db"
sqlKeepAlive = 60
passwordType = "plain"
Pronto agora abra o server,
e aqui termina nosso tutorial...
créditos a mim,
LordiN
Obrigado a todos..
PeaceMaker principalmente..!