[Aporte] Servidor C++ (Descarga Completa, Guía, y Ejecución en Linux)

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
Qué tal gente de GS-Zone, ayer me puse a leer el código del Servidor Dakara que liberó AlejoLp, que por cierto, digan lo que digan, me gustó bastante, gracias a esa liberación espero que el AO pueda abrir paso desde el antes, al después.

Primero voy a hacer las aclaraciones, me tomé el tiempo de verificar el contenido de cada Archivo necesario con cada nombre para que no haya ningún error, modifiqué el nombre de todos los mapas como deberían ir, lo mismo con los Dat, y las carpetas; no se debe modificar el nombre de ninguna carpeta o archivo, sino se las verán con el código y su funcionalidad bien hard jaja.

Primero voy a comenzar por la guía, ¿cómo podemos empezar a testear el servidor++? Yo recomiendo que se descarguen el VirtualBox para crear una VM (Virtual-Machine) con Linux, ya sea de 32 o 64bits, como vamos a testear, da igual la VM, eso ya corre por su cuenta.

Lista de archivos que deberán Descargar:
Primer paso:
Comenzaremos por Descargar e Instalar lo anterior dicho, VirtualBox, luego de Instalarlo, abriremos el programa ya instalado en Windows y procederemos a crear una Máquina Virtual en el Botón "Nueva", con las características siguientes:

•Nombre: -usuario_del_os-
•Tipo: Linux
•Versión: la que más les guste, en mi caso estoy utilizando para testear Ubuntu (32 bits, 64 es al pedo)
ACLARACIÓN: El VirtualBox no les va a Generar un Sistema Operativo por arte de magia, así que van a tener que descargar completo la versión del OS que vayan a querer utilizar.

Segundo paso:
Luego de haber realizado el primer paso, ya van a tener su Máquina Virtual con un OS de Linux, procederemos a Apagar la VM y nos dirigiremos a la lista de VMs y hacemos clic derecho sobre la nuestra, y le damos en Configuración.

En configuración debemos seleccionar la solapa de Red, y en la única solapa que tenemos: "Adaptador 1" modificamos el Conectado a: (Default) o el que tengan, por -Conectado a: Adaptador puente. Luego en las propiedades avanzadas de más abajo modificamos Modo promiscuo: y le damos a Permitir todo y aceptar.
Finalizado esto, procederemos al tercer y último paso: (para los testeadores)
Volvemos a Iniciar la VM de Linux, y nos dirigimos hacia Firefox, y descargamos el archivo comprimido que dejé en la lista de arriba, en caso de que no se les instale automáticamente el WinRAR, abren la Terminal (consola) y tipean el siguiente comando:

"sudo apt-get install rar unrar" (sin comillas)

Una vez que hayan descargado el Archivo, descomprímanlo en "Carpeta personal" que sería la del usuario de Ubuntu:



Finalmente ya descomprimido el Server, procederemos al paso final:
Se dirigen al mismo lugar (Carpeta personal), hacen clic derecho en el vacío y Crean un Documento Vacío con el nombre AOServer.sh; Hacen clic derecho sobre él, abrir con "getedit" y dentro de él escriben lo siguiente:

cd ./server/
./bin/Debug/Server++

Hecho esto, procederemos a guardar el archivo, volvemos a abrir la Terminal (consola) y tipeamos el último comando: (con éste van a abrir siempre el server, es para ahorrarse tiempo de no tipear más comandos)

sudo su
**aquí les pedirá la contraseña de su usuario** -> la tipean -> enter ->
bash ./AOServer.sh

Ahora para poder ver el Ip que deberán asignar a su cliente, ya no será más "localhost" o "127.0.0.1", el Ip local que deberán asignar pueden verlo desde la Terminal (consola) con el siguiente comando:

ifconfig

Y les mostrará el Ip que deberán ingresar en sus Clientes (locales) de la siguiente manera:



Por último, si quieren cerrar el servidor teclean: Ctrl + C y finalizan el proceso desde la Terminal y se cierra el servidor generando el back-up de los personajes, mapas y guardado de todo.
Imagen final para los que van a testear; si han realizado los anteriores pasos correctamente, como finalidad deberían haber logrado lo siguiente: (les remarqué bien cómo deben quedar las carpetas por cada paso que hicieron)


Para aquellos que quieran testear el código y programarlo, tendrán que Descargar el CodeBlocks e Instalarlo, yo recomiendo que si instalaron Ubuntu, vayan al Centro de Software de Ubuntu y lo busquen desde la pestaña "Herramientas para desarrolladores" y más abajo le dan a Ver todos, y buscan Code::Blocks y le dan Instalar.

Luego de que hayan Instalado correctamente el Code::Blocks, traten de probar que funciona bien, y que no tienen ningún problema a la hora de compilar con GCC.

Dicho esto, procederemos a descargar las librerías y cabeceras necesarias para poder utilizar el proyecto; abriremos la Terminal (consola) y tipearemos lo siguiente:

sudo su
**contraseña**
sudo apt-get install libboost-all-dev
No recuerdo si el libevent ya viene con Ubuntu, en algunos casos habrá necesidad de instalar el libevent, si llega a ser necesario me avisan.

Luego de haberse Descargado e Instalado todo lo anteriormente dicho, podremos Testear y Debugear el código, y debería verse así:



Espero que pueda haber sido de ayuda para más de uno, cualquier cosa preguntan en el thread o en el Foro, más de unos cuantos en el Foro podemos ayudarlos, quiero aclarar que yo nada más soy un novato por el momento en el área, así que vamos a ir reconfortándonos con los conocimientos en esta posible nueva era.

Próximamente espero traerles consigo el Cliente en C++ con el protocolo y las conexiones ya terminadas.



Me olvidaba de un pequeño problema, cambien todo el contenido del Balance.dat por el siguiente:
[MODRAZA]
HumanoFuerza=+1
HumanoAgilidad=+1
HumanoInteligencia=0
HumanoCarisma=0
HumanoConstitucion=+2
ElfoFuerza=-1
ElfoAgilidad=+3
ElfoInteligencia=+2
ElfoCarisma=+2
ElfoConstitucion=+1
DrowFuerza=+2
DrowAgilidad=+3
DrowInteligencia=+2
DrowCarisma=-3
DrowConstitucion=0
EnanoFuerza=+3
EnanoAgilidad=0
EnanoInteligencia=-2
EnanoCarisma=-2
EnanoConstitucion=+3
GnomoFuerza=-2
GnomoAgilidad=+3
GnomoInteligencia=+4
GnomoCarisma=+1
GnomoConstitucion=0
[MODEVASION]
Guerrero=1
Cazador=0.9
Paladin=0.9
Bandido=0.7
Asesino=1.1
Pirata=1.25
Ladron=1.1
Clerigo=0.8
Bardo=1.075
Mago=0.4
Druida=0.75
Trabajador=0.8
[MODATAQUEARMAS]
Guerrero=1
Cazador=0.8
Paladin=0.95
Bandido=0.85
Asesino=0.9
Pirata=0.9
Ladron=0.8
Clerigo=0.85
Bardo=0.7
Mago=0.5
Druida=0.65
Trabajador=0.8
[MODATAQUEPROYECTILES]
Guerrero=0.8
Cazador=1
Paladin=0.75
Bandido=0.8
Asesino=0.75
Pirata=0.9
Ladron=0.85
Clerigo=0.7
Bardo=0.7
Mago=0.5
Druida=0.75
Trabajador=0.7
[MODATAQUEWRESTLING]
Guerrero=0.6
Cazador=0.5
Paladin=0.4
Bandido=0.95
Asesino=0.4
Pirata=0.5
Ladron=0.8
Clerigo=0.4
Bardo=0.4
Mago=0.3
Druida=0.4
Trabajador=0.5
[MODDANOARMAS]
Guerrero=1.1
Cazador=0.9
Paladin=0.925
Bandido=0.85
Asesino=0.9
Pirata=0.95
Ladron=0.75
Clerigo=0.8
Bardo=0.75
Mago=0.5
Druida=0.7
Trabajador=0.8
[MODDANOPROYECTILES]
Guerrero=0.9
Cazador=1.1
Paladin=0.8
Bandido=0.7
Asesino=0.8
Pirata=0.8
Ladron=0.85
Clerigo=0.7
Bardo=0.7
Mago=0.5
Druida=0.75
Trabajador=0.7
[MODDANOWRESTLING]
Guerrero=0.4
Cazador=0.4
Paladin=0.4
Bandido=1.05
Asesino=0.4
Pirata=0.4
Ladron=1.05
Clerigo=0.4
Bardo=0.4
Mago=0.4
Druida=0.4
Trabajador=0.4
[MODESCUDO]
Guerrero=1
Cazador=0.8
Paladin=1
Bandido=2
Asesino=0.8
Pirata=0.6
Ladron=0.7
Clerigo=0.85
Bardo=0.8
Mago=0.6
Druida=0.75
Trabajador=0.7
[MODVIDA]
Guerrero=10
Cazador=9.5
Paladin=9.5
Bandido=9.5
Asesino=8.5
Pirata=9.5
Ladron=10
Clerigo=8.5
Bardo=8.5
Mago=7.5
Druida=8.5
Trabajador=9.5
[DISTRIBUCION]
La suma de los "E" debe ser siempre 100.
E1=10
E2=20
E3=40
E4=20
E5=10
La suma de los "S" debe ser siempre 100.
S1=10
S2=40
S3=40
S4=10
[EXTRA]
PorcentajeRecuperoMana=6
[PARTY]
ExponenteNivelParty=1.75
[RECOMPENSAFACCION]
Rango1=5000
Rango2=7500
Rango3=10000
Rango4=20000
Rango5=25000
Rango6=30000
Rango7=40000
Rango8=50000
Rango9=60000
Rango10=70000
Rango11=80000
Rango12=100000
Rango13=150000
Rango14=220000
Rango15=340000
Adiós.
 
Última edición por un moderador:

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
Muy posiblemente les pida las libevent, así que el comando que tienen que ingresar en la terminal es el siguiente:
sudo apt-get install libevent-dev
Creo que lo mejor va a ser que sigan al pié de la letra TODA la guía, ya sean testers o developers, por lo que veo no me deja ejecutarlo si no se vuelve a compilar el archivo, se daña el binario.

Si necesitan esto, también utilícenlo: (son las libs a utilizar)
-levent
-levent_core
-levent_extra
-lboost_system
-lboost_filesystem
-lboost_locale
 
Última edición:

Lorwik

Destructor Lvl 4
Ex-Staff
Si señor, un muy buen aporte y si la gente se pone se puede sacar algo muy grande y por fin esto puede empezar a moverse un poco.

PD: Desde la liberacion del DX8 no veo avances xD
 

Shak

Evolution
Miembro del equipo
Developer
Especialista de Argentum
q version vendria a ser?
la conexion del sv cliente afectaria? corte, si uso este sv y un ckliente en vb6 el tema de los sockets y eso como seria?
 
Última edición por un moderador:

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
La versión que utiliza es la 13.3, igualmente es lo mismo que cualquier 13.x, sólo que con un par de Mapas diferentes nada más, y no se ve afectado para nada con el Cliente de vb6.

Gracias Bulywyf :D
 

Agushh

MR BROWNSTONE
Buenísimo el aporte!!, muchas gracias por compartirlo.

Tengo un par de dudas, que quede claro que no tengo nada de conocimientos en C++, pero estoy muy interesado en aprender.

Te dejo mis preguntas...

Se necesita un programa para codear y otro aparte para compilar?. Yo tengo el dev c++, no sé si actualmente sería fiable.

El concepto "compilar", es el mismo en C++ que en vb?

Tercero, si o si se necesita Linux para correr el servidor?, o es solo por una cuestión de comodidad? Lo digo por el posible uso que se le podría dar a Windows.

Gracias, de nuevo, saludos.
 

Dr. Lord Fers

Legendario Inmortal Lvl 4
Miembro del equipo
Moderador
Moderador de Tecnología
La verdad, yo lo digo por comodidad, me costó bastante instalar el boost para compilar el proyecto, además de que el compilador de visual c++ lo tengo muy mal configurado, es más simple, fácil y rápido compilar y configurar todo en el CodeBlocks con GCC en Ubuntu, además con esos comandos en la Terminal de Ubuntu te lo instala todo automático sin tener que complicártela tanto.

Lo que no sé muy bien cómo es el tema de las libevents en Windows, si es bien compatible todo, no creo que haya problema en compilarlo con Windows, pero es mucho más cómodo con Ubuntu. (al menos para mí que tengo todo desordenado las carpetas de compiladores, includes y libs en mi OS de Windows)

Y no sé bien a qué te referís si el concepto de compilar es el mismo que en vb6, en C++ podés utilizar diferentes compiladores, pero en sí, van a generarte lo mismo, un ejecutable ya sea en Windows o en Linux, lo que puede variar un poco es en cómo se Debugea entre VB6 y C++, por lo menos en vb su Modo Debug es bastante fácil de entender, pero muy limitado, en C++ dependiendo tu IDE es un poco más difícil debugear bien, pero no te limita tanto y podés ver todo el problema a fondo. (siéndote sincero, yo que soy un novato en esto, todavía no lo entiendo muy bien en Code::Blocks el Debuger que tiene, pero de a poco lo voy entendiendo mejor.)

Como te decía, el hecho de utilizar Ubuntu u algún Linux, es por la comodidad, trabajás en otro contexto a parte, además de que no mezclás las cosas, te acostumbrás a trabajar en 2 contextos diferentes.

@kurol: Estaba hablando lo mismo con GS, por el momento se va a tener que aportar en otras versiones como código C/C++, pero cuando se empiecen a emplear muchos códigos, y alguien o yo terminen el Cliente en C++ lo mejor y bien hecho posible, se va a poder crear un SubForo para AO++

Ya estoy hablando con un par del Foro y amigos para que se copen en comenzar a programar en C++ con el incentivo del uso de este Servidor en C++
 

0xDEADBEEF

Vicinity of obscenity
Ex-Staff
La verdad, yo lo digo por comodidad, me costó bastante instalar el boost para compilar el proyecto, además de que el compilador de visual c++ lo tengo muy mal configurado, es más simple, fácil y rápido compilar y configurar todo en el CodeBlocks con GCC en Ubuntu, además con esos comandos en la Terminal de Ubuntu te lo instala todo automático sin tener que complicártela tanto.

Lo que no sé muy bien cómo es el tema de las libevents en Windows, si es bien compatible todo, no creo que haya problema en compilarlo con Windows, pero es mucho más cómodo con Ubuntu. (al menos para mí que tengo todo desordenado las carpetas de compiladores, includes y libs en mi OS de Windows)

Y no sé bien a qué te referís si el concepto de compilar es el mismo que en vb6, en C++ podés utilizar diferentes compiladores, pero en sí, van a generarte lo mismo, un ejecutable ya sea en Windows o en Linux, lo que puede variar un poco es en cómo se Debugea entre VB6 y C++, por lo menos en vb su Modo Debug es bastante fácil de entender, pero muy limitado, en C++ dependiendo tu IDE es un poco más difícil debugear bien, pero no te limita tanto y podés ver todo el problema a fondo. (siéndote sincero, yo que soy un novato en esto, todavía no lo entiendo muy bien en Code::Blocks el Debuger que tiene, pero de a poco lo voy entendiendo mejor.)

Como te decía, el hecho de utilizar Ubuntu u algún Linux, es por la comodidad, trabajás en otro contexto a parte, además de que no mezclás las cosas, te acostumbrás a trabajar en 2 contextos diferentes.
Tanto libevent como Boost son cross-platform, y Boost es muy facil de instalar, solo tienes que bajarlo y tiene un sistema de build automatizado que detecta tu compilador, compila e instala.

Ambas librerias se pueden compilar en otras plataformas y usarse.

El GDB es muy potente también, realmente incomparable contra VB6. Pero para exprimirlo bien se necesita algo de practica.

Para que te hagas una idea de lo potente que es.. yo con GDB debugueaba en el emulador de DS conectando remotamente el GDB al emulador, además el emulador ejecutaba con ARM en formato de la DS y el debuguer en realidad estaba lanzando el ELF.

Muy potente

Buenísimo el aporte!!, muchas gracias por compartirlo.

Tengo un par de dudas, que quede claro que no tengo nada de conocimientos en C++, pero estoy muy interesado en aprender.

Te dejo mis preguntas...

Se necesita un programa para codear y otro aparte para compilar?. Yo tengo el dev c++, no sé si actualmente sería fiable.

El concepto "compilar", es el mismo en C++ que en vb?

Tercero, si o si se necesita Linux para correr el servidor?, o es solo por una cuestión de comodidad? Lo digo por el posible uso que se le podría dar a Windows.

Gracias, de nuevo, saludos.
En C/C++ lo que tienes es el IDE separado del compilador.

Yo en linux puedo programar desde linea de comandos, compilar y ejecutar desde ahi, sin IDE.

nano main.c
gcc main.c
./a.out

Tienes varios IDEs y normalmente el compilador usado es GCC.

En Windows es lo mismo, solo que en vez de GCC tienes MSCV (visual studio) o mingw (que es gcc para windows).

Bajate CodeBlocks con mingw en Windows, baja las librerias, (compila si es necesario) e instalalas y listo.

Buenisimo, ya que liberaron uno en c++ tendrian que hacer un subforo dedicado a esto, ya que es el futuro del ao , que se empiece desde ahora jeje.
+1

Edit: Gracias por mergear los posts lord fers, pensaba que se hacia automáticamente.
 
Última edición:

AlejoLp

Newbie Lvl 2
Hola! Muy bueno, gracias por tomarte el tiempo de escribir sobre esto. Tener un RAR con el servidor ya compilado es muy cómodo para empezar, pero recomiendo que cada uno se baje el codigo fuente y lo compile en su máquina. En Ubuntu es especialmente fácil, solo hay que hacer:

sudo apt-get install libboost-all-dev libevent-dev cmake build-essential git g++
git clone https://github.com/DakaraOnline/dakara-server
cd dakara-server
mkdir build
cd build
cmake ..
make -j 4​

El ejecutable del server va a estar en dakaraserver. Por supuesto que también necesitan de los recursos, mapas, dats, etc., esos los pueden sacar del RAR.

Lo último que estuve haciendo es no necesitar de libevent, y reemplazarlo por asio, asi es más fácil de compilarlo en Windows, aunque hace rato que no tengo tiempo para esto.

Si tienen dudas no dejen de escribir.
 
Última edición:

Dylan.-

Dylan Ullúa.
Buenisimo lord fers, muy bueno para empezar a meterme en el mundo de c++, obviamente voy a pensar a usarlo en windows ya que linux me anda mas lento y no me gusta jajajaja
Graciasssssss

Hola! Muy bueno, gracias por tomarte el tiempo de escribir sobre esto. Tener un RAR con el servidor ya compilado es muy cómodo para empezar, pero recomiendo que cada uno se baje el codigo fuente y lo compile en su máquina. En Ubuntu es especialmente fácil, solo hay que hacer:

sudo apt-get install libboost-all-dev libevent-dev cmake build-essential git g++
git clone https://github.com/DakaraOnline/dakara-server
cd dakara-server
mkdir build
cd build
cmake ..
make -j 4​

El ejecutable del server va a estar en dakaraserver. Por supuesto que también necesitan de los recursos, mapas, dats, etc., esos los pueden sacar del RAR.

Lo último que estuve haciendo es no necesitar de libevent, y reemplazarlo por asio, asi es más fácil de compilarlo en Windows, aunque hace rato que no tengo tiempo para esto.

Si tienen dudas no dejen de escribir.
Si tenes tiempo podrias ayudarme a compilar en windows, de todas maneras me resigne a instalar ubuntu jajajaja
 
Última edición por un moderador:

About

Director del Proyecto
Hola! Muy bueno, gracias por tomarte el tiempo de escribir sobre esto. Tener un RAR con el servidor ya compilado es muy cómodo para empezar, pero recomiendo que cada uno se baje el codigo fuente y lo compile en su máquina. En Ubuntu es especialmente fácil, solo hay que hacer:

sudo apt-get install libboost-all-dev libevent-dev cmake build-essential git g++
git clone https://github.com/DakaraOnline/dakara-server
cd dakara-server
mkdir build
cd build
cmake ..
make -j 4​

El ejecutable del server va a estar en dakaraserver. Por supuesto que también necesitan de los recursos, mapas, dats, etc., esos los pueden sacar del RAR.

Lo último que estuve haciendo es no necesitar de libevent, y reemplazarlo por asio, asi es más fácil de compilarlo en Windows, aunque hace rato que no tengo tiempo para esto.

Si tienen dudas no dejen de escribir.
Hola! vengo principalmente a figurar y tener el HONOR de 'citar' no menos que a Alejo LP! na increíble.

Segundo, quiero halagar por el trabajo que están haciendo, un servidor en c++ es simplemente tremendo. Es lo que realmente debería haber sucedido desde el principio y esto sería otro juego, pero nunca es tarde para cambiar, ni mucho menos para mejorar.

Tercero, quería preguntar por lo que estuve leyendo por todos lados, es decir tu convertidor de VB6 a C++, si está liberado, si es simplemente uno de esos convertidores que hay en internet dando vueltas, si hay que pagar para usarlo, o realmente qué puedo saber o aprender de éste convertidor, ya que tengo principal atención puesta en él.
 

0xDEADBEEF

Vicinity of obscenity
Ex-Staff
Tercero, quería preguntar por lo que estuve leyendo por todos lados, es decir tu convertidor de VB6 a C++, si está liberado, si es simplemente uno de esos convertidores que hay en internet dando vueltas, si hay que pagar para usarlo, o realmente qué puedo saber o aprender de éste convertidor, ya que tengo principal atención puesta en él.
Con un poco de paciencia puedes convertir tu servidor a C++.

Pero eso no significa que sea funcional. Habría que depurarlo, testearlo, remodelar partes y a medio plazo ir cambiando la arquitectura.
 

AlejoLp

Newbie Lvl 2
Hola! vengo principalmente a figurar y tener el HONOR de 'citar' no menos que a Alejo LP! na increíble.

Segundo, quiero halagar por el trabajo que están haciendo, un servidor en c++ es simplemente tremendo. Es lo que realmente debería haber sucedido desde el principio y esto sería otro juego, pero nunca es tarde para cambiar, ni mucho menos para mejorar.
Gracias. Me llevó bastante tiempo conseguir lo que está publicado. Este tiempo otras personas lo hubiesen preferido dedicar en agregarle nuevas features al juego que sean visibles para los jugadores... cada uno marca sus prioridades.

Tercero, quería preguntar por lo que estuve leyendo por todos lados, es decir tu convertidor de VB6 a C++, si está liberado, si es simplemente uno de esos convertidores que hay en internet dando vueltas, si hay que pagar para usarlo, o realmente qué puedo saber o aprender de éste convertidor, ya que tengo principal atención puesta en él.
El conversor lo hice yo. No es un "compilador" porque no estoy armando el AST con una EBNF, y en la sección docs de dakara-server cuento un poco más de detalles de qué hice. Hace unos años encaré a hacer un compilador de Python (PPPP en mi cuenta de GitHub) y con lo que aprendí hice un traductor de VB6 a C++.

Por el momento no voy a publicar el código de mi traductor, pero si te interesa aprender del tema te recomiendo dos libros:
  • Compilers: Techniques and tools, de Aho (aka el Libro del Dragón). La segunda edición en español tiene varios errores de traducción notables y si lo podés conseguir y leer en inglés mejor; La primer edición se puede conseguir usada en AbeBooks por muy buen precio y los contenidos básicos son los mismos.
  • Engineering a Compiler 2nd edition. Este es más moderno que el del dragón y tiene una sección dedicada a Parsers Recursivos Descendentes, que es la técnica que todos los compiladores modernos usan, que es la más fácil de hacer, y la que yo usé.
 

AlejoLp

Newbie Lvl 2
Buenisimo lord fers, muy bueno para empezar a meterme en el mundo de c++, obviamente voy a pensar a usarlo en windows ya que linux me anda mas lento y no me gusta jajajaja
Graciasssssss


Si tenes tiempo podrias ayudarme a compilar en windows, de todas maneras me resigne a instalar ubuntu jajajaja
Hoy para compilarlo en Windows necesitás libevent y BOOST.

LibEvent creo que podés conseguirla precompilada con nuget: https://www.nuget.org/packages/libevent_vc120/

BOOST lo podés conseguir precompilado en la página web, en la parde de Downloads->Windows binaries.

Después te recomiendo usar Visual Studio Express, la versión Classic para C++. En el proyecto en la parte de configuación tenś que agregar dos cosas: las librerias .lib de ambas dependencias, y los directorios de include, de ambos.
 
Arriba