En esta guía se van a describir los pasos de la instalación de SkyFire EMU sobre una distribución de Linux llamada Debian, en su versión 6, o lo que es lo mismo, de nombre Squeeze, puedes adquirirla en la página oficial aquí.
Bueno, estando ya instalada y funcionando, vamos a empezar por instalar las dependencias de SkyFire EMU, siempre desde el usuario root.
aptitude install build-essential autoconf libtool gcc g++ make cmake subversion mercurial patch wget links zip unzip unrar-free openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev libreadline5-dev zlib1g-dev libbz2-dev git-core libace-dev libace-5.7.7 screen git git-core ssh unzip libssl-dev libssl0.9.8 libssl-dev
Esto entre otras cosas nos va a instalar MySQL, el cual nos va a pedir una contraseña, se recomienda establecer una contraseña diferente al usuario "root" el cual ya establecimos su contraseña en la instalación de Debian.
Nos situamos en la ruta de instalación, descargamos el emu, e iniciamos su compilación e instalación. Atentos a la penúltima línea, un ejemplo de su uso sería make -j2
cd /opt
git clone git://github.com/ProjectSkyfire/SkyFireEMU
cd SkyFireEMU
mkdir build
cmake ../ -DPREFIX=/home/`echo $USER`/skyfire -DTOOLS=1
make -j(nº de cores)
make install
git clone git://github.com/ProjectSkyfire/SkyFireEMU
cd SkyFireEMU
mkdir build
cmake ../ -DPREFIX=/home/`echo $USER`/skyfire -DTOOLS=1
make -j(nº de cores)
make install
Vamos a instalar la base de datos oficial de SkyFire EMU, substituye USUARIO_ROOT_MYSQL por el usuario con permisos a escribir en la base de datos y cambia CLAVE por la clave que establecistes en el primer paso de instalación de MySQL
mysql -u USUARIO_ROOT_MYSQL -pCLAVE < /opt/SkyFireEMU/sql/create/create_mysql.sql
mysql -u USUARIO_ROOT_MYSQL -pCLAVE auth < /opt/SkyFireEMU/sql/base/auth/auth.sql
mysql -u USUARIO_ROOT_MYSQL -pCLAVE characters < /opt/SkyFireEMU/sql/base/character/character.sql
mysql -u USUARIO_ROOT_MYSQL -pCLAVE auth < /opt/SkyFireEMU/sql/base/auth/auth.sql
mysql -u USUARIO_ROOT_MYSQL -pCLAVE characters < /opt/SkyFireEMU/sql/base/character/character.sql
Una vez creado el esqueleto de la base de datos vamos a rellenarla

git clone git://github.com/ProjectSkyfire/SkyFireDB
cd SkyFireDB/
nano linux_installer.sh
cd SkyFireDB/
nano linux_installer.sh
Por último lo ejecutas:
./linux_installer.sh
Copiamos los archivos de configuración que posteriormente editaremos de acuerdo con nuestras necesidades del server, el cual de nuevo cambiaremos los valores de acceso a nuestra base de datos (usuario, contraseña etc)
cp /opt/SkyFireEMU/src/server/worldserver/worldserver.conf.dist /home/root/skyfire/etc/worldserver.conf
cp /opt/SkyFireEMU/src/server/worldserver/authserver.conf.dist /home/root/skyfire/etc/authserver.conf
cp /opt/SkyFireEMU/src/server/worldserver/authserver.conf.dist /home/root/skyfire/etc/authserver.conf
Editaríamos cada uno de los dos archivos que antes mencionabamos con :
nano /home/root/skyfire/etc/authserver.conf
nano /home/root/skyfire/etc/worldserver.conf
nano /home/root/skyfire/etc/worldserver.conf
Vamos a editar los valores de la base de datos auth, con nuestra IP para que podamos conectarnos, recordad que si estamos en un server que tenga configurada una IP pública, debemos establecer este mismo valor, en caso de estar en una LAN, debemos introducir el valor correspondiente a su IP interna.
mysql -u USUARIO_ROOT_MYSQL -pCLAVE
Cambiamos valores:
use auth;
UPDATE realmlist SET name = 'Your Realm Name' WHERE id = 1;
UPDATE realmlist SET address = 'Your IP' WHERE id = 1;
exit
UPDATE realmlist SET name = 'Your Realm Name' WHERE id = 1;
UPDATE realmlist SET address = 'Your IP' WHERE id = 1;
exit
Cambia 'Your Realm Name' por el nombre de tu server, y 'Your IP' por la ip que corresponda según el paso anterior.
Es el momento de bajar e instalar el estupendo trabajo de EsWoW2 para Cataclysm, se da por sentado que ya sabeis como hacerlo

Ahora vamos a bajar las herramientas de SkyFire EMU, ellas nos van a permitir extraer los mapas de nuestra instalación de Cataclysm entre otras cosas...
git clone git://github.com/ProjectSkyfire/SkyFire-Community-Tools
Tenemos que copiar los archivos de la ruta :
/opt/SkyFireEMU/SkyFire-Community-Tools/Extractors/406a#
A la carpeta de tu instalación de Cataclysm. debes copiar los archivos extractor.exe vmap3assembler.exe y vmap3extractor.exe a tu carpeta de WoW Cataclysm 4.06a.
Antes de que hagas nada, copia tu actual archivo wow.exe (que tiene que ser de la versión 4.06a) a otro nombre (wow406.exe por ejemplo), o en otra carpeta, luego tienes que editar los archivos config.wtf y launcher.wtf dentro de la carpeta WTF de tu wow. Si falta alguno de ellos lo creas, ambos tienen que contener en su interior esta variable :
SET accountType "CT"
es posible que exista de esta manera :
SET accountType "LK"
tú lo cambias y lo dejas en ambos archivos a SET accountType "CT" luego corres el launcher y dejas que se actualize a tope, es decir, no pasa nada si se actualiza todo a 4.20, de hecho tiene que ser así

Cuando la actualización de tu wow haya terminado, abres una ventana cmd, te situas en tu carpeta wow y ejecutas primeramente extractor.exe , esto te va a crear dos carpetas, dbc y maps, ambas las tienes que mover a /home/root/skyfire/bin
Después ejecuta vmap3extractor.exe y deja que termine, te creará una carpeta llamada Buildings. Creaté dentro de la carpeta wow una carpeta llamada vmaps y por último ejecuta
vmap3assembler.exe Buildings vmaps
Mueveté esa carpeta vmaps a /home/root/skyfire/bin
Borra las carpetas Buildings, dbc, maps y vmaps, así como extractor.exe, vmap3assembler.exe y vmap3extractor.exe de tu carpeta del wow, es el momento de parchear el wow.exe (pero ojo, el wow.exe es ahora 4.20) a si que le vas a cambiar el nombre a wow420.exe, y tu anterior archivo wow406.exe lo vas a copiar / renombrar a wow.exe
Copiaté los archivos (tres archivos) de
/opt/SkyFireEMU/SkyFire-Community-Tools/SkyFire Patcher/406a#
a tu carpeta del wow, desactiva antes el antivirus, suele darte alarma al archivo injector.exe
Ejecuta SkyFirePatcher.exe contra el archivo wow.exe, si todo sale bien te lo modificará y verás en verde el resultado con "success" o algo así.
Ya podemos correr el server :
screen -S auth
cd /home/root/skyfire/bin
./authserver
cd /home/root/skyfire/bin
./authserver
Pulsa las teclas CRTL + D para salirnos de la ventana virtual creado con el comando screen y lanzar la segunda ventana :
screen -S world
cd /home/root/skyfire/bin
./worldserver
cd /home/root/skyfire/bin
./worldserver
Pulsa las teclas CRTL + D de nuevo.
Ya tienes el servidor andando. Si necesitas entrar en alguna de las ventanas anteriores virtuales para pulsar CRTL +C para cortar la ejecución o reiniciar, lo que sea, usa
screen -r auth
(para entrar en auth) o
screen -r world
(para el mundo)
para cerrar esas ventanas "exit" en cualquiera de ellas.
PD: El comando screen es útil para dejar corriendo los servicios de auth y world para cuando nos salgamos de nuestra sesión ssh los binarios sigan corriendo, si usasemos esos comandos sin usar screen al cerrar la sesión ssh se cerraría la ejecución de los binarios y el servidor dejaría de estar corriendo.
Guía realizada por Locario, ale, a viciarse
