La página de Er_Maqui

  El DarkBolt Ragnarok Online Control Panel (DarkBoltCP)


    Esta página, está dedicada, como bien dice su título, al mayor proyecto en el cual estoy embarcado, inicialmente en solitario, el Ragnarok Online DarkBolt Control Panel (a.k.a. DarkBoltCP). Esto es, otro panel de control para eAthena, basado en el más que conocido roCP. El nombre como veis no es muy imaginativo, ya que todo lo que trabajo tiene el nombre de DarkBolt, y este mismo nombre es el que recibió el panel de control, DarkBoltCP.



  Vista Previa del DarkBoltCP


    Las razones por las cuales decidí en su momento embarcarme en este proyecto, eran, entre otras, porque en ese momento, y al igual que en la actualidad, yo estaba plenamente involucrado en los servidores de Ragnarok Online. Al ser de esta forma, tenía conocimiento pleno de los recursos existentes, y concretamente, en materia de panel de control, aun habiendo uno que era "suficiente", para mí, a título personal, era algo totalmente incompleto. También, era un panel con claros fallos, que yo me dediqué a solventar, lo que provocó que comenzara a trabajar en un fork del existente roCP, llamado DarkBoltCP.

    Por esta razón, y dadas las necesidades que tenía en dicho momento, decidí embarcarme en este proyecto, en solitario, de realizar una modificación del Panel de Control existente. En sus inicios, unicamente era eso, una pequeña modificación del roCP, aunque con el paso del tiempo, no únicamente trabajé en la traducción de algunas partes, si no que comencé con un proceso de mejora del mismo, que acabó por convertirse en una rama completa de desarrollo que distaba muchísimo del original.

    Así también, con el tiempo, se decidió hacer uno nuevo desde cero, pero esta vez con colaboración. Igualmente, el proyecto mantiene su nombre original, DarkBoltCP, y es un Panel de Control pensado para servidores de Ragnarok Online que trabajan con MySQL. La idea para este nuevo panel de control, es crear una base sólida y modular, sobre la que posteriormente se puedan portar / implementar las funcionalidades existentes en la actual versión del DarkBoltCP.

    Dicho esto, y comprendido, entraré en materia sobre las diferentes posibilidades que ha adquirido este programa con mi proyecto (El DarkBoltCP original, basado en roCP, no el nuevo proyecto que está ahora en desarrollo).



  Las features del DarkBoltCP como Panel de control para un servidor de Ragnarok Online


    En el momento que comenzé el desarrollo, el sistema de roCP no disponía de un visor de Logs. Esto fué algo que implementé en las primeras versiones.

    Aun cuando esto fué implementado a su vez en el panel original, el roCP, cuando realizé la actualización de mis fuentes, para "recibir" los fallos de seguridad corregidos en dicha versión, decidí mantener mi versión del visor (La desarrollada para DarkBoltCP), ya que a mi parecer mostraba la información mas adecuada desde el punto de vista de un Administrador. Además de eso, más tarde, implementé un sistema de busquedas sobre los logs, que permiten ahorrar bastante tiempo en estas funciones.

    Hay que tener en cuenta, que cualquier Administrador de un servidor de Ragnarok Online necesita tener un acceso fácil y sencillo a los logs del servidor. Ya sea para comprobar que todos sus GameMaster están operando como deben, para comprobar un problema indicado por un usuario, o buscar indicios de alguna incidencia que se sospeche. Estos puntos, para mí, son claves en la Administracion de los servidores de Ragnarok Online, y en consecuencia, este punto es el que más importancia recibió en el panel de control DarkBoltCP.

    Esto, es un ejemplo de una posibilidad que añadí a las existentes en roCP. Ademas de esta, dispone de otras cosas, como podria ser la lista de personajes conectados mejorada, los campos añadidos a las listas de personajes y cuentas, los nuevos modos de búsqueda integrados en todo el sistema, la lista de sanciones existentes en el servidor, o el sistema de seguimiento (tracking) de usuarios.

    Todo esto no es más que una pequeña parte de todo lo que se incluye en el sistema. Baneo de IP's, de cuentas (siempre hablando del CP), control mejorado de las sesiones y la seguridad de las mismas, nuevas clases de conexión o un control de privilegios mucho más fino y preciso son simples cambios que se le han ido añadiendo poco a poco al sistema con el paso del tiempo.

    También, cabe comentar, que todo el sistema de Privilegios esta completamente rehecho, el de seguridad, revisado y mejorado, y el de noticias también esta rehecho completo (de tal forma que queda solventado el fallo de seguridad presente en roCP por el cual antes el nombre de la persona que posteaba una noticia era su propia cuenta en el juego). Igualmente, se ha implementado en DarkBoltCP un sistema de sindicación de noticias, aunque no es un RSS como tal, pero permite de una forma sencilla integrar las mismas noticias publicadas en el DarkBoltCP en cualquier otra página, lo cual permite tener múltiples tablones de noticias gestionados de forma centralizada.



  Las mejoras de DarkBoltCP respecto a roCP en la gestión de jugadores


    La novedad estrella que incluye este sistema, es como ya dije antes, el sistema de seguimiento (tracking) de usuarios del Ragnarok Online. Además de ser un sistema perfecto para que los encargados del juego (GameMasters) puedan hacer y almacenar comentarios sobre los diferentes jugadores (estando estos comentarios únicamente visibles para otros encargados del juego, o Administradores), mantiene dichos comentarios ordenados y permite buscarlos / encontrarlos, de forma fácil y cómoda.

    Además de esto, este sistema también guarda todas las acciones que el propio usuario realiza sobre su cuenta (Con lo cual queda constancia fehaciente de las acciones que se han realizado, así como cuando, o por qué), y las acciones que realizan los propios GameMaster/Admin sobre las mismas. De tal forma, que un simple vistazo nos permita obtener la información que antes necesitabamos días para recopilar. Es, en definitiva, un histórico aplicado a cuentas y / o usuarios, de facil acceso para los gestores del Ragnarok Online.

    Además de opciones como las comentadas, tiene algunas otras, simples pero interesantes, como puede ser el "pseudo-uso" de alas de mariposa sobre un personaje. Esta opción nos permite dar acceso a los GMs para poder sacar un personaje de un lugar donde por su propio pié no puede salir, pero sin dar un acceso excesivo al GameMaster del Ragnarok Online.



  Adaptabilidad del panel de control DarkBoltCP


    Además de todo lo ya expuesto, esta versión del Panel de Control tiene una gran parte del mismo gestionada desde ficheros de control de idiomas (Una de las grandes carencias de la versión original de roCP).

    Esta feature, es sin duda, la más interesante para todo Administrador, ya que no tiene que complicarse por saber programar si desea que sus usuarios puedan disfrutar de un panel de control, solo tiene que traducir un archivo.

    En el ámbito de diferentes servidores, se han eliminado las compatibilidades, manteniendo únicamente con mysql, ya que actualmente es el motor más utilizado de todos los existentes para mantener servidores privados de Ragnarok Onlinke. Así también, tiene una especialización con los servidores de Ragnarok Online basados en el servidor Athena, que sería imposible de mantener si no fuera por la ruptura de compatibilidad otros servidores, como el Aegis (El cual es cada vez menos utilizado, aunque sigue teniendo algunos servidores privados).



  La seguridad en el panel de control DarkBoltCP


    Otro de los grandes cambios que recibió el CP original, fué la resolución de historicos bugs y otros agujeros de seguridad del sistema. Esto ha sido uno de los puntos en los que más se centró el desarrollo, en mejorar la seguridad y solventar los bugs del roCP, para hacer del DarkBoltCP una opción más sólida a la hora de disponer un panel de control desde el que gestionar un servidor de Ragnarok Online.

    Obviamente, todo esto que ya fuí aprendiendo con los cambios del CP, se está traduciendo hoy en día en precisas y adecuadas medidas de seguridad para el nuevo CP. Desde la gestión de la información recibida, hasta la seguridad de que aun en caso de hack del CP, la información que se pueda ver afectada sea mínima, o en su defecto, recuperable.

    También se ha implementado una clase completa que gestiona toda la seguridad del sistema. De esta forma, las funciones críticas del sistema están controladas internamente desde el propio Panel de Control, sin ser accesibles para los módulos externos.

    Hay una clase que controla todas las consultas SQL, que se encarga de verificar que las mismas sean seguras y no puedan producir problemas en el juego o fuga de datos. Como en la sección de seguridad, esta clase no confía en el código del propio CP, de cara a evitar que módulos externos mal programados puedan producir problemas o leaks de datos sensibles por formularios mal implementados.

    Adicionalmente, se han implementado funciones de gestión y control de errores o excepciones, para evitar mostrar mensajes improductivos a los usuarios, y a su vez, permitir controlarlos en tiempo de ejecución, o en caso de no ser posible, guardar la información de los mismos para que esta se encuentre disponible para los desarrolladores (Y así poder trabajar en la solución).



  El presente del proyecto DarkBoltCP


    Actualmente el panel de control para servidores de Ragnarok Online se encuentra en desarrollo.

    La evolución de este Panel de Control lo ha llevado a ser rediseñado desde cero. Ahora mismo ese proyecto está en marcha.

    Este proyecto lo tengo actualmente parado, no obstante. En cualquier caso, hay que tener en cuenta que gran parte del sistema, por no decir todo, ha sido reprogramado desde el principio, para alcanzar un nuevo concepto nunca antes conocido de estabilidad, escalabilidad y fiabilidad (en este panel de control). No obstante, como se suele decir, "las cosas de palacio van despacio". No hay un equipo dedicado al 100% al desarrollo de este panel y la finalidad por ahora es hacer un buen Panel de Control para el Ragnarok Online, pero en los ratos libres. La versión actual del mismo, es bastante funcional, y tiene las mejoras indicadas en la parte superior, pero nunca llegó a alcanzar un nivel "satisfactoriamente alto" (para mí), por lo que nunca llegué a liberar el código a día de hoy.

    Sencillamente, espero que pueda llegar a buen puerto, y alcanzar la excelencia siempre deseada en este proyecto. Aun como he dicho anteriormente ahora mismo el proyecto está parado, pero, de vez en cuando lo retomo e implemento cambios, funcionalidades o mejoras que se me van ocurriendo.

    Espero que muy pronto pueda estar disponible, al menos una versión pública, para que se pueda ver y se empiece a notar la excelencia del mismo, y las ganas que estamos poniendole a la hora de hacerlo. Confío mucho en él, las pruebas iniciales dieron unos resultados excelentes, y el núcleo del panel de control es increíblemente estable. Igualmente, tal cual pasó con la versión anterior, este estará centrado en los servidores de Ragnarok Online basados en Athena, con conexión de datos por MySQL.



  El proyecto que podríamos llamar DarkBoltCP2


    Este proyecto, no es tanto la creación de un panel de control (aun partiendo de una base existente) como es el DarkBoltCP, si no que es un proyecto de modificación y mejora de otro panel diferente, el FluxCP, para el nuevo servidor que estoy montando.

    El motivo por el cual se está trabajando con ese panel y no con el DarkBoltCP para el servidor, es por una mera cuestión de funcionalidades. El DarkBoltCP, está más centrado y adaptado a los servidores clásicos, mientras el FluxCP (la base de esta modificación), está totalmente adaptado a los últimos cambios que ha recibido el Ragnarok Online. Igualmente este panel tiene características interesantes, como el hecho de ser un panel 100% modular.

    No obstante, los diferentes cambios que se implementen para este panel, no dejan de ser modificaciones realizadas por mí o mi colaborador también en el DarkBoltCP, por lo que, al ser "dueños" del código, si se implementa alguna feature interesante, siempre podemos portar la feature o idea para el proyecto DarkBoltCP original. Siendo ambos perfectos conocedores de la estructura en la que están programados ambos paneles, no resultaría complicado trasladar un cambio realizado en el llamado DarkBoltCP2 al DarkBoltCP original.



  Algunos de los cambios que se están llevando a cabo en DarkBoltCP2


    A dí de hoy, no hay disponible búblicamente un changelog, ya que el proyecto no está pensado como público.

    En este panel de control, se están realizando cambios de todas las índoles. Los cambios más sencillos que se encuentran ya realizados a día de hoy, son cuestiones sencillas como es por ejemplo el haber actualizado el panel con las últimas features de Ragnarok Online. Esto incluye, los nuevos jobs por ejemplo. En general se han realizado actualizaciones en todas las partes del panel, para disponer en el de todos los items / mobs / jobs disponibles en el servidor, así como las imágenes de los mismos. Igualmente se ha implementado una característica muy añorada por los usuarios de este panel de control, que es un lector de logs compatible con todas las tablas del sistema, con las mismas capacidades que el ya existente en DarkBoltCP, y que tan útil ha demostrado ser a lo largo del tiempo que hemos usado.

    En el sentido de otros cambios más complejos que se han llevado a cabo, podemos mencionar la extensión de la base de datos del panel de control para soportar no únicamente items y mobs, si no también, información relativa a los mapas, como cuantas mob hay en cada uno de los mapas, los NPCs (con ubicaciones), warps, y más. Esto lleva a otro nivel totalmente diferente la información disponible acerca del servidor en el panel de control, feature que esperamos sea útil en el futuro para los jugadores del servidor.

    Por otro lado, se ha implementado una feature "extraña", por denominarla de alguna manera. Esta feature es un lector de GRFs, es decir, del fichero que guarda los recursos del juego. En estos momentos, esta modificación nos permite generar vistas del personaje y de su inventario de forma totalmente dinámica, incluyendo en dicha vista la posición del personaje, su job, y los items equipados visibles. En el futuro, la idea, es poder utilizar este mismo lector para obtener las imágenes de todos los recursos que son utilizados por el panel de control, es decir, de items, mobs, iconos de skill, mapas, NPCs, etc... permitiendo de esa forma simplicar enormemente las labores de mantenimiento del sistema.

    Como comenté al principio, estos cambios, al menos para DarkBoltCP2 (modificación del FluxCP) no están pensados para ser públicos. Pero, no está descartado que algunas de estas features sean portadas en un futuro al DarkBoltCP.



  La previsión de futuro para el panel de control


    Para futuras versiones del panel de control, esta previsto añadir el soporte multi-server. La idea es que desde el mismo panel de control se puedan gestionar o manipular múltiples servidores de Ragnarok Online. En principio, el sistema soporta la opción de tener dos servidores de Ragnarok Online paralelos entre ellos (Lo cual implica que ampliarlo a más no sería complicado, pero también está previsto dar soporte para servidores de Ragnarok Online basados en un mismo Login, con varios servidores de juego dentro del mismo.

    Así también, no significa eso que no se incluya ninguna otra novedad si parece interesante durante el momento en el que es revisada la misma. De esta forma, realmente el futuro del proyecto no es claro, salvo en el detalle de que está continuado.

    Cualquier sugerencia para añadir, puede ser comentada conmigo en los diferentes medios que hay proporcionados en la sección Quien soy de esta misma página.



  Ver el proyecto


    Actualmente, no hay ninguna copia del Panel de Control que pueda ser visualizada con libertad, en todos sus ámbitos.

    Sin embargo, cualquier curioso del mismo, puede visitarlo en su web: http://cp.darkbolt.net/.

    De forma adicional se puede ver el Changelog del desarrollo del DarkBoltCP en la página habilitada a tal efecto en esta misma Web.

    Actualmente, y por motivos varios, la página donde está el CP no está disponible al público. En cualquier caso, el changelog sigue estando disponible en la sección correspondiente en esta página. Como dije anteriormente, espero que muy pronto pueda volver a habilitar el enlace de arriba, para que todo el mundo pueda verlo en producción.



Última actualización: 31 de Enero del 2017.