OTServ - Criando
Para criar um OTServ, primeiramente, peço a você que tenha um pouco de paciência e dedicação. Se concentre bastante ao ler o tutorial abaixo, não é nada complicado, mas procure extrair todas as informações que o mesmo oferece.
Primeiros passos
Obviamente, antes de tudo, você precisa de todos os arquivos necessários para rodar o servidor no seu computador e um registro no fórum.clique aqui para entrar na seção "Download de OTServs", baixe o servidor que mais lhe chamar a atenção (para ter certeza se ele é bom, examine as respostas dos outros membros e o próprio tópico) e descompacte ele (a maioria dos servidores da seção vêm compactados em arquivos RAR/ZIP, voce presisa do winrar ou do winzip para descompactá-los) no diretório Meus Documentos ou qualquer outro de fácil acesso.
Você verá vários arquivos e pastas, mas por enquanto não mexa nem exclua nada. Dê um duplo clique no arquivo config.lua que está localizado no diretório matriz, e faça-o ser executado com o notepad (bloco de notas).
Segundo passo
Configurando o config.lua
Este é o arquivo principal do servidor, pois é lá que você irá configurar a maioria dos itens para iniciá-lo corretamente. Normalmente, todos eles vêm com linhas de comentários, explicando sobre cada item, em inglês. Se você tem um bom conhecimento da língua, leia tudo e entenda o que cada item configura, se não tem, não se preocupe, estarei mostrando abaixo um exemplo de config.lua comum, e explicando o que cada item faz.
-------- config.lua ---------- Arquivo de configuração para o OTServ --
----------------------------
-- Local do mapa (só mude se você possuir um mapa novo)
map = "data/world/test.otbm"
-- Nome do servidor
servername = "Yurots BETA 1.0"
-- Localização
location = "Brasil"
-- IP do servidor (Seu IP, clique aqui e saiba qual é seu IP)
ip = "localhost"
-- Porta do servidor (normalmente não precisa mexer, só se sua internet/firewall bloquear tal porta)
port = "7171"
-- URL do site do servidor
url = ""
-- Nome do dono do servidor
ownername = "Filipe"
-- E-mail do dono do servidor
owneremail = "exemplo@exemplo.com"
-- Tipo do mundo (escolha como será o método de batalhas do seu servidor)
-- Opções: pvp, no-pvp, pvp-enforced
worldtype = "pvp"
-- Tempo de espera para utilizar uma magia/runa e outra em microsegundos (1000 = 1 segundo)
exhausted = 1000
-- Tempo de espera para utilizar uma magia/runa não-agressiva e outra em microsegundos (1000 = 1 segundo)
exhaustedheal = 1000
-- Adicionar quantos microsegundos se o jogador já estiver cansado (exhausted) e tentar usar uma magia/runa? (1000 = 1 segundo)
exhaustedadd = 200
-- Quanto tempo o jogador tem que ficar longe de batalhas poder entrar em locais sagrados e sair do jogo (1000 = 1 segundo)
pzlocked = 5*1000
-- Período de alugel da casa (daily = diário, weekly = semanal, monthly = mensal)
-- Opções: daily, weekly, monthly
houserentperiod = "weekly"
-- motd (caixa de mensagem que pode aparecer antes de abrir a lista de personagens)
motd = "Bem vindo ao Yurots BETA 1.0, entre e divirta-se!"
motdnum = "1"
-- Mensagem do ínicio, que irá aparecer quando você entrar no jogo
loginmsg = "Ajude noso server reportando os bug * !report *"
-- Quantas tentativas de login inválidas até o servidor bloquear o IP da pessoa
-- coloque 0 para desabilitar
logintries = 5
-- Permitir clones? (Múltiplos logins do mesmo personagem)
-- Opções: 0 (não), 1 (sim)
allowclones = 0
-- Número máximo de jogadores permitidos no servidor (lembre-se que, quanto maior este número, maior será a quantidade de lag do servidor, dependendo da sua máquina)
maxplayers = "150"
-- Tipo de SQL (mexa aqui somente se seu servidor utilizar este tipo de banco de dados)
-- Opções: mysql, sqlite
sql_type = "mysql"
--- Configurações para MySQL (ignore se estiver usando SQLite/XML)
sql_host = "localhost"
sql_user = "root"
sql_pass = ""
sql_db = "otserv"
--- Configurações para SQLite (ignore se estiver usando MySQL/XML)
sqlite_db = "db.s3db"
-------------------------------------------------------------------------------------------------
---------------------------- Configurações básicas ----------------------------
-------------------------------------------------------------------------------------------------
-- Sim = yes, Não = no
-- Nome do mundo (mostrado ao lado dos personagens da lista, Ex.: Magus (Secura))
worldname = "Magnet"
-- Tempo de "server save" (ele não fecha o servidor como no tibia, é só um controle para previnir lags desnecessários)
autosave = 3
-- Sistema de cap ativado? (yes/no)
capsystem = "no"
-- anti-afk - Tempo máximo para um jogador ficar ocioso antes de ser derrubado pelo servidor (1 = 1min)
kicktime = 20
-- Quantos summons (utevo res) os jogadores podem ter
maxsummons = 3
-- Itens máximos permitidos para colocar no depot (dp)
maxdepotitems = 1000
-- Aprender magias automaticamente (no) ou comprá-las (yes)?
learnspells = "no"
-- Você quer que todos os jogadores possuam 'premmium account'? (yes/no)
freepremium = "no"
-- Remover munição (bolts/arrows) conforme usada (yes) ou deixá-las infinitas (no)?
removeammunation = "yes"
-- Remover cargas de runas (sd/hmm/gfb) conforme usada (yes) ou deixá-las infinitas (no)?
removerunecharges = "yes"
-- Habilitar hotkeys? (yes/no)
itemhotkeys = "yes"
-- Jogadores podem atirar runas em jogadores pela janela de batalha? (yes/no)
battlewindowplayers = "yes"
-- Usar "Account Manager"? (yes/no) (clique aqui e saiba o que é "Account Manager")
accountmanager = "yes"
-- Summons (utevo res) seguem seus mestres à qualquer lugar? (yes/no)
summonsfollow = "yes"
-- Permitir troca de outfits? (yes/no)
outfitchange = "yes"
-------------------------------------------------------------------------------------
----------------------------------- Multiplicadores -----------------------------------
-------------------------------------------------------------------------------------
-- Multiplicador de experiência (Ex.: Se deixar 30, os monstros darão 30 vezes mais experiência que o Tibia global; Rats darão 150exp e Demons darão 180000exp)
expmul = 30
-- Multiplicador de experiência para pvp-enforced
expmulpvp = 3
-- Multiplicador de loot dos monstros (Ex.: Se deixar 2, os monstros darão 2 vezes mais rápido o loot do que no Tibia global)
lootmul = 2
-- Multiplicador de skills (Ex.: Se deixar 80, os jogadores irão ter seus skills aumentados 80 vezes mais rápido que no Tibia global, diferenciando pelas suas vocações)
skillmul = 80
-- Mesma coisa de cima, mas relacionado à mana/magic level
manamul = 80
-- Preço de cada SQM de uma casa
houseprice = 500
-- Nível necessário para comprar uma casa
houselevel = 25
-- Proteção para aqueles que estão abaixo deste nível (no caso, nenhum jogador do nível 1 à 15 poderão atacar jogadores, tanto quanto ser atacados pelos mesmos).
protectionlimit = 15
-- Dano crítico e chance {chance, porcentagem a mais de dano}
-- Às vezes, seu jogador poderá dar um dano crítico, e a porcentagem será a soma de dano maior que ele dará.
criticaldamage = {"5", "50"}
---------------------------------------------------------------------------------------
-------------------------- Configuração: Skull System -------------------------
---------------------------------------------------------------------------------------
-- Tempo para perder uma caveira branca (white skull / 1 = 1 minuto)
whitetime = 1
-- Tempo para perder uma 'morte injustificada' (1 = 1 minuto)
fragtime = 1*50
-- Quantas 'mortes injustificadas' o jogador terá que ter feito para ser banido temporariamente? (1 = 1 morte)
banunjust = 7
-- Quantas 'mortes injustificadas' o jogador terá que ter feito para adquirir uma caveira vermelha? (red skull / 1 = 1 morte)
redunjust = 5
-- Quanto tempo o jogador ficará banido? (1 = 1 hora)
bantime = 24*1
--------------------------------------------------------------------------------------
------------------------------- Configuração: Acessos de GM --------------------------------
--------------------------------------------------------------------------------------
-- Acesso necessário para andar nas casas e poder abrir as portas das mesmas.
accesshouse = 3
-- Acesso necessário para entrar no servidor sem esperar na lista de espera e quando o servidor estiver fechado para jogadores.
accessenter = 1
-- Acesso necessário para ignorar danos, cansaço (exhaustion), limite de capacidade e ser ignorado pelos monstros.
accessprotect = 3
-- Acesso necessário para enviar mensagens globais e falar com cores diferentes em canais públicos do servidor.
accesstalk = 1
-- Acesso necessário para mover itens à distância sem precisar estar próximo a ele.
accessremote = 3
-- Acesso necessário para ver ID/Posição do item que você está olhando (dando look).
accesslook = 2
Nota: Se algum item existente no config.lua não estiver exposto aqui, não se preocupe, simplesmente não mexa nele, a menos que você entenda o que ele faz e queira mudar. Aqui foram expostos os principais, os que podem ser alterados se você desejar.
Vale ressaltar também que, todas as alterações no config.lua devem ser feitas dentro das aspas (""). Se você quiser usar aspas nas alterações, utilize-a em conjunto com uma barra invertida para a esquerda: \"
Exemplo:location = "Brasil, \"País do futebol\""
Terceiro e último passo
Após configurar este arquivo, você já pode abrir seu servidor para testá-lo. Porém, você ainda pode fazer várias alterações nele, como criar novos monstros, magias, runas, e até NPCs!
Creditos: Magus , Arkhanel