Tutorial de compilação OTServ.
Olá Povo do XTibia. Estou trazendo este tutorial de como compilar o OTServ atual através de suas sources principais (SVN).
Índice:
1 - Apresentação
1.1 - Compilação, Sources?
1.2 - O que é SVN, Distros?
1.3 - Diferença entre XML e SQL.
1.4 - Linguagem Utilizada.
2 - Requerimentos
2.1 - Configurações do sistema
2.2 - Downloads
2.2.1 - Tortoise SVN
2.2.2 - DevC++
2.2.3 - DevC++ LIB's
3 - Download das Sources
3.1 - Instalação do TortoiseSVN
3.2 - Configuração do TortoiseSVN
3.3 - Download das Sources
4 - Compilação com DevC++
4.1 - Instalação do DevC++
4.2 - Traduções (Inglês -> Português)
4.3 - Instalações das Lib's
4.4 - Criação e Configuração do seu Projeto (XML)
4.5 - Criação e Configuração do seu Projeto (SQL)
4.6 - Compilar!
5 - Considerações Finais
1 - Apresentação
Neste tutorial vou ensinar como compilar corretamente os códigos fontes(sources) do seu servidor, partindo do zero, ou seja, instalação dos programas requeridos, até a compilação nos formatos XML/SQL. Não ensinarei a compilar Distros da SVN, pois normalmente essas versões utilizam de códigos de terceiros, e eu não dou suporte a eles.
1.1 - Compilação, Sources?
Compilação é o termo utilizado para descrever a transformação das sources(em linguagem humana) para a linguagem binária(linguagem de maquina, executaveis, DLL's, Etc).
1.2 - O que é SVN, Distros?
SVN quer dizer SubVersion, não passa apenas do sistema que o grupo oficial que desenvolve o OTServ utiliza para lançar e controlar suas versões, a partir deste sistema é possivel fazer o download de uma versão especifica, antiga, ou até de versões BETA dos sistemas. O termo Distro é utilizado para chamar as sources de terceiros, baseadas no código principal da SVN, normalmente esses grupos adicionam vários códigos feitos pela comunidade, corrigem erros, e lançam para o publico.
1.3 - Diferença entre XML e SQL.
XML é a versão mais utilizada entre servidores de baixo porte, pois é muito facil de configurar, você não precisa de nenhum programa extra, apenas abrir com o bloco de notas e editar. Alem disso, XML é utilizado para arquivos de configuração de certos sistemas atuais, como Raid(Invasão), comandos, configuração dos items, etc.
SQL é uma versão para servidores de grande porte, e consequentimente, equipes mais experientes no ramo. Para rodar um OTServ SQL você vai precisar baixar um servidor Web, com suporte a MySQL e PHP. Eu não irei abordar muito sobre SQL por enquanto, procure no google sobre isso caso você se interesar.
1.4 - Linguagem Utilizada.
Neste tutorial utilizarei algumas legendas, seguem elas:
* VERDE - Parte apenas para OTServ XML
* AZUL - Parte apenas para OTServ SQL
2 - Requerimentos
2.1 - Configurações do sistema
Bom, OTServ não existe uma configuração especifica para ser rodado, mas leve em conta que, quanto mais memória e poder de processamento você tiver, mais rápido você vai compilar seu OTServ.
2.2 - Downloads
2.2.1 - Tortoise SVN - Download AQUI
2.2.2 - DevC++ - Download AQUI
2.2.3 - DevC++ LIB's
2.2.3.1 - libiconv - Download AQUI
2.2.3.2 - libxml - Download AQUI
2.2.3.4 - libmysql - Download AQUI
2.2.3.5 - GMP - Download AQUI
2.2.3.5 - Boost - Download AQUI
2.2.3.6 - Lua 5.1 - Download AQUI
3 - Download das Sources
3.1 - Instalação do TortoiseSVN
Instalar o TortoiseSVN é como se você estivesse instalando qualquer outro aplicativo(afinal, ele é um aplicativo ;P). Após o termino da instalação é pedido para que você reinicie o seu computador, eu acho desnecessário, apenas fazer um logoff do seu usuário e entrar denovo já resolve, afinal, ele precisa apenas recarregar o 'explorer.exe'(sua area de trabalho).
3.2 - Configuração do TortoiseSVN
Clique com o botão direito do mouse em uma área livre da sua área de trabalho, vá no menu 'TortoiseSVN' e após em Settings, logo de cara você pode trocar o idioma do seu TortoiseSVN para Português. Desmarque a caixa logo abaixo desta opção, para que não fique aparecendo mensagens de update toda semana. Pronto, o básico está configurado, sinta-se livre para mexer em outra coisa se quiser.
3.3 - Download das Sources
Vá à pasta do seu futuro Servidor, crie uma pasta chamada "Sources", uma chamada "Objetos" e outra "Servidor", clique com o botão direito na pasta "Sources", e após clique em "SVN Checkout". No dialogo que aparece, no primeiro campo você deve colocar o seguinte endereço:
"https://opentibia.svn.sourceforge.net/svnroot/opentibia/otserv/trunk"
Após isso clique em OK, Pronto, você esta baixando as Sources do seu futuro OTServ.
4 - Compilação (DevC++)
4.1 - Instalação do DevC++
Instalar o DevC++ é extremamente fácil igual ao TortoiseSVN, para facilitar instale em "C:\Dev-Cpp". Após a instalação vamos instalar as bibliotecas adicionais (Lib's).
4.2 - Traduções (Inglês -> Português)
File -> Arquivo
New -> Novo
Project -> Projeto
C++ Project -> Projeto C++
Console Application -> Aplicativo de console
Remove File -> Remover Arquivo
Project Options -> Opções do projeto
Parameters -> Parametros
C++ Compiler -> Compilador C++
Directories -> Arquivos/Diretórios
Libary Directories -> Diretório das bibliotecas
Include Directories -> Diretório de include
Build Options -> Opções de criação
Add to project -> Adicionar ao projeto
Rebuild All -> Recompilar Tudo
4.3 - Instalação das Lib's
Para instalar as bibliotecas adicionais, você deve abrir os arquivos devpaks que você baixou no começo deste tutorial. Após abrir será apresentada a você uma janela, apenas de "Next" até completar a instalação.
Após instalar os arquivos .devPak você deve ir até a pasta do seu DevC++ e dentro dela criar uma pasta chamada "others" dentro dela você deve descompactar a pasta do Boost e a do LUA assim ficara como na imagem abaixo.
4.4 - Criação e Configuração do seu Projeto (XML)
Bom, Agora você vai criar o seu projeto, no DevC++ vá até o menu "Arquivo", depois "Novo" e clique em "Projeto". Na janela que aparecer clique em "Console Application" e certifique-se que lá abaixo está marcado "Projeto C++", coloque o nome "OTServ" e clique em OK. Assim que você criar o projeto, salve ele no diretorio principal da pasta do seu OTServ(não dentro da pasta "Sources"). Você vai notar que no canto esquerto existe um arquivo "main.cpp", clique com o botão direito, e clique em "Remover Arquivo", pronto, agora só remover do seu diretório.
Chegou a hora de configurar seu projeto, no menu principal vá ate "Projeto" depois clique em "Opções do projeto". Na janela que aparecer vá até a Parameters e em "Compilador C++" coloque:
-D__WINDOWS__
-D__EXCEPTION_TRACER__
-D__SKULLSYSTEM__
Em Linker coloque:
-llibxml2
-llu
-lwsock32
-lregex
-lgmp
-s
-Wl,-Map=otserv.map
Agora vá até a aba "Arquivos/Diretórios", na primeira sub-aba("Diretório das bibliotecas"), coloque os seguintes items:
C:\Dev-CPP\others\boost_1_33_1\libregex
C:\Dev-CPP\others\lua-5.1\lib
Agora na segunda sub-aba("Diretório de include") coloque:
C:\Dev-CPP\others\boost_1_33_1
C:\Dev-CPP\others\lua-5.1\include
Agora vá até a aba "Opções de criação", na primeira opção escolha a pasta "Servidor", e na debaixo coloque a pasta "Objetos". Pronto, configuramos nosso projeto, podemos fechar essa janela clicando em "OK", agora devemos incluir os arquivos fontes do nosso servidor, para fazer isso clique com o direito no seu projeto (aba lateral esquerda) e clique em "Adicionar ao projeto". Vá até o diretório Sources e inclua todos os arquivos deixando APENAS os seguintes:
database.cpp
database.h
databasesqlite.cpp
databasesqlite.h
databasemysql.cpp
databasemysql.h
ioaccountsql.cpp
ioaccountsql.h
ioplayersql.cpp
ioplayersql.h
iomapserializesql.cpp
iomapserializesql.h
4.5 - Criação e Configuração do seu Projeto (SQL)
Bom, Agora você vai criar o seu projeto, no DevC++ vá até o menu "Arquivo", depois "Novo" e clique em "Projeto". Na janela que aparecer clique em "Console Application" e certifique-se que lá abaixo está marcado "Projeto C++", coloque o nome "OTServ" e clique em OK. Assim que você criar o projeto, salve ele no diretorio principal da pasta do seu OTServ(não dentro da pasta "Sources"). Você vai notar que no canto esquerto existe um arquivo "main.cpp", clique com o botão direito, e clique em "Remover Arquivo", pronto, agora só remover do seu diretório.
Chegou a hora de configurar seu projeto, no menu principal vá ate "Projeto" depois clique em "Opções do projeto". Na janela que aparecer vá até a Parameters e em "Compilador C++" coloque:
-D__WINDOWS__
-D__EXCEPTION_TRACER__
-D__USE_MYSQL__
-D__SKULLSYSTEM__
Em Linker coloque:
-llibxml2
-llua
-lwsock32
-lmysql
-lregex
-lgmp
-s
-Wl,-Map=otserv.map
Agora vá até a aba "Arquivos/Diretórios", na primeira sub-aba("Diretório das bibliotecas"), coloque os seguintes items:
C:\Dev-CPP\others\boost_1_33_1\libregex
C:\Dev-CPP\others\lua-5.1\lib
Agora na segunda sub-aba("Diretório de include") coloque:
C:\Dev-CPP\others\boost_1_33_1
C:\Dev-CPP\others\lua-5.1\include
Agora vá até a aba "Opções de criação", na primeira opção escolha a pasta "Servidor", e na debaixo coloque a pasta "Objetos". Pronto, configuramos nosso projeto, podemos fechar essa janela clicando em "OK", agora devemos incluir os arquivos fontes do nosso servidor, para fazer isso clique com o direito no seu projeto (aba lateral esquerda) e clique em "Adicionar ao projeto". Vá até o diretório Sources e inclua todos os arquivos deixando APENAS os seguintes:
databasesqlite.cpp
databasesqlite.h
4.6 - Compilar!
Chegamos ao ponto mais importante, a hora de COMPILAR. Caso você tenha seguido esse tutorial com todo o cuidado, nada vai dar errado, então começe a feixar todos os programas que ocupam memória no seu computador e aperte "Rebuild All"(Ctrl+F11).
Se aparecer a janelina escrito DONE, você conseguiu!!!
Pronto, o executavel do seu Servidor está pronto, agora você precisa configurar uma pasta "DATA", Config.lua, DLL's Nescessarias e rodar o seu OTServ. (Não me pergunte sobre as DLL's, Config.lua e pasta DATA, não faz parte do tutorial)
Créditos: 5% Gabriel, 95% Skulliggers.