|
|
Soporte Técnico Consultas sobre problemas técnicos del juego a usuarios de la comunidad |
|
Thread Tools | Display Modes |
12-17-2007, 02:05 PM | #1 |
Duke
Join Date: Jan 2007
Posts: 3,939
|
Lluvia de ideas: Mejora del rendimiento del juego.
Primero pongo esto aca porque no se donde puede ser una mejor sitio para ubicarlo, si piensan que hay otro mejor muevanlo please :P. En la taberna no, es discusión general tampoco porque no todo el mundo creo que quiera/pueda participar aca y en sugerencias no creo que se adecuado porque es más enfocado al desarrollo del juego como contenido.
La idea de crear este hilo es porque 20 cabezas piensan más que 10 (aunque no tiene porque ser mejor...). Así pues lluvia de ideas. Abstenerse de decir chorradas o cosas que no se sepa de lo que se habla por favor. - Hoy estaba con el etherreal abierto mientras hacia unas cosas de la facultad y con el regnum abierto mientras terminaba de ejecutar... y me puse a mirar los paquetes enviados por curiosidad :P. Me llamó la atención que se veían mensajes de usuarios (estoy hablando del juego) con los cuales no había hablado y comprendí que correspondían a personas que hablaban por general o por global. Se me ha ocurrido que no tiene porque ser necesario recibir lo que se está escribiendo en el chat del reino si no me interesa, es decir, que el servidor solo mande los mensajes del chat que esté actualmente viendo. Esto tiene una serie de Ventajas e inconvenientes: Ventajas: no recibo paquetes cuando realmente no estoy interesado en lo que se está diciendo o bien por la gente que está floodeando (o como se escriba) el chat. El servidor se ahorraría paquetes a mandarme y yo me ahorraría paquetes recibidos, aliviendo un poco la carga de la red. Inconvenientes: ¿Como sabe el servidor si quiero o no leerlo? Debería de mandarse un mensaje al servidor diciendo que chat estoy viendo ahora mismo y para que pueda filtrar los que no me interesan. El problema que trae esto es que la mayoría de los chats estarán vacios y te perderas muchas conversaciones. Además si alguien está todo el rato cambiando de ventanas estaría mandando mensajes al servidor constantemente diciendo: "Activame"/"Desactivame" el chat. Puede derivar en una carga extra para el servidor. Así que solo se envíe cada X tiempo el mensaje de "he cambiado de ventana". Si no ha cambiado no. Solución: Normalmente solo se habla demasiado y cosas que no te interesan en el chat del reino así que halla una opción en el juego de desactivar el recibir mensajes del chat del reino hasta que se active esa solapa, una vez que se cambie de chat deja de recibirse información del chat del reino. La gente que activase este funcionamiento estaría sacrificando el mantenerse informado sobre lo que se está hablando, así que una medida paliativa podría ser que cuando se active el chat del reino se envien los 5/10 últimos mensajes (o menos en caso de que no halla habido más de 5/10 nuevos mensajes desde que se miró por ultima vez esta ventana). Supongo que esto puede significar un cambio en el código del servidor muy grande y tal vez inviable, pero si no es así podría ser una opción. Si se llega a implementar propongo que esté un tiempo en estado beta y se de la opción de elegir este funcionamiento a la gente por medio de la interfaz. Propongan sus ideas!!!!
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia "uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan |
12-17-2007, 11:18 PM | #2 |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Hmm... Tal vez sacando el chat se le daría una mayor importancia a los clanes
Ahora, la verdad que esa carga de paquetes sería mínima, Ar, si te ponés a pensar que cada paso que se envía al server representa lo mismo en cuanto a carga (e incluso llega a ser mayor la última). Aparte, no sé cómo es el funcionamiento del Regnum con respecto a las transacciones de paquetes entre el server y el cliente, pero considero que existe un balance entre la carga del server y el ancho de banda. Cuando se quiere optimizar uno de los dos el otro debe ceder, me refiero a que se puede hacer una compresión de paquetes para que se optimice la conexión, pero eso perjudica al procesamiento. Considero que este es el mismo motivo por el cual no se actualiza la barra de mana tan rápido como queremos, ya que eso requiere mayor ancho de banda... Sin embargo, la solución A la Arlick podría mejorar esto, colocando una casilla que diga "mostrar mana en ventana de party" y que sólo se active cuando se vea dicha ventana (por default estaría desactivada). Otra cuestión es la estructura de los mensajes. No sé cómo están hechos (y de otro modo debería hacer ing. inversa, que está prohibido), pero mientras más cortos, mejor. Sabiendo que hay como 250~300 hechizos, podría asignárseles un número en hex. para acortarlo (supongo que estará en números de base diez, ya que cuando aparecen los mensajes de error de nombre hay un número correspondiente al hechizo).
__________________
I don't have a solution, but I admire the problem. |
12-17-2007, 11:28 PM | #3 |
Count
Join Date: May 2007
Location: Far away, across the fields...
Posts: 1,331
|
Me parece espectacular esta iniciativa, el tema de los datos innecesarios siempre fue una duda para mi. Pero al estar abstraído de las maneras en que se manejan estos en el Regnum, mucho no se me pudo ocurrir.
Estaría bueno que Surak nos comente si es viable la opción de Arlick. Otra cosa que me pregunté siempre es la carga de recursos. De esto me hice conciente luego de que se agregaron los nuevos mobs... ya lo sospechaba de antes, pero como esta vez fue masivo, denoté como afectó al lag de manera excesiva estas constantes descargas de recursos por parte de la mayoría de los usuarios online en el momento. Me gustaría saber si estos recursos se obtienen del mismo servidor que maneja los procesos/servicios del juego. Si esto es así, ¿Podría haber una posibilidad de que los recursos se obtengan de un servidor aparte? Y si no es así, olviden lo que dije Acuerdensé que muchos porque el juego no les anda bien etc. etc. reinstalan el juego y por ende descargan otra vez recursos ya obtenidos anteriormente, lo que puede derivar en un constante derroche de ancho de banda por descargas redundantes. Puede que me equivoque, así que me gustaría saberlo Saludos!
__________________
<Krishna> <Krieger><Avalancha de Disney > |
12-17-2007, 11:46 PM | #4 |
Duke
Join Date: Jan 2007
Posts: 3,939
|
Pero xeph fijate en esto (datos redondeados :P):
600 personas conectadas. 200 por reino, luego si alguien escribe en el chat del reino el servidor debe mandar 200 paquetes, a cada uno de los integrantes del reino que estén conectados. Si 5 peronas escriben más o menos de seguido se están mandando 1000 paquetes. De los 200 es posible que solo aproximadamente 30 estén mirando el chat del reino. Si escriben 5 = 150 paquetes, por segundo supongamos. Entonces con la primera situación el servidor manda 1000 paquetes por segundo pensando en un único reino. Multiplicado por 3 = 3000. En la situación 2 contando los 3 reinos serían 450 paquetes por segundo mandados por el servidor, ahorrandose 2550 por segundo. El cliente además pasaría de recibir 5 mensajes escritos en el chat del reino por segundo a 0. Puede que sea una pequeña diferencia, pero al fin y al cabo es algo. Respecto lo del mana nose si tal vez se hizo en el pasado de mirar con cuanta tasa de refresco se llega a la situación óptima, puede que ahora mismo se esté en esa situación porque algo más lento puede ser molesto. También puede que no, nose si se habrá pensado en eso. Respecto lo de poner un servidor distinto solo para recursos creo que ya está hecho. En el fichero game.cfg se puede ver que usan dos ips distintas, una para el juego y otra para el autoparche, donde supongo que estará eso. Si no es así me parece una buena idea , aunque pagar otro servidor puede ser un problema peor... y tal vez fuese un servidor más por cada mundo... 3 servidores solo para recursos :S
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia "uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan |
12-18-2007, 12:57 PM | #5 | |
Marquis
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
|
Quote:
/ignore global Claro que, como siempre tengo un problema para cada solución, ¿como nos enteramos de los pedidos de socorro? (por ejemplo: cabras en menirah, verdes en merca)
__________________
in theCopyleft—all rights reversed |
|
12-18-2007, 06:41 PM | #6 | |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
Que el signo "!" adelante de la oración sea un "Override" para esta funcionalidad!
__________________
I don't have a solution, but I admire the problem. |
|
12-20-2007, 02:34 PM | #7 |
Duke
Join Date: Jan 2007
Posts: 3,939
|
Se me pasó otra idea por la mente. No sería una diferencia notable, pero bue... puestos a intentar optimizar supongo que todo es válido.
Me he fijado que cuando se ejecuta el launcher la licencia se la descarga de la red. Creo que un servidor distinto al del juego y al del autoparche. En total son 13k y poco, unos 40 paquetes. Si después de una actualización se conectan 600 personas a la vez el servidor estará subiendo como 7,5 MB. Alternativa 1) Comprimir la licencia, que el cliente la descargue y la descomprima en local. No se ha abierto el juego aún así que no tiene porque ser lento no? Alternativa 2) Que la licencia se guarde en el pc y que se incluya entre los elementos que se comprueban cuando se conecta al autoparche, de forma que si ha sido alterado o borrado se descargue de nuevo.
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia "uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan |
12-20-2007, 03:05 PM | #8 |
Duke
Join Date: May 2007
Location: Entornado.. Muy cerca
Posts: 3,353
|
podria ser, a lo mejor, que la pestaña del reino no se vaya, pero si se tranquilice, y nomas acepte los mensajes en Azul
la mayoria de las alertas se ponen en azul saludos
__________________
procrastinadores y perezosos del mundo , unios hoy!!..... no... mejor mañana
Desearia que el RO tuviera integracion con el FB para asi estar en el chat mientras juego..... ok no Habia dos EMOS bebiendo en un bar, y cuando inicio la hora feliz se levantaron y se fueron |
12-20-2007, 03:13 PM | #9 |
Master
Join Date: Feb 2007
Location: Altaruk :) Posts:31,337
Posts: 446
|
jajaja, y todo eso lo aprendes mirando ethereal en la facu?
En serio. Yo sí he probado con varios sniffers y realmente siempre ha sido un problema el trafico excesivo que envian tanto el cliente como el server. La conexion inicial es al servidor web (cuando muestra la licencia) y despues de verificar la instalacion, recibe las direcciones de los servers ra y amun, y escribe un nuevo game.cfg para el que vayas a usar en la sesion. Por ultimo, se conecta a la IP del servidor elegido. Su usan conexiones tcp y udp, cada una para un tipo de mensajes. Los que indican posicion, direccion y alguna cosa mas son UDP. Los comandos, tanto de chat como de skills, se tramitan por tcp. Todo ello sin encriptar. Ademas, unque no hagas nada, cada 500 ms envias ciertos datos al server, que no deja de consultarte. Si quieres mas detalles, agarra ethereal, papel y lapiz. Como dije, no hay nada encriptado. El trafico que supone el chat es muy poco, comparado por ejemplo, con el trafico que genera un jugador pulsado repetidamente una skill. Es un poco raro, pero el cliente envia todos y cada uno de los clicks que haces en el juego, incluso cuando clickas en el terreno envia un evento "interact". Puedes comprobarlo con ethereal o cualquier otro. Por otra parte, creo que el la ultima actualizacion surak ha depurado algunas de estas cosas, y se observa menor trafico de red y mas fluidez. Aun se pueden mejorar cosas, seguro, pero creo que van por el buen camino. Es mejor optimizar funciones que eliminar el chat. Por cierto, opino que el trafico debería encriptarse de algun modo. No es de recibo disponer de esa informacion (y otra) mirando simplemente un sniffer. Esperemos que esto no abra la caja de pandora.
__________________
I'm an outsider, outside of everything... RAMNA Elegida Miss Ignis 2009 por votación popular |
12-20-2007, 07:45 PM | #10 | |
Duke
Join Date: Jan 2007
Posts: 3,939
|
Quote:
Si todo lo había visto, pero estoy hablando de como mejorar cosas concretas. No disponemos del código aunque algunos comportamientos de la relación cliente-servidor podemos verlos. Nose... si se te ocurrió algo no estaría mal que lo expusieras...
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia "uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan |
|
|
|