LU
programação

Compilando e rodando um OTServ em Linux (debian). Tutorial Definitivo

Por Luquinh4, 29 de mai. de 2013 em Tutoriais de Infraestrutura

linux debian compilar
otserv
13
3.5k
Luquinh4L
29 de maio de 2013 às 13:02

Este é um tutorial escrito escrito originalmente para aqueles, que apesar de não terem experiencia com este SO, querem utiliza-lo para rodar seus OTServers, seja por segurança, estabilidade ou simplesmente por quererem aprender. O Linux apesar de assustar de inicio pra quem nunca teve contato, principalmente por não dispor de uma interface grafica (a não ser em casos onde você use o vnc, mas não é o foco deste tutorial), é um grande SO, principalmente quando se trata de gerenciamento de memória, segurança e estabilidade. Neste tutorial vamos fazer uso do Debian 6 64bits e um OT 8.6, apesar de servir para qualquer versão, desde que tenha as sources.

 

Programas necessários:

Putty - Necessário para administrar o vps, via SSH.

FileZilla - Ftp, utilizado para enviar seus arquivos para o vps.

 

Ao contratar um vps Linux até 1 hora você receberá um email contendo o IP e senha root do seu novo servidor. Aqui nós abrimos o FileZilla para mandarmos o OT para o vps. A tela dele é muito simples:

filezila.png

Em Host você coloca o IP do VPS, usuário é "root", e senha é a que você passou no momento da compra, que também foi enviada para seu email juntamente com o IP.

Basta compactar a pasta do seu ot e as Sources em um arquivo .zip, e copiar para o VPS. Aqui no exemplo usaremos a pasta /home, por questões de organização. Para isso, basta digitar "/home" no espaço Endereço Remoto.

Caso seu OT tenha SITE, aproveite e mande o mesmo para o vps também.

 

Agora iremos logar no VPS via PUTTY para instalar os arquivos necessários e compilar o tfs. A tela é igualmente simples, bastando adicionar o IP e clicar em Open. A Tela é a seguinte:

 

putty.png

 

Após isso, será aberta uma tela preta, pedindo login. Digite "root", Enter. Será pedido a senha de root, apenas digite, e depois enter novamente. Será exibido o terminal, algo parecido com a tela abaixo:

putty2.png

 

Perfeito. Você está logado. Vamos começar instalando as libs necessárias para o funcionamento do OT, mysql, apache e mais algumas libs que iremos utilizar, com o seguinte comando:

 

 

 

apt-get update

apt-get install libboost1.42-dev libboost-system1.42-dev libboost-filesystem1.42-dev libboost-date-time1.42-dev libboost-regex1.42-dev libboost-thread1.42-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8 libcurl4-openssl-dev unzip apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

 

 

 

Pronto. Instalado tudo, estamos prontos para seguir com a compilação. Vá para a pasta /home e descompacte as sources e o ot usando o comando unzip. Por exemplo, caso suas sources estejam em um arquivo chamado sourcez.zip dentro de /home, o comando fica assim:

cd /home [tecle enter]

unzip sources.zip [tecle enter]

 

Em seguida daremos permissão total na pasta, para que não haja problemas. para isso (supondo que a pasta descompactada se chame "sources") execute o comando:

chmod -R 777 sources/ [tecle enter]

 

Entramos na pasta sources com o comando:

cd sources [tecle enter]

 

E compilamos com os seguintes comandos:

./autogen.sh [tecle enter]

./configure --enable-mysql --enable-root-permission [tecle enter]

./build.sh [tecle enter]

 

Compilado. Caso liste o diretório corrente (com o comando "ls") você perceberá um arquivo novo, chamado "theforgottenserver" dentro dessa pasta. Basta copia-lo para a pasta do seu ot. No exemplo, vamos supor que a pasta do ot se chame otserv, e está dentro de /home (ficando /home/otserv) então vc copia o tfs para dentro da pasta do OT com o comando:

cp theforgottenserver /home/otserv [tecle enter]

cd /home/otserv [tecle enter]

chmod 777 theforgottenserver [tecle enter]

 

Agora vamos criar uma DB e importar a database para o mysql. Esta etapa é somente para OTs com site (mysql), podendo ser descartada se você usa account manager e SQLite.

Primeiramente, temos que logar no Mysql e criar uma DB nova para receber a database.sql. Usamos os seguintes comandos:

mysql -u root -p [enter]

aqui será pedido a senha do mysql. Coloque a senha e de enter. Vai abrir o console do Mysql. Nesse exemplo, vamos criar a database com o nome "otserv". Para isso digite o comando:

create database otserv; [enter]

e para sair do console do mysql digite:

exit; [enter]

 

Pronto. Database criada, vamos agora importar a database para essa nova DB que acabamos de criar. Supondo que o arquivo .sql esteja na pasta do ot (/home /otserv) vams ter certeza que estamos nessa pasta, e digitar o comando para importal (supondo que o arquivo contendo a db se chame database.sql)

cd /home/otserv [enter]

mysql -u root -p otserv < database.sql [enter]

 

Perfeito. Vai pedir a senha do mysql, é só digitar e teclar enter. Se não ver nenhuma mensagem de erro, sua DB foi importada com sucesso. Agora só falta o site. Como ja instalamos o apache juntamente com as libs, é somente jogar o site dentro da pasta /var/www e pronto. Site funcionando. Você pode usar o FileZilla para isso.

 

Perfeito. Só rodar o theforgottenserver e ser feliz ;D digite (dentro da pasta /home/otserv):

 

./theforgottenserver [tecle enter]

 

CRÉDITOS :

JVSERVERS.COM.BR

Editado Maio 29 por Luquinh4

juliorpvJ
29 de maio de 2013 às 14:54

Muito bem amigo! Foi pra ser simples e inteiro mesmo, indico esse tutorial para todos que pegam vps linux conosco pra tibia, e mesmo os que nunca tiveram experiencia nenhuma com linux, conseguem fazer 100% sozinhos, o bom é que depois que fiz esse tutorial, começou a sobrar tempo até pra eu tomar banho todos os dias. rsrs :D

BeekiB
30 de maio de 2013 às 08:00

1° não é necessário dar permissçao total ao "theforgottenserver" somente permissão de execução, "x+".

2° a parte da compilação poderia ser feita em um comando só, " chmod 777 autogen.sh && ./autogen,sh && ./configure --enable-mysql --enable-root-permission && chmod 777 build.sh && ./build.sh "

 

outra coisa, qual versão do theforgottenserver você usou pra realizar esse tutorial?

Luquinh4L
30 de maio de 2013 às 12:01

olha eu fiz seguindo esse tutorial e não tive problema, compilei o 0.4 e deu certo, se do jeito que você falou dava certo também, tudo bem.

 

porém esse modo também dá.

1 mês depois...
TaigerT
30 de junho de 2013 às 14:50

Deveria trocar o titulo para vps linux, estou procurando um tutorial de como rodar um ot em casa com SO linux.

AdilsonHackerA
30 de junho de 2013 às 14:57

Parabéns amigo irar ajudar muita gente , já vi vários com esse problema!

30 de junho de 2013 às 16:35

Deveria trocar o titulo para vps linux, estou procurando um tutorial de como rodar um ot em casa com SO linux.

 

só fazer a parte do terminal pra baixo jovem

TaigerT
30 de junho de 2013 às 17:27

 

Deveria trocar o titulo para vps linux, estou procurando um tutorial de como rodar um ot em casa com SO linux.

 

só fazer a parte do terminal pra baixo jovem

 

 

Que terminal?

BeekiB
30 de junho de 2013 às 18:52

 

 

Deveria trocar o titulo para vps linux, estou procurando um tutorial de como rodar um ot em casa com SO linux.

 

só fazer a parte do terminal pra baixo jovem

 

 

Que terminal?

 

 

 

aquela tela preta ali no tutorial.

2 meses depois...
reidosnoobsR
03 de agosto de 2013 às 00:45

opa, oia o juiu heart.png ai ^^

no momento vo tentar compilar, qm compila pra min é o julio... nunca consigo ¬¬

 

BOBEIRAS REMOVIDAS.

by Beeki.

Editado Agosto 3 por Beeki

bobeiras.

4 semanas depois...
BoguemonB
26 de agosto de 2013 às 12:02

Este é um tutorial escrito escrito originalmente para aqueles, que apesar de não terem experiencia com este SO, querem utiliza-lo para rodar seus OTServers, seja por segurança, estabilidade ou simplesmente por quererem aprender. O Linux apesar de assustar de inicio pra quem nunca teve contato, principalmente por não dispor de uma interface grafica (a não ser em casos onde você use o vnc, mas não é o foco deste tutorial), é um grande SO, principalmente quando se trata de gerenciamento de memória, segurança e estabilidade. Neste tutorial vamos fazer uso do Debian 6 64bits e um OT 8.6, apesar de servir para qualquer versão, desde que tenha as sources.

 

Programas necessários:

Putty - Necessário para administrar o vps, via SSH.

FileZilla - Ftp, utilizado para enviar seus arquivos para o vps.

 

Ao contratar um vps Linux até 1 hora você receberá um email contendo o IP e senha root do seu novo servidor. Aqui nós abrimos o FileZilla para mandarmos o OT para o vps. A tela dele é muito simples:

filezila.png

Em Host você coloca o IP do VPS, usuário é "root", e senha é a que você passou no momento da compra, que também foi enviada para seu email juntamente com o IP.

Basta compactar a pasta do seu ot e as Sources em um arquivo .zip, e copiar para o VPS. Aqui no exemplo usaremos a pasta /home, por questões de organização. Para isso, basta digitar "/home" no espaço Endereço Remoto.

Caso seu OT tenha SITE, aproveite e mande o mesmo para o vps também.

 

Agora iremos logar no VPS via PUTTY para instalar os arquivos necessários e compilar o tfs. A tela é igualmente simples, bastando adicionar o IP e clicar em Open. A Tela é a seguinte:

 

putty.png

 

Após isso, será aberta uma tela preta, pedindo login. Digite "root", Enter. Será pedido a senha de root, apenas digite, e depois enter novamente. Será exibido o terminal, algo parecido com a tela abaixo:

putty2.png

 

Perfeito. Você está logado. Vamos começar instalando as libs necessárias para o funcionamento do OT, mysql, apache e mais algumas libs que iremos utilizar, com o seguinte comando:

 

 

 

apt-get update

apt-get install libboost1.42-dev libboost-system1.42-dev libboost-filesystem1.42-dev libboost-date-time1.42-dev libboost-regex1.42-dev libboost-thread1.42-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8 libcurl4-openssl-dev unzip apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

 

 

 

Pronto. Instalado tudo, estamos prontos para seguir com a compilação. Vá para a pasta /home e descompacte as sources e o ot usando o comando unzip. Por exemplo, caso suas sources estejam em um arquivo chamado sourcez.zip dentro de /home, o comando fica assim:

cd /home [tecle enter]

unzip sources.zip [tecle enter]

 

Em seguida daremos permissão total na pasta, para que não haja problemas. para isso (supondo que a pasta descompactada se chame "sources") execute o comando:

chmod -R 777 sources/ [tecle enter]

 

Entramos na pasta sources com o comando:

cd sources [tecle enter]

 

E compilamos com os seguintes comandos:

./autogen.sh [tecle enter]

./configure --enable-mysql --enable-root-permission [tecle enter]

./build.sh [tecle enter]

 

Compilado. Caso liste o diretório corrente (com o comando "ls") você perceberá um arquivo novo, chamado "theforgottenserver" dentro dessa pasta. Basta copia-lo para a pasta do seu ot. No exemplo, vamos supor que a pasta do ot se chame otserv, e está dentro de /home (ficando /home/otserv) então vc copia o tfs para dentro da pasta do OT com o comando:

cp theforgottenserver /home/otserv [tecle enter]

cd /home/otserv [tecle enter]

chmod 777 theforgottenserver [tecle enter]

 

Agora vamos criar uma DB e importar a database para o mysql. Esta etapa é somente para OTs com site (mysql), podendo ser descartada se você usa account manager e SQLite.

Primeiramente, temos que logar no Mysql e criar uma DB nova para receber a database.sql. Usamos os seguintes comandos:

mysql -u root -p [enter]

aqui será pedido a senha do mysql. Coloque a senha e de enter. Vai abrir o console do Mysql. Nesse exemplo, vamos criar a database com o nome "otserv". Para isso digite o comando:

create database otserv; [enter]

e para sair do console do mysql digite:

exit; [enter]

 

Pronto. Database criada, vamos agora importar a database para essa nova DB que acabamos de criar. Supondo que o arquivo .sql esteja na pasta do ot (/home /otserv) vams ter certeza que estamos nessa pasta, e digitar o comando para importal (supondo que o arquivo contendo a db se chame database.sql)

cd /home/otserv [enter]

mysql -u root -p otserv < database.sql [enter]

 

Perfeito. Vai pedir a senha do mysql, é só digitar e teclar enter. Se não ver nenhuma mensagem de erro, sua DB foi importada com sucesso. Agora só falta o site. Como ja instalamos o apache juntamente com as libs, é somente jogar o site dentro da pasta /var/www e pronto. Site funcionando. Você pode usar o FileZilla para isso.

 

Perfeito. Só rodar o theforgottenserver e ser feliz ;D digite (dentro da pasta /home/otserv):

 

./theforgottenserver [tecle enter]

 

CRÉDITOS : JVSERVERS.COM.BR

 

qdo uso a parte do

 

apt-get install libboost1.42-dev libboost-system1.42-dev libboost-filesystem1.42-dev libboost-date-time1.42-dev libboost-regex1.42-dev libboost-thread1.42-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8 libcurl4-openssl-dev unzip apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

 

 

da isso:

 

root@Henry-PC:/home/henry# apt-get install libboost1.42-dev libboost-system1.42-dev libboost-filesystem1.42-dev libboost-date-time1.42-dev libboost-regex1.42-dev libboost-thread1.42-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-server-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++8 libcurl4-openssl-dev unzip apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

Lendo listas de pacotes... Pronto

Construindo árvore de dependências

Lendo informação de estado... Pronto

O pacote libboost-date-time1.42-dev não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

 

O pacote libboost-filesystem1.42-dev não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

 

O pacote libboost-regex1.42-dev não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

 

O pacote libboost-system1.42-dev não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

 

O pacote libboost-thread1.42-dev não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

 

O pacote libboost1.42-dev não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

 

O pacote mysql-client-5.1 não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

No entanto, os pacotes a seguir o substituem:

mysql-client-5.5

 

O pacote mysql-server-5.1 não está disponível, mas é referenciado por outro pacote.

Isto pode significar que o pacote está faltando, ficou obsoleto ou

está disponível somente a partir de outra fonte

No entanto, os pacotes a seguir o substituem:

mysql-server-core-5.5 mysql-server-5.5

 

E: O pacote 'libboost1.42-dev' não tem candidato para instalação

E: O pacote 'libboost-system1.42-dev' não tem candidato para instalação

E: O pacote 'libboost-filesystem1.42-dev' não tem candidato para instalação

E: O pacote 'libboost-date-time1.42-dev' não tem candidato para instalação

E: O pacote 'libboost-regex1.42-dev' não tem candidato para instalação

E: O pacote 'libboost-thread1.42-dev' não tem candidato para instalação

E: O pacote 'mysql-client-5.1' não tem candidato para instalação

E: O pacote 'mysql-server-5.1' não tem candidato para instalação

E: Impossível encontrar o pacote libcrypto++8

E: Não foi possível encontrar o pacote através da expressão regular 'libcrypto++8'

BeekiB
26 de agosto de 2013 às 15:44

source.list ta bugado.

 

Fixa-lo.

$ sudo gedit /etc/apt/sources.list
## Ubuntu Precise.
deb http://br.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
 
## Ubuntu Updates.
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse
deb http://br.archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
 
## Ubuntu Backports
deb http://br.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
 
## Canonical's 'partner'.
deb http://archive.canonical.com/ubuntu oneiric partner
 
## Ubuntu Extras.
deb http://extras.ubuntu.com/ubuntu oneiric main
$ sudo apt-get update
$ sudo apt-get autoclean

VLW AI CHEFE

7 meses depois...
zabrikinnaZ
18 de março de 2014 às 20:45

Exite algum mais atualizado pra debia?

 

Mesmo erro do henrique1009

Editado Março 18 por zabrikinna