[Hilo oficial] TrinityCore 2

Iniciado por Ariath, 20 Marzo 2010, 15:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Ariath

Bueno, lo primero que quiero decir es, que todo lo que tenga que ver con TrinityCore en el futuro lo publiquéis en este hilo.

Hace tiempo pensé en tener un único hilo sobre emulación de servidores de World of Warcraft, pero pensando mejor las cosas, sería un auténtico caos con toda la información en un único hilo (y todos los lloros también en el mismo :P ).

Por lo tanto, he decidido que haya un hilo oficial, por cada emulador existente, y que todo lo que tenga que ver con ese emulador se ponga en su hilo correspondiente.

De esa manera, aunque haya 4 o 5 hilos sobre los mismos temas (o parecidos), serán eso, 4 o 5 solo, y podrá estar toda la información medianamente bien recogida.

Una vez hecho ese inciso, vamos al tema de este hilo.



Como su nombre indica, este hilo está dedicado a TrinityCore 2, el cual es un derivado del emulador MaNGOS (del cual completaré su hilo también pronto, se me demoró demasiado).

Lo primero que se va a comentar, son los programas necesarios para montar un servidor TrinityCore 2, una vez hecho eso se va a indicar las direcciones de donde se debe descargar tanto el código fuente del emulador, como la base de datos (y también se va a indicar una tabla de revisiones, explicaré para que se necesita más adelante), luego se indicará cómo proceder a descargar ambas cosas, después se verá cómo se debe proceder a compilar el emulador e instalar las bases de datos, y pasado este punto, se mencionará cómo se debe configurar el emulador (únicamente las cosas más importantes, el fichero de configuración es muy extenso, y no me voy a perder por el demasiado. Quien quiera, que se lo mire entero).

Pasado esta parte (es decir, una vez se tiene el emulador completamente montado y preparado para jugar localmente), se verá cómo se debe proceder para actualizarlo en el futuro, así como cómo se debe proceder para montar el servidor de manera que sea compatible con una versión determinada del juego (es decir, la primera parte que he comentado antes, se trata de montar siempre la última versión del emulador), para lo cual será fundamental tener en cuenta la tabla de revisiones que mencioné antes.

Ya para terminar, se hablará un poco sobre la tabla realmlist de la base de datos realmd. Lo que se mencionará aquí tiene que ver con la puesta apunto de varios reinos, de manera que nos podamos conectar al servidor desde cualquier sitio (localmente, desde LAN u online).

Sobre éste último punto en particular, quiero hacer otro inciso, y es que, las cosas que mencionaré, se basan en mis propias experiencias personales, por lo tanto, sobre todo para la parte online, os tendréis que buscar la vida para averiguar como se abren y redireccionan puertos en vuestro propio router.

Bueno, creo que no me dejo nada en el tintero... ¡Ah, si, una cosa más!

Yo he cogido el hábito de montar y configurar el servidor desde la consola de comandos de Windows (y el terminal de Linux), lo que básicamente significa, que no voy a colgar imágenes de ningún tipo de interfaz, salvo de lo que sea estrictamente necesario para que se vean bien las cosas.

Esto lo hago por las siguientes razones:

a) Las interfaces gráficas suelen variar muchas veces, en menor o mayor detalle a lo largo del tiempo, mientras que la manera de manejar los programas mediante comandos suele ser siempre la misma. De este modo, me aseguro de que las instrucciones sean válidas durante mucho tiempo (si tuviese que mostrar una interfaz, a saber cuando tiempo pasaría antes de que cambiasen algún elemento de sitio).

b) Aunque para aprender a montar los servidores, e incluso para mantener uno pequeño para juego en LAN, se puede usar Windows perfectamente, lo adecuado para estos temas (y en general, lo que se suele hacer siempre), es tener el servidor montado en Linux. Por lo tanto, si aprendéis a hacer las cosas estas ahora en Windows mediante la consola de comandos, no solo iréis más rápido que pulsando botones en interfaces gráficas, sino que, si decidís en el futuro montar el servidor de forma seria, en un servidor dedicado con Linux, etc ... os será muy fácil adaptaros.

Los siguientes 2 o 3 posts los reservo para la guía, que supongo que no me ocupará más de esos 3 (así aparte, cada sección está claramente diferenciada y separada).

Salu2

Ariath

#1
Instalando TrinityCore 2 - Parte 1/2



Repositorio de TrinityCore 2: https://trinitycore.googlecode.com/hg/
Repositorio de TrinityDatabase: https://trinitydb.googlecode.com/hg/






Instalación del software necesario



Lo primero que necesitamos es el software correspondiente.

Tanto la base de datos como el emulador están hospedados en repositorios de Mercurial, por lo tanto necesitaremos bajarnos e instalar Mercurial.

Luego, necesitamos tener MySQL Server 5.1 para instalar en el las bases de datos (y como extra, para administrar las mismas, necesitamos un gestor de bases de datos. Yo trabajo con MySQL Query Browser, pero cada cual que use el que quiera).

También tendremos que compilar el emulador una vez lo hayamos descargado, para eso necesitamos Visual C++ 2008 Express (o la versión Professional si quereis).


Mercurial: http://mercurial.selenic.com/

Visual C++ 2008 Express: http://www.microsoft.com/express/Downloads/#2008-Visual-CPP

MySQL Server: http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-essential-5.1.45-win32.msi/from/http://gd.tuwien.ac.at/db/mysql/

MySQL GUI Tools (inc. Query Browser): http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r17-win32.msi/from/http://mysql.rediris.es/


La descarga de las aplicaciones no la comento. Las 2 de MySQL son enlaces directos, y en cuanto a las otras, nada más abrir las páginas se ven claramente los botones para descargarlas.

La instalación de las mismas tampoco la comento, porque en todos casos son del tipo Siguiente->, no obstante, si voy a hacer algunos comentarios.

MySQL Server
Acordaos de, cuando lleguéis a la zona donde tenéis que introducir el password de usuario administrador (root), de anotaroslo por algún sitio. Lo digo, porque cuando a la gente se le dice que entre en MySQL con su password de administrador, la respuesta más típica es: ¿Cuál es ese password?.

Para que no haya dudas, la ventana del password es más o menos así:



Mercurial
Cuando lleguéis a la última ventana, acordaos de dejar marcada la segunda opción, es decir: "Add the installation path to the search path". Esto os permitirá manejar Mercurial cómodamente desde la ventana de comandos.

Para que no haya dudas, la ventana es más o menos así:



Visual C++ 2008
No añado "express" porque esto es común también a la versión Professional. En una de las ventanas se os preguntará si queréis instalar Microsoft SQL Server. Para ahorrarnos posibles líos, desmarcar esa opción.

También cabe la posibilidad de que aparezca para instalar algo llamado MSDN. No pasa nada si lo dejáis marcado para instalar, pero dado que es la documentación de Visual C++ 2008, y que vosotros no vais a programar nada (al menos en principio), no es necesario dejarla marcada, y os ahorrará una descarga extra de unos 300 MB.

Para que no haya dudas, la ventana es más o menos así (salvo por el idioma):



Por supuesto, si ya tenéis instaladas una o varias de estas cosas, no necesitáis instalarlas de nuevo (Mercurial supongo que no lo tendrá nadie, con lo que casi seguro que esa la tendrá que instalar todo el mundo).




Descargando el emulador y la base de datos



Luego de tener instalado todo, vamos a empezar a pringar.

Lo primero es abrir la consola de comandos de Windows y perderle el miedo. Para los que no sepan abrirla, basta con hacer Control+R, se abrirá la ventana "Ejecutar". Simplemente escribís cmd y pulsáis intro (o enter).

Aquí en esta pantalla tan negra es donde vamos a trabajar, por lo menos con algunas cosas.

Para tenerlo todo accesible, vamos a bajar todas las cosas en el escritorio, de ese modo lo tendremos todo a la vista.

NOTA: Yo uso Windows 7, por lo que me referiré al escritorio por su ruta en este S.O (C:\Users\Usuario\Desktop) (donde pongo Usuario va el nombre de vuestra cuenta de Windows). Si alguien usa Windows XP, la ruta sería: X:\Documents and Settings\Usuario\Escritorio , donde X es la letra de la partición de Windows.

Lo primero que hacemos es irnos al escritorio:
cd \Users\Usuario\Desktop

Y ahora nos bajamos el emulador de TrinityCore2 mediante Mercurial:
hg clone https://trinitycore.googlecode.com/hg/ TrinityCore2

(NOTA: Para que se entienda bien la orden que estamos usando, hg es el programa Mercurial, clone es la opción que indica que queremos clonar un repositorio a nuestro disco duro, y TrinityCore2 hace referencia al nombre de la carpeta donde se va a guardar el contenido del repositorio que guardamos.

Con esto lo que estamos haciendo, es descargarnos a esa carpeta todo el código fuente de TrinityCore2 (estamos clonando el repositorio que hay en Internet en esa carpeta, por lo que es una copia idéntica, al milímetro))


Esto tarda un rato, pues se está descargando entre 250-300 MB.

Cuando termine, volvemos a hacer algo parecido, pero esta vez para descargarnos TrinityDatabase:
hg clone https://trinitydb.googlecode.com/hg/ TDB




Compilando el emulador.



Llegados a este punto, tenemos en el escritorio de Windows 2 carpetas: TrinityCore2 (conteniendo el código fuente del emulador) y TDB (conteniendo la base de datos).

Lo primero que vamos a hacer ahora, es poner a compilar el emulador, y como va a demorarse un poco, mientras, vamos a poner a punto la base de datos (o si queréis hacer ambas cosas por separado, vosotros mismos ;) ).

Compilar el emulador es sumamente fácil. En el escritorio (esto no hace falta hacerlo por consola, pero de todas formas no la cerréis), vais a la ruta TrinityCore2\win, y en esa carpeta win encontraréis la solución TrinityCore&Script VC90.sln. La abrís (se os debería de abrir el Visual C++ 2008), y, cuando la tengáis abierta, solo tenéis que hacer 2 cosas:

1º. Si en la lista desplegable que hay al lado del triángulo verde (dicho triángulo está debajo del menú Herramientas) está seleccionado Debug, cambiarlo por Release.

2º. Pulsar en el menú Generar la opción Generar solución (o algo así, no recuerdo el texto exacto).

Hecho esto, el emulador empezará a compilarse, y como digo, va a tirarse un ratillo.

Vamos a ver la base de datos mientras :) .

Salu2

Ariath

#2
Instalando TrinityCore 2 - Parte 2/2



Instalación de las bases de datos



Primero, vamos al escritorio de nuevo, y entramos en la ruta TDB\full_db. Nos encontraremos con un archivo comprimido en RAR. Lo descomprimimos y saldrá un SQL.

Ahora volvemos a la consola de comandos. Vamos a poner a punto las bases de datos. Es cierto que se podría hacer con cualquier gestor de bases de datos gráfico, pero hacerlo por consola es sumamente fácil.

Lo primero que vamos a hacer, lo siguiente:
SET PATH=%PATH%;"C:\Program Files\MySQL\MySQL Server 5.1\bin"

(NOTA: La ruta variará si tenéis XP. En ese caso, sustituid C: por la unidad del la partición de Windows, y "Program Files" por "Archivos de Programa" (sin comillas))

Esto va a añadir temporalmente la carpeta de instalación de MySQL a la lista de rutas donde Windows busca programas (cuando en la consola ejecutamos cd, hg u otro programa, Windows busca en una serie de rutas predefinidas dicho programa).

Ahora que tenemos eso hecho, hacemos:
mysql -h localhost --user="root" --password"PASSWORD_ROOT" -e"CREATE DATABASE IF NOT EXISTS characters;"

mysql -h localhost --user="root" --password"PASSWORD_ROOT" -e"CREATE DATABASE IF NOT EXISTS world;"

mysql -h localhost --user="root" --password"PASSWORD_ROOT" -e"CREATE DATABASE IF NOT EXISTS realmd;"



(NOTA: PASSWORD_ROOT es el password que hemos configurado anteriormente para el usuario administrador de MySQL. Si ya teníais anteriormente bases de datos con esos nombres en MySQL, ponerle otro nombre a estas y ya está, pero acordaos luego de cuales estáis usando. Yo de todas formas, me referiré a ellas con los nombres que he usado aquí)

Con esto ya tenemos creadas las bases de datos, ahora vamos a importar los contenidos.

mysql -h localhost --user="root" --password="PASSWORD_ROOT" characters < "TrinityCore2\sql\characters.sql"

mysql -h localhost --user="root" --password="PASSWORD_ROOT" realmd < "TrinityCore2\sql\realmd.sql"

mysql -h localhost --user="root" --password="PASSWORD_ROOT" world < "TDB\full_db\TDB_332.8.26_7332.sql"


Con estas instrucciones, hemos armado las bases de datos.

(NOTA: Este archivo "TDB_332.8.26_7332.sql", es el que antes hemos descomprimido del RAR. Ese es el nombre que tiene al momento de escribir esto, pero irá variando con el tiempo.)




Aplicando las actualizaciones necesarias.



Ahora, una vez están las bases de datos instaladas, nos queda ver si hay alguna actualización que aplicar a las bases de datos.

Bien, llegados a este punto, ya abandonamos del todo la consola de comandos, con lo que la podéis cerrar sin problemas :) .

Ahora es cuando tenéis que abrir vuestro gestor de bases de datos favorito y, sabiéndolo manejar (obviamente), tenéis que importar los scripts necesarios para actualizar las bases de datos.

(NOTA: Dependiendo del gestor que uséis, algunos no se refieren a esta operación como "importar scripts SQL", sino más bien como "ejecutar scripts SQL".)

Bien, primeramente vamos a situarnos. Nos encontramos con el escritorio de Windows delante, ninguna ventana de consola ya por medio, y con vuestro gestor de bases de datos abierto en algún sitio y conectado apropiadamente a MySQL.

Ahora, lo que tenéis que hacer, es, en vuestro gestor, abrir la base de datos world y ver el contenido de la tabla version.



He puesto la imagen a su tamaño normal para que se vea bien a un golpe de vista.

Bueno, pues aquí en lo que tenéis que fijaros primeramente, es en la columna db_version. Quedaros bien con el contenido de dicha columna.

Ahora, sin cerrar el gestor, minimizarlo y, en el escritorio, ir a la ruta TDB\updates.

Bien, aquí vais a ver varias carpetas con números. Pues, ahora tenéis que buscar una carpeta cuyos números coincidan con los 2 primeros números de la columna db_version, de manera que, si como en el ejemplo, la columna tiene los números 332.8.27, tenéis que buscar la carpeta que empiece por 332.8.

La abrís, y dentro encontraréis varios SQL. Os tenéis que fijar en el número por el que comienzan. En esta ocasión, tenéis que mirar si hay un grupo de archivos que comiencen por un número MAYOR que el tercer número muestra vuestra columna db_version, de manera que, si como en el ejemplo, la columna tiene los números 332.8.27, tenéis que mirar si hay SQLs que comiencen por un número MAYOR a 27.

Y por último, SOLO nos interesan aquellas que correspondan a la base de datos world. A NINGUNA más.

Ejemplo:

27_01_corepatch_world_7333_7582.sql
27_02_procedures_world.sql
27_03_updatepack_world.sql
27_corepatch_characters_7333_7582.sql

28_01_corepatch_world_7333_7582.sql
28_02_procedures_world.sql
28_03_updatepack_world.sql

28_corepatch_characters_7333_7582.sql

Las señaladas en negrita, corresponden a las que serían válidas. Como veis, empiezan por 28, que es mayor a 27. Y además, solo se han marcado aquellas que tienen world en el nombre del fichero.

Pues, todas esos scripts SQL, tenéis que importarlos en la base de datos world (a la cual pertenecen), y lo tenéis que hacer en el mismo orden en que salen aquí (para eso están numerados: 28_01, 28_02, etc ... ).

Una vez halláis hecho esto, la columna db_version debería reflejar la actualización realizada (es decir, si estabais en la versión 332.8.27, y habéis aplicado todas las actualizaciones que empezaban por 28, dicho número en la columna db_version debería reflejar ahora 332.8.28).

Solo queda un último paso en lo concerniente a la base de datos. En esta ocasión, tenéis que fijaros en la columna core_revision. En el ejemplo, dicha columna está con el valor 7601.

Pues bien, ahora os vais, desde el escritorio de Windows, a la ruta TrinityCore2\sql\updates.

De aquí, tenéis que aplicar TODAS las actualizaciones que comiencen por un número MAYOR que el que tenéis en la columna core_revision, y cada actualización la tenéis que aplicar en su base de datos correspondiente.

¿Cómo sabemos en este caso a cual base de datos corresponde cada una? Muy facil, fijaros en este ejemplo:

7598_world_scriptname.sql
7604_characters_item_refund_instance.sql
7609_world_spell_proc_event.sql

Está claro, ¿No?, después del número, la primera palabra que aparece, corresponde al nombre de la base de datos a la cual pertenecen la actualizaciones.

Y también, como veréis, siguiendo este ejemplo en el cual la columna core_revision vale 7601, de estas 3 actualizaciones por ejemplo, tendríamos que aplicar solamente las 2 últimas, porque la primera, tiene un número de revisión MENOR que 7601.

Y hasta aquí la parte de las bases de datos. Una última cosa, y muy importante, que, pese a que no lo dicen (no recuerdo haberlo leído) en el foro de TrinityCore, lo digo yo: Es MUY IMPORTANTE, que, llegados a este punto, en un archivo de texto mismo, en esa misma carpeta de actualizaciones, creéis un simple documento de texto TXT con el bloc de notas, y escribáis exactamente el nombre del fichero de la última actualización que habéis aplicado. Dicho fichero lo podéis llamar "ultima actualización aplicada", "last update", o como queráis.

¿Esto para qué es?, Pues es porque, como ese valor del core_revision no suele cambiar a medida que aplicáis actualizaciones, sino os apuntáis cual fue la última aplicada, cuando en el futuro actualicéis el servidor, no vais a saber a partir de cuál actualización tenéis que empezar a aplicarlas.

Se me olvidaba un detalle: Tanto en este momento, como tras cualquier actualización que hagáis de la base de datos world, hay 3 scripts SQL que tenéis que aplicar en dicha base de datos.

Están en TrinityCore2\sql\FULL y son los siguientes: world_script_texts.sql,
world_script_waypoints.sql y world_scripts_full.sql.

Y ahora si, la recta final. La configuración del emulador.




Configuración básica del emulador.



Lo primero que tenéis que hacer, es renombrar los ficheros de configuración. En la carpeta TrinityCore2\bin\Win32_Release, junto a todos los archivos que harán andar vuestro servidor, tenéis los archivos TrinityCore.conf.dist y TrinityRealm.conf.dist.

El renombramiento se reduce a eliminar la terminación .dist de ambos.

Y ahora la parte de la configuración, empiezo por TrinityRealm, que es el más corto:


TriniryRealm.conf

LoginDatabaseInfo = "127.0.0.1;3306;usuario_mysql;password_mysql;base_de_datos_realmd"
ProcessPriority = 1 (Prioridad en que se ejecuta el servidor de reinos: 0 - Normal, 1 - Alta)


TrinityCore.conf

LoginDatabaseInfo     = "127.0.0.1;3306;usuario_mysql;password_mysql;base_de_datos_realmd"
WorldDatabaseInfo     = "127.0.0.1;3306;usuario_mysql;password_mysql;base_de_datos_world"
CharacterDatabaseInfo = "127.0.0.1;3306;usuario_mysql;password_mysql;base_de_datos_characters"

ProcessPriority = 1 (Igual que el Realmd)

vmap.enableLOS = 0 (Habilita el uso de los VMaps, para evitar que los bichos "vean" a través de las paredes)
vmap.enableHeight = 0 (Igual que el anterior. Se requieren ambos)


Y hasta aquí la parte del a configuración básica del emulador. Ahora solo quedan extraer los DBCs, Maps y VMaps.




Extracción de datos del juego (Maps, VMaps y  DBCs).



Ésta es sin duda una de las partes más fáciles de hacer. Vamos a extraer los datos necesarios del juego para que el emulador vaya bien.

El software que necesitamos usar está en la carpeta TrinityCore2\contrib, y son tan solo 2 programas.

Necesitamos 3 cosas para que el emulador ande (en realidad 2 solamente): Los DBCs son unos archivos que contienen información del juego, son como tablas en las que hay codificado multitud de datos (y solo se pueden editar con programas especiales, aparte que no es recomendable hacerlo), los Maps, en contra de lo que pueda parecer, no son los mapas del juego. Son archivos que contienen información sobre los mapas del juego, pero no son los mapas en sí. Son imprescindibles para poder descubrir el territorio de juego.

Lo último serían los VMaps, y, aunque no son necesarios (se puede usar el emulador sin ellos), está bien tenerlos. Son los llamados Mapas de visión (erróneamente llamados por mí en más de una ocasión como Mapas de colisiones :P ), y, aunque su funcionamiento no es muy fino todavía... ayuda a que los enemigos no os vean a través de los muros, por ejemplo.

Ahora vamos al lío ;) .

(NOTA: ¡Importante!, Es IMPRESCINDIBLE, que esta clave exista en vuestro Registro de Windows:

32 bit: HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft
64 bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Blizzard Entertainment\World of Warcraft

Y que contenga un campo de nombre InstallPath con la ruta del juego del que queréis extraer la información.)

Extraer lo datos es fácil. Para los DBCs y Maps, copiad el programa ad.exe de la ruta TrinityCore2\contrib\extractor en la ruta del juego, y ejecutarlo.

Al terminar su ejecución, tendréis unas carpetas llamadas dbc y maps con la información extraída.

Ahora, para extraer los VMaps, tenéis que copiar a la ruta del juego el contenido de la carpeta TrinityCore2\contrib\vmap_extract_assembler_bin, y ejecutáis el fichero llamado makevmaps_SIMPLE.bat .

Este proceso tarda bastante, algo más de 1h .

Cuando termine, tendréis una carpeta llamada vmaps con la información extraida.

Pues bien, simplemente moved las carpetas dbc, maps y vmaps a la carpeta donde tenéis vuestro emulador compilado.




Probando el servidor:) .



Llegados a este punto, debéis tener ya las 3 bases de datos creadas, y una carpeta  con el emulador compilado, sus archivos de configuración editados, y las carpetas dbc, maps y vmaps con sus contenidos.

Pues... ya solo queda poner en marcha el emulador, y conectarse para jugar.

Para lo cual, ejecutáis el TrinityRealm y el TrinityCore, y, si todo ha ido bien, el emulador cargará. La carga tardará mas o menos dependiendo de la potencia del PC en que esté instalado el servidor.

Cuando veáis que, pasada la sección de los TrinityScripts, ya no sale más texto (si tenéis los altavoces encendidos, incluso oiréis in pitido), es que ya el emulador ha terminado su carga.

Ahora solo os queda hacer una cuenta en el mismo para probar.

Como todavía no tenemos instalada ninguna web, servidor web ni nada de eso, vamos a crear las cuentas mediante la consola del TrinityCore.

Para lo cual, solo tenéis que clicar dentro de la consola del TrinityCore y pulsar intro (o enter), en ese momento podréis escribir comandos.

Los más importantes son los siguientes (los comandos empiezan después del guión, todos los comandos empiezan por un punto,  los datos que pongo en MAYUSCULA son datos que tenemos que proporcionar, y, lo que hay entre paréntesis es solo una explicación):

- .account create USUARIO PASSWORD (Crea una cuenta con los datos solicitados)
- .account set addon USUARIO N (Establece la expansión activa N para el USUARIO indicado: 0, ninguna; 1, TBC; 2, WOTLK)
- .account set gmlevel USUARIO L -1 (Establece el nivel de N para el USUARIO: Los niveles van del 1 al 3).
- .announce MENSAJE (Anuncia el MENSAJE a todo el servidor)

Y bueno eso es todo lo que nos concierne para la primera parte. Vamos a la siguiente ;) .

Salu2

Ariath

#3
Actualizando nuestro servidor a la última versión disponible



Antes de actualizar

Bueno, ya tenemos montado nuestro servidor. Eso nos habrá parecido muy fácil (al menos a algunas personas :) ), pero... ¿Qué pasa cuando queramos actualizarlo a la última versión?

DIOOOOOS, ¿Qué hago ahora?, ¿Qué descargo?, ¿Qué instalo?, ¿Qué... que hago?

Bueno, pues lo primero tomarse un Valium y serenarse XD, la cosa no es tan complicada como pueda parecer.

El primer paso para saber qué necesitamos para actualizar nuestro servidor, es entender qué representa actualizar el servidor.

Primeramente, sabemos que el servidor en sí, no es más que software. Un software que, en la anterior parte, hemos descargado, compilado, etc ...

Puesto que estos proyectos están en continuo desarrollo, hay revisiones nuevas día a día (incluso a veces, hora a hora (no es broma :P )).

Para actualizar lo que es nuestro servidor, la cosa es simple, tenemos que descargar la última revisión disponible, compilarla, etc ...

Ahora bien, uno se podría preguntar: Has dicho que esto puede actualizarse incluso de una hora a otra, ¿Es recomendable actualizar un servidor cada vez que sale una revisión nueva?

Y la respuesta es... NO, TAJANTEMENTE NO


Y hay 2 razones primordiales para esta respuesta:

1º. Es una tontería estar actualizando el servidor a cada revisión que sale, ¿Por qué?, Pues muy simple, porque, la inmensa mayoría de ocasiones, solo os vais a encontrar con cambios menores de una revisión a otra, incluso cambios ínfimos, que no os repercutirán a la hora de la verdad en la funcionalidad del servidor.


2º. Supongamos que de la revisión 1 a la 2 hay un cambio notable, han cambiado muchas cosas. Ya no son cambios tan pequeños... ¿Actualizo?. CUIDADO AQUÍ, actualizar cambios menores puede ser tonto, pero actualizar cambios mayores nada mas salir es algo peor, es arriesgado. Dichos cambios pueden no estar lo suficientemente testeados, y pueden haber bugs más o menos serios.

Lo mejor, cuando hay un cambio notable, es esperarse un poco de tiempo, una semana o dos por ejemplo, para que la gente pruebe esos cambios. Porque si resulta que han provocado bugs graves, tendrán que corregirlos.


Realmente, lo ideal es actualizar solamente cuando haya cambios que verdaderamente nos interesen. ¿Y como vemos esos cambios?

Simple, nos vamos al repositorio del proyecto y leemos las listas de cambios. Puede ser algo tedioso, pero nos ahorrará trabajo si vemos que no hay actualizaciones importantes (porque sino hay necesidad de actualizar, no se actualiza).

Por supuesto, a la web del proyecto debemos ir con la revisión que tenemos actualmente en la cabeza, para así poder claramente qué cambios hay entre la última revisión y la nuestra.


Luego, otra parte a actualizar es la base de datos. Eso implica aplicar actualizaciones en la misma.

Otra cosa a observar son los archivos de configuración. Pueden haber añadido/suprimido campos desde la última revisión hasta la nuestra. Tenemos pues que contrastar nuestros archivos con esos nuevos, y aplicar los cambios necesarios.

Ya el último punto sería la cuestión de los archivos del juego (DBCs, Maps, y VMaps).

Estos archivos solo suele ser necesario actualizarlos cuando el emulador pasa a soportar una versión nueva del juego.

Y por supuestísimo, antes de hacer cualquier cambio en nuestro servidor, es INDISPENSABLE hacer un backup de todo lo necesario (servidor, bases de datos, etc ...)





Seguiré ...

Salu2


P.D: Se que puede parecer un rollo lo que estoy diciendo hasta ahora, que hay muchos que solo buscan las instrucciones para actualizar el servidor y fuera historias, pero es que estas cosas me parecen indispensables.

Ariath

Post extra reservado por si acaso (más vale que sobre y se borre si hace falta, a que falte espacio luego :P ).

Salu2

Ariath

Reservo memoria extra... uy, espacio, que veo que me va a faltar XD .

Salu2

Randomize

No hace falta que te reserves posts, si alguien escribe aquí ya me encargo yo de que lo baneen, GRAN TRABAJO Y GRAN APORTE.


P.D.: Puedes borrar éste  ;D



Ariath

Gracias XD, lo cierto es que quería haber terminado este tema hace tiempo, pero entre unas cosas y otras no he tenido eso mismo :P .

Hombre, la gente puede postear... pero desde luego siempre y cuando lo haga adecuadamente.

Dicho de otra manera, que le voy a dar matarile directo, sin preguntar, y sin anestesia, a cualquier post que publiquen preguntando algo que ya está explicado.

Si algo me ha sorprendido siempre es la cantidad de gente que se pone a llevar a cabo una tarea como es montar y administrar un servidor (y lo segundo no es moco de pavo), SIN tener paciencia para leerse un texto medianamente extenso, no digamos ya sin comprenderlo ....

Cuando rehaga el de MaNGOS (el que hice en su día lo revisaré, pero es posible que lo rehaga entero), lo haré bastante mas corto que este, porque enlazaré con frecuencia a este (Trinity es, después de todo, hermano de MaNGOS, y aparte de eso, repetir ciertas cosas en ambos hilos... es estúpido xD.

Salu2


P.D: No sabía que te interesase tanto el tema de Trinity :) .


Randomize


bleeding

Exelente guia, sigiendola paso a paso y atento a las nuevas partes :)