K

kustico

Usuario (Argentina)

Primer post: 27 jul 2010
2
Posts
0
Puntos totales
2
Comentarios
C
Cracion de Servidores lineageII+requisitos+info
InfoporAnónimo7/27/2010

Como hacer un servidor de Lineage II paso a paso 1/2 Introduccion Ok, antes de empezar debo dar una explicacion. A pesar de que hay cientos de servidores privados de Lineage II publicados en foros en internet, no todos ellos son necesariamente buenos. De esos cientos (sino es que miles) hay un par de decenas que son lo suficientemente buenos como para pensar en dejar de pagarle a NCSoft y quedarse jugando gratis en estos servidores privados (como olvidar al lengendario L2Xtreme, ahhh, que tiempos aquellos...). El problema con los servidores privados es que a diferencia de NCSoft las desiciones que toman no son siempre las mas equilibradas para los jugadores. Hay pocas cosas mas frustrantes que llegar a un nivel 76 en un servidor privado y ver con una tremenda frustracion como no pueden avanzar mas porque los administradores del servidor decidieron fumarse una lumpia y subir la barra de dificultad mas alla de lo que muchos jugadores pueden manejar. Esto que cuento no es una invencion de mi imaginacion ni nada mas, es un caso practico que vivi cuando jugaba en los servidores de L2Express. Un buen servidor, muy bueno en verdad, pero en los ultimos 2 años han metido cambios francamente ridiculos que hacen casi imposible que alguien puede llegar a obtener un titulo de nobleza. Este tipo de cambios hace que pasen cosas como las que se veia tristemente en L2Xtreme, que en lugar de fomentar una economia en base al trato de item se basaba casi en los buffs, entonces no era raro ver a 20 magos o mas tirados en la entrada de una zona vendiendo buffs. En L2Express pasa algo similar, no es raro ver en una zona solo a 2 o 3 clases porque la dificultad de los servidores hace que sea absurdo jugar con otras clases, y casi siempre todos vistiendo el mismo equipamento porque todas las demas armas y armaduras no protegen lo suficiente o dañan lo suficiente a los monstruos... Entonces, hace como un año, luego del ultimo cambio drastico en los item necesarios para la busqueda de nobleza, los mande a la mierda y decidi armar mi servidor personal de Lineage II. No con la intencion de hacer mi propia comunidad, por eso dije servidor personal y no servidor privado. Tener un servidor de Lineage II capaz de soportar una comunidad de mas de 100 jugadores activos todos a la vez es algo que escapa de muchos, no de mi, pero no era lo que yo estaba buscando. Como yo lo veo, lo que diferencia a los servidores semi-profresionales como los de L2Xtreme o los de alto nivel como los de L2Express, de los servidores personales como el que voy a enseñar a levantar, radica en los requerimientos de hardware y en sus propositos finales. Un servidor semi-profesional como los de L2Xtreme es un servidor capaz de manejar a unos 3000 jugadores todos jugando al mismo tiempo en diferentes zonas a la vez. Servidores asi tienen como especificaciones de hardware: * Dual Intel Xeon 2.8 Ghz (para un total de 16 nucleos... ) * 8 o 16 GB de RAM (algo comun hoy en dia...) * 2 o 3 discos duros de 200 GB 10.000 RPM (SCSi, lo que particularmente considero una tonteria pero bueno) * Conexion dedicada de 100 mbit (algo particularmente fuera del alcance de muchisimas personas ya que estos enlaces pueden manejar 750 MB en solo un minuto... imaginen el costo en algunos paises...) * Microsoft Windows 2003 Server x64 (otra tonteria mas ya que Linux x64 lo hace igual de bien, pero a cada quien su cada cual...) Por el contrario un servidor privado maneja especificaciones de hardware mucho menores: * Athlon 64 4200+ (equivalente a un Core Duo de 2.2 Ghz) * 4 GB de RAM * Disco duro de 200 GB * Conexion dedicada de 10 mbit (mas lentas que las anteriores ya que majan unos 75 MB por minuto. Aun siguen siendo prohibitivas en algunos lados...) * Microsoft Windows 2003 Server x64 Para un servidor personal yo recomiendo: * Core 2 Quad (o equivalente) o superior. Cualquiera que vaya por arriba del Q6600 sirve. * 8 GB de RAM. Si, es mas memoria que un servidor privado pero ya veran por que... * Disco duro de 120 GB SATA2 girando a 7200 RPM (o mejor preferiblemente) * Conexion de 1535 Kbps ADSL(o mejor si pueden costearla. No importa que tan rapida sea la conexion mientras mas rapida sea mejor. Cable no sirve porque es compartida y las inalambricas menos por razones obvias...) * Sistema operativo de 64 bits (Mac OS no sirve...) Como dije un servidor semi-profesional pude correr facil unos 3000 jugadores simultaneos mientras que uno privado puede correr unos 500... un servidor personal, con mucha suerte, unos 50. El motivo de esto es que mientras que los servidores semi-pro y los privados, los servidores personales corren mucho mas simultaneamente que solo las bases de datos y los servicios de login y juego. En otras palabras, un servidor semi-profesional o privado solo correra el sistema operativo, la suite de seguridad, un servicio de conexion remota y los servicios de login y de juego de Lineage II, nada mas. Por el contrario, un servidor personal corre el sistema operativo, la suite de seguridad, los navegadores de internet, el servicio de conexion remota, un servicio de resolucion y redireccionamiento de IP dinamica, el reproductor multimedia, las suites ofimaticas, un manejador de descargas, las suites de edicion de contenido, los manejadores de contenido, los clientes FTP, las bases de datos, el servicio de login, el servicio de juego Y como si fuera poco, el mismo Lineage II. La carga es mucho mayor y en consecuencia las prestaciones se reducen dramaticamente. Ademas, hay un punto en cuanto al desempeño (al menos en Windows) y tiene que ver con el objetivo final de la implementacion del sistema operativo. Aunque Windows Vista y 7 sean tambien de 64 bits como Windows 2003 Server o Windows 2008 Server, no se pueden comparar a estos dos ultimos en terminos de desempeño. Los sistemas operativos de servidores estan ESPECIFICAMENTE diseñados para soportar y manejar cientos sino es que miles de conexiones simultaneas. Windows Vista, mas alla de lo que han dichos miles de personas, no es un mal sistema operativo de escritorio pero no esta ni remotamente tan bien diseñado como Windows 2003 0 2008. Basta recordar los fatales errores de diseño aplicados al double buffering o al motor de busqueda en tiempo real...). Esto hace que se necesiten 8 GB de RAM en lugar de los 4 que necesita un servidor privado. En cuanto a Windows 7, aunque tecnicamente es un Vista reiniciado desde cero, aun esta muy en pañales como para medirse con su hermano mayor 8. En realidad Windows 2008 Server R2 es un sistema operativo de servidor MUY superior a lo que hay disponible en el mercado (sin medirse con las distintas distribuciones de Linux, eso es otra cosa...) y lo coloca en un contexto que difiere de Windows 7, por mas bonito que sea. Linux es harina de otro costal en cuanto a esto, ya que Linux (independientemente de su distribucion) fue diseñado con multi tarea y multi usuario en mente desde la primera linea de codigo (contrario a Windows, que estas funciones le fueron agregadas mucho despues) y ha sido desde su inicio un sistema operativo preparado para el trabajo duro de hoy y de mañana y de pasado mañana. Entonces, ¿por que tomarse tantas molestias en hacer un servidor personal, no seria mas facil hacer una cuenta en uno privado o en uno semi-profesional o inclusive pagar por una cuenta en NCSoft?. Bueno, si y no. Para decirlo en corto: aunque un servidor personal da mucha lata (creanme, la da...) te permite experimentar de formas que no podrias en un servidor dirigido por otras personas. Este solo hecho deberia ser suficiente para soportar los contratiempos que van a encontrar (que no son pocos...). Para que tengan una idea, cuando cerraron los servidores de L2Xtreme siempre me pregunte como se comportaba el gladiador cuando llegaba al nivel 80, gracias a mi servidor personal lo supe en 5 minutos. ¿Quieren saber si deben comprar aquella o esta arma? ¿si un set les sirve mas a largo plazo o no que aquel otro?, con un servidor personal lo podran saber... hasta cierto punto. ¿Que tan buena es la experiencia?, eso depende de que tanto hardware tengan y hasta donde quieran llegar. Con un Core i7 920, 8 o 16 GB de RAM, un disco duro SATA2 (o mejor) girando a 10.000 RPM (o un disco duro de estado solido) y una conexion de 2048 corriendo sobre Linux o sobre Windows 7 deberia (en TEORIA) soportar unas 100 conexiones sin mayores inconvenientes. Claro, que por el precio que van a invertir en una maquina asi tambien podrian gastar lo mismo en un servidor privado y van mas lejos... Entendiendo como funciona Lineage II Lineage II basicamente trabaja como han trabajado los MMRPG desde los tiempos del mitico Ultima Online: con una estructura de cliente-servidor. Del lado del cliente tenemos el juego en si, el Lineage II, que no es mas que los graficos, la musica y los efectos de sonido, el motor en si de Unreal II. Del lado del servidor tenemos las bases de datos de los usuarios, de los servidores, de los monstruos, de los NPC, de las busquedas, de los skills, de las magias, de las zonas y una larga lista de etc. Adicional a esto maneja el servidor de registro y los distintos servidores de juego, que son los que se encargan de la IA de los monstruos y del comportamiento de los NPC. O sea, que del lado del servidor deberian haber al menos 3 servidores fisicos: uno que maneje el registro de usuarios (que pudiera o no menejar tambien la base de datos de usuarios y solo esta base de datos), un servidor de juego (que controlara los mundos, zonas y demas sitios dentro de Lineage II) y un servidor de base de datos (que alimentara a los 2 anteriores). El problema es que mientras que NCSoft puede tener los servidores que quieran porque le estan pagando, nosotros no tenemos quien nos pague, por ello desde que se inventaron los emuladores de Lineage II solo se requiere de 1 servidor, el cual va a emular (es decir, a simular) por software lo que deberia hacer el hardware fisico (esto tambien explica porque es mas lento y requiere mas hardware que los servidores de NCSoft). Logicamente no todos los servidores manejan la misma carga de trabajo. El servidor de registro de usuarios no deberia saturarse como lo hace, por ejemplo, el servidor de juego o el servidor de base de datos. Ahora bien, si trabajamos con bases de datos debemos tener una plataforma de base de datos. Como no estamos en los 80 (donde este mercado era dominado por Dbase), ni en los 90 (donde lo fue por Acces) lo mas logico es usar una base de datos relacional (el personaje A usa los skills de la base de datos B y aplica sus efectos sobre el monstruo que usa la base de datos D y dicta su comportamiento por la base de datos E...) y para acceder a los datos de esta usaremos un lenguaje estructurado de consultas, mejor conocido como SQL. El problema de esto es que SQL se parece mas de lo que deberia a Linux. Al estar adaptado segun el vendedor cambia mucho o poco su uso y por ende su compatibilidad. Ademas, si hablamos de una solucion como SQL Server 2003 de Microsoft, los costos comienzan a elevarse. En lugar de andar de piratas por ahi, usaremos una alternativa "libre". Volviendo al punto de como funciona un servidor de Lineage II, cuando el jugador inicia el juego de su lado, un archivo encriptado llamado system.ini intenta conectarse a los servidores de actualizacion de NCSoft y si encuentra que los archivos del juego estan al dia procede a conectarse al servidor de registro de usuarios. Este coteja el nombre de usuario y contraseña que pone el jugador en la ventana de inicio de sesion contra los que tiene almacenados en la base de datos de usuarios y si son iguales envia una señal al juego que hace que se redirija a la pantalla de seleccion de personajes, la cual no es mas que una base de datos con los distintos personajes creados en esa cuenta. Hasta aqui solo ha trabajado el servidore de registro de usuarios (Esto es puramente teorico, quizas tambien ha intervenido el de base de datos. Depende de como tenga NCSoft sus servidores configurados), pero cuando seleccionamos el personaje y le damos click a jugar el cliente manda la peticion al servidor de base de datos el cual almacena donde quedo ese personaje la ultima vez que jugamos y dice donde va a aparecer luego que el juego cargue. Una vez dentro del juego interviene por completo el servidor de juego junto con el servidor de base de datos, este ultimo entregandole al primero los datos relativos al comportamiento de un NPC, la IA de un monstruo, el precio de una armadura, la posicion de un arbol en un bosque, los puntos de mana que gasta un hechizo, etc, etc, etc. Requisitos Para este servidor personal voy a colocar como minimos las mismas especificaciones de hardware que tengo yo, que son: * Core 2 Quad Q6700 * 8 GB de RAM DDR2 800 Mhz * Disco duro de 160 GB SATA2 girando a 7200 RPM * Conexion ADSL de 1024 (si quieren jugar con alguien mas, sino no necesitan conexion mas que para descargar el software a usar en el servidor. Si en efecto van a jugar con alguien mas enfatizo el hecho de que no sirve internet por cable ya que el ancho de banda se comparte entre todos los que estan pegados al cable [todo el edificio o toda la urbanizacion segun sea el caso]. Si son de Venezuela, Inter es una extraña exepcion a esta regla, ya que por alguna razon las conexiones de ellos son punto a punto y no se comparte el ancho de banda... usuarios de supercable... peguense un tiro, incluso esa mierda monumental llamada Bam es mejor que lo que tienen) * Windows Vista 64 bits o Windows 7 64 bits. Linux tambien sirve pero para este tutorial en particular lo que voy a decir es orientado a Windows salvo que indique lo contrario. * L2JFree Loginserver y Gameserver (el corazon mismo del servidor). * Java Runtime Enviroment 6 patch 20 x64 (o superior) * MySQL Essential 5 x64 (la version completa no trae nada que necesitemos para el servidor asi que no vale la pena descargar MB en cosas que no van a ser utiles) * MySQL GUI Tools Bundle 5.0r17 (no es estrictamente necesario pero agiliza algunas cosas, lo que si tiene que ser es la version, las versiones nuevas no sirven para lo que se va a usar esta herramienta) * Navicat 8 Professional para MySQL o Premium (de nuevo, no es estrictamente necesario pero como ayuda...) * L2JServer Gui Tools (no son necesarias, ni siquiera deberian usarse con L2JFree, pero realmente ayudan y hacen las cosas mas faciles y rapidas) * Un paquete de datos de Lineage II (vital, ya que sin el no se hace nada) * TortoiseSVN (para descargar los paquetes de datos del juego) * L2 File Edit (es la version en español. Necesita registro previo) * Parche para desactivar el GameGuard (no es estrictamente necesario pero si quieren jugar con alguien mas puede ser util) * Parche unicode (nuevamente, no es estrictamente necesario pero si juegas con alguien mas y quieres decirle que le meta su espada +36 al conio de su madre... ahora puedes hacerlo con una Ñ y no como lo hice yo por motivos de censura ) * Cliente Lineage II Gracia: The chaotic throne part 2 * No tener instalado MySQL (importantisimo) Consideraciones Preliminares * Este tutorial esta basado en la serie de videos de ColloseusXReturns, todos ellos disponibles en youtube bajo el nombre de "Make Your Own Lineage 2 Gracia Part 2 Server from Scratch ~ Part 1 / 20". En ellos ColloseusXReturns explica a grandes razgos como hay que hacer para tener un servidor de Lineage II, desde donde descargar el software necesario para ello, siguiendo los pasos de la instalacion y configuracion. Son unos videos muy buenos para empezar desde cero y no dejare de darle las gracias ya que hasta que cai por casualidad en su canal de youtube solo habia encontrado vagas ideas y paquetes preconfigurados que ya traigan opciones decididas por otras personas. Lo malo de estos videos es que ColloseusXReturns no se caracteriza por tener una pronunciacion muy clara y si no se te da bien el ingles a oido pues como que sufres de mas. Luego esta el hecho de que el no se faja a explicar algunas cosas que deberia, en lugar de ello el se limita a explicar a grandes trazos muchas cosas que debio detallar mas minuciosamente. Mi intencion no es la de usurpar su trabajo, sino mas bien tomar el testigo donde el lo dejo y continuar desde ahi, llendo mas en profundidad y explicando muchas cosas que no explica el con suficiente claridad. * Este tutorial aunque diseñado para Windows es plenamente portable a Linux, en cualquier distribucion. No tengo la intencion de portarlo a Linux (en alguna distribucion) pero autorizo a cualquiera de tomar la informacion aqui presentada y modificarla tanto como sea necesaria para tal fin. La unica condicion es que me de el credito que merezco por mi trabajo y que se le de el credito a ColloseusXReturns que se merece por el tiempo y dedicacion que le llevo grabar esos 20 videos y subirlos a youtube. * He mencionado como requisitos MySQL Essential 5, MySQL MySQL GUI Tools Bundle 5.0r17 y Navicat 8 Professional para MySQL, pero los 3 pueden ser reemplazados por Wamp Server. No lo recomiendo y al mismo tiempo si. Explicacion de tan bipolar comentario mas abajo... * Dentro de los requisitos mencione el Java Runtime Enviroment 6 patch 20 x64, el cual, desafortunadamente, no esta disponible como descarga directa (¡gracias Sun!). Para descargarlo deben entran en la pagina de java usando el Internet Explorer 64 bits que viene en Windows Vista (no se si en 7 hay un Internet Explorer 64 bits tambien. Si alguien lo sabe por favor informeme y le dare los creditos correspondientes) * MySQL Essential 5 x64 y MySQL MySQL GUI Tools Bundle 5.0r17 no pueden ser descargados sino se registran primero en la pagina de MySQL. Lejos de ser un proceso rapido de 10 minutos, puede tardarse semanas (thank you very burda Oracle!). Si googlean mucho podran conseguir la version 5 del MySQL Essential 5 x64, pero es muy probable que sea una version vieja. En cuanto a MySQL GUI Tools Bundle 5.0r17, es necesario buscarlo por google o por el buscador de la pagina de MySQL, ya que su desarrollo se decontinuo con la incorporacion de MySQL Workbench. * Aunque este tutorial esta especificamente diseñado para el cliente de Lineage II Gracia: The chaotic throne part 2, tambien puede ser usado para hacer servidores Chronicle 4, Chronicle 5, Interlude, Kamael, Hellbound y Chaotic Throne part 1. Igualmente, con el datapack correcto se puede usar para Gracia Final y Gracia Epilogue. ¿Se puede usar para las 3 primeras cronicas o el juego original?, en teoria si, pero he de notar lo mismo que dicen los creadores del emulador: los datapacks de las primeras chronicas fueron hechos por grupos independientes que ya no estan por aquí, asi que va a estar realmente dificil conseguir esos datapacks hoy en dia. Si los consiguen y estan correctos deberian funcionar. * He utilizado como servidor L2JFree por razones de compatibilidad y estabilidad, pero igual este tutorial sirve tambien para L2JServer (hasta cierto punto...) * Aunque el objetivo principal es hacer un servidor personal, todo lo dicho aquí puede aplicarse a un servidor privado o a uno semi-profesional, la diferencia esta en los metodos de conexión externos. De ahí que coloque la resolucion de direcciones IP dinamicas a estaticas y que no haga mayor incapie en que no corran el juego en una maquina aparte de donde corren el servidor. * Notaran que no he colocado vinculo para descargar el paquete de datos de Lineage II, el motivo de esto es porque son ustedes los que tienen que decidir. En un principio habia una fuente muy buena para descargar los paquetes de datos del juego llamada PostPacific, el cual era un forum de desarrollo comunitario. El proyecto se vino a pique y de ahi cada emulador decidio hacer sus propios paquetes de datos. En la actualidad hay muchos paquetes de datos, pero la mayoria se derivan de 2 paquetes de datos principales: L2JFree, actualizado con un poco mas de lentitud y L2JServer, que antes se llamaba L2JOfficial pero luego de su fusion cambio de nombre. Las diferencias entre uno y otro son realmente minimas y mas que todo de gustos, sin embargo, los paquetes de datos de L2JFree parecen actualizarse mas lentamente que los de L2JServer. Para descargar los paquetes de datos de L2JFree esta es la direccion, y para los de L2JServer esta es la direccion a copiar. Noten que son repositorios SVN, asi que no se vayan de locos a descargar archivo por archivo. * Como ya lo mencione arriba, la descarga de las Gui Tools de L2JServer no son estrictamente necesarias, pero en realidad ayudan mucho a agilizar las cosas ya que permiten editar los archivos .property que definen los parametros del servidor. Originalmente no fueron diseñadas para trabajar con otro emulador que no fuera el L2JServer, pero yo me las arregle para entender como funcionan y se pueden usar sin mayores complicaciones con L2JFree tambien. * Arriba mencione como requisito no tener instalado MySQL, esto lo he puesto como requisito por una muy buena razon, no por carpicho. Si tienen MySQL instalado, no hagan nada hasta leer la siguiente parte de este tutorial. * En MySQL una instancia no es igual a una base de datos, asi como una conexion tampoco es igual a una base de datos, asi como tampoco es una conexion una instancia o una instancia una conexion. No se confundan con esto. Una base de datos es una serie de tablas almacenando datos de cierta manera. Una instancia es mas como la puerta de un cuarto y una conexion es como entramos y salimos del cuarto. Ahora bien, en el cuarto estan las bases de datos, pero a veces segun y como se configure MySQL y las instancias, es posible que al entrar a un cuarto veamos bases de datos que no pertenecen a esa instancia pero podremos trabajar con ellas como si pertenecieran en efecto a la instancia en la que nos encontramos. No voy a hondar en mayor profundidad sobre esto, es solo una nota al margen. * Menciono como requisitos un disco de 160 GB, lo cual no es del todo necesario, pero como es un servidor personal y Solamente el juego se como 10 GB no es mala idea tener todo el espacio posible. Ademas, por cuestiones de practicidad es mejor tener unos 16 GB de memoria virtual, asi que nuevamente, tener todo el espacio posible no es mala idea. * No menciono en este turorial como descargarse las cosas. Sobrentiendo que si van a hacer un servidor de Lineage II al menos saben como usar su computadora, mas aun google. Asi que si no saben como descargar TortoiseSVN o algo asi. googleenlo y dejen de romper las pelotas de este servidor. Lo unico que si explico paso a paso y con fotos es la instalacion de los programas, esto para que la gente no la cague antes de tiempo escojiendo una opcion equivocada que tire el trabajo a la basura antes de iniciarlo, pero como dije antes, no explico lo obvio porque imagino que saben usar una computadora y sus cerebros. Asi que no esperen que escriba cosas como "hagan una carpeta en el escritorio llamada Archivos de Lineage II" y guarden alli todos los programas que vamos a usar"... honestamente, eso no va a pasar. Donde quieran guardar sus vainas es problema de cada quien... * Al final del tutorial, en los anexos, explicare como hacer para usar Wamp como alternativa a MySQL y Navicat, asi como unas respuestas a las preguntas mas obvias que surgiran luego que tengan el servidor funcionando. Sobre MySQL Atencion amantes del software libre, preparense para lincharme... Luego de hacer mi servidor personal de Lineage II MySQL se convirtio de inmediato en uno de los programas mas odiados por mi. Independientemente de mi postura personal a las idioteces que hace por lo general Oracle, es sencillamente inconcebible que una de las compañias mas importantes del sector de TI sepa que uno de sus productos estrellas tenga semejantes errores y no haga nada para remediarlos. Entonces, o no saben que los tienen (cosa mas bien imposible viendo la cantidad de mensajes que hay en sus foros reportandolos) o en realidad no saben como resolverlos (lo que seria ironico considerando todos los años que se pasaron criticando los errores en los programas de Microsoft). Tambien esta la posibilidad de que de plano no les importe que MySQL tenga los errores que tiene (lo cual no seria de extrañar ya que ellon han tendido a copiar algunas malas mañas de Microsoft). En cualquier caso no tiene excusas que hacer algo tan simple como una base de datos relacional en MySQL, se complique hasta los niveles que se puede llegar a complicar por culpa de un software mal diseñado. Mi pesadilla con MySQL comenzo por andar de atorado y no documentarme mejor antes de empezar con el servidor de Lineage II. Resulta que hace mucho tiempo, ya ni recuerdo por que motivo, tuve que instalarlo y luego de hacer lo que iba a hacer lo desinstale... mientras el servicio aun corria en el fondo. Cuando fui a instalar el servidor de Lineage II y pase al punto de la instalacion de MySQL fue cuando comenzo LA pesadilla: MySQL Error Number 1045 Access denied. De poco (por no decir de nada) sirvio que desinstalara y reinstalara una y otra vez MySQL probando diferentes opciones de instalacion y de configuracion. Luego de mucho, mucho, muuuuuuucho leer, entendi que es un error que viene arrastrando MySQL desde hace años y que al parecer no hay signos de que vaya a ser corrigo algun dia. Mas importante aun, logre corregirlo, no sin antes pasar por la rabieta de darme cuenta que la solucion mas obvia y mas recomendada "GRANT ALL on *.* to 'new_user'@'192.168.22.10' IDENTIFIED BY 'new_user_password';" solo funciona en algunos casos. A la final fue el bendito post de Stanley Zea el que termino de poner luz sobre las tienieblas y orden en el caos. A raiz de esto me quedo una leccion de vital importancia: nunca desinstalar MySQL como se desinstalaria cualquier otro programa, en lugar de ello hay que detener el servicio primero y desinstalarlo antes de poder desinstalar correctamente MySQL. Si se les ocurre como a mi desinstalar MySQL mientras el servicio se encuentra activo, cuando lo vuelvan a instalar les saldra el bonito error 1045. Al trabajar con Joomla aprendi otras formas de trabajar con MySQL que son mas seguras a largo plazo y que ni siquera requieren de su instalacion del todo. Una de ellas en Xampp, pero desafortunadamente a mi no me sirvio... no recuerdo porque, pero a la final no me sirvio. La otra solucion que me sirvio al pelo fue la de Wampp y es la que recomiendo si quieren ahorrarse posibles arrecherones con MySQL. Si tienen MySQL instalado Si tienen MySQL instalado y les funciona sin ningun problema no hay motivos para hacer algo que afecte ese funcionamiento, sin embargo, por cuestiones de administracion siempre es bueno darle a cada servicio de MySQL un nombre descriptivo con relacion al programa que va a accesar a sus bases de datos. Si ya tienen MySQL instalado les recomiendo que creen un nuevo servicio con un nombre que se relacione con L2JFree. Si por el contrario quieren desinstalarlo para pasar a la ultima version lo mas importante es detener el servicio y desinstalar el servicio antes de desinstalar MySQL. Preparacion del Servidor Antes de poder instalar el servidor propiamente dicho, necesitamos instalar el software sobre el cual se apoya el servidor en si. Instalacion de Java Runtime Enviroment Como mencione arriba, para descargar el Java Runtime Enviroment de 64 bits, necesitan entrar a esta direccion usando el Internet Explorer de 64 bits. Luego de descargarlo lo ejecutamos. Nada mas al ejecutarlo se presenta el UAC y nos pregunta si queremos ejecutar el instalador. Le decimos que si (las probabilidades de que Sun ponga un virus en Java son mas bien pocas... si no lo han hecho hasta ahora no es poco menos que probable que comiencen a hacerlo ahora...). El instalador comenzara a descomprimir los archvos de instalacion... Al terminar de descomprimir los archivos de instalacion correra el instalador principal y caeremos en la pantalla de instalacion. Aqui, a menos que seamos tan pendejos como para leer el acuerdo de licencia o que necesitemos instalar Java en una ruta diferente a C:Archivos de progrma, solo le damos a Instalar. El instalador tomara su tiempo para copiar los archivos necesarios en las diferentes carpetas y blah, blah, blah... Al terminar dira que se ha instalado correctamente y haremos clic en cerrar. Instalacion de MySQL Despues de instalar Java Runtime Enviroment procedemos a instalar MySQL 5. Luego de descargados ejecutamos el instalador. Nuevamente el UAC nos pregunta si queremos instalar ese programa y nuevamente hacemos clic en Ejecutar. En realidad no creo que dentro del plan de dominacion mundial de Oracle este MySQL como una pieza clave... Si notan bien, en la imagen de abajo estoy instalando la version de 32 bits, no es lo que se debe hacer, pero como ya tengo instalado MySQL 64 bits y no queria desinstalarlo para despues reiniciar y volver a descargarlo y reinstalarlo, instale la version de 32 bits en una maquina virtual de Windows 7. Al fin y al cabo era solo para hacer las capturas de pantalla para el tutorial. Asi que no se preocupen, son los mismos pasos, pero ustedes DEBEN descargar la version de 64 bits. En la siguiente pantalla hacemos clic en Next. De las tres opciones de instalacion que nos salen, seleccionamos Typical y hacemos clic en Next. No hay necesidad de seleccionar Complete ya que no vamos a hacer desarrollo en C, asi que esos archivos no son utiles. Custom solo sera util para el que quiera instalar MySQL en otra ruta que no sea C:Archivos de programaMySQLMySQL Server 5.1 Hacemos clic en Install. Cuando el instalador quiera comenzar... Le saldra al paso el UAC nuevamente y nos preguntara si queremos darle permiso de continuar a este programa. Hacemos clic en Si. En instalador tomara su tiempo para predecir las incontables lineas de probabilidad del destino que haran que los archivos necesarios queden donde deberian ir... Al terminar caeremos en una descarada publicidad. Haremos clic en Next para... ... caer en mas descara publicidad. Volveremos a hacer clic en Next para... Configurar el servidor de MySQL de una vez. Noten que en la imagen me fui de usuario y no lei toda la pantalla mientras hacia la captura y tampoco la lei cuando la editaba. Coloque un segundo ovalo rojo como queriendo remarcar que la segunda opcion era necesaria pero en realidad no lo es. No le paren bola y solo marquen la primera y hagan clic en Finish. Otra vez el UAC jode la paciencia. Nuevamente hacemos clic en Si. Al caer en la pantalla del configurador hacemos clic en Next. Seleccionamos configuracion detallada y hacemos clic en Next. En esta pantalla tenemos 3 opciones de configuracion. Estas opciones basicamente lo que hacen es definir como se va a comportar el servidor de MySQL con relacion a la cantidad de memoria disponible para el. Debido a que un servidor persona tiene que compartir la memoria las demas aplicaciones que corren en el sistema debemos optar por la opcion con menos memoria, y esa es Developer Machine. Hacemos clic en Next. Para un servidor privado se debe seleccionar Server Machine y para un sevidor semi-profesional se debe seleccionar Dedicated MySQL Server Machine. Independientemente de que hayamos elegido en la pantalla anterior, en esta pantalla nos saldran las mismas tres opciones, todas relacionadas con como se comportara el servidor de MySQL a la hora de manejar los datos de la base de datos. Para los propositos del servidor personal que estamos montando vamos a seleccionar base de datos multifuncional y haremos clic en Next. Para los servidores privados y los servidores semi-profesionales, imagino que la opcion recomendada seria la segunda, bases de datos transaccionales, pero en realidad es mas una especulacion que otra cosa. En esta pantalla solo hacemos clic en Next a menos que queramos instalar el motor de InnoDB en otra hubicacion diferente a la predeterminada. La pantalla que viene a continuacion configura que tantas conexiones simultaneas se haran a la base de datos de MySQL. Debido a que es un servidor personal lo que estamos armando, no se esperan mas que unas pocas conexiones simultaneas, asi que vamos a seleccionar DSS/OLAP y hacemos clic en Next. Para servidores privados la segunda opcion es mas recomendada (OLTP) y para servidores semi-profesionales la tercera especificando cuantas conexiones se esperan es lo mejor. La siguiente pantalla de la configuracion nos pregunta si queremos activar las conexiones a la base de datos por medio del protocolo TCP/IP, lo que queremos justamente. Asi que haremos clic y dejaremos el numero de puerto predeterminado. Si trabajamos en una maquina que usa como Firewall el Firewall de Windows marcaremos tambien la casilla de al lado, esto creara automaticamente la excepcion en el mismo. Si tenemos un muro de fuego diferente no la marcaremos ya que tendremos que hacer la excepcion manualmente nosotros. Si trabajan con una suite de seguridad mas avanzada (como NIS, por ejemplo) lo mas probable es que ni tengamos que crearla ya que seguramente la suite de seguridad la creara por nosotros automaticamente la primera vez que usemos MySQL. Por ultimo haremos clic en activar modo estricto y luego en Next. Esta pantalla configura el juego de caracteres a usar en la base de datos. Aqui nuevamente me porte como usuario y no me di cuenta de que seleccionaba en realidad. Me di cuenta luego, mientras editaba la foto. En realidad debi haber escojido soporte multilingue, que es la segunda opcion, ya que es el que ofrece UTF8. Como no lei me fui directamente a la tercera opcion y seleccione manualmente UTF8... un comportamiento muy usuario. Contrario a lo que se cree y a pesar de escojer Latin1, no es un juego de caracteres latinos en el sentido como lo vemos aqui en sur america o España. Latin1 no incluye Ñ ni acentos y otros signos caracteristicos del castellano. Asi que debemos, en realidad, seleccionar la segunda opcion y hacer clic en Next. Tambien pueden seleccionar la tercera y seleccionar manualmente UTF 8, pero es ganas de perder el tiempo ya que la segunda opcion lo hace automaticamente. Ahora bien, mas alla de la ñ ¿por que seleccionar UTF8 en lugar de Latin1?, bueno, si quieren llamar a su personaje, por ejemplo, "El coñoemadre", solo lo podran hacer dandole a las tablas configuracion UTF8. La siguiente pantalla es una de las mas importantes del proceso de configuracion. Basicamente decide si el servidor de MySQL se instala como un servicio o no y si este arranca automaticamente al iniciar Windows o no, y le asigna el nombre que coloquemos debajo. Tecnicamente, no es estrictamente necesario correr MySQL como servicio, pero hacerlo asi es mas automatico y nos releva de la necesidad de lenvantar el servicio manualmente cada vez. El decidir si se inicia el servidor automaticamente que arranca Windows lo que hace es decidir si al arrancar Windows automaticamente acepta conexiones a la base de datos. En cuanto al nombre, pueden usar cualquiera, pero yo recomiendo uno que lo identifique rapidamente con lo que hace, en este caso miren el que use. La ultima opcion es mas para propositos administrativos, y lo que hace colocar la ruta de MySQL dentro del PATH de Windows, de esa manera, cuando necesitemos hacer algo en MySQL que no podamos hacer por el Workbench o por Navicat (que seria mas bien raro...), cuando habramos el simbolo del sistema, en lugar de escribir Crogram FilesMySQLMySQL Server 5.1bin, todo para despues escribir mysql o mysqld (segun sea el caso), solo escribiremos mysql o mysqld y ya. Los usuarios con kilometraje como yo saben mejor a que me refiero. Asi que vamos a seleccionar todas las casillas de verificacion y a ponerle un nombre descriptivo al servicio y luego a hacer clic en Next. Esta es la ultima pantalla de configuracion de MySQL. Si es la primera vez que lo instalamos debemos tildar la opcion de modificar configuraciones de seguridad, solo asi asignaremos por primera vez la contraseña del root (o usuario super administrador). Luego de confirmarla escribiendola nuevamente, NO debemos tildar la opcion de activar accesos de root desde maquinas remotas. Esto es por motivos de seguridad, ademas de que no es funcional para el servidor personal. La ultima opcion a considerar es la de si se debe o no crear una cuenta anonima para acceder a la base de datos MySQL. Yo no lo recomiendo por razones de seguridad. Asi que luego de colocar la contraseña y confirmarla hacemos clic en Next. En la siguiente pantalla hacemos clic en Execute. El configurador armara la instancia de MySQL en base a nuestras opciones... Al terminar confirmara que creo el archivo de configuracion, que instalo el servicio, que lo inicio y que aplico las configuraciones de seguridad. Error 1045: Bienvenido al infierno Ok, supongamos que siguieron todos los pasos al pie de la letra y por alguna extraña jugarreta del destino al llegar a la ultima pantalla en lugar de de tener 4 ganchos azules tienen esto... Lamento informarles que han caido en el maldito infierno de MySQL. Tecnicamente el error 1045 es un error de conexion, pero en 9 de cada 10 casos se debe a una autenticacion incorrecta. ¿Por que ocurre esto?, dificil de decir con exactitud, pero lo que me ha enseñado mi peregrinar por el monte de las agujas de MySQL es que esto se debe a un error de codigo mas que requete reportado en los foros de Oracle y que se produce cuando desinstalad MySQL sin detener previamente y eliminar la instancia del servidor MySQL. Al parecer el desinstalador de MySQL no puede hacer eso automaticamente, entonces cuando se desinstala MySQL queda una instancia fantasma con una contraseña asignada. Si mas adelante reinstalan MySQL y quieren crear nuevamente una instancia se contraran con que ya tienen una instancia configurada como servicio registrada en Windows a la cual nunca podran acceder y por ende nunca le podran cambiar la contraseña. Sin embargo, el error va mas alla, ya que al parecer, incluso si no tenian una instancia con el mismo nombre pasa el error. Si la instancia no tenia contraseña pasa el error, incluso si nunca antes habian tenido instalado MySQL el error aparece al azar en algunas computadoras... Asi que mas que un error de autenticacion parece que fuera mas un error de instancia. ¿Como se resuelve?, jeje, aqui viene lo divertido: tecnicamente con algo tan simple como escribiendo mysql> UPDATE mysql.user SET Password=PASSWORD('la nueva contrseña se pone aqui') -> WHERE User='root'; mysql> FLUSH PRIVILEGES; El problema es que esto no sirve en 9 de cada 10 casos... si no se hace una trampa antes. ¿Recuerdan que mencione el MySQL GUI Tools Bundle 5.0r17 en los requisitos?, bueno, resulta que las GUI Tools Bundle permite retirar las restricciones de modificacion de la tabla de usuarios de MySQL, cosa que hasta donde yo se solo se hace con las GUI Tools Bundle. Si, tambien se pude hacer con el Workbench, pero para ello necesitamos establecer una conexion y para eso necesitamos que la contraseña sea valida, es decir, que no ocurra el error 1045. ¿Que utilidad tiene una herramienta que te permite corregir el error que quieres corregir, solo si el error no existe...?. Por ello especifico que tiene que ser MySQL GUI Tools Bundle 5.0r17, el Workbench no sirve. Probablemente los fan hardcore de MySQL comenzaran a criticar el post diciendome de noobie para abajo, pero asi lo se hacer yo y el Workbench agiliza algunas cosas... Entonces, suponiendo que tengan el puto error 1045 a continuacion les explico como resolverlo. Primero instalamos MySQL GUI Tools Bundle 5.0r17. Para ello lo ejecutamos luego de descargarlo. Al caer en la pantalla de instalacion hacemos clic en Next. Como no tenemos nada mejor que hacer con nuestras vidas, vamos a leer todas y cada una de las letritas del acuerdo de licencia y SOLO despues de eso aceptaremos y le daremos clic a Next. A menos que necesitemos instalar el MySQL GUI Tools Bundle en una hubicacion diferente a la predeterminada, haremos clic en Next. Seleccionaremos la instalacion completa. Haremos clic en Install. Cuando el UAC pregunte si queremos permitir cambios en el equipo diremos que si. El instalado contara el casi numero infinito de estrellas en el universo y luego fundira tan elevado resultado en una formula secreta que colocara los archivos donde tienen que estar segun la posicion de las estrellas. Haremos clic en Finish para terminar la instalacion. Luego nos vamos al menu de inicio de Windows y lo ejecutamos desde el menu de ProgramasMySQLMySQL System Tray Monitor. Eso hara que tengamos un icono en la bandeja del sistema. Le haremos clic con el boton derecho y seleccionaremos configurar instancia. Eso abrira el MySQL Administrator. En esta pantalla haremos clic en el boton que dice Stop Service. Luego haremos clic donde dice Starup Variables. Luego haremos clic en la pestaña de Security. Ya que estemos en la pestaña de security marcaremos la casilla que dice Disable grant tables y haremos clic en el boton de Apply changes y haremos clic donde dice Service Control. Volveremos a iniciar el servicio haciendo clic en el boton que dice Start Service. Luego haremos clic en el menu Tools y seleccionaremos Windows Command Line. Al salir la ventana negra escribiremos en ella mysql y le daremos a Enter en el teclado. Si durante la configuracion de MySQL no tildaron la opcion que decia Include Bin Directory in Windows PATH, les va a tirar un error y deberan escribir en lugar de MySQL cd Crogram FilesMySQLMySQL Server 5.1bin y entonces si, escribir mysql y darle a Enter. Eso dejara la cosola de comandos de MySQL lista para recibir instrucciones. Ahi escribiremos UPDATE mysql.user SET Password=PASSWORD('aqui va la nueva contraseña') y pulsaremos Enter. Noten que donde dice aqui va la nueva contraseña, ahi tienen que colocar la nueva contraseña para la conexion. Lo menciono porque nunca falta el usuario tapado que lo pone tal cual y luego le tira contrasela erronea cuando se va a conectar. Al hacer esto les saldra como una flecha en ASCII, alli escibiran WHERE User='root'; y nuevamente le daran a Enter. Luego escribiran FLUSH PRIVILEGES; y le volveran a dar a Enter. http://ashirgames.hostoi.com/images/L/Lineage%20II/050.jpg Para salir de la consola de MySQL escribiremos exit y le daremos a Enter en el teclado. Esto nos dejara nuevamente en el Windows Command Line. Para salir de el escribimos de nuevo exit y le volvemos a dar a Enter en el teclado. Una vez que hagamos esto debemos volver a detener el servicio y luego de hecho esto irnos otra vez a Starup Variables. Alli iremos otra vez a la pestaña security. Y desactivaremos la opcion de Disable grant tables. Volveremos a aplicar los cambios. Y volveremos a iniciar el servicio. Hecho todo esto ya hemos corregido el fatidico error 1045 de MySQL y dejamos instalado el MySQL GUI Tools Bundle, el cual nos permite hacer muchas cosas sin tener que volver a la consola de MySQL. Alternativa a MySQL ¿Recuerdan que arriba dije que como alternativa a MySQL Essential 5, MySQL MySQL GUI Tools Bundle 5.0r17 y Navicat 8 Professional para MySQL podiamos usar Wamp Server y que lo recomendaba y al mismo tiempo no?. Bueno, el motivo de esta declaracion tan bipolar es la siguiente, MySQL da problemas y no son faciles de resolver, Wamp Server es mas facil y rapido. Solo por eso lo recomiendo sobre MySQL Essential 5, MySQL MySQL GUI Tools Bundle 5.0r17 y Navicat 8 Professional para MySQL. El problema es que Wamp Server es MUY basico. Veran, MySQL esta diseñado para multiples conexiones a diferentes bases de datos y en esto esta bien diseñado y resulta "sencillo" controlar esas diferentes conexiones a multiples bases de datos; ahora bien, hacer esto en Wamp Server es tecnicamente posible, pero mucho mas complicado ya que Wamp Server trata las conexiones de forma individual, en otras palabras, Wamp Server se diseño mas para UNA conexion de MySQL, UN servidor de Apache Server y UN servicio de PHP. Si no quieren arriesgarse a pasar por el fatico error 1045 y solo van tener un servidor personal que trabaje con MySQL, adelante, usen Wamp Server; pero si son como yo y tienen un servidor personal de Lineage, otro de Lineage II, otro mas de World of Warcraft, otro de Ultima Online y otro mas de Tibia... la unica opcion es amarrarse con MySQL Essential 5, MySQL MySQL GUI Tools Bundle 5.0r17 y Navicat 8 Professional para MySQL. Instalacion de Navicat 8 para MySQL Ok, hasta ahora solo hemos instalado Java (el cual es necesario para poder correr el servidor) y MySQL (el cual es necesario para manejar las conexiones de la base de datos). Ahora necesitamos instalar Navicat 8 para MySQL, con el crearemos las bases de datos en si y las modificaremos a voluntad. Luego de descargarlo procedemos a ejecutarlo para instalarlo. Al hacer esto el UAC sale al paso pidiendo autorizacion para la instalacion. Hacemos clic en Si. Hacemos clic en Next. Continuando con nuestros repetidos intentos de suicidio, procedemos a leer el acuerdo de licencia esperando a fuerza de leer tanta tonteria se nos funda el cerebro y se nos escurra por la nariz. Como despues de tanto leer no sucede, aceptamos el acuerdo y hacemos clic en Next. Salvo que queramos instalar Navicat en una ruta diferente a la predeterminada, hacemos clic en Next. Aqui podemos colocar un acceso directo en el escritorio y/o en la barra de Quick Launch. Lo dejo al criterio de cada quien. Luego de hacer la eleccion, hacemos clic en Next. Finalmente hacemos clic en Install. El instalador se comunicara con los servidores de Premiumsoft y por una misteriosa conexion inalambrica inexistente, recibira la hubicacion de donde debera instalar los archivos para que el programa funcione correctamente. Al terminar el instalador haremos clic en Finish. Con esto ya hemos instalado Navicat 8. Ahora vamos a crear la base de datos para L2JFree. Para ello ejecutamos el Navicat 8, bien por el acceso directo del escritorio, bien por el acceso directo del Quick Launch o bien por el menu de inicio. Al ejecutarlo nos sale la pantalla de bienvenida. Al caer en el programa hacemos clic en el boton que dice Connection. Seleccionaremos MySQL del menu desplegable. Nos saldra la siguiente ventana. Salvo que deseemos modificar algo en particular , aqui solo vamos a colocarle un nombre descriptivo a la base de datos, a ingresar la contraseña y a tildar la opcion que dice Save Password, para que mas adelante no tengamos que estar metiendolo cada vez que queramos hacer un cambio en la base de datos o sus tablas. Luego de ello hacemos clic en Test Connection. Como nota adicional he de mencionar lo siguiente. Donde dice Host Name/IP Address se coloca el nombre del host o maquina que va a contener la conexion que queremos realizar. Para los propositos de este servidor personal que estamos armando no hace falta mas que colocar localhost, aunque tambien pudimos haber puesto 127.0.0.1. para el caso de los servidores privados y semi-profesionales, es posible que este parametro tenga que ser modificado colocando bien el nombre host que corresponda o la direccion IP de la computadora hacia donde se va a realizar la conexion. El puerto que usa MySQL es por defecto el 3306 y salvo que necesitemos configurarlo de otra manera, lo dejaremos asi. La contraseña es la que colocamos durante la configuracion de MySQL, o si tuvimos el error 1045 y lo corrigimos con el metodo explicado mas arriba, aqui colocaremos la contraseña que pusimos ahi. No olviden esto, ya que a lo mejor ponen cualquier estupidez aqui y luego no se pueden conectar. Ya saben porque... Si todo esta correctamente configurado les saldra una ventanita diciendo Connection Succesful. Aqui solo hay que hacer clic en OK. Regresamos a la ventana anterior. Aqui hacemos clic en OK nuevamente para guardar la conexion. Noten que la conexion aparece ahora en el panel izquierdo. A la izquierda del nombre de la conexion aparece la silueta de un delfin indicando que es una conexion a MySQL. Ahora necesitamos crear una base de datos donde se alojaran las tablas que usa el juego para todo. Para ello hacemos doble clic en la conexion que acabamos de crear, eso nos conectara a la instancia de MySQL y nos mostrara las bases de datos instaladas en el sistema. Noten que cuando estamos conectados a la instancia la silueta del delfin pasa de un tono gris a un tono azul. Noten ademas que en la conexion se muestran 2 bases de datos que no se han creado aun: sitio y test. Ambas son partes de un proyecto que llevo a cabo con Joomla y que estoy manejando con Wamp Server. No me conecto a ellas por MySQL ni por Navicat 8, pero como lo mencione casi al principio, las puedo ver y modificar si yo quisiera con Navicat 8. Menciono esto porque si al igual que yo manejan varias bases de datos deben estar pendiente de que modifican en realidad. No se confien porque tengan una instancia corriendo y otras no o porque se conectaron con una conexion en lugar de aquella otra, eso no es garantia de seguridad a la hora de poder o no modificar las bases de datos. Haremos clic con el boton derecho sobre la conexion y seleccionaremos New Database... En el cuadro de dialogo que sale solo ponemos el nombre de la base de datos. Preferiblemente uno bien descriptivo, y tengan en cuenta que los espacios no son validos para los nombres de las bases de datos asi que si escriben lineage 2 eso sera tomado como lineage y el espacio y el 2 no seran tomados en cuenta a la hora de la conexion y dara un error. Aqui tambien podriamos seleccionar el juego de caracteres pero como ya lo hicimos mientras configurabamos MySQL hace falta tocar nada mas, solo hacer clic en OK. Noten que la nueva base de datos aparece en el panel izquierdo. Como no vamos a hacer nada mas con la base de datos ni con la conexion, vamos a cerrar la conexion por medidas de seguridad. Para ello vamos a hacer clic con el boton derecho sobre la conexion y vamos a seleccionar Close Connection.

0
0
Dios ay cada cosa!
Dios ay cada cosa!
HumorporAnónimoFecha desconocida

POR FAVOR T! MIREN DONDE ESTA LLENDO EL MUNDO Y QUE LA IGNORANCIA NO ES AJENO A NADIE! Ayuden a erradicar a esta gente no escuchen basura se les ruega atentamente a la comunidad no arruinen el mundo con basofias como esa. (esta informacion fue sacada de facebook no doy nombres para evitar problemas) no caguen a los grandes! Ozzy y Slash tomando unos verdes con bizcochitos Don Satur

0
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.