Ir para conteúdo

OTserver tudo que você precisar saber!


Mudrock

Posts Recomendados

AVISO* CASO QUERIA ACHAR RAPIDO UMA PARTE ESPECIFICA,

UTILIZE CTRL+F PARA A PROCURA RAPIDA

para isso Criei um pequeno Sumário

Olá galera.

SUMARIO

Introdução......................................................................................................................................1.0

Entendendo sua internet.................................................................................................................1

Distribuição dos IPS...............................................................................................................................1.1.2

meu IP / IP's..........................................................................................................1.1.3

Porque meu Servidor nao fica ONLINE ................................................................1.1.4.

Criando IP FIXO ........................................................................................................... 1.1.5.

Bugs.......................................................................................... 2.0

Entendendo o config.lua ..................................................................... 2.2.1

separador-1.png

  • Introdução

Estou criando este pequeno tutorial por alguns motivos.
Um deles é que a maioria dos que já estão por ai tem muitos termos técnicos que dá até medo de ler, o problema é que como há muito copiar-colar pela net, o pessoal nem ao menos se dá o luxo de verificar se o que se está escrevendo é certo ou não.
Outro bom motivo é que na maioria o autor para no meio do post, manda você fazer uns malabarismos pulando tantas partes e parece que nem ele mesmo sabe o que esta fazendo.
Vou tentar resolver alguns desses problemas com esse único tópico.

 

separador-1.png

  • 1. Entendendo sua Internet

 

antena-provedor-internet.png

 

 

Antes de começar, precisamos entender o mais importante sobre colocar um servidor online.

A nossa internet.
Muitos acham que acessar o Facebook é ter todo conhecimento que se precisa sobre a internet para ter um servidor online ou mesmo ter algum outro recurso interessante, mas na verdade estão totalmente enganados.
Para ter recursos mais específicos pela internet é preciso conhecimentos técnicos que vai além do conhecimento leigo que muitos têm, e um deles é o bom entendimento da comunicação e funcionamento de redes de computadores.

 

separador-1.png

  • 1.1.2. Distribuição dos IP's

 

miip.png

 

 

Como a maioria dos tutoriais que vejo por ai me arrepiam com esse assunto, vou começar por ele.

Sabemos que quando nos conectamos na internet pode haver dois tipos de distribuição de IPs
O fixo (estático, IP que não muda nunca) e o dinâmico(IP que muda toda hora que você desconecta e se conecta novamente).
Isso acontece por que não existem endereços IP suficiente para todos dentro da internet então se fosse distribuído IP fixo para cada pessoa, os que viriam a acessar a rede mais para frente não poderiam ter o acesso já que todos os IPs estariam em uso e em uma rede de computador não pode haver dois IPs iguais (Na verdade se todas as pessoas tentarem se conectar ao mesmo tempo não haverá endereço IP suficiente para serem distribuídos, eles vem tentar resolver isso com o iPV6). Por esse motivo que se distribui IP dinâmico para se acessar a internet.
Toda vez que acontecer uma desconexão somente por uma grande coincidência se obterá o mesmo endereço IP que tinha anteriormente.
Como toda a rede de computador é baseada em pontos com endereços imutáveis também há a distribuição dos IPS fixos (estáticos), esse caso é muito importante, imagine só você ter que ir a um banco pagar uma conta e toda hora ele estiver com um endereço diferente, como saberíamos aonde ir?
Nesse caso, pontos específicos da internet possuem um endereço FIXO para que os programas saibam procurar por recursos, por um exemplo, quando você digita um endereço no navegador, www.seila.com, como você acha que o navegador encontra o site ?
Funciona mais ou menos assim.
Ele tem no código dele o IP de um servidor que contem o inicio de toda a amarração de onde se encontram os sites da internet, então o navegador vai até esse endereço IP e pergunta "olha, estou procurando site seila.com" como encontro ele?
Nesse momento esse servidor passa o endereço IP que também é fixo do próximo servidor que vai passando os endereços de outros servidores e vai te redirecionando até encontrar o site que você procura, imagine se por algum equivoco esse endereço IP mudar?
A INTERNET PARA!!!!
separador-1.png

  • 1.1.3. meu IP / IP's

 

dsl502-01.jpg

 

 

ou logo ao ponto!

O que quero mostrar aqui é o seguinte, ou você tem um IP FIXO que é caro, ou você tem um dinâmico que é o normal.
Não existe esse negocio de
"COMO CRIAR UM SERVIDOR OT COM IP FIXO"!!!!!
Isso é BESTEIRA, se o seu IP é dinâmico e você não esta pagando um fixo então ele é DINÂMICO, não tem macumba nesse mundo que faça um IP dinâmico virar fixo sem desembolsar uns R$200 por mês!
O Nome correto para essa baboseira que se vê por ai pode ser um monte de coisas uma delas é.
“COMO CRIAR UM OT COM URL FIXA PARA REDIRECIONAR PARA O SEU SERVIDOR!”
Pois é isso que acontece, o cara quando digita meuserver.seilaoque.com:7171 o que vai acontecer é o seguinte,
Você com certeza se inscreveu em um desses sites de redirecionamento e instalou o programa que eles pedem para ser instalado, ai toda X que o seu IP mudar esse programa vai se conectar no site e atualizar a URL que você escolheu para ser redirecionada ao seu IP , quando alguém tentar conectar no servidor OT em meuserver.seilaoque.com:7171 o site vai enviar uma mensagem a para o cliente falando, cara acessa esse IP aqui (o IP que estiver na base do site) que você consegue a conexão, e então o cliente acessa o SEU IP QUE É DINÂMICO.

separador-1.png

 

  • 1.1.4. Porque meu Servidor nao fica ONLINE ?

 

Apos toda essa explicação aula dá para tentar explicar por que o OT não fica ON.

Primeiramente, acho que todos os modens que vem das operadoras de internet estão em modo ROTEADOR (ROUTER).
Sabendo se isso, vamos pensar um pouco no processo.
Primeiro Carregamos nosso OT certo?
Após toda a carga, abrimos o cliente e usamos o ipchanger nele (fazemos isso pois como expliquei no inicio, programas precisam saber o endereço IP Fixo dos locais para se conectar, e ele nada mais muda um IP fixo dentro do cliente para o IP do servidor que você vai se conectar) trocado o IP que geralmente colocamos 127.0.0.1 (Não importa o IP da sua rede, esse IP sempre indica o IP da maquina atual por padrão do protocolo TCP/IP), clicamos em Login e vemos nosso boneco logado no servidor correto?
Ai, o que pensamos em fazer?
Corremos no meuip.com e copiamos o nosso IP que aparece lá, distribuímos para todos os nossos amigos ficamos todos naquela ansiedade, e quando todos clicam em Logar no server vem aquela decepção.
MAS QQ HOUVE??
QQ Houve é que você distribuiu O IP DO SEU MODEM MAS O SEU OT ESTÁ RODANDO NO IP DA SUA REDE INTERNA!!!!!!!!!!!
O modem não esta esperando nenhuma comunicação na porta 7171, entendeu?
Mesmo você acessando do seu PC qualquer que seja o endereço pela NET e você ver as conexões acontecendo, todas essas conexões aconteceram PQ o outro lado estava esperando uma conexao, você ligar um servidor no seu PC não vai falar para o MODEM, Ow idiota, to com um servidor ligado aqui, quando alguém chamar ai na porta 7171 é para você vir até esse PC.
Para que isso aconteça, precisa-se falar para o MODEM o que você que.
-Jumento, se alguém bater ai procurando a porta 7171, por favor, redirecione para o IP blablabla porta blabla.
Como fazer isso.
Bem, ai você precisa fazer sua correria, cada modem tem um nome ou opção e para isso o melhor é pegar o modelo dele e puxar o manual.
Geralmente na opção NAT, ou na opção Virtual Server, Port Forward alguma coisa assim.
O que se precisa fazer é sempre criar uma configuração nova e escolher um nome para essa configuração depois configurar os parâmetros.
Eu geralmente coloco OT ou quando rodo varias instancias de OT coloco OT7171 OT8181, ou sei lá o que, você escolhe o que quiser.
Após isso, ele vai pedir as portas iniciais e finais, aqui você também precisa colocar de acordo com o seu OT, e IP o ip da maquina que está o OT dentro da sua rede, se o seu OT estiver em 192.168.0.14 coloca 192.168.0.14, MAS NUNCA COLOQUE 127.0.0.1 pq nesse caso seria o IP do próprio MODEM.
Tendo entendido tudo isso procure o manual do seu MODEM leia umas 500Xs estude cada item dele atenciosamente ENTENDA TUDO DELE, vire um mestre de configurações de seu modem ai você já estará apto a fazer qualquer um se conectar no seu OT e até mesmo
teleportar pessoas.

 

separador-1.png

  • 1.1.5. Criando IP FIXO

 

no-ip_3.jpg

 

 

Como disse, isso pode ter um monte de nomes (menos o que está logo à cima).

COMO CRIAR UM OT COM URL FIXA PARA REDIRECIONAR PARA O SEU SERVIDOR!
COMO CRIAR UM REDIRECIONAMENTO FIXO PARA SEU OT!
EU NÂO VOU FALAR MAIS JUMENTISSE!!
COMO TER UM ENDEREÇO ETERNO PARA SEU OT!!
QQ COISA JESUIS!!!!

Essa parte é baba.
Primeiramente precisa procurar na internet por "dynamic dns free" ou alguma coisa assim.
Alguns que eu geralmente usava são os: dyndns, o no-ip e o cjb.net
Encontrando um de seu gosto, é só ver se ele tem algum programa que monitora a mudança de IP, se cadastre, crie um domínio gratuito, baixar e instalar o programa rode-o em sua máquina e configure colocando sua senha e login, ele vai ficar atualizando o seu IP no servidor dos caras de tempo em tempo e já era.

 

separador-1.png

 

  • 2. BUGS!!!

 

Erro.png

 

 

 

Acabamos de escolher uma distribuição, baixamos os arquivos e quando rodamos a primeira X, vem uma mensagem blablabla erro blablaba.

Vontade de jogar tudo na parede é a menor nessas horas.

Vamos entender por que deu esses erros.

Quando se desenvolve um programa, geralmente a linguagem de programação que se usa não possui todos os recursos já disponíveis de antemão que precisamos para o programa ficar completo, ela pode até dar toda a capacidade que se precise más nem sempre já está disponível, ai precisamos escrever mais e mais códigos, geralmente algumas pessoas se dão o trabalho de não criar programas, mas sim bibliotecas com funções já prontas dentro delas, o que acontece é que se você sabe que a função que se quer usar existe em uma biblioteca pronta, geralmente se usa essa biblioteca, e quando outras pessoas vão rodar o programa e no computador está faltando a biblioteca, o Windows avisa acusando o erro, outro problema que se acontece é o seguinte, a mesma linguagem de programação que usamos para desenvolver um programa possui tantas funções internas que se o compilador fosse colocar tudo dentro do nosso programa ele ia ficar com uns 200 Megas só o executável, então essas funções também vem dentro de bibliotecas, por esse motivo quando se cria um programa geralmente ele usa os recursos de algo que chamamos de “RUNTIME Library” que nada mais é que um montão de arquivos DLL’s que ficam na pasta System do Windows.

No mesmo caso se dentro do computador que você vai rodar o OT não contiver o RUNTIME da linguagem de programação que ele foi feito o Windows vai reclamar.

Os erros mais comuns que se acontece na hora de rodar um OT são os seguintes

BlaBlaBla luaxxx.dll -> Nesse caso o Windows está avisando que quem fez o OT usou a biblioteca Lua, e que ele não está encontrando-a, o mais apropriado a se fazer nesse caso é entrar no site do criador do Lua e baixar a versão que se pede

BlaBlaBlla MSVCP blablabla.dll -> Esse erro depende muito, pode ser outro nome ali, geralmente isso está relacionado a falta do RUNTIME do Visual C++ onde MS significa Microsoft, VCP significa Visual C Plus(eu acho que é isso) e o resto é a versão, por exemplo se no blablabla estiver 120 é a versão 12.0 ai é sou buscar no google como “RUNTIME Library VC 12” ou melhor ainda “Download Visual C++ Redistributable 12”, lembre se, seja experto e baixe somente se aparecer o Link da Microsoft.

O grande problema do erro a cima é que se o OT tiver sido compilado com um C++ de outra empresa, o erro será outro ai você vai ter que ficar esperto nisso.

Com essa primeira parte dos bugs corrigidos podemos ir para a segunda parte de Bugs.

Geralmente nos OT existem duas tipos de bugs, os que o Windows avisa que nesse caso geralmente acontece por falta de arquivos e bibliotecas e esses erros conseguimos identificar pois aparecem janelinhas de erro do próprio Windows e os erros internos do próprio OT que nesse caso a maioria dos erros estão relacionados a configuração que o servidor precise para carregar e geralmente são mostrados no console do OT, essas configurações são diversas e as mais comuns estão relacionadas ao carregamento do MAPA e a conexão com a base de dados.

Entendam que LÊR é primordial para tudo, se aparecer uma mensagem e você tiver paciência de entender essa mensagem com certeza vai resolver o problema.

MySQL blablabla-> Esse é um tipo de erro que com certeza vai te frustrar muito, e serão dezenas e dezenas de milhares de vezes então se quer ser um SUPREMO EXCELENTE ADM de OT dominar o conhecimento da base de dados que ele utiliza é primordial.

Mas o que é esse tal de MySQL, para entender isso você precisa entender o seguinte Seu OT terá varias contas de usuários e vários itens para esses usuários, e você terá que deixar isso guardado em algum lugar para que eles possam ter acesso aos itens sempre que quiserem, guardar tudo isso de uma forma segura e pratica teria que ser desenvolvido mais código da parte dos desenvolvedores dos OT, para economizar tempo eles optaram por utilizar sistemas já prontos de bancos de dados e uma das opções se chama MySQL entenda então que o MySQL é o cara que vai tomar conta de todos os dados que o seu OT precisa guardar para ser lembrado mais tarde, dês de os itens dos usuários do seu servidor até mesmo a senha e login deles.

Sabendo isso vamos aos erros.

MySQL blablabla Cant Connect blablabla -> Esse problema acontece por que o MySQl é um programa a parte e para que o OT possa se conectar com os dados no MySQL é preciso instalar ele na máquina sua instalação e uso foge de nosso escopo.

MySQL blablabla Access denied blablabla -> O fato de o MySQL estar instalado na máquina não significa que o OT conseguirá se conectar a ele, isso acontece pelo motivo que o MySQL também é um servidor, mas nesse caso um servidor de base de dados, e como empresas o utilizam para manter dados de clientes e mesmo outros tipos de dados que são restritos a apenas uma parte de pessoas os Servidores de Dados precisam dar confiança e segurança, uma delas é negar acessos não autorizados, toda instalação que se faz do MySQL é gerado o usuário Administrador, por padrão esse usuário tem o nome de root, e sempre é pedido uma senha para esse usuário, com essa conta de usuário vc é capaz de criar outros usuários e também novas tabelas para o MySQL, então precisamos configurar o OT para ele se conectar com o servidor de dados, uma coisa legal do OT é que ele tem um arquivo de configuração chamado config.lua e é de extrema responsabilidade do ADM dominar toda a configuração desse arquivo.

Vamos utilizar esse arquivo para configurar a conexão com o servidor de dados.

Abrindo o config.lua em um editor de sua preferencia vc precisa encontrar os seguintes itens:

“mysqlHost” ,”mysqlUser”,”mysqlPass”,”mysqlDatabase”,”mysqlPort”.

“mysqlHost” : Corresponde ao IP ou url de onde se encontra hospedado o servidor MySQL, se for na mesma maquina onde se encontra o OT basta colocar 127.0.0.1.

”mysqlUser”: Corresponde ao nome de usuário MySQL que vai ser utilizado para o OT se conectar ao MySQL, geralmente o pessoal usa o usuário root, mas bons administradores de Servidores de Dados cria um novo usuário com acesso a apenas a base que o OT vai se conectar.

”mysqlPass”: Esse item é a senha do usuário que se vai conectar ao MySQL

”mysqlDatabase”: Base de dados ou “Schema” que o seu OT utiliza para acessar as tabelas.

”mysqlPort” : Na hora que se instala o OT pede-se uma porta de acesso, essa porta geralmente é 3306

Normalmente o seu config.lua na parte de acesso a servidor MySQL deve ficar assim

mysqlHost = "127.0.0.1"

mysqlUser = "root"

mysqlPass = "senha"

mysqlDatabase = "otServer"<-no meu caso é esse mas vc pode colocar aqui de acordo com onde suas tabelas vão estar no servidor MySQL.

mysqlPort = 3306

mysqlSock = ""

MySQL blablabla Unknow database -> Lembra dessa configuração mysqlDatabase = “otServer” então no config.lua vc está falando para o seu OT que a base de dados que vai usar para guardas as tabelas e dados do sevidor é “otServer” e se esse erro está acontecendo é pelo motivo de que vc não criou ainda essa tabela no MySQL.

Vamos cria-la, acesso o prompt do Windows (digitando cmd em procurar ou Prompt de Comando em Acessórios) e digite

mysql –uUsuarioAdministradorDoMysql –pSenhadoUsuario[ENTER](isso vai fazer vc acessar o console do Mysql e fique ligado nos espaços). Você vai ver que o prmpt vai ficar “mysql>”.

Digite o seguinte comando:

CREATE DATABASE `otserver` /*!40100 DEFAULT CHARACTER SET utf8 */;[ENTER]

Terá que aparecer algo mais ou menos assim:

Query OK, 1 row affected (0.00 sec).

The database you have specified in config.lua is empty->Apesar de esse erro não estar especificando o MySQL o erro ainda está acontecendo por causa dele.

Mesmo tendo se criado a base de dados ainda é preciso criar as tabelas, note que mais para frente ao erro está “please import the schema.sql to your database”.

Geralmente a distro que vc pega tem um arquivo chamado schema.sql e nela está contido todo o script SQL para se criar as tabelas.

Para ficar mais fácil crie na raiz de sua unidade C: um diretório temporário e coloque o arquivo schema.sql nesse diretório no meu caso criei o diretório otMysql.

Acesse novamente o prompt do Windows e digite cd\diretorio que vc criou e colocou o arquivo schema.sql, no meu caso cd\otMysql[ENTER] acesse novamente o console do mysql.

Quando estiver no console do mysql digite o seguinte, use nomeDasuaTabela, no meu caso

use otserver[ENTER], note que esse comando vai fazer vc mudar da base de dados seja lá qual vc esteja para a base de dados onde vamos criar as tabelas para o nosso OT, se aparecer Database changed, o comando foi aceito com sucesso.

Para ter certeza de que vc esteja na base de dados certa digite o comando status[ENTER]

Na lista que aparecer procure pelo item Current database: se for o nome da tabela do seu OT está certo.

Agora vamos executar os scripts SQL que está no arquivo.

Digite \. schema.sql(ou o nome do seu arquivo que contém os scripts para criação das tabelas ) note que” \.” é o comando e o resto é o nome do arquivo(de atenção ao espaço digitado entre \. E o nome do arquivo).

Vão aparecer várias linhas iguais a essa:

Query OK, 0 rows affected (0.02 sec),

aguarde até que todas as tabelas tenham sido criadas.

Esses são os erros mais comuns que temos quando geralmente estamos criando um servidor do zero.

separador-1.png

  • 2.2.1 Entendendo o config.lua

Ip-> Aqui vamos colocar o IP de seu servidor se vc for rodar o servidor apenas para uma rede interna então coloque aqui o ip da máquina, se ele for 192.168.0.3 então coloque

ip = "192.168.0.3", se vc for rodar ele para que seja acessado de pessoas externamente, aqui precisa colocar o seu IP público(IP DO SEU MODEM) mas se vc estive usando redirecionamento de url tipo blablabla.meuserver.com então vc precisa colocar sua url aqui e ai ficaria

ip=” blablabla.meuserver.com”

loginProtocolPort e statusProtocolPort-> precisam ser a mesma porta, por padrão essas portas são 7171 e é a porta que vc fornece para os seus amigos junto com o ip, não se esqueça de liberar a porta no modem.

gameProtocolPort-> também é um numero de uma porta, por padrão o pessoal usa 7172 pode ser qualquer uma e também não se esqueça de liberar no modem.

mapName -> Aqui você específica o nome do arquivo do mapa do seu OT e o mapa precisa estar dentro do sub diretório world no diretório data, no meu caso mapName = "Xedegux".

 

  1. Créditos : Mudrock
Editado por MudrocK
Link para o comentário
Compartilhar em outros sites

Muito bom tutorial, gostei muito de sua iniciativa.. Aprovado e movido.

Colocando imagens fixarei, pois dará um suporte imenso aos iniciantes. Obrigado pela contribuição.

Link para o comentário
Compartilhar em outros sites

  • 4 months later...
×
×
  • Criar Novo...