Zamahel
15/07/2013, 03:20
Saludos n.n, Bueno, creo este Thread con el fin de continuar de una forma mas organizada e informada el tema de los Aldeanos que se planteo In-Game para ver si entre todos podemos llegar a una solución que resulte mas beneficiosa o, al menos, no tan perjudicial para todos.
Primeramente paso a aclarar lo que se plantea en cuestión:
Como muchos (si no todos) abran notado, últimamente hay algunos problemas de lag en el Server, y, se plantea como una de la principales razones el sistema que utiliza el juego para la reproducción de aldeanos (Aclaro nuevamente, es el sistema de reproducción y no los aldeanos en si, el causante de dicho lag).
¿Como Funciona Dicho Sistema?
Originalmente fue programado para que funcione dentro de los parámetros de las pequeñas Villas de Aldeanos que se encuentran sueltas por los mapas cuando estos son creados, lo que hace el sistema es determinar un Radio o Perímetro el cual se considerara "Villa" luego calcula cuantas casas habitables hay en el mismo (para ello cuenta las puertas dentro de dicho radio) y luego cuenta la cantidad de Aldeanos que hay actualmente, si hay menos aldeanos que casas habitables, habilita a los mismos a reproducirse, el problema llega cuando "Buguean" dicho sistema colocando puertas desquisiadamente en un radio relativamente pequeño creando lo que llaman "Granja de Aldeanos", ya que básicamente saturan o sobrecargan este sistema.
¿Como esta afectando al Servidor?
En uno de los momentos en los que hubo un pico de lag, Robert realizo un Reporte de Servidor (Se puede ver Aqui (http://aikar.co/timings.php?url=5876349)) en el cual se detallan las Rutinas y cuantos Recursos estaban consumiendo del Servidor en ese momento, si prestan atención van a notar que la de mayor consumo es doVillages, después de analizar el código fuente por el lugar donde se computan estos datos, Robert encontró que dicha rutina contiene:
(Inicio de rutina para computar el consumo)
timings.doVillages.startTiming();
(Esto controla varios aspectos de los Aldeanos, básicamente, su comportamiento)
this.villages.tick();
(Esto es lo que controla lo denominado "Village Siege". El "Village Siege" se activa cuando hay Aldeanos, Puertas y Golems presentes, y si bien no produce efecto alguno en Genubi el Servidor de todas formas destina recursos al mismo, es debido a este que se esta ocasionando el lag)
this.siegeManager.a();
(Esto marca el fin de la rutina para computar el consumo)
timings.doVillages.stopTiming();
Posibles soluciones que se proponen:
1ra: Que ustedes pongan un poco de voluntad y borren sus granjas de Aldeanos, y hago énfasis en que lo que se pide borrar son las "Granjas", aunque cabe destacar que lo ideal seria, que aquellos que tienen Aldeanos, conserven solo uno de cada tipo, ya que siendo realistas, no hacen falta mas.
2da: La intervención divina de Robert y un borrado absoluto de los aldeanos, extinguiéndolos totalmente.
Como supongo que notaran, la solución mas beneficiosa para todos seria la primera, y solo requiere un poco de voluntad y sacrificio, no obstante, si el tema no mejora los mas probable es que Robert decida proceder con la segunda opcion, lo que seguramente dejaría descontento a mas de uno, pero esto señores, depende netamente de ustedes y de su compromiso para realizar lo que se les pide.
Espero que sea claro, si tienen alguna, comentario o sugerencia no duden en utilizar el Thread ya que para eso esta, Saludos n.n ...
---------------------------------
Primeramente paso a aclarar lo que se plantea en cuestión:
Como muchos (si no todos) abran notado, últimamente hay algunos problemas de lag en el Server, y, se plantea como una de la principales razones el sistema que utiliza el juego para la reproducción de aldeanos (Aclaro nuevamente, es el sistema de reproducción y no los aldeanos en si, el causante de dicho lag).
¿Como Funciona Dicho Sistema?
Originalmente fue programado para que funcione dentro de los parámetros de las pequeñas Villas de Aldeanos que se encuentran sueltas por los mapas cuando estos son creados, lo que hace el sistema es determinar un Radio o Perímetro el cual se considerara "Villa" luego calcula cuantas casas habitables hay en el mismo (para ello cuenta las puertas dentro de dicho radio) y luego cuenta la cantidad de Aldeanos que hay actualmente, si hay menos aldeanos que casas habitables, habilita a los mismos a reproducirse, el problema llega cuando "Buguean" dicho sistema colocando puertas desquisiadamente en un radio relativamente pequeño creando lo que llaman "Granja de Aldeanos", ya que básicamente saturan o sobrecargan este sistema.
¿Como esta afectando al Servidor?
En uno de los momentos en los que hubo un pico de lag, Robert realizo un Reporte de Servidor (Se puede ver Aqui (http://aikar.co/timings.php?url=5876349)) en el cual se detallan las Rutinas y cuantos Recursos estaban consumiendo del Servidor en ese momento, si prestan atención van a notar que la de mayor consumo es doVillages, después de analizar el código fuente por el lugar donde se computan estos datos, Robert encontró que dicha rutina contiene:
(Inicio de rutina para computar el consumo)
timings.doVillages.startTiming();
(Esto controla varios aspectos de los Aldeanos, básicamente, su comportamiento)
this.villages.tick();
(Esto es lo que controla lo denominado "Village Siege". El "Village Siege" se activa cuando hay Aldeanos, Puertas y Golems presentes, y si bien no produce efecto alguno en Genubi el Servidor de todas formas destina recursos al mismo, es debido a este que se esta ocasionando el lag)
this.siegeManager.a();
(Esto marca el fin de la rutina para computar el consumo)
timings.doVillages.stopTiming();
Posibles soluciones que se proponen:
1ra: Que ustedes pongan un poco de voluntad y borren sus granjas de Aldeanos, y hago énfasis en que lo que se pide borrar son las "Granjas", aunque cabe destacar que lo ideal seria, que aquellos que tienen Aldeanos, conserven solo uno de cada tipo, ya que siendo realistas, no hacen falta mas.
2da: La intervención divina de Robert y un borrado absoluto de los aldeanos, extinguiéndolos totalmente.
Como supongo que notaran, la solución mas beneficiosa para todos seria la primera, y solo requiere un poco de voluntad y sacrificio, no obstante, si el tema no mejora los mas probable es que Robert decida proceder con la segunda opcion, lo que seguramente dejaría descontento a mas de uno, pero esto señores, depende netamente de ustedes y de su compromiso para realizar lo que se les pide.
Espero que sea claro, si tienen alguna, comentario o sugerencia no duden en utilizar el Thread ya que para eso esta, Saludos n.n ...
---------------------------------