[LEE] Cómo SABER emular un Servidor WoW

Iniciado por Filibustero de bolsillo, 4 Abril 2009, 01:19 AM

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

Filibustero de bolsillo

Últimamente se ha llenado el foro de juegos de inquietudes WoW, ahora yo pienso: -"Debería llamarse: Juegos, consolas y World Of Warcraft".

Bueno, no, no lo llamaré así pero ahora te daré una guía de cómo saber crear un servidor WoW.

Me imagino que estáis pensando: -"Pero ya hay muchas guías de crear un server WoW", Si si!, eso quiero evitar, más guías, pero si te fijas bien en el título este dice: Cómo saber crearlo, no cómo crearlo.

¿Por qué?, es excelente que haya variedad de guías, no lo puedo negar, pero la gente no sabe ni donde esta parada, son típicos HOYGAN, es por eso que aquí te enseñaré que debes saber para poder administrar o gestionar tu cliente para World Of Warcraft

Ok, empecemos:

Conceptos Básicos
1. Comprendamos que es MySQL, Localhost, y esas mier*** que no entiendo:

-Servidor es un aparato como tu PC, pero de más capacidad y en general tiene un monitor más feo que el tuyo porque en estos casos no se necesita mucho, lo mejor esta por dentro, es (en la mayoría de los casos) mejor que tu PC, con sus 8 cores, RAM de sobra y demás, en general se usan sistemas Linux porque es gratis, seguro y porque es Linux jeje, pero no faltaba que el Bill microsoft se metiera en el mundo web y obviamente existe el sistema operativo Windows para servidores (Windows Server), Un servidor puede durar toda su vida encendido, es por eso que no ves un servidor por ahí no más, estos están en un Datacenter, que sin adentrarme en el tema, es un lugar donde se almacenan servidores en un ambiente fresco y con sus debídas conexiones y cuentan con más privilegios en general.
-MySQL es un gestor o un administrador de bases de datos, principalmente es eso-
-Localhost en otras palabras "Mi PC" significa eso, la PC en la que te siento todos los días a tocarte los hue*** en vez de hacer cosas productivas, siempre que vayas a jugar localmente siempre en las configuraciones verás Localhost o 127.0.0.1 que es la IP que lo identifica.
-Bases de Datos son un conjunto de información organizada en tablas y tablas en consultas para un manejo sistematizado de información.
-World Of Warcraft es un juego creado por Blizzard Inc. (compañía donde desempeño mi cargo profesional en estos momentos), pero ya sabes que es, simplemente te aclararé estas cosas:
--->Cuando mencione WoW me referiré al Juego, nada relacionado con ArcEmu, WoW instala librerías como modelos, animaciones, instrucciones y entornos en archivos MPQ, existen editores para modificar esto, pero es otro tema.
-WhyDB es una base de datos especialmente diseñada para arquitecturas ArcEmu y demás que trae información precisa del entorno y comportamiento del juego.
-Base de Datos integrada con ArcEmu, hay revisiones de ArcEmu que traen sus propias bases de datos en una carpeta que se llama Databases, más adelante en la tutorial te enseñaré cómo instalarla.

No se ve tan complicado, ¿eh?, Que localhost significa mi computador, MySQL es u gestor de bases de datos, una base de datos es un conjunto de información organizada, bien bien, voy entendiendo ahora lo que voy haciendo.

2. Instalemos el software que nos ahorrará el tiempo!.
En las tutoriales te dicen: "Instala MySQL, instala tal, instala tal, ahora, a configurar!!!" en estos momentos estas que te revientas de la ira porque no creías que era tan largo el proceso.

No lo es xD, hace mucho tiempo alguien pensó: -"Es complicado instalar todo uno por uno y luego configurar", ese personaje ideó un paquete, si, un programa que se encarga de instalar un conjunto de ficheros que te ahorran el tiempo, ¿cómo se llama esto?, bueno, no tienen nombre definido, yo diría que Servidores Virtuales, son varios: xampp, appserv, vertrigoserv, etc... hay muchos más, pero cuidado, unos solo instalan Apache, que es otro tema, se relaciona bastante con MySQL y bases de datos, pero no necesitamos Apache para emular un servidor WoW, apache logra interpretar el lenguaje más conocido como PHP.

HOYGAN ¿Puedo crear un servidor?
No, es un termino algo mal usado, puedes EMULAR un servidor en tu PC como ya te dije, instalando un programa que instala todo el paquete de una vez.

Saber Hacer
3. Empecemos desde el principio, Y Dios creó el.... No no, muy atrás, comencemos por saber que es ArcEmu.

*Pasemos de emuladores de servidores a emuladores de clientes de juegos, uno muy conocido es ArcEmu para World Of Warcraft.

Este logra interpretar instrucciones de una base de datos a un juego, puedes configurar opciones de entorno y otras características generales.

Pero ArcEmu no funciona sin una base de datos, él necesita de dónde sacar información para pasar al juego, es por eso que existe WhyDB.

ArcEmu viene en distintos sabores, colores, etc. La puedes encontrar con bases de datos integradas al paquete (una carpeta que se llama Database), ahí esta la base de datos, en esos casos no necesitas WhyDB porque ya tienes una que esta en la carpeta Databases.

4. WhyDB es una base de datos que contiene información relacionada con todo lo que intervenga relativamente en el juego, es muy importante, sin una base de datos no existirían cuentas ni nada, nada!!!.

5. ¿Cómo montar una base de datos a MySQL? (sea WhyDB, Local o como sea está en el siguiente punto la respuesta.

Empecemos
6. Ok, manos a la obra, pero espera espera!, necesitas varias cosas antes de empezar.

Necesitas:
-Una base de datos (no tiene que ser precisamente WhyDB, puede ser la que sea, pero que sea de WoW y compatible con ArcEmu).

-Un emulador, si, ArcEmu, MangOS u otros (hay más, pero no son públicos, por qué?, porque Blizzard esta tras la pista de todos los diseñadores de emuladores, Wow-Aura, Storm, Arg CMD y demás usan derivaciones de ArcEmu editadas por ellos, modifican sus cores y solucionan sus propios bugs, en esa parte debes saber programación en lenguajes C, C++, pero los de ArcEmu son muy generosos y nos hacen todo el trabajo, ¿muy amables no?, y nosotros que!! no donamos ni un miserable centavo a estas personas tan buenas!.

-Un gestor de bases de datos, obviamente MySQL para que no te compliques la vida.

¿Donde conseguirlos?, TE BANEO SI PREGUNTAS ESO! (jeje xD no puedo igual)... hay MUCHOS posts donde encontraras TODO el material que necesitas!.

Ahora, te facilito la vida, esta bien, te diré que conseguir y cómo conseguirlos, te daré unos consejos que te facilitarán la vida.
-Una base de datos Consigue una WhyDB y si la sabes manejar (en los otros temas dice cómo hacerlo) usa esa, o puedes descargar una revisión de ArcEmu con la base de datos integrada, como ya mencioné antes y sigue las instrucciones del punto: Instalemos las bases de datos EN VERTRIGOSERV que se ve más abajo.

-Emulador, Tienes ya varios temas de donde escoger, no te quejes.

-Gestor de Bases de Datos, ahora, mira, puedes elegir dos opciones, la facil o la facil:

La facil: Instala MySQL como dice en las otras tutoriales, es la opción más usada.
La facil: Instala un paquete de servidor virtual, estos te instalan todo lo que necesitas de una vez, te recomiendo VertrigoServ de todo corazón, es bueno en Windows XP, en Windows Vista presenta inconvenientes como la "Pantalla de la Muerte" o BSOD, pero aquí en este tema te doy la solución.

http://foro.elhacker.net/desarrollo_web/resolver_el_problema_de_la_pantalla_azul_o_bsod_con_vertrigoserv_en_vista-t242738.0.html;msg1165284

Cuando lo tengas instalado simplemente cuando te pida "Usuario" y "Contraseña" pones las default del vertrigoserv: Usuario - Root, Contraseña - Vertrigo, y ya, recuerda que el vertrigoserv debe estar en icono Verde para que esté activo, si está en Rojo o Azul significa que alguna de sus características no se pudo arrancar por el Firewall.

Más adelante te enseñaré como instalar las bases de datos al vertrigoserv.

Configuremos ArcEmu e instalemos las bases de datos
Facil, facil facil, es solo saber donde estas parado.
Comencemos configurando ArcEmu, no citaré nada de los ficheros, te daré rutas nada más, en los demás posts verás infinidades de formas de configurarlo, es facil y en realidad es super corto, pero a las personas les dio por describir todas las acciones del fichero, es por eso que se ve largo y tedioso, te puedo decir que todo lo que este así:
Citar
/////////
//Hola//
/////////
Es porque no importa xD, esos son solo comentarios.

Ahora, se configura ArcEmu en la carpeta Configs del emulador, es facil, cada vez que te pida direcciones pones 127.0.0.1 que significaaaa, si eso, localhost, que a su vez significaaaa, si si, correcto, significa MI PC, no significa: Servidor WoW para jugar con mis amigos y se conecten a mi compu.

Ahora, cuando te pida contraseña y usuario pones las de VertrigoServ (si usas vertrigo), osea: <Root> y <Vertrigo> (<Usuario> y <Contraseña>).

Cuando te pida bases de datos, pues pones los nombres de las bases de datos, en WhyDB siempre es Characters y World con prefijo arcemu_, osea: arcemu_characters y arcemu_world, en Bases de Datos MyISAM O bueno, bases de datos físicas o extraidas o compiladas o como quieras llamarlo es solo Characters y World, sin nada más.

Instalemos las bases de datos EN VERTRIGOSERV
Aclaro, vertrigoserv, porque instalar la WhyDB es prácticamente casi solo ejecutarla y ya, además en las otras tutoriales ya se explica cómo es.

En VertrigoServ es facil,
Ve a C:///Archivos de Prorama/VertrigoServ/MySQL/Data, listo xD, ahora, si tienes las bases de datos localmente (carpeta Databases con ficheros raros, si esa es) copia el contenido de Databases, osea: Characters y World, copiarlas a la carpeta Data en MySQL que está en VertrigoServ que por defecto está en Archivos de Programa que por defecto está en C.

¿Por qué ahí?
Simple mi queridísimo, Data significa "carpeta donde guardo mis bases de datos" según MySQL, eso es todo.

¿Cómo rayos gestiono la base de datos?
Bien, facil, si tienes vertrigo tan solo es con abrir el VertrigoServ y usar PhpMyAdmin que es una utilidad web que administra bases de datos, la puedes modificar directamente en el web y es facil, si necesitas ayuda, ahí si puedes postear aqui si te confundes.

Entonces explicando más resumidamente los que conozco:
-PhpMyAdmin, como ya os dije, es una utilidad que trae VertrigoServ, puedes dar clic derecho o clic izquierdo encima del ícono de Vertrigo, ahora simplemente busca PhpMyAdmin, si te da pereza dar tres clics, entonces abre tu navegador web y digita: http://localhost/phpmyadmin O http://127.0.0.1/phpmyadmin, recuerda que es lo que significa Localhost, el significa tu pc, vertrigoserv emula un servidor apache para que se pueda iniciar, 127.0.0.1 significa la IP que representa localhost.

-Navicat, similar a SQLYog, no es tan dificil de manejar, simplemente configuras un servidor para conectarte, necesitas conectarte a VertrigoServ, entonces digitas los datos por defecto de Vertrigo que son: Root - Vertrigo (Usuario - Contraseña), en servidor digitas Localhost que nuevamente repito, significa Mi PC.

-SQLYog, parecido a Navicat, es lo mismo que dige en Navicat.

Ya casi estamos listos!
Bien, estas a muy pocos parrafos, líneas, letras, nuevamente líneas que forman las letras, de terminar este mini-tutorial de cómo Saber montar un "servidor" wow, pero aclaremos esto, no montarás un servidor, emularás un cliente wow, o bueno, si está bien, te permito decir Servidor, pero no lo harás, lo emularás, eso si, mejor...

¿Qué falta?, seguir aprendiendo todo lo que involucre: Bases de Datos, PHP, SQL y Programación en general.

Luego pongo uno más desmenuzado pero no de WoW, más a nivel web para que te orientes y te ambientes con el tema,

Inicia VertrigoServ (el ícono debe estar en verde, sino esta en verde deshabilita el firewall, si estas en windows vista sigue el tutorial de vertrigoserv en vista que mencione ya atras), automáticamente inicias Vertrigo inicias la base de datos.
Inicia algún gestor de bases de datos para crear tu cuenta, ¿cómo?, pues ya te explique, una base de datos tiene tablas, cada tabla registros o entradas, basta con tener algo de sentído común, entonces suponemos qué, Characters significa Personajes (en este caso), bien, por ahí va la cosa ¿no?, Characters tiene una tabla llamada Accounts que significa Cuentas, bien, dimos con el chiste, ahí creas tu cuenta.
Inicia ArcEmu (ya lo configuraste, recuerda),
Listo! ;-) ;-), Servidor World Of Warcraft emulado con cliente ArcEmu perfectamente!.

A jugar,

¿Cómo poner el Servidor Online?
Bien, ya llegamos al final del tutorial, culmina con la pregunta más preguntada (valga la redundancia), ¿Cómo poner mi servidor online para que mis amiguitos entren?.

Aqui te expondré las 3 posibles soluciones que conozco, las enlistaré en este orden:
La Buenísima, y la mala y la poco práctica.

La buenísima.
Tener un Servidor Real, un servidor pagado que este en un Datacenter y que disponga de buena capacidad (muy importante ancho de banda), con esto podrás iniciar tu servidor en serio y con todas las de la ley, puedes tener 300 jugadores online sin lag, la mejor opción, el único problema es el dinero que necesita.

La mala.
Mala, a mi no me parece buena, es opinión personal, ¿Ya sabes cual?, si no sabes cual es, es Hamachi!,
Hamachi es un cliente que conecta redes privadas virtuales, el método es:
-Instalas hamachi, este te da una IP, luego reemplazas 127.0.0.1 por la IP hamachi en todas las configuraciones del ArcEmu (obviamente la conexión de la base de datos NO, porque la base de datos esta en tu PC, no en tu red virtual hamachi)
-Inicias hamachi, creas una red e invitas a tus amigos, ellos tienen que tener hamachi y conectarse a tu red, la creaste cuando instalaste hamachi, tus amigos deben tener hamachi y a jugar.

La red hamachi funciona bien, pero si tienes una conexión de 300mbit (conexión por cable, 32K/0.5K por usuario) se pueden conectar 68 conexiones sin bogging/crashing.
Esto es pésimo, tu PC se volverá lentísimo, no cuentes con jugar con tus amigos sin que esto gaste RAM y tu PC se queme, en realidad es un estandar muy muy cerrado, si si, 68 conexiones, igual a unos 45/50 usuarios, pero precisamente eso, Conexiones xDD...si hablamos de "jugar", entonces unos 20 usuarios máximo, con un Lag increíble.
-Un usuario gasta 32K/0.5K.
-4MB Ram por usuario Y borra 256mb del sistema, si tienes 512mb y Windows XP entonces cuenta con 256mb libres y ya, si usas Vista....  :laugh: :xD :xD muahahaha.
-Se necesitan 20Mhz por usuario, equivalente a 1,10/20Ghz, aunque recuerda, el sistema operativo también gasta recursos y el servidor, etc...

Disculpame por desilusionarte  :-\, pero esa es la cruda realidad.

La poco práctica
-Bueno, no se necesita Hamachi siempre, puedes hacer tu pc "pública" activando unos puertos y modificando archivos del sistema, se necesitan muchos puertos abiertos nateados etc., para abrirlos debes tener acceso al router, no es facil en varios casos:
-Puedes resetearlo, esto causaría que volviera a sus valores por defecto, según la marca de tu router este trae algunos datos para acceso.
Ten cuidado, puede irse tu conexión a internet.
-Crackeandolo xD, pues eso...

Se necesitan conocimientos medio-avanzados a mi parecer, así que es poco práctico para tí.

Por no ser hamachi no significa que no gaste recursos, es totalmente igual.


Conclusión y despedida
Es poco practico, la idea es divertirse, si es por probar ser Gm, pues si, pero te aburres rapido, es mejor jugar el Rol, es lo mágico, esa es la idea.

Me despido, pues ya sabes donde estas parado al momento de emular un servidor world of warcraft, te deseo suerte, no te rindas pero no molestes tanto!, investiga, ¿Cómo crees que yo, o Ariath, o varios de los miembros del foro sabemos varias cosas?, no fue por Osmosis, estudiamos y googleamos, ahora que el Gran G dió un paso a web Semántica te será más facil ubicar contenido.

Diviertete.[/size][/font]

Absence makes the heart grow fonder.

Ariath

Je, esto mismo pensé hacer yo en su día...

De hecho, antes de realizar la guia genérica que desarrollé hace tiempo para mi foro, estuve creando una... un poco especial, haciendo incapié en los temas estos de las bases de datos, qué era un servidor SVN y como funcionaba, etc...

Por desgracia me iba quedando la cosa muy densa, por lo que al final corté por lo sano, y realicé la guia antes mencionada.

Más que nada pensé... "Tanto explicar, y luego... ¿cuanta gente se lo va a leer?".

Lo malo de estos temas de los servidores, es que la mayoría (el 95% por lo menos), quiere las cosas hechas, o, en caso de que tenga que hacer cosas, que sea todo lo más facil y rápido posible.

De ahí que muchas veces, en vez de aprender a compilarse y montar su servidor (lo que yo enseño en mis guias, vamos), prefieran tirar de packs precompilados ya (huyo de ellos como de la SGAE que ya es decir).

Por supuesto, el problema de tirar de los citados packs, es que se mojan lo mínimo, y claro, cuando tienen que entrar en labores de mantenimiento... apaga y vamonos.

En fín, tendría que haberte felicitado por tu interés, y en lugar de eso te he volcado todas las reflexiones que tenía en la cabeza...

Por lo tanto, la felicitación te la doy ahora :) .

Salu2

Filibustero de bolsillo

Jaja no hay problema, esa es la actitud.

Igual lo hice por lo que tu dijiste: -"Contenido muy denso", y para ponerme a explicar como montar un servidor :xD psss, aprovechar los recursos que tenemos en las manos.

De pronto más adelante Ariath o yo saquemos el libro: "Creando un servidor WoW para dummies" jeje.

Absence makes the heart grow fonder.

Ariath

Je, je... de hecho...

En un principio se me ocurrión hacer la guia nueva en PDF, ponerle una portada tipo los manuales de la serie "for dummies", y llamarlo: WoW Servers for Dummies xD.

Quizá algún día lo haga después de todo :D .

Salu2