Ir para conteúdo

[Tutorial] Como Criar Ot-Perfeito


uchichar

Posts Recomendados

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 ######, xtibia, ou o que voce prefirir (informe um e-mail real no campo, pois você precisará confirmar o registro). Depois que você criar o registro, vá até a seção "Download de OTServs", baixe o servidor da versão 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, a variável da configuração é auto-explicativa, mas é tudo em inglês. Se você tem um bom conhecimento da língua, você entendará 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:

 

 

[spoiler_name=Servidor 8.0 ou menos]

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 = "Magus"

 

-- E-mail do dono do servidor

owneremail = "magus@######"

 

-- 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 milissegundos

exhausted = 1000

 

-- Tempo de espera para utilizar uma magia/runa não-agressiva e outra em milissegundos

exhaustedheal = 1000

 

-- Adicionar quantos milissegundos 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

[/spoiler_name]

 

[spoiler_name=Servidor 8.4]

Citação:

--(EM CONSTRUÇÃO) The Forgotten Server Config

 

-- Account Manager

accountManager = "yes" --Ativar Account Manager? (yes/no)

newPlayerChooseVoc = "no" --Escolha de votação ativada? Se no, jogadores começaram como no-vocation

newPlayerSpawnPosX = 95 --Coordenada inicial X do novo jogador

newPlayerSpawnPosY = 117 --Coordenada inicial Y do novo jogador

newPlayerSpawnPosZ = 7 --Coordenada inicial Z do novo jogador

newPlayerTownId = 1 --"Townid" do novo jogador

newPlayerLevel = 1 --Nível inicial do novo jogador

newPlayerMagicLevel = 0 --ML inicial do novo jogador

generateAccountNumber = "yes" --Se yes, o account manager gerará uma conta aleatória, se no, o jogador escolherá sua conta

 

-- Banimentos

broadcastBanishments = "yes" --Anunciar banimentos para todos os jogadores? (yes/no)

banDays = 7 --Dias de ban

finalBanDays = 30 --

killsToBan = 5 --Mortes injustas para o banimento automático

 

-- Batalhas

worldType = "pvp" --Tipo de mundo (pvp, no-pvp, pvp-enforced)

hotkeyAimbotEnabled = "yes" --Sistema de hotkeys ativado? (yes/no)

protectionLevel = 1 --Nível máximo protegido de PK

killsToRedSkull = 3 --Número de mortes para virar red skull

pzLocked = 60000 --Tempo (milissegundos) para o battle sair

deathLosePercent = 10 --Percentual de experiência perdido ao morrer

criticalHitChance = 7 --Chance de desferir um golpe crítico em monstros ou outros jogadores

removeAmmoWhenUsingDistanceWeapon = "yes" --Munições finitas? (yes/no)

removeChargesFromRunes = "yes" --Runas finitas? (yes/no)

timeToDecreaseFrags = 24 * 60 * 60 * 1000 --Tempo para diminuir frags (em milissegundos)

whiteSkullTime = 15 * 60 * 1000 --Tempo para sumir uma White Skull (em milissegundos)

oldConditionAccuracy = "no" --

alternativeExhaust = 1000 --

 

-- Comandos

displayGamemastersWithOnlineCommand = "no" --Mostrar GMs online com o comando !online (yes/no)

 

-- Configurações de conexão

ip = "127.0.0.1" --IP real do servidor

port = 7171 --Porta do servidor

loginTries = 10 --Tentativas de login erradas para bloquear o usuário

retryTimeout = 5 * 1000 --

loginTimeout = 60 * 1000 --Quanto tempo um jogador pode ficar na lista de escolha de personagens até ela se fechar (em milissegundos)

maxPlayers = "1000" --Número máximo de jogadores online simultaneamente permitido

motd = "Welcome to the Forgotten Server!" --Motd do servidor

onePlayerOnlinePerAccount = "yes" --Vetar que jogadores possam usar a mesma conta com personagens diferentes simultaneamente? (yes/no)

allowClones = 0 --Quantidade de clones do mesmo personagem permitidos (0 para desativar)

serverName = "Forgotten" --Nome do servidor

loginMessage = "Welcome to the Forgotten Server!" --Mensagem de login

adminLogsEnabled = "no" --Gravar logs administrativos? (yes/no)

statusTimeout = 5 * 60 * 1000 --

replaceKickOnLogin = "yes" --Ao logar num personagem que já está online no servidor, kická-lo para o outro entrar? (yes/no)

 

-- Lista de mortes

deathListEnabled = "yes" --Salvar mortes dos personagens, para serem mostradas em um site por exemplo (yes/no)

maxDeathRecords = 5 --Número máximo de mortes salvas (ao alcançar 6 por exemplo, a primeira morte é removida dando espaço a última)

 

-- Guildas

ingameGuildSystem = "yes" --Sistema de guildas no jogo ativado? (yes/no)

 

-- Casas

housePriceEachSQM = 1000 --Preço de cada sqm de uma casa, em gold

houseRentPeriod = "never" --Alugel

 

-- Ócio

kickIdlePlayerAfterMinutes = 15 --Kickar jogador inativo depois de quantos minutos?

 

-- Uso de itens

timeBetweenActions = 200 --Tempo de "exhaust" entre o uso da opção "Us it" (por exemplo, "Use it" para acender tochas) (em milissegundos)

timeBetweenExActions = 1000 --

 

-- Mapa

mapName = "forgotten" --Nome do mapa, pasta world

mapAuthor = "Komic" --Autor do mapa

randomizeTiles = "yes" --Aleatorizar pisos? (yes/no)

 

-- Troca de mensagens

enableRuleViolationReports = "yes" --Ativar control+z (yes/no)

maxMessageBuffer = 4 --

 

-- MySQL

mysqlHost = "localhost" --Host que está localizado o banco de dados do servidor

mysqlUser = "root" --Usuário (login) que acessará o banco de dados

mysqlPass = "" --Senha do usuário

mysqlDatabase = "theforgottenserver" --Nome do banco de dados

mysqlPort = 3306 --Porta do servidor MySQL (padrão 3306)

 

-- Premium Account

freePremium = "no" --Premium account grátis? (yes/no)

 

-- PVP Server (configurações para servidores pvp-enforced, mas influenciam em servidores comuns)

displayOnOrOffAtCharlist = "no" --Mostra se o jogador está online ou offline na lista de personagens

allowChangeOutfit = "yes" --Troca de outifit permitida? (yes/no)

noDamageToSameLookfeet = "no" --Proibir atacar jogadores com a mesma aparência? (yes/no)

experienceByKillingPlayers = "no" --Ganhar experiência ao matar outros jogadores? (yes/no)

 

-- Rates

rateExp = 5 --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)

rateSkill = 3 --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)

rateLoot = 2 --Multiplicador de loot dos monstros (Ex.: Se deixar 2, as chances do monstros dropar itens serão 2x maiores do que no Tibia global)

rateMagic = 3 -- Mesma coisa de cima, mas relacionado à mana/magic level

rateSpawn = 1 --Aumentando essa opção, irá aumentar a velocidade de "spawn" (nascimento) dos monstros

 

-- Real Server Save

-- nota: serverSaveHour significa o horário 03:00, não que irá ser salvo a cada 3 horas,

-- se você quer o sistema antigo utilize o autoSaveEachMinutes (abaixo). Este método de serversave pode ser instável,

--nós recomendamos o uso do otadmin se você quer serversaves reais.

serverSaveEnabled = "no" --Habilitar o sistema "real server save", explicado acima (yes/no)

serverSaveHour = 3 --Hora que o servidor irá executar o real server save

shutdownAtServerSave = "yes" --Fechar o servidor após o real server save

cleanMapAtServerSave = "yes" --Limpar o mapa após o real server save

 

-- Server saving

autoSaveEachMinutes = 15 --Server save normal, em minutos

saveGlobalStorage = "no" --Salvar GlobalStorage ao fechar o servidor? (procure se informar sobre os scripts que você utiliza, para mexer nesta opção) (yes/no)

 

-- Spawns

deSpawnRange = 2 --

deSpawnRadius = 50 --Distância (em SQM) do respawn atual de um monstro em que tal monstro não poderá ultrapassar (assim voltando ao lugar de origem)

 

-- SqLite

sqliteDatabase = "forgottenserver.s3db" --Arquivo banco de dados, somente se estiver utilizando sqlite

 

-- SQL

sqlType = "sqlite" --Tipo de SQL usado (MySQL, SQLite)

 

-- Inicialização

defaultPriority = "high" --Prioridade definida automaticamente após inicio do servidor

 

-- Status

ownerName = "" --Seu nome (dono do otserv)

ownerEmail = "@otland.net" --Seu e-mail

url = "http://otland.net/" --Site do otserv

location = "Europe" --Localização do otserv

[/spoiler_name]

Lembrando que 1000 ms (milissegundos) é 1 segundo.

 

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 passo

Criando conta de GM

 

Agora vamos criar a conta do administrador do servidor, do senhor Gamemaster. Esta parte pode parecer mais complexa que o segundo passo, mas depois que você pega o jeito e entende o padrão da linguagem, fica bem fácil.

 

Antes de tudo, existem dois tipos de otservs, os Servidores SQL (que guardam todas as informações em um banco de dados SQL) e os Servidores XML (que guardam as informações em diversos arquivos XML), e dependendo de qual é seu servidor, a criação da conta de gamemaster será diferente.

 

Atualmente, os Servidores XML estão sendo abolidos e muito em breve existirá apenas Servidores SQL, essa discussão você pode encontrar nas áreas relacionadas no fórum.

 

Servidor XML

A maioria dos servidores xml vêm com uma conta de gamemaster pronta, mas ainda sim você terá que configurar o nome, uma nova conta e senha.

 

• Abra a pasta do seu servidor, vá até data > players. Ache qualquer arquivo que tenha nome de GM (God, GM...), renomeie-o para o nome que você quiser (ex: God Magus) e abra-o com o bloco de notas (clique com o botão direito no arquivo e selecione "Editar").

• Em name você insere o nome do arquivo (ex: name="God Magus") e em account você insere a conta que você deseja ser a conta do gamemaster (ex: account="214675"). IMPORTANTE!! Antes de mudar a account, anote a antiga pois você precisará mais adiante. Tenha certeza também que a variável access está com o valor 5 ou maior (ex: access="5"). As outras variáveis não são necessárias alterar.

Dica: se a visualização do arquivo estiver ruim no bloco de notas, tente deixá-la melhor ativando a "quebra automática de linha" em "Formatar".

• Agora volte para a pasta matriz, e entre em data > accounts. Procure um arquivo XML que o nome seja a account antiga que estava última arquivo que você acessou (por isso que foi pedido anotar a antiga account), renomeie-o para os números da sua nova account (ex: 214675) e abra-o com o bloco de notas (clique com o botão direito no arquivo e selecione "Editar").

•Em pass você insere a senha que desejar para sua account (ex: pass="magusehlindao", e em character name você coloca o nome do seu gamemaster (ex: character name="God Magus").

 

Salve todos os arquivos e está tudo pronto, sua conta de gamemaster está feita.

 

Servidor SQL

Temos vários tutoriais na seção de tutoriais ensinando a criar gamemaster em servidor sql, aqui vão alguns:

 

Criar GM SQL

Criar Acc Manualmente

Cria all SQL

 

Dúvidas? pergunte Aqui msm.

 

 

Quarto e último passo

 

Após essas configurações, você já pode abrir seu servidor para testá-lo (Visualize o F.A.Q abaixo caso não saiba entrar no servidor). Porém, você ainda pode fazer várias alterações nele, como criar novos monstros, magias, runas, e até NPCs!

 

 

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).

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...