¡Vuelvo a la carga con más guías! Esta vez se trata de una guía para compilar nuestra instalación de Hercules en Windows. En caso de querer compilar Hercules bajo un sistema operativo GNU/Linux esta guía es inútil, aunque la guía para compilar Hercules en Ubuntu (por txandy) será útil en tal caso porque, además de servir para compilar en Ubuntu también sirve para casi cualquier otro sistema operativo GNU/Linux.
Introducción
Es posible que a mucha gente nueva en esto, acostumbrada a descargar un programa ya hecho (llamémoslo código fuente compilado) y simplemente ejecutarlo para instalarlo después de seleccionar una serie de opciones y darle al botón mágico que tiene el texto "Instalar", le asombre. No todos los programas pueden tener el lujo de venir en esta forma: el caso de Hercules es debido a que es un programa de código abierto sin una instalación típica, con cientos de parámetros de configuración y que además ofrece la posibilidad de modificarlo fácilmente. Ni Hercules ni muchos otros programas con tal diversidad de opciones pueden permitirse ser así.
Para solucionar el anterior problema, en Hercules se proporciona el código fuente y es el usuario quien se preocupa de modificarlo de tal manera que se ajuste a sus necesidades, sea tocando configuraciones especiales o haciendo sus propias modificaciones de código fuente. Así pues, se asegura que habrá un programa final (el servidor) que será razonablemente eficiente y su código fuente legible para quienes sepan manejar código.
Esta guía tendrá solo dos pasos: la descarga e instalación de un compilador de C como es Microsoft Visual C++ (abreviado como MSVC++) y la compilación de por sí de Hercules. Como podréis ver, instalar MSVC++ será incluso más complicado que compilar el código, y tampoco lo será tanto. En caso de tener MSVC++ ya instalado en el ordenador por alguna casualidad, el paso 1 se puede saltar por completo.
Lo que se usará
Básicamente, se necesitan solo dos cosas:
[*]Un compilador de C compatible. Debido a que Hercules usa ciertos trucos avanzados de programación, solo hay unos pocos compatibles:
[*]Cygwin: En realidad es un entorno de consola que imita a la consola de Linux, por lo que se puede compilar igualmente bajo este entorno. No se recomienda compilar en Cygwin debido a que es más complicado y el programa resultante tiene peor rendimiento que si es compilado con MSVC++.
Se ha nombrado Cygwin y es posible compilar Hercules con él de forma similar a como se compilaría desde Linux, aunque como se ha comentado anteriormente no se usará este programa debido a que supone más bien una desventaja que una ventaja. La última versión de MSVC++ (2013 a fecha de la escritura de esta guía) soporta de herramientas de gestión de código fuente y según he podido leer podría ahorrar el paso previo necesario de instalar TortoiseGit para obtener Hercules.
En fin, ya es suficiente tanto texto introductorio, ¿no? ¡Comencemos!
Paso 1: Instalación de Microsoft Visual C++ (O Microsoft Visual Studio)
Paso 1.2: Instalar Microsoft Visual C++ Express o Visual Studio Express
Paso 2: Manejar Visual C++ (o Visual Studio) Express y compilar Hercules
¡Y ya está! ¿A que no es tan complicado compilar Hercules desde Windows? Definitivamente, cuesta más trabajo instalar Microsoft Visual C++ o Visual Studio que compilar el servidor.
¿Parece una guía muy larga y prefieres no leerla? Muy bien. He aquí una versión resumida:
[*]Espera a que compile. Listo.
Eso es todo. Muchísimo más fácil de lo que parecía en un principio, ¿verdad?
Introducción
Es posible que a mucha gente nueva en esto, acostumbrada a descargar un programa ya hecho (llamémoslo código fuente compilado) y simplemente ejecutarlo para instalarlo después de seleccionar una serie de opciones y darle al botón mágico que tiene el texto "Instalar", le asombre. No todos los programas pueden tener el lujo de venir en esta forma: el caso de Hercules es debido a que es un programa de código abierto sin una instalación típica, con cientos de parámetros de configuración y que además ofrece la posibilidad de modificarlo fácilmente. Ni Hercules ni muchos otros programas con tal diversidad de opciones pueden permitirse ser así.
Para solucionar el anterior problema, en Hercules se proporciona el código fuente y es el usuario quien se preocupa de modificarlo de tal manera que se ajuste a sus necesidades, sea tocando configuraciones especiales o haciendo sus propias modificaciones de código fuente. Así pues, se asegura que habrá un programa final (el servidor) que será razonablemente eficiente y su código fuente legible para quienes sepan manejar código.
Esta guía tendrá solo dos pasos: la descarga e instalación de un compilador de C como es Microsoft Visual C++ (abreviado como MSVC++) y la compilación de por sí de Hercules. Como podréis ver, instalar MSVC++ será incluso más complicado que compilar el código, y tampoco lo será tanto. En caso de tener MSVC++ ya instalado en el ordenador por alguna casualidad, el paso 1 se puede saltar por completo.
Lo que se usará
Básicamente, se necesitan solo dos cosas:
- El
[*]Un compilador de C compatible. Debido a que Hercules usa ciertos trucos avanzados de programación, solo hay unos pocos compatibles:
- Microsoft Visual C++: Es parte de
[*]Cygwin: En realidad es un entorno de consola que imita a la consola de Linux, por lo que se puede compilar igualmente bajo este entorno. No se recomienda compilar en Cygwin debido a que es más complicado y el programa resultante tiene peor rendimiento que si es compilado con MSVC++.
Se ha nombrado Cygwin y es posible compilar Hercules con él de forma similar a como se compilaría desde Linux, aunque como se ha comentado anteriormente no se usará este programa debido a que supone más bien una desventaja que una ventaja. La última versión de MSVC++ (2013 a fecha de la escritura de esta guía) soporta de herramientas de gestión de código fuente y según he podido leer podría ahorrar el paso previo necesario de instalar TortoiseGit para obtener Hercules.
En fin, ya es suficiente tanto texto introductorio, ¿no? ¡Comencemos!
Paso 1: Instalación de Microsoft Visual C++ (O Microsoft Visual Studio)
Como se comentó anteriormente, no es necesario instalar toda la suite Microsoft Visual Studio sino solo una edición de Microsoft Visual C++. Por tanto, para hacer la guía se instalará Microsoft Visual C++ 2010 Express debido a que para esta versión no es necesario instalar toda la suite, lo cual será un alivio en uso de espacio en disco y algo de RAM y proceso para aquellos que solo quieran compilar proyectos en C/C++ y no en C#, Visual Basic o proyectos web. El proceso de instalación para cualquier otro producto de Visual Studio debería ser similar, aunque en caso de querer instalar una versión más reciente que la 2010 habrá que comprobar previamente los requisitos del sistema.
Este paso se hará sin mucho detenimiento por las posibles diferencias que haya entre quienes quieran descargar una versión u otra, y dado que se puede suponer que todos saben ya cómo instalar un programa cualquiera. En otro caso, si el lector desea abrir un servidor privado de Ragnarok Online, debería replantearse su decisión al menos hasta que aprenda un poco más de manejo básico de computadores.
Paso 1.1: Descargar el programa instalador
Para comenzar, es necesario acceder a la web de Microsoft Visual Studio y, seleccionar la opción Descargar en el menú principal. Posteriormente habrá que elegir la opción que interese. Para esta guía interesa la opción de descargar productos de 2012 (aunque se vaya a descargar un producto de 2010). Se nos enviará a la página de selección de descargas. Ahora es momento de escoger el instalador que se desee instalar.
Los productos de Visual Studio capaces de compilar Hercules sin problemas (descontando las versiones no Express, porque no son gratis y realmente, ¿quién piensa comprarlas?) son las siguientes:
Visual Studio Express 2013 Preview, para quienes quieran una descarga de 2013. Personalmente ese "Preview" no hace especial gracia al redactor de esta guía debido a que puede significar que la aplicación no es aún final. Cuando lo actualicen y pongan una versión final puede ser una buena opción. Requiere Windows 8;
[*]Visual Studio Express 2012 para Windows Desktop, para quienes quieran descargar toda la suite MSVS de 2012. Requiere una edición de Windows superior a Vista (Windows 7, 8, Server 2008 o Server 2012);
[*]Visual Studio Express 2012 para Windows 8, lo mismo que la anterior, pero solo para Windows 8. Qué original, ¿verdad?
[*]Visual Studio 2010 Express All-In-One ISO, una imagen ISO de toda la suite MSVS 2010 Express, de la cual solo interesa MSVC++ 2010 Express, así que no es la mejor opción a menos que se vayan a usar varias partes de la suite o se tenga afán de coleccionismo.
[*]Visual C++ 2010 Express, que es la descarga que se usará en esta guía, recomendada si se piensa compilar solo Hercules o proyectos afines en C o C++.
Una vez localizada la descarga que interese, simplemente se hace click en el nombre del producto para desplegar su ficha y posteriormente seleccionar idioma (debería venir el español por defecto) y hacer click en el enlace: Instalar ahora (hacer click desde aquí te ahorrará todo este paso). Habrá que guardar el archivo resultante.
Este paso se hará sin mucho detenimiento por las posibles diferencias que haya entre quienes quieran descargar una versión u otra, y dado que se puede suponer que todos saben ya cómo instalar un programa cualquiera. En otro caso, si el lector desea abrir un servidor privado de Ragnarok Online, debería replantearse su decisión al menos hasta que aprenda un poco más de manejo básico de computadores.
Paso 1.1: Descargar el programa instalador
Para comenzar, es necesario acceder a la web de Microsoft Visual Studio y, seleccionar la opción Descargar en el menú principal. Posteriormente habrá que elegir la opción que interese. Para esta guía interesa la opción de descargar productos de 2012 (aunque se vaya a descargar un producto de 2010). Se nos enviará a la página de selección de descargas. Ahora es momento de escoger el instalador que se desee instalar.
Los productos de Visual Studio capaces de compilar Hercules sin problemas (descontando las versiones no Express, porque no son gratis y realmente, ¿quién piensa comprarlas?) son las siguientes:
Visual Studio Express 2013 Preview, para quienes quieran una descarga de 2013. Personalmente ese "Preview" no hace especial gracia al redactor de esta guía debido a que puede significar que la aplicación no es aún final. Cuando lo actualicen y pongan una versión final puede ser una buena opción. Requiere Windows 8;
[*]Visual Studio Express 2012 para Windows Desktop, para quienes quieran descargar toda la suite MSVS de 2012. Requiere una edición de Windows superior a Vista (Windows 7, 8, Server 2008 o Server 2012);
[*]Visual Studio Express 2012 para Windows 8, lo mismo que la anterior, pero solo para Windows 8. Qué original, ¿verdad?
[*]Visual Studio 2010 Express All-In-One ISO, una imagen ISO de toda la suite MSVS 2010 Express, de la cual solo interesa MSVC++ 2010 Express, así que no es la mejor opción a menos que se vayan a usar varias partes de la suite o se tenga afán de coleccionismo.
[*]Visual C++ 2010 Express, que es la descarga que se usará en esta guía, recomendada si se piensa compilar solo Hercules o proyectos afines en C o C++.
Una vez localizada la descarga que interese, simplemente se hace click en el nombre del producto para desplegar su ficha y posteriormente seleccionar idioma (debería venir el español por defecto) y hacer click en el enlace: Instalar ahora (hacer click desde aquí te ahorrará todo este paso). Habrá que guardar el archivo resultante.
Paso 1.2: Instalar Microsoft Visual C++ Express o Visual Studio Express
Una vez finalizada la descarga es preciso ejecutar el archivo obtenido para instalarlo. Tras ejecutarlo hay que esperar un poco a que se cargue la primera pantalla de la instalación. Se puede escoger no enviar información sobre la instalación a Microsoft si se desea. Posteriormente es necesario aceptar la licencia para progresar y escoger si se desea instalar además algún producto opcional (no obligatorio) de los propiestos. Luego se muestra una lista de instalaciones obligatorias que habrán de instalarse en el siguiente paso junto a MSVC++. Si la descarga escogida en el paso anterior no es completa sino que es un instalador web, como el escogido para esta guía, todos estos paquetes de instalación obligatoria se descargarán de Internet para ser instalados mientras se instala también MSVC++. Este proceso de descarga e instalación suele ser largo pero automático, así que es buen momento para prestar atención a otra cosa mientras tanto.
Es posible que el programa de instalación exija el reinicio del sistema durante el proceso para continuar con la instalación. En tal caso habrá que reiniciar tal y como se pide y el programa de instalación continuará y terminará una vez se reinicie el sistema. Es posible que en las horas siguientes sea necesario instalar algunas actualizaciones del sistema.
La única imagen del proceso que se provee se refiere solo a la instalación del software propuesto en esta guía: MSVC++ 2010 Express:
Es posible que el programa de instalación exija el reinicio del sistema durante el proceso para continuar con la instalación. En tal caso habrá que reiniciar tal y como se pide y el programa de instalación continuará y terminará una vez se reinicie el sistema. Es posible que en las horas siguientes sea necesario instalar algunas actualizaciones del sistema.
La única imagen del proceso que se provee se refiere solo a la instalación del software propuesto en esta guía: MSVC++ 2010 Express:
Paso 2: Manejar Visual C++ (o Visual Studio) Express y compilar Hercules
Una vez se tiene el entorno de desarrollo instalado, ya es posible hacer el paso más fácil (¡aunque cueste creerlo!), la compilación. Se puede ejecutar el programa recién instalado a través del menú Inicio o abriendo cualquier fichero .sln (solución de proyecto, como los que se proporcionan con Hercules). Es posible que no se puedan abrir los ficheros .sln de Hercules haciendo doble click directamente sino que tengan que hacer click derecho > Abrir con... y seleccionar el compilador recién instalado. También es posible hacer que se abra directamente con Microsoft Visual C++ asociando la extensión .sln a este programa.
Ahora es momento de abrir el archivo .sln apropiado en la copia local de Hercules previamente obtenida. ¿Cuál es el que hay que abrir? Pues depende de la versión instalada de Visual C++ o Visual Studio. Como en esta guía la versión que se ha instalado es 2010, pues hay que abrir la que corresponde a la versión 2010. Las soluciones correspondientes a ediciones posteriores no son reconocidas por la versión que está instalada:
Por tanto, para quienes hayan seguido la presente guía, el archivo que hay que abrir es Hercules-10.sln; Hercules-12.sln es la solución para Visual Studio 2012, y a fecha de la redacción de esta guía no hay versión específica para Visual Studio 2013 pero no debería dar problemas si con Visual Studio 2013 se abre la solución para la versión 2012. En caso de que alguien tuviera Visual Studio 2008, pues le correspondería abrir Hercules-9.sln. La marca de verificación blanca sobre verde que aparece en el archivo la coloca TortoiseSVN o TortoiseGit, depende de cómo se haya obtenido la copia local de Hercules.
Al abrir el archivo que corresponda saldrá la pantalla de carga, que desaparecerá una vez cargue el entorno de desarrollo integrado, cuyo aspecto, una vez ha terminado de cargar por completo, debería ser más o menos así:
Se puede ignorar y denegar la participación en el "programa para la mejora de la experiencia del usuario" que ofrece Microsoft, pues la expectativa es que este programa se usará para poco más que compilar Hercules.
El panel central, que aparece vacío, tiene múltiples usos: ahí generalmente aparece una pantalla de bienvenida si se abre Visual Studio (o Visual ++) directamente sin ejecutar ningún programa, o también permite la edición de archivos de código fuente desde ahí. También aparecerá ahí una ventana con lo que se está haciendo en la consola mientras se compila y que muestra los resultados. A fin de cuentas, toda la interfaz es muy intuitiva.
Compilemos Hercules de una vez. ¿Cómo se hace? Muy sencillo, simplemente se seleccionan con ctrl + click los proyectos que se quieran compilar dentro de la solución Hercules (generalmente todos menos plugin-sample, que es un plugin de ejemplo) y se hace click en Generar selección.
Tras ello aparecerá la consola de resultados informando del proceso de compilación. Habrá que esperar a que el proceso de compilación termine y genere los programas ejecutables resultado, junto a otros archivos que también genera el compilador, cuya utilidad es desconocida al redactor.
En la consola de resultados debería aparecer algo similar a esto cuando una compilación exitosa haya acabado:
========== Generar: 4 correctos, 0 incorrectos, 0 actualizados, 0 omitidos ==========
Lo cual significaría que, si se ha marcado la selección de la imagen anterior para compilar, se han generado login-server.exe, map-server.exe, char-server.exe y mapcache.exe (junto a los otros que se también se producen al compilar con Visual C++). Los archivos generados en total por Visual C++ son los siguientes:
¡Ya se ha compilado Hercules con éxito!
En caso de querer recompilar el servidor, es recomendable primero limpiar los programas generados (opción Limpiar selección) y luego volver a generarlos. Para limpiar la selección es obligatorio que no esté en uso, si no, la limpieza no será completa porque no se puede mover, sobrescribir o eliminar ningún archivo que se esté ejecutando. También es posible el uso de la opción Volver a generar selección para tal efecto.
Ahora es momento de abrir el archivo .sln apropiado en la copia local de Hercules previamente obtenida. ¿Cuál es el que hay que abrir? Pues depende de la versión instalada de Visual C++ o Visual Studio. Como en esta guía la versión que se ha instalado es 2010, pues hay que abrir la que corresponde a la versión 2010. Las soluciones correspondientes a ediciones posteriores no son reconocidas por la versión que está instalada:
Por tanto, para quienes hayan seguido la presente guía, el archivo que hay que abrir es Hercules-10.sln; Hercules-12.sln es la solución para Visual Studio 2012, y a fecha de la redacción de esta guía no hay versión específica para Visual Studio 2013 pero no debería dar problemas si con Visual Studio 2013 se abre la solución para la versión 2012. En caso de que alguien tuviera Visual Studio 2008, pues le correspondería abrir Hercules-9.sln. La marca de verificación blanca sobre verde que aparece en el archivo la coloca TortoiseSVN o TortoiseGit, depende de cómo se haya obtenido la copia local de Hercules.
Al abrir el archivo que corresponda saldrá la pantalla de carga, que desaparecerá una vez cargue el entorno de desarrollo integrado, cuyo aspecto, una vez ha terminado de cargar por completo, debería ser más o menos así:
Se puede ignorar y denegar la participación en el "programa para la mejora de la experiencia del usuario" que ofrece Microsoft, pues la expectativa es que este programa se usará para poco más que compilar Hercules.
El panel central, que aparece vacío, tiene múltiples usos: ahí generalmente aparece una pantalla de bienvenida si se abre Visual Studio (o Visual ++) directamente sin ejecutar ningún programa, o también permite la edición de archivos de código fuente desde ahí. También aparecerá ahí una ventana con lo que se está haciendo en la consola mientras se compila y que muestra los resultados. A fin de cuentas, toda la interfaz es muy intuitiva.
Compilemos Hercules de una vez. ¿Cómo se hace? Muy sencillo, simplemente se seleccionan con ctrl + click los proyectos que se quieran compilar dentro de la solución Hercules (generalmente todos menos plugin-sample, que es un plugin de ejemplo) y se hace click en Generar selección.
Tras ello aparecerá la consola de resultados informando del proceso de compilación. Habrá que esperar a que el proceso de compilación termine y genere los programas ejecutables resultado, junto a otros archivos que también genera el compilador, cuya utilidad es desconocida al redactor.
En la consola de resultados debería aparecer algo similar a esto cuando una compilación exitosa haya acabado:
========== Generar: 4 correctos, 0 incorrectos, 0 actualizados, 0 omitidos ==========
Lo cual significaría que, si se ha marcado la selección de la imagen anterior para compilar, se han generado login-server.exe, map-server.exe, char-server.exe y mapcache.exe (junto a los otros que se también se producen al compilar con Visual C++). Los archivos generados en total por Visual C++ son los siguientes:
¡Ya se ha compilado Hercules con éxito!
En caso de querer recompilar el servidor, es recomendable primero limpiar los programas generados (opción Limpiar selección) y luego volver a generarlos. Para limpiar la selección es obligatorio que no esté en uso, si no, la limpieza no será completa porque no se puede mover, sobrescribir o eliminar ningún archivo que se esté ejecutando. También es posible el uso de la opción Volver a generar selección para tal efecto.
¡Y ya está! ¿A que no es tan complicado compilar Hercules desde Windows? Definitivamente, cuesta más trabajo instalar Microsoft Visual C++ o Visual Studio que compilar el servidor.
¿Parece una guía muy larga y prefieres no leerla? Muy bien. He aquí una versión resumida:
- Si no lo tienes ya, descarga Microsoft Visual C++ Express o Visual Studio (que contiene VC++) y abre la solución de Hercules que corresponda.
- Selecciona login, map, char server y mapcache en el explorador de soluciones, haz click derecho y selecciona
[*]Espera a que compile. Listo.
Eso es todo. Muchísimo más fácil de lo que parecía en un principio, ¿verdad?
Last edited by a moderator: