OTServ - Criando
Primeiramente, você deve baixar o binário de um servidor, que pode ser encontrado na seção downloads de otserv.
Após baixá-lo, extraia os arquivos em qualquer local de seu HD, e abra o arquivo config.lua (que se encontra na pasta matriz do servidor) com algum editor de textos (Bloco de notas, por exemplo).
Explicando variáveis do config.lua;
Citação:
----config.lua---------------- Arquivo de configuração do servidor
----------------------------
-- Diretório "data"
datadir = "data/"
-- Coloque o endereço até o mapa que o servidor irá ler
map = "data/world/noob.otbm"
mapstore = "data/world/Graviria-mapstore.xml"
housestore = "data/world/Graviria-housestore.xml"
-- Tipo de mapa
mapkind = "OTBM"
-- Quantas tentativas de login inválidas para banir temporáriamente o IP do jogador (0 para desativar)
logintries = 5
-- Quanto tempo o jogador terá que aguardar para que seu IP seja desbanido
logintimeout = 15 * 60 * 1000
-- A mensagem que o jogador recebe quando entra no servidor
loginmsg = "Bem-vindo ao meu servidor!"
-- Porta que o servidor utilizará
port = "7171"
-- Nome do Servidor
servername = "Magus OTServ"
-- Nome do dono do servidor
ownername = "Magus"
-- E-mail do dono do servidor
owneremail = "Magus@######"
-- Endereço para o site de contas ou outro site relacionado ao seu servidor
url = "http://:8090"
-- Localização do servidor
location = "Brasil"
-- O IP do servidor (Não coloque quaisquer dns aqui, ao menos se tiver certeza que o binário do seu servidor suporta)
ip = "200.182.79.63"
-- A caixa de mensagem que você pode receber enquanto escolhe seu personagem
motd = "Bem-vindos ao servidor!"
motdnum="10000"
-- Usar senhas encriptadas para contas? yes/no (padrão = no)
md5passwords = "no"
-- Tipo do servidor. Opções: pvp, no-pvp, pvp-enforced
worldtype = "pvp"
-- Número máximo se jogadores permitido (sete aqui um número racional, para que seu servidor
fique livre de lags)
maxplayers = "50"
-- Tempo de cansaço ("exhausted") do personagem em microsegundos (1000 = 1sec)
exhausted = 1000
-- Tempo de cansaço ("exhausted") para utilização de magias de cura in microsegundos (1000 = 1sec)
exhaustedheal = 1000
-- Quantos microsegundos serão adicionados se o personagem estiver cansado ("exhausted") e tentar usar alguma magia/runa (1000 = 1sec)
exhaustedadd = 200
-- Quando tempo um personagem terá que estar longe de qualquer batalha para poder acessar áreas
protegidas (ex.: DP, casas, templo) em microsegundos (1000 = 1sec)
pzlocked = 60*1000
-- Permitido múltiplos logins do mesmo char? (1 = sim, 0 = não)
allowclones = 0
-- Nome das vocações
vocations = {"a sorcerer", "a druid", "a paladin", "a knight"}
promoted_vocations = {"a master sorcerer", "an elder druid", "a royal paladin", "an elite knight"}
-- As configurações abaixo serão somente necessárias se o seu servidor for SQL
--- Tipo SQL; mysql/sqlite
sql_type = "mysql"
--- SQLITE info
sqlite_db = "db.s3db"
--- SQL info
sql_host = "localhost"
sql_user = "root"
sql_pass = ""
sql_db = "otserv"
--- SQL MAP info
map_host = "localhost"
map_user = "root"
map_pass = ""
map_db = ""
---------------------------------------------------------------------
-------------- Configurações básicas --------------
---------------------------------------------------------------------
-- Nome do mundo (mostrado na lista de personagens)
worldname = "Evolutions"
-- Tempo do salvamento de todas as informações já coletadas pelo servidor ("server save") em minutos
serversave = 10
-- Você deseja habilitar o sistema de capacidade ("cap system")? (yes/no)
capsystem = "no"
-- Quantos % de {"exp", "mana", "skills", "equips"} o personagem perderá ao morrer
diepercent = {"7", "7", "7", "7"}
-- Máximo número de itens que um personagem pode manter em seu depot
maxdepotitems = 1000
-- Velocidade de ataque em segundos {"no-voc", "sorc", "druid", "pally", "knight"}
attackspeed = {"2.0", "2.0", "2.0", "1.5", "1.0"}
---------------------------------------------------------
-------------- Multiplicadores e ganhos --------------
---------------------------------------------------------
-- Multiplicador de experiência (1 = tibia rl, 2 = 2x mais rápido, etc)
expmul = 1000
-- Multiplicador de experiência para pvp-enforced (1 = tibia rl, 2 = 2x mais rápido, etc)
expmulpvp = 10
-- Multiplicador de atributos ("skills") (1 = tibia rl, 2 = 2x mais rápido, etc) {"no-voc", "sorcerer", "druid", "paladin", "knight"}
weaponmul = {"5", "5", "5", "5", "5"}
distmul = {"5", "5", "5", "5", "5"}
shieldmul = {"5", "5", "5", "5", "5"}
manamul = {"5", "5", "5", "5", "5"}
-- Quantos pontos de vida, mana e capacidade o jogador ganhará quando avançar de nível {"no-voc", "sorcerer", "druid", "paladin", "knight"}paladin, knight}
capgain = {"10", "10", "10", "20", "25"}
managain = {"5", "30", "30", "15", "5"}
hpgain = {"5", "5", "5", "10", "15"}
-- Velocidade de recuperação de mana após usar algum tipo de comida ("food") (1 = tibia rl, 2 = 2x mais rápido, etc)
healthtickmul = 10
manatickmul = 10
-- Preço de cada SQM de uma casa (em gps)
houseprice = 200
-- Mana consumida por {"snakebite", "moonlight", "volcanic", "quagmire", "tempest"} rod
rodmana = {"2", "3", "5", "8", "13"}
-- Mana consumida por wand of {"vortex", "dragonbreath", "plague", "cosmic energy", "inferno"}
wandmana = {"2", "3", "5", "8", "13"}
-- distância dos tiros de {"snakebite", "moonlight", "volcanic", "quagmire", "tempest"} rod
rodrange = {"4", "3", "2", "1", "3"}
-- distância dos tiros de wand of {"vortex", "dragonbreath", "plague", "cosmic energy",
"inferno"}
wandrange = {"4", "3", "2", "1", "3"}
-- Dano dos disparos das flechas explosivas ("burst arrows")
-- Padrão é de (1*lvl+5*mlvl)*0.24 para (1*lvl+5*mlvl)*0.55
burstarrowdmg = {"1.0", "5.0", "0.24", "0.55"}
Lembre-se que, dependendo da versão do servidor, poderá haver configurações a mais, as citadas acima são apenas as mais usadas em todos os servidores.
Cálculos;
Em alguns casos, são utilizados cálculos matemáticos, que nas linguagens, são: + (mais), - (menos), / (dividir) e * (vezes).
Repare o seguinte exemplo:
Citação:
pzlocked = 60*1000
No caso, o script calculará 60 * (vezes) 1000, e o resultado, no caso, 60000, será o tempo que a variável irá setar.
Mas, se você setar na variável o valor 60000, funcionará do mesmo modo.
Após configurar esse 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!
Para que isso se torne realidade, tudo o que você tem de fazer é acessar as outras seções de nosso fórum (organizadas especialmente para fácil acesso), e procurar tutoriais.
Em caso de falta de DLLs, visite sites como dll-files.com e baixe-as normalmente.
----------------------------------------
Possíveis erros;
Não consegue conectar?
Se você não estiver conseguindo entrar no seu servidor, é porque provavelmente a porta você setou na variável "port" (padrão 7171) está bloqueada para acesso remoto.
Para desbloquea-la é simples.
Vá até o menu Iniciar > Configurações > Painel de controle e clique no item Firewall do windows.
Se você achar conveniente, desative-o por completo, e tente acessar novamente o servidor, porém, se quiser deixar seu computador com a proteção do programa, faça o seguinte:
Vá até a aba Exceções, e clique no botão Adicionar Porta.
No campo Nome digite Tibia (ou qualquer outro) e no campo Porta, 7171 (porta setada no config.lua). Após isso nenhuma alteração é necessária, clique em Ok.
Recomenda-se desativar também qualquer anti-virus ou firewall opcional, para que se tenha acesso total a porta.
Tente novamente e veja os resultados.
Se você utiliza router, recomendo que visualize o seguinte site: http://www.portforward.com/english/applica.../Tibiaindex.htm
Ele possue um banco de dados com muita informação, escolha o modem que você utiliza e siga o tutorial.
Problemas com scripts?
Caso o seu servidor apresente qualquer tipo de "LUA error", é porque você adicionou/modificou algo que não é suportado pela linguagem LUA, ou mal uso do mesmo.
Para resolver o problema é simples; basta visualizar qual é a linha que está ocorrendo tais erros, e verificar se o script segue o padrão da linguagem.
Se você não obter nenhum sucesso, visite nossa seção de suporte, e peça a ajuda que necessitar, óbviamente seguindo os padrões citados no início do tópico.
Problemas com websites?
Geralmente todo tipo de erro relacionado com linguagens se baseia no fato de acessar a linha que o aplicativo indica, e verificar se está correto.
Na linguagem PHP, que é utilizada para a criação de web sites, não é diferente.
Normalmente os web sites vem com um arquivo específico que possuem todas as variáveis globais, que é aonde você deve configurar.
Para que os outros possam acessar seu web site, você deve possuir um host ou o apache instalado em seu computador.
Para mais informações, visite a seção de web sites: http://www.xtibia.com/forum/index.php?showforum=221
Outros problemas?
Não hesite em utilizar a seção de suporte que o fórum possue, e espere algum membro disposto à ajudar, responder sua dúvida.
http://www.xtibia.com/forum/index.php?showforum=221
Não Sabe Entrar No Seu Servidor ?
Aki Esta Uns Dos Tutoriais Que Eu Postei Para Quem Não Sabe Mexer Ou Entrar No Seu Otserv
http://www.xtibia.com/forum/index.php?showtopic=45167
Tutoriais Aprovados Para Seu Otserv:
Conhecendo Seu Map Editor - By Andrew_
Super Tutorial Sobre Npc - By Heitorzin
Aprenda A Compilar Um Otserv - By brfwolf
Aprenda A Fazer Novas Quests - By Rafix
Novo Tipo De Area De Trainer - By Addict
Tutorial Sobre Monstros - By tibiaa4e
Criando Site Em Php! - By Rikezenho
Créditos:96% Magus,4% Yurez700