sexta-feira, 2 de maio de 2008

Criando seu Otserv

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. Para se registrar gratuitamente clique aqui (informe um e-mail real no campo, pois você precisará confirmar o registro). Depois que você criar o registro, 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 (todos os servidores da seção vêm compactados em arquivos RAR/ZIP, clique aqui e baixe o programa 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.

Citação:
-------- 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 = "filipepinheiroramos@hotmail.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: \"
Citação:
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!
Para isso, tudo o que você tem de fazer é acessar as outras seções de nosso fórum e procurar tutoriais explicativos para os assuntos.

Clique aqui para acessar a área de tutoriais!

Nota: Em caso de falta de DLL na execução do servidor, visite o site DLL-Files (www.dll-files.com) e utilize a caixa de busca para encontrá-las e baixá-las. Depois, descompacte elas no diretório aonde está localizado o executável (otserv.exe).


F.A.Q

Como saber meu IP?
Há várias maneiras para descobrir seu IP, vamos tentar duas delas.
Vá até o menu Iniciar > Configurações > Painel de controle e clique no item Conexões de rede. Dê um duplo clique na conexão local (a conexão ativa) e vá até a aba Suporte. Seu endereço de IP estará lá.
Outra maneira, ligeiramente mais fácil, é visitar o site WhatIsMyIp, copiar o IP e colar ele no arquivo de configuração do servidor.

Clique aqui para visitar o site WhatIsMyIp!


O que é "Account Manager"?
Account Manager é, em poucas palavras, um NPC que cria uma conta para você. Hoje em dia, é mais utilizado do que websites, devido a sua praticidade e também por exilar o uso de webservers para rodar os sites, tais que acarretam mais uso da memória do computador.
Praticamente todos os servidor atuais possuem um Account Manager imbutido e, também, uma opção para desabilitá-lo se você quiser. Fica a seu critério decidir se vai usá-lo ou não.


Não conseguem conectar?
Se os jogadores não estiverem conseguindo entrar no seu servidor, provavelmente é porque a porta inserida 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 peça para seus amigos tentarem 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 inserida no config.lua). Após isso nenhuma alteração é necessária, clique em Ok.
Recomendo também desativar qualquer anti-vírus ou firewall opcional, caso estejam previnindo acessos à porta. Tente novamente e veja os resultados.



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 tiver sucesso tentando consertar o script, visite nossa seção de suporte e peça a ajuda que necessitar, claro, seguindo as regras do fórum.

Clique aqui para ir até a seção de suporte!


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 websites de OTServ, não é diferente.
Normalmente, os websites vêm com um arquivo específico que possui todas as variáveis globais (config.php), que é aonde você deve configurar.
Para que os outros possam acessar seu website, você deve possuir um webserver instalado em sua máquina.

Para mais informações, acesse nossa área com tutoriais sobre websites clicando aqui.

Nenhum comentário: