Ashita Developers Wanted!

Find news and updates about the Ashita project posted here.
User avatar
Site Admin
Posts: 457
Joined: Sat May 14, 2016 5:13 pm

Ashita Developers Wanted!

Post by atom0s » Fri Oct 05, 2018 4:25 pm

Interested in becoming an Ashita developer? We are looking for skilled developers/programmers/scripters to join our ranks and help push Ashita further! At this time, we are currently working on Ashita v4 in the background and would love to gain more developers to help expand the project even further than it has already! We have specific parts of the project that require different skill sets, so please be sure to check out each section to see if you would fit in. (Please note, while the skills listed are desired, they are not always a requirement. We consider all developers from the most advanced to the less experienced. It all depends on what you can bring to the table.)

Ashita Launcher (Ashita.exe)
  • The Ashita launcher is coded in C# making use of WPF via the MVVM model. The launcher integrates with our backend updater service that pulls information from the update website. This allows Ashita to automatically update, as well as list the available addons and plugins to users. The launcher is used to manage the various aspects of Ashita, such as the addons and plugins, as well as launch the game.

    In Ashita v4, we plan to expand the launcher to include various other information such as private server data. We plan to work with private server owners to create a web-based script used to poll for server information, to allow users to see a list of available private servers, a bit of information about them, as well as their current online status and player counts.

    Skills Required
    • C# / WPF
    • Understanding of the MVVM coding model.
    • Understanding of JSON data objects.
    • Understanding of using web sockets and communication with remote services/data.

Ashita Core (Ashita.dll)
  • The Ashita Core is the brains of the project, residing in Ashita.dll. This is the main DLL injected into the game client that houses all of the internals used for Ashita. It holds the various managers and the main AshitaCore object exposed to plugins. The Ashita Core has various hooks to do a multitude of different things such as: enforce the game to run windowed, allow for custom font rendering over-top of the game scene, allow for custom UI rendering using the ImGui project, hooks to interact with various parts of the game client (chat, packets, etc.), internal data management of the games resources and files via DAT file parsing, and more.

    With Ashita v4, we plan to expand the hook more to include several new data handlers for more memory structures, further reversing the various already included structures to reveal more information to the core and plugins, further expand our plugin event callbacks to better enhance the interaction of plugins and the core, greatly overhaul the font system and more.

    The core is always open to new ideas, further expansion, and better design. Over the years going from Ashita v1 to v3 we have greatly focused on stability and safety for players ensuring that all hooks are done properly, all packet flow is handled accordingly and that any and all spots that open the hook to crashing have as much prevention as possible. We pride ourselves on the fact that one of the main things people enjoy about Ashita is its stability.

    Skills Required
    • C/C++
    • ASM
    • Reverse Engineering
    • Understanding of how to use a memory editor, debugger, disassembler, etc.
    • Understanding of the client and its internals.
    • Understanding of the client's packet flow.
    • Understanding of the clients DAT files and other resource information.

Ashita Plugins
  • Ashita's plugins are what allow developers to expand the project even further. From simple useful features such as the Screenshots plugin to help users take clean, crisp screenshots, to plugins such as Addons that greatly expand the potential of the project by adding full-featured Lua scripting with full access to the plugin SDK.

    There are lots of plugins currently for Ashita that have been made over the years for Ashita v1, v2, and v3. In Ashita v4 we are working on moving away from plugins as much as possible but not fully removing them ever. We want developers to choose what they like to code in, be it C/C++ or Lua with an addon. With the focus of Ashita v4 being the final version of the project, we would like to focus on moving as much to addons as possible allowing for much easier management and support for any extension of the project. Plugin developers do not stick around forever, so we would like to keep things as open to others as possible to allow for fixes, improvements, etc. to any part of the project.

    We plan to move as many as the stock included plugins to addons as well, such as the Minimap plugin being converted to an addon and greatly enhanced. (Think SexyMap for WoW.)

    Skills Required
    • C/C++
    • Understanding of Ashita, its plugin interface and its callbacks.

Ashita Addons
  • Addons are basically plugins created in Lua, enabled by the Addons plugin. The Addons plugin exposes the [nearly] full ADK (Ashita Development Kit) to Lua in the form of addons, which are state-separated mini-plugins. Addons can do all kinds of things ranging from simple text displays like FPS, to much more involved things such as blusets allowing you to manage your set blu spells. Addons have full access to the games client memory as well, allowing for client memory patches to do things such as allmaps, giving you access to all maps regardless if you have the key items.

    With Ashita v4, we plan to even further expand the addons interfaces, exposing more information, creating more included libraries, expanding on the current callback system allowing multiple callbacks per-event in a single addon, and so on. We also plan to include even more future proofing and expansions into the addon system with the potential move to LuaJit (depending on some certain things).

    We plan to add more events, including a newer events library similar to the one for Ashita v3 allowing for packet-based event callbacks and such.

    Addons are our primary focus moving forward so we want to make sure the addons interfaces are at their maximum potential possible.

    Skills Required
    • Lua
    • Understanding of Ashita, its plugin interface and its callbacks.

Do any of these sound like something you would love to be part of and think you would be able to contribute to?

Be sure to jump on our Discord server and get in touch with atom0s.
Lead Ashita Developer

Want to donate to say thanks?