Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.
/ aetherometer Public archive

Framework that allows plugins to easily process network-level information from FFXIV

License

Notifications You must be signed in to change notification settings

ff14wed/aetherometer

Repository files navigation

Aetherometer

Test

DEPRECATION NOTICE

This project will be retired before the release of 7.0 or earlier. The maintenance burden for this project is too high for the value it provides. Also it is far more efficient to write applications that interact with the game such as Dalamud plugins, or applications that consume packets directly now that Deucalion handles much of the packet processing.

About

Aetherometer is a framework that parses network data for FFXIV and presents the parsed data stream through a GraphQL API that allows plugins to access and display this information.

preview

Getting Started

Download for the latest release

Download the zip file to a place with sufficient space on your system, and extract it. Then run aetherometer.exe.

Then try out some plugins!

Because Aetherometer fundamentally does not read memory, you should either start Aetherometer before starting any instance of FFXIV, or simply switch zones if you are already logged in. Otherwise, Aetherometer will not have a complete set of data from the game.

If you're a developer interested in Aetherometer, see here.

Features

Aetherometer is capable of supporting many different use cases, including parsing live combat data for trigger or DPS logging purposes, display of player and enemy movement on the map, crafting progress, etc.

While Aetherometer does not read memory to capture information from the game, it is capable of retrieving extremely useful information just from reading data from the network. This also has the advantage of potentially being faster than the game itself can process the data.

Plugins

Plugins are mini-applications that process data from a specific instance of the game. They open as new "tabs" on the navigation drawer and you can navigate between them without losing data on any other tab.

Techincally plugins are able to process data from mulitple instances of the game, but Aetherometer's Stream handling abilities aim to reduce boilerplate Stream switching code.

Plugins List

Here are some plugins that you can try to get an idea for Aetherometer's capabilities:

Installing Plugins

preview

  1. Click on the Settings button in the top right of the window.
  2. Select a preset from the dropdown or enter in the plugin name and URL.
  3. Click the "Add Plugin" button (plus sign).

Removing Plugins / Closing Panes

If you want to close the page for a plugin, simply go back to the settings popup and click the "Remove Plugin" button (trash can) next to the plugin you like to remove.

For Developers

Creating plugins

See the docs/plugin_work.md document.

Contributing to Aetherometer

Aetherometer uses Wails to build the project.

Once you have Wails installed, run wails doctor to ensure you have all dependencies. Namely, Go 1.17+, Node 14+, and the WebView2 runtime.

To run in live development mode, be sure to have run wails build beforehand. Then run wails dev to start the live development mode.

Building

For a production build, use wails build.

Plugin Development

Go to the documentation here.

Testing

Currently, we use Ginkgo which is a neat BDD framework for testing Golang.

To run all tests, simply run ginkgo -r -p -race (flags are recursive, in parallel, turn on race detector).

About

Framework that allows plugins to easily process network-level information from FFXIV

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published