http://eswow2.start-zone.net/./viewtopic.php?f=20&t=5&p=8#p8
-----------------------------------
Mrbytes
Vie 03 Jun, 2011 15:52

Re: Compilar MaNGOS Core En Windows
-----------------------------------
[center][size=4][b][color=red]COMPILACION[/color][/b][/size][/center] 

Doy por hecho que has instalado correctamente [color=blue][b]Microsoft Visual C++ 2010 Express[/b][/color], como señalé al principio, pues esta herramienta es la que voy a usar en todo el tutorial y las capturas son de esta.

[color=red]Configuración y limitaciones:[/color]

No es necesario “toquetear” nada en el compilador, para nuestros propósitos, así que mejor que lo dejes tal y como se instala, a no ser que sepas que estás haciendo, y si con ello ganas algo de tiempo en la compilación, que de eso merecería la pena el ajustarlo. La versión Express, tiene limitaciones, y la única que nos afecta, es, la [color=red]imposibilidad de compilar aplicaciones de 64bits[/color], así que los avisos que salen en el compilador, sobre este tema, debéis ignorarlos, ya que la compilación la hará correctamente en 32bits, ni que decir tiene que si quieres un MaNGOS que corra en un Windows de 64bits, debes tener la solución completa de Visual C++ 2010  no la Express, solo así creará una 2º carpeta con la solución compilada de 64bits, que viene configurada junto con la de 32, y no hay más que decir, así que manos a la obra.


   [center][color=maroon]....oooO................. 
.....(....)... Oooo....... 
....\..(......(....)..... 
......\_)......)../....... 
..............(_/........[/color][/center]
   [center][size=3][b][color=black]MANGOS[/color][/b][/size][/center]

Tomando como referencia la imagen de abajo, en la que he superpuesto el compilador encima del explorador de archivos, nos dirigimos a la carpeta [color=blue]HDD: \ManGOS\src\win[/color] y en ella localizamos el archivo “[color=blue]mangosdVC100.sln[/color]” este es el correspondiente al Visual C++ 2010, veamos los siguientes pasos (fíjate en las capturas):

[color=red]1º[/color] Nos colocamos con el ratón, encima del archivo “[color=blue]mangosdVC100.sln[/color]”, y hacemos 1 click con el botón izquierdo del ratón.

[color=red]2º[/color] Verás que ha aparecido en la barra superior del explorador de archivos, una nueva opción, con el logo de Visual C++, pulsa la flechita que hay a la derecha del botón [Abrir].

[color=red]3º[/color] En el menú contextual selecciona [Microsoft Visual C++ 2010 Express], esto lanzará la ventada del compilador ([color=limeGreen]enmarcada en verde[/color]).

[color=limeGreen][b]Ventana del Compilador:[/b][/color]

[color=red]1º[/color]  Es importante que dejes que analice toda la solución, esto le llevará un ratito, si tienes algún error durante este proceso, es con toda seguridad un bug en el proceso de descarga del repositorio, así que debes salir del compilador, e iniciar una nueva comprobación del repositorio con tu Clon, en el paso titulado “[color=red][b]Actualizar tu Clon[/b][/color]” te explico cómo hacer una re comprobación del repositorio que detectará diferencias, y lo corregirá. Doy por hecho que el análisis salió correcto, seguimos.

[color=red]2º[/color] En la ventana del compilador, y en el recuadro de dice [Debug] “depuración”, pincha en el flechita de la derecha como te muestro en la captura.

[color=red]3º[/color] En el menú contextual que sale debes seleccionar [[color=red]Release[/color]] “lanzamiento” de manera que se cambie el Debug por este, ahora [color=blue]pulsa F7 para iniciar la compilación[/color].

[center][img width=1000 height=879]http://i56.tinypic.com/143f6hc.jpg[/img][/center]

El proceso de compilación llevará su tiempo, que dependiendo de tu equipo y de la memoria física de este, podrá ser más o menos largo pero lo será, así que la paciencia es la madre de todas las ciencias, espera.

Una vez terminado el proceso, el compilador, como muestro en el captura de abajo, debe mostrar en la esquina inferior izquierda [Listo] y en la ventada de log “Resultados”, en la última línea te dirá los procesos que ha compilado correctamente, y los errores u omisiones que ha hecho, en definitiva, todo estará correcto si te aparece el mismo mensaje que hay en la captura que te he puesto.

Los Archivos compilados, los dejara en la carpeta “[color=red]HDD:\ManGOS\src\bin\Win32_Release[/color]” , tal y como puedes ver en la imagen inferior. [color=blue]Solo son validos los *.exe y las *.dll[/color], lo demás solo es necesario para el compilador, no para nuestros propósitos, no hace falta borrarlos, el compilador los sobrescribirá cada vez que compiles.

[center][img width=1000 height=923]http://i51.tinypic.com/255uwcg.jpg[/img][/center]

Ahora crea en el directorio raíz de ManGOS "HDD:\ManGOS" una carpeta llamada [color=red]Server[/color].

 Ejemplo:
 [center][quote][[color=red]HDD:\ManGOS\Server[/color]], [color=blue]copia los exe y las dll en ella, ahí es donde iras dejando los archivos finales del servidor[/color].[/quote][/center]

[color=black][b]Archivos *.Conf[/b][/color]

Ve a la carpeta [color=blue]HDD:\ManGOS\src\src\mangosd[/color] , copia el archivo “[color=blue]mangosd.conf.dist.in[/color]” en la carpeta que has creado “HDD:\ManGOS\Server” borrando las extensiones “[color=red].dist.in[/color]” de este, el resultado será “[color=blue]mangosd.conf[/color]” que como bien has deducido, es el archivo de configuración de ManGOS.

Haz lo mismo con “[color=blue]realmd.conf.dist.in[/color]” que está en [color=blue]HDD:\ManGOS\src\src\realmd[/color], este es el de configuración del reino.

Con esto, ya hemos terminado con la parte de ManGOS.


[center][color=maroon]....oooO................. 
.....(....)... Oooo....... 
....\..(......(....)..... 
......\_)......)../....... 
..............(_/........[/color][/center]
   [center][size=3][b][color=black]SCRIPTDEV2[/color][/b][/size][/center]

El proceso de compilación es idéntico al de ManGOS. El archivo de la solución llamado “[color=blue]scriptVC100.sln[/color]” está ubicado en “[color=blue]HDD:\ManGOS\src\src\bindings\scriptdev2[/color]” como te muestro en la captura

[center][img]http://i55.tinypic.com/2ljsw2e.jpg[/img][/center]

Una vez concluido el proceso de compilación, la ventana del compilador se mostrará como puedes ver en la siguiente imagen, así como los archivos compilados, que los dejará en la misma  carpeta que hizo al compilar ManGOS “[color=red]HDD:\ManGOS\src\bin\Win32_Release[/color]”,  sobrescribiendo los que este creo, los puedes identificar por la diferencia en la fecha de creación, el único que nos interesa es “[color=red]mangosscript.dll[/color]”, así que cópialo y pégalo en la carpeta del servidor  "[color=blue]HDD:\ManGOS\Server[/color]" sobrescribiendo al que pusiste cuando creaste ManGOS.

[center][img width=1000 height=725]http://i53.tinypic.com/34zfsr9.jpg[/img][/center]

[color=black][b]Archivo *.Conf de scriprdev2[/b][/color]

Este está en el directorio raíz de Scriptdev2 o sea “[color=blue]HHD:\ManGOS\src\src\bindings\scriptdev2[/color]”, se llama “[color=blue]scriptdev2.conf.dist.in[/color]” y debes hacerle la misma operación que hiciste a los anteriores.

[center][color=maroon]....oooO................. 
.....(....)... Oooo....... 
....\..(......(....)..... 
......\_)......)../....... 
..............(_/........[/color][/center]
   [center][size=3][b][color=black]UTILIDADES[/color][/b][/size][/center]

Este paso es opcional, se trata de las herramientas necesarias para extraer del cliente WoW, la base de datos "DBC" para que el servidor funcione, así como la utilidad de extración y  la de ensamblado del mapa "VMAPS".

[color=black][b]ad.exe[/b][/color]

Esta utilidad es la que extrae la DBC del cliente, la solución, esta ubicada en "[color=blue]HDD:\ManGOS\src\contrib\extractor[/color]" y se llama "[color=blue]VC100_AD.sln[/color]".

El proceso de compilación es identico a los anteriores, el archivo final, lo deja en la misma carpeta que la solución, se llama "[color=red]ad.exe[/color]", debes crear una carpeta dentro de la del servidor, llamada "Utilidades".

Ejemplo:
 [center][quote][[color=red]HDD:\ManGOS\Server\Utilidades[/color]], [color=blue]copia ad.exe en ella, ahí es donde iras dejando las Utilidades del servidor[/color].[/quote][/center]

[color=black][b]vmapExtractor3.exe[/b][/color]

Esta es la utilidad que extrae el mapa del cliente, [color=blue]es para el 3.3.5a[/color], la solución está ubicada en "[color=blue]HDD:\ManGOS\src\contrib\vmap_extractor_v3\win[/color]" y se llama "[color=blue]vmapExtractor3_VC100.sln[/color]".

Repite la misma operación que hicimos antes, el ejecutable, lo deja en la carpeta "[color=red]HDD:\ManGOS\src\contrib\vmap_extractor_v3\bin\Win32_Release[/color]", cópialo y pégado en la que creaste de utilidades.

[color=black][b]vmap_assembler.exe[/b][/color]

Esta utilidad es la que ensambla el mapa para hacerlo legible por nuestro servidor, previamente extraido por la anterior "vmapExtractor3.exe" asi que es el complemento de la otra, lo cual quiere decir que si alguna vez, compilas una, debes hacer lo mismo con la otra.

Está en la carpeta "[color=blue]HDD:\ManGOS\src\contrib\vmap_assembler[/color]" y su solución se llama "[color=blue]vmap_assemblerVC100.sln[/color]".

Idem de lo mismo que la anterior, el ejecutable lo deja en "[color=red]D:\ManGOS\src\contrib\vmap_assembler\bin\Win32_Release[/color]", cópialo y pégado en la carpeta de utilidades, junto con "vmapExtractor3.exe".

[color=black][b]Miscelanea[/b][/color]

Para hacer que "vmapExtractor3.exe" y "vmap_assembler.exe" funcionen conjuntamente, sin necesidad de hacer malabarismos con la ventana del DOS, vamos a crear un archivo batch, que se encargue de hacer la tarea.

[color=red]1º[/color] Ahora crearemos el batch, crea de nuevo un archivo de texto y renombralo por; "[color=blue]creadorvmaps.bat[/color]", pon atención en la extensión [color=red].bat[/color]. Edítalo, y copia el texto que precede:

[code]@echo off
cls
echo.
echo                    Bienvenido al extractor y ensamblador "vmaps"
echo.
echo Necesitas 2GB de espacio libre en el HDD, Pulsa CTRL+C para detener el proceso.
echo Pulsa Enter para iniciar . . .
pause>nul
cls
echo.
echo.
echo.
IF EXIST buildings\dir (ECHO La carpeta buildings ya existe, ¿ quieres borrarla ?
echo Pulsa Enter para borrarla y continuar, si no, cierra el programa ahora! . . .
pause>nul
DEL /S /Q buildings)
vmapExtractor3.exe
cls
echo.
echo.
echo.
IF NOT %ERRORLEVEL% LEQ 1 (echo La herramienta de extracción "vmap" ha finalizado con errores.
echo Pulsa Enter para continuar . . .
pause>nul)
cls
echo.
echo.
echo.
echo mapas extraidos, comprobar "log.txt" por si hubiese errores.    
echo Ahora se procedera ha ensamblar el vmaps pulsa cualquier tecla para continuar . .
pause>nul
md vmaps
vmap_assembler.exe buildings vmaps
cls
echo.
echo.
echo.
IF NOT %ERRORLEVEL% LEQ 1 (echo La herramienta de ensamblado de mapas ha finalizado con errores.
echo Pulsa Enter para continuar . . .
pause>nul)
cls
echo.
echo.
echo.
echo Proceso concluido! copia la carpeta vmaps en el directorio raiz de tu servidor.
echo Pulsa cualquier tecla para salir . . .
pause>nul[/code]

Guardalo y cópialo en al carpeta de Utilidades junto con "vmapExtractor3.exe" y "vmap_assembler.exe". Con estas utilidades ya puedes extraer la DBC y el VMAP del cliente, y en perfecto Castellano de la Mancha.

[color=red]2º Una vez ejecutado el archivo por lotes “[color=blue]creadorvmaps.bat[/color]” y el “[color=blue]ad.exe[/color]” en el directorio raíz de nuestro cliente WoW[/color], como resultado tendremos 4 carpetas, “buildings” que no es necesaria y se puede borrar, “dbc”, “maps” y “vmaps”, que deben ser copiadas en el directorio raíz del servidor “[color=blue]HDD:\ManGOS\Server[/color]”.

Si no te quieres dar el trabajo de compilar las utilidades, para luego ensamblar y crear las carpetas, yo ya lo he hecho por ti, descarga y descomprime los siguientes archivos en tu servidor.

[quote]
[color=red]dbc[/color]
http://www.megaupload.com/?d=KF7PK1M4
[color=red]maps[/color]
http://www.megaupload.com/?d=R2V1XYXC
http://www.megaupload.com/?d=ZBW4UTD9
[color=red]vmaps[/color]
http://www.megaupload.com/?d=YF5RT7RE
http://www.megaupload.com/?d=2HTIZKWF
http://www.megaupload.com/?d=79VTY8S4
[color=blue]Descarga total = 358 megas[/color]
[/quote]

[center]Una instantanea de nuestro Servidor
[img width=1000 height=555]http://i54.tinypic.com/2zq5rx2.jpg[/img][/center]

Hasta aquí hemos llegado con la compilación.


[center][color=black]&#9608;&#9553;&#9612;&#9474;&#9608;&#9474;&#9553;&#9612;&#9553;&#9474;&#9474;&#9608;&#9553;&#9612;&#9474;&#9553;&#9553;&#9608;&#9553;[/color]
® [color=blue]Mrbytes[/color][/center]

[color=brown]Continua en el siguiente post.[/color]


