EasyMaNGOS ("repack" de MaNGOS mío)

Iniciado por Ariath, 3 Julio 2010, 23:46 PM

0 Miembros y 9 Visitantes están viendo este tema.

Ariath

A ver, aquí hay que aclarar un par de detalles por lo que veo ...

Si tu tienes una IP dinámica, y tienes un dominio No-IP (con la aplicación de Windows que va informando al servicio de No-IP de tu IP), tus amigos simplemente tienen que poner en sus realmlist.wtf dicho dominio, en cuanto a ti, puesto que el realmlist de MaNGOS puede tener varias entradas, tan solo tienes que añadir una con tu dominio y listos.

Luego, el tema LAN, has de saber que ningún PC en una LAN comparte IP con otro, es imposible. Cada PC tiene su propia IP que, o bien se la facilita el router, o bien es establecida a mano por tí.

Lo que tienes que hacer es, añadir una nueva entrada en el realmlist de MaNGOS, pero esta vez con la IP del PC servidor (su IP dentro de la LAN), y cada PC que se quiera conectar al servidor, solo tiene que alterar su realmlist.wtf de manera que conecte a la IP LAN del PC servidor.


Con este ejemplo verás mas claro lo que digo, este es mi realmlist:

1   Aetherius MaNGOS (LOCAL)   127.0.0.1                   8085   1   2   11   0   0   12340
2   Aetherius MaNGOS (LAN)           192.168.2.6           8085   1   0   11   0   0   12340
3   Aetherius MaNGOS (ONLINE)   ariath.homelinux.com   8085   1   0   11   0   0   12340

De lo que estás viendo, lo importante a tener en cuenta para la conexión del servidor son los 3 primeros campos (obvia la primera columna, solo es un índice).

Inicialmente, cuando tu montas MaNGOS por vez primera, tu bases de datos solo tiene la primera entrada, la cual está presente porque es siempre igual.

El primer campo es el nombre del reino y el segundo y tercer campo son la IP y el puerto donde ese reino escucha las conexiones entrantes.

Como ves, la primera entrada escucha las conexiones en 127.0.0.1, la IP local del PC servidor, necesaria para jugar localmente desde ese PC.

La segunda es una IP LAN, la IP que corresponde al PC servidor dentro de mi LAN.
Y la tercera es mi dominio, en este caso de DynDNS.

Cada uno de esos reinos hacen posible que la gente se pueda conectar por un camino distinto. Hazte a la idea de que cada una de esas entradas es una "puerta" por la que se puede entrar a tu servidor, y que si eliminas por ejemplo la local, no podrás jugar desde el PC servidor, y si eliminas la que tiene el dominio, la gente dejará de poderse conectar desde el exterior, etc ...

Cuando una persona se conecta a tu servidor, seas tu desde el PC servidor, una persona desde tu LAN, o cualquier otro desde Internet, solo va a tener accesible el reino correspondiente (mas bien la puerta correspondiente, porque esto no son reinos reales independientes).

No se si me habrás entendido bien la explicación o si por el contrario te habré liado más todavía, confío en que sea lo primero :) .

Salu2

Xaser

Creo que mas o menos lo he pillado despues de leerlo 6 veces, copie el ejemplo y lo puse en mi base de datos cambiando nombres y las ip. ahora tengo unas dudas, que espero que sean las ultimas  ;D ;D ;D :

1) Como saber si funciona el online, si ni yo mismo puedo acceder poniendo en mi realmlist del juego lo de el dominio (ariath.homelinux.com por ejemplo).

2) Cito esta parte: Cuando una persona se conecta a tu servidor, seas tu desde el PC servidor, una persona desde tu LAN, o cualquier otro desde Internet, solo va a tener accesible el reino correspondiente (mas bien la puerta correspondiente, porque esto no son reinos reales independientes).

Si usan todas las ip el mismo puerto y el mismo mangosd si una persona se conecta por lan y otra por online se ven no?

3) Que puertos tengo que abrir ademas del 8085? (aun no los abri  ;D )

Ariath

Hombre, la única manera saber si funciona online es probandolo, pedirle a alguien que intente conectar con tu servidor (la versión del juego tiene que ser compatible).

De todas formas, si consigues tener el servidor accesible desde LAN, casi seguro que desde Internet también funciona.

Los puertos a abrir los puedes ver en los propios archivos de configuración, suelen estar casi al principio de los mismos (en el de mangos verás el puerto del servidor de juego, y en el del realmd verás el del servidor de reinos).

No acabo de entender esto que describes aquí:
CitarSi usan todas las ip el mismo puerto y el mismo mangosd si una persona se conecta por lan y otra por online se ven no?

A ver, a menos que montes reinos independientes (esto es, cada reino con su emulador y su base de datos propia), todos los reinos que pones en el realmlist de MaNGOS son en realidad el mismo.

Si una persona se conecta por LAN, otra por Internet, y tu desde el servidor, os vais a ver los 3, puesto que realmente no son reinos diferentes al estilo de los de Blizzard.

Es como entrar a un mismo edificio pero usando puertas diferentes para entendernos.

Salu2

Xaser

jeje ya me funciona online, gracias por la ayuda y por hacer el programa, que lo veo muy util para hacer servidores actualizados, por cierto no conocera alguien algun sitio de donde sacar manuales para bt e icc? que tanto illidan como el rey exanime no los puedo atacar (aparecen en color rojo pero creo que tengo que hacer algo antes de atacarlos pero no se el que) por ejemplo le doy a akama, habla con illidan, luchan durante un rato y despues se larga akama e illidan vuelve a estar igual con la cosa roja pero sin poder atacarle.

P.D: Que conteste alguien que no sea ariath si puede ser, que lo voy a desgastar, parece que  es el unico que ve este post  :P

Ariath

Mmm... las consultas genéricas, o sea, lo que no se refiera específicamente al proyecto este, deberías postearlas en el hilo de MaNGOS/Trinity, porque seguramente ese lo verá más gente, y por otra parte, estoy viendo que vamos a acabar teniendo la mismas preguntas y respuestas (o casi) en ambos hilos xD.

Salu2

Xaser

#35
 :-( Me sigue sin funcionar "actualizar las bases de datos", me sale que no se puede conectar con mysql:
Esto esta bien puesto?

Host de mysql: localhost
Usuario de mysql: root
Password de mysql: mangos
Puerto de mysql: 3307 (utulizo este para poder ejecutar otros mysql)

Nombre de la base de datos Characters: characters
Nombre de la base de datos Mangos: mangos
Nombre de la base de datos Realmd: realmd

Ruta de Mangos: C:\Ariath-EasyMaNGOS-ea5d59b\MaNGOS

Son correctos los datos introduccidos?: s

No se puede acceder al servidor de mysql



P.D: Pondre las preguntas generales en el post correspondiente, de todas formas bt ya me funciona ::)

Ariath

El tema puede ser precisamente el puerto.

Si estás arrancando el MySQL que doy con el repack (aparte de que debes asegurarte de que está corriendo, porque si está apagado el servidor portable... ), debes usar el puerto 3306.

Estuve haciendo pruebas para que en lugar del 3306 usase el 3307, pero me daba problemas, así que decidí dejar el 3306 por defecto.

Si ya tienes un MySQL propio, no hay razón para que uses el portable, y solo vas a liarte más. Simplemente usa el repack con los datos de tu propio MySQL y ya está, puedes tener en el mismo servidor bases de datos para todo lo que quieras.

Salu2

Xaser

Lo malo es que el actualizar db no me funciona con el mio, que es el del puerto 3307, no me deja conectar, los problemas eran de que lo de actualizar no funcionaba bien con puertos 3307? a lo mejor es eso, me va bien con el mysql que venia en el repack

P.D: Se obtiene el mismo rendimiento online (al aprender hechizos y eso) con un mysql instalado normal que con el que trae el repack? si es asi paso del que tengo instalado.

Ariath

El problema es, tal como supones, que hay algo que impide que el programa Java funcione correctamente cuando el puerto no es el 3306.

Tengo que investigarlo, porque es un tanto incomprensible, yo no conseguí, de ninguna manera además, que el programa me funcionase con otro puerto que no fuera el 3306.

En cuanto al MySQL que trae el repack, el rendimiento es exactamente el mismo. Date cuenta, de que las únicas diferencias que existen entre tu MySQL y el portable son estas 2:


1ª. Como ya hemos visto, el puerto que se está usando.

2ª. La manera de ejecutarse el servidor. Cuando se instala MySQL, por defecto, se instala como servicio de Windows, en cambio, el MySQL portable no se instala como servicio. Tu ejecutas el servidor y se queda ejecutándose, hasta que mates el proceso.

El portable se puede instalar como servicio también (no lo he probado, pero lo supongo), pero claro, solo te interesa instalarlo como servicio en caso de que lo vayas a tener el servidor fijo, porque para un portable, es tontería.

Salu2

Xaser

#39
preguntaba por el rendimiento por que en la mamoria ram aparecia que el instalado ocupaba 340 mb y el otro 8 mb, por lo que creia que el portable seria algo mas lentillo al realizar consultas en la bd, al no tener los datos en la memoria.

Modifico: "supongo" que no tiene los datos en la memoria al ocupar tan poco.