U3Games

Lineage II | Desarrollo & Soporte => Implementaciones => Desarrollo de Servidores => Engines => Mensaje iniciado por: Swarlog en Ago 06, 2022, 02:48 AM

Título: Athena Event Engine
Publicado por: Swarlog en Ago 06, 2022, 02:48 AM
(https://www.united-extreme.com/u3games/foro/proxy.php?request=http%3A%2F%2Fi.imgur.com%2FKGSnM6J.png&hash=7760b1fdba10c239c582d52dfe223da88e75937c)

Athena Event Engine

¿Qué es? ¿Cuál es el objetivo?

Athena Event Engine es un proyecto que tiene por objetivo crear un sistema de eventos libre y gratuito de propósito general para todo tipo de servidores L2J.
Esto significa que si tenés un servidor, ya sea un fork o no, el engine funcionará igual.

¿Cómo es esto posible?

La idea final del engine es lograr la siguiente arquitectura:

(https://i.gyazo.com/b806fb9eb472a84f6070b127ae483fdb.png)

Consta de tres partes principales:

¿Cómo es eso de que los eventos están aparte?

Los eventos se compilan como JARs independientes. Al ser colocados en la carpeta events, una vez que levante el servidor son inicializados por el sistema de eventos. Dicho en otras palabras, teniendo el sistema de eventos instalado, instalar nuevos eventos es tan sencillo como copy-paste.

Si sos programador y querés hacer tus propios eventos, tan sólo tenés que consumir dicha API para crearlos. Así de simple.

¿Qué funcionalidades tiene?


Todo muy lindo pero, ¿cómo hago para ganar dinero?

Dado que el core no necesita de modificaciones para correr los eventos, podrás crear tus propios eventos y venderlos como JARs independientes.

¿Cuál es el estado actual de esto?

Se publicó la versión Alpha v3.0 que contiene todo lo descrito arriba. Si bien todavía no es lo suficientemente estable como para funcionar en una servidor live, funciona como prueba de concepto. En otras palabras, podrás instalar el engine y correrlo en tu servidor ÚNICAMENTE si utilizás L2J server High Five. La adaptación a otros forks aún está pendiente.

Por otra parte, todavía queda trabajar un poco más en la abstracción del core de L2J y quedan muchos helpers que programar (por ejemplo, algo que facilite la transformación de los jugadores, entregue recompensas, fuegos artificiales, etc).

Te aconsejo que leas ESTO  (https://github.com/AthenaEventEngine/AthenaCore/wiki/%5BES%5D-Instalaci%C3%B3n)para instalar el engine.

Me convenciste, ¿cómo puedo ayudar?

El proyecto está público en Github, por lo que podés mirar todo el código y contribuir con los cambios que quieras (utilizá pull requests para ello). Si bien invertí muchísimo esfuerzo en hacer lo mejor posible, seguramente hay maneras mejores de hacer lo que hay hecho, por lo que tu opinión es muy valiosa (el buen software se construye en equipo SIEMPRE).

Si no sos programador pero querés ayudar, podés publicitar el engine y/o probarlo. El feedback es una de las cosas más importantes. También podés aportar con una mano a completar la wiki.

El chat de Telegram en español es este: https://t.me/joinchat/AAAAAArm62hmfq_Y-RtEDA (https://t.me/joinchat/AAAAAArm62hmfq_Y-RtEDA)

Links útiles

Repositorio del core: https://github.com/AthenaEventEngine/AthenaCore (https://github.com/AthenaEventEngine/AthenaCore)
Repositorio del TvT: https://github.com/AthenaEventEngine/TeamVsTeam (https://github.com/AthenaEventEngine/TeamVsTeam)
Wiki: https://github.com/AthenaEventEngine/AthenaCore/wiki (https://github.com/AthenaEventEngine/AthenaCore/wiki)

Agradecimientos

Este proyecto comenzó como L2J Event Engine a mediados del 2015 con la base contribuída por fissban. A lo largo de estos años se fue avanzando a base de ese trabajo con ayuda del mismo fissban, Swarlog y yo. Luego de un tiempo se abandonó y fue retomado por mí (Zephyr) con el objetivo de lograr la idea que fue descripta en este post (¡también recibimos algunas contribuciones de Sacrifice!).

Les agradezco a ellos por el trabajo invertido y espero que les guste el resultado que hoy estoy presentando.

Por último, todavía queda mucho trabajo por hacer e invito a la comunidad a...

"Crear una pieza software increíble JUNTOS".