Plugin: Fleet Commander - fredjk-gh/ObservatoryPlugins GitHub Wiki
This plugin is an essential assistant for Carrier owners who regularly move their carriers. Features:
- Tracks carrier tritium levels, used capacity and carrier balance. These displays have tool-tips with more detail.
- Tracks jump cooldowns and notifies you when you can schedule a new jump (taking into account the actual jump time provided by the game).
- Supports Spansh Carrier route plotting and injects the next jump into the system clipboard after jump cooldown ends.
- Supports multiple commanders with carriers.
- Provides on-screen countdowns (for jump and cooldown) which can be popped out into a resizable window (which remembers its size and position).
- Is fully themable.
Tips
- Perform a read-all after installing v1.x to discover known carriers. Known carriers are now cached and thus always known (for all commanders) once the read-all is complete.
- The carrier balance, used capacity and tritium levels can be refreshed by opening the carrier admin UI in-game. The tooltip for these fields indicate last time these values were refreshed.
- If the plugin loses track of where your carrier position while following a route, right-click the system you're in within the route listbox and select "Set current position". Tracking carrier position based on journal data is quite difficult.
A bit of History
This has been a challenging plugin to write/maintain because FDev seems to break things regularly. I started implementing the plugin just before Update 9 dropped in Dec. 2021. Things were looking good, but then...
As of Odyssey Update 9 (Dec. 2021), the game stopped writing CarrierJump
events to the journal file entirely (see https://issues.frontierstore.net/issue-detail/46996), resulting in degraded functionality (no jump cooldown timer) when jumping your carrier while not docked on it.
As of Odyssey Update 11 (Mar. 2022), the game stopped writing StationName
/StationType
properties to location events, further complicating matters. Implement more workarounds.
As of Odyssey Update 14 (May 2023), the game finally writing CarrierJump events again (although still not when docked). At some point, I noticed that the RequestCarrierJump
event includes a time for the scheduled jump. Turns out using this is far more reliable than using the actual jump events to start the timer.
While implementing Spansh route support, I discovered several other inconsistencies in journal content:
- Tracking carrier position from Journals is hard: https://issues.frontierstore.net/issue-detail/63628
- CarrierJump is missing carrier information when on-foot: https://issues.frontierstore.net/issue-detail/63633
Changelog
Release notes: v1.0.3.32704 - Nov 22, 2024
Mostly minor changes, except for the first item:
- Add support for plotting and handling multiple-destination routes.
- Theming improvements (including themeable fuel gauge and title label and fixed theming of icon buttons).
- Removed the settings cog button (redundant in Core 1.2).
- Improve error handling around plotting routes to systems not known by Spansh (reported via discord).
- Updates for ObsCore 1.2 (in preview).
Release notes: v1.0.2.31703 - Nov 11, 2024
Fix a UI-blocking bug due to the plugin getting stuck in polling for a result (due to a subtle change in Spansh API behavior). Thanks to @mcmuttons who reported this on the ObsCore discord.
In the process also improved some error reporting, clean some inputs, etc.
Release notes: v1.0.1.31406 - Nov 9, 2024
A few subtle visual tweaks and improvements:
- Include the count of jumps remaining as part of the tool-tip for the current position (when there's a route present). It's also included in the message when scheduling a jump in a route.
- The countdown timer pop-out window now remembers its size/position. If it gets lost off-screen somehow, click the reset button in settings.
- When you right-click on jump in the route, the item under the pointer is also selected when displaying the context menu.
- Include a warning message if the carrier is projected to run out of funds soon (< 30d at max weekly upkeep).
- Fixed a missing setting group label.
- Add some error handling to the route plotting code.
Release notes: v1.0.0.31101 - Nov 5, 2024
First stable UI overhaul release. Since the previous beta, changes include:
- Add capacity usage to display.
- Add tool tips to fuel, capacity and balance to indicate values and/or last updated date. These values are updated when you open the carrier admin panel.
- Fixed errors resulting from improperly formed json responses from edastro.com when estimating fuel usage, and from using a disposed object.
- Fix cooldown display that wasn't showing due to loss of data after the jump completed. Ensure timer is cleared after cooldown ends.
- Prevent creating multiple popout windows.
- Fix (hidden) errors when closing the app with a popout open.
NOTE: If you are upgrading from a 0.24.x.x version, please run a read-all to initialize cached data.
Release notes: v1.0.0.28804-beta - Oct 14, 2024
More tweaking of the UI and adding support for new Core features:
- Add support for the new About view.
- Implemented a pop-out timer window with scaling content.
- Replaced some buttons with text (or emote) labels with icons. Supports theming (although some further improvements to come).
- Signed with an updated code-signing cert (same one as latest Aggregator and AutoUpdater.)
NOTE: The new countdown popout is not super well tested yet (I've only done one or two jumps since implementing it). This is primarily why this release is still marked beta. If it doesn't have glaring issues, it may be promoted to stable.
Addresses a few issues (discovered or reported by the community):
- Fixed: It's possible to get a negative fuel level -- which the progress bar used for indicating fuel level really doesn't like.
- Fixed: edastro's API occasionally returns empty responses which are not valid JSON. Turns out parsing the response was not wrapped in a try/catch and when these responses are sent, caused problems. If an error occurs, the last response from edastro.com is captured in a file in the plugin's data folder. I have also improved the error that is logged in this case.
- Fixes issue #3. If a commander already has a carrier, and we encounter a carrier with a different call-sign, we drop the former. (This happened when FDev re-rolled carriers.)
- Fixed frequently missing display of Carrier Balance (now cached with carrier data).
Release notes: v0.24.143.0120-beta - May 21, 2024
Significant overhaul to support carriers of multiple commanders and supports many new features of Observatory Core v0.3.x. Sports a fancy new UI, Spansh Carrier routing integration which injects the next jump into the system clipboard after Cooldown expires.
Requires a "Read All" to be run after installation to initialize data cache.
Release notes: v0.24.005.1441-beta - Jan 5, 2024
Notable improvements to the cooldown timer so it works even if the game client is closed after a jump is requested. The cooldown timer is far more reliable and accurate now.
Release notes: v0.22.348.0241-beta - Dec 13, 2022
Update to .net 6.0 to support latest version of Observatory Core.
Release notes: v0.0.92.1935-beta - April 2, 2022
Update 11 broke Fleet Commander which relied on StationName
/StationType
properties in Location events. This fixes it.
Release notes: v0.0.30.1958-beta - January 30, 2022
Initial beta release.