(Please do not post in the comments section to report bugs)
Before posting a comment... please read the entire addon description below - especially the Frequently Asked Questions section!
For best results, get your friends and guild mates to install Nauticus.
--- What is Nauticus?
Nauticus tracks the precise arrival & departure schedules of boats and Zeppelins around Azeroth and displays them on the Mini-Map and World Map in real-time.
Look up arrival & departure schedules for any transport and know exactly when you need to be there. Less time waiting on platforms, more time at the AH or mailbox, less duelling rogues or shamies who want you to take a seat while they crit you... 'for fun'...
To track a transport requires that you, or someone else running the addon, has taken the route sometime earlier. Nauticus uses hidden addon-to-addon communications to synchronise and share up-to-date schedules between players automatically.
Important: This addon works best the more players on your realm also using the addon. So get your friends and guild mates to install Nauticus - the more the merrier! Even if you don't use transports because you're only ever in Outland, you can help store and transmit up-to-date data to everyone that needs it. Nauticus performs well in the background and you can disable the map icons for zero interference.
--- Main Features
Plots all (16) Horde, Alliance and neutral transports on the World Map in real time
Displays the most relevant transports on the Mini-Map, based on your current zone
Map icons rotate to show their actual direction at any point in time
Shows arrival or departure schedule for each platform when you mouse-over any map icon
Discovers schedule by travelling a route in either direction
Calculates future schedules, based on precisely measured round-trip cycles
Automatically share schedules with other users of the addon on your realm
Differential delayed updates keep communication bandwidth low even with many users (O(1))
Ranks quality of data based on number of reboots and swaps, always picking the best
Remember schedule data even after computer reboot (see FAQ for caveat)
Select any transport for viewing in any LibDataBroker (LDB) display addon.†
Shows the next arrival or departure event in the button text.
Button icon changes colour to indicate status (yellow = docked, red = about to depart, green = in transit)
Auto-selects nearest transport when standing at a platform (optional)
Alt-click button to manually set audio alarm to warn you before next departure
Less spam: Filter ship crew talk and Zeppelin Master yells from your chat window (optional)
† If you're new to Broker plugins, they're a bit like FuBar plugins but displayed how you want. Try StatBlockCore, Button Bin or Fortress for display addons and see here for more plugins. Titan has LDB support built-in. FuBar requires the lightweight bridge addon Broker2FuBar (not to be confused with FuBar2Broker, which does the opposite).
Find out the status of a transport via World Map/Mini-Map or via an LDB button display.
For options, type /nauticus or /naut in the command line.
--- TO DO
Auto pop-up tooltip and/or sound arrival/departure alarm (i.e. Zeppelin horn or boats bell) when at platform
Nauticus is always in continual development. You should try to keep your version up-to-date, not least because the addon interacts with other users and they rely on good quality data from you. You'll be notified upon login when there's a new version available, after other users are seen using a later version. For this reason, please DON'T redistribute or include in a compilation pack!
--- Frequently Asked Questions
Q. I just installed Nauticus, why don't I see any schedules?
A player with the addon needs to travel on the boat/Zeppelin/turtle before the schedules come up. This could be you or someone else who may have taken the transport earlier. The most recent schedules are synchronised between other players running the addon, so after a short while the data will most likely be available to you before you take any transport. Get as many of your friends and guild mates to install Nauticus - the more the merrier.
Q. How does Nauticus get the schedules?
There are no Blizzard-provided API methods to directly determine the transport schedule. Thus we do it indirectly by getting player coords and comparing them to a known set of coords along the route. When the player 'triggers' these coords, we know the cycle and can subsequently work out future schedules at any point in time.
Q. How accurate is it?
Round-trip cycles have been calculated to one microsecond (six decimal places) over a 1-2 week period. This is significantly better resolution than provided by the API, which only measures in milliseconds (three decimal places). Baring slight adjustments in Blizzard's clocks etc., 99.9% of the time there should be no observable drift of more than a second or two.
Q. Why are some of my schedules wrong?
Rarely, schedules can become corrupted due to changes in your computer's system clock that may occur between WoW sessions/reboots. This can also be caused by dodgy CMOS batteries and some over-clocked systems. Otherwise, Nauticus can normally keep track of schedules between reboots. Additionally, while realm servers appear to keep very precise clocks for running the transports and to generate their positions, from time to time they may re-synchronise these clocks, sending the data slightly out of wack. Nauticus should quickly fix the schedules, as it will gather more recent and better quality data from other users or from your own travels.
Q. Doesn't weekly maintenance ruin the schedules?
It doesn't! We can only assume how Blizzard calculates transport schedules and their positions but it's probably based on the realm server's system clock, which is likely synchronised with a centralised ntp time server at each data centre. You can verify this by visiting another realm (at least, in the same geographical location - e.g. EU, US Eastern) to observe exactly the same schedules. This is another way to obtain accurate schedule data - from other realms. If there is one, an epoch is presently unknown - if any maths wiz can manage to reverse engineer it (simultaneous equations?), do let me know!
Q. Why does Nauticus have to use a chat channel?
Blizzard's SendAddonMessage() API is effectively limited to guild and raid addon communication, which is insufficient to get data spread furtherest across your realm. For maximum availability and accuracy of schedules, we need to use a chat channel. You shouldn't be concerned if you have the channel slot spare - we're extra careful not to mess up channel numbers.
Q. Where did the GUI disappear to?
The red window was removed in favour of map icons with tooltips. It became difficulty to maintain the rather clunky code necessary to provide this functionality and consumed more resources than desirable. Plus it didn't cater for other languages very well due to its fixed size. Native FuBar support was removed in favour of LibDataBroker (Broker/LDB) displays. Broker allows you to choose your method of displaying plugins. The lightweight bridge addon Broker2FuBar returns the old FuBar functionality, as well as allowing you to put it as a Mini-Map button (even if you don't use FuBar).
Q. Can you add the Deeprun Tram?
Unfortunately no, since it's treated as an instance and we can't properly track player coords within instances.
Nauticus is a complete rewrite of ZeppelinMaster which was originally conceived by Sammysnake. He runs a DKP hosting service @ dkphosting.net.
- FIX: missing world map icons! (whoops)
- FIX: Orgrimmar routes not showing in right-click menu
- FIX: wrong transports very rarely appearing in world map tooltips
- replace SetTexCoord matrix lookups with faster SetRotation
- bump all version numbers
- FIX ticket 27; minimap/LDB tooltip didn't hide properly
- FIX ticket 28; updated all routes and round-trip times
- removed The Moonspray and Feathermoon Ferry boats
- FIX ticket 29; updated to latest Astrolabe revision
- brushes with zone en route detected on zoning as well as channel changes
- updated localisations, added for TB to Orgrimmar route
- bump TOC
- fix: errors with chat hooking and hovering over map icons
- fix: errors when selecting transport from pull-down menu
- fix: uc to grom'gol route and round-trip time
- add new zeppelin route - The Zephyr for patch 3.2
- fix: don't trigger coords when in vehicle
- remove some legacy saved var handling
- update deDE and ruRU
- fix: mini-map icon rotations when rotate minimap not set
- fix: don't error if encounter invalid comms decoding
- fix: put LibDBIcon-1.0 in no-lib-strip section of .toc
- anchor map icon tooltips to mouse cursor
- append string hash value to known transport data in comms
- kill tabs in .pkgmeta
- fix OptionalDeps and put back X-Embeds
- fix: replace MiniMapCompassRing with GetPlayerFacing()
- re-package for GetPlayerFacing() fixes in latest Astrolabe
- fix: occasional bad/inaccurate comms data being exchanged
- fix: error clicking ldb button if all transports filtered from list
- fix: issue when detecting if dropdown is shown (caused by patch 3.0.8)
- new version notification shown in tooltip instead of chat
- update frFR, esES
- remove mini-map overlay (again)
- mini-map button now shown by default
- span lengthy comms over multiple messages if necessary
- ignore comms messages that are too long
- fix: possible error if player coords are invalid immediately after login
- fix: possible bug if global var 'version' exists
- minor localisation updates/tidy-up
- compress comms number data (not backwards compatible)
- bump internal version number (i'm a nubcake)
- port to Ace3, add in Blizzard interface options
- add new vessel icons for WotLK and re-do others for consistency
- replace bloaty Dewdrop with UIDropDownMenu
- add individual options to toggle both world and mini map icons
- fix: possible data corruption when clock drift is detected as wrong
- fix: nil argument to fmod in DrawMapIcons() due to the above bug
- fix: nil value in ShowTooltip() if old route selected
- fix: flickering world map icons in Carbon$hite
- fix: icon not showing in some ldb displays (e.g. statblockcore)
- fix: case for some libs paths in .toc
- extend new routes on mini-map into orgrimmar and undercity
- change default world map icon size to 125%
- add minimap button (default state is hidden)
- add option to show only faction-friendly map icons
- add emote's to crew chat filter
- temp text delay increased to 2-3s
- remove key modifiers for unlocking tooltip frame, to fix partial draw issue
- change the show map icon settings to profile-based instead of per char
- parent icons to WorldMapButton and test its visibility to fix some map mods
- give mini map icons a global name to allow certain mods to skip re-parenting
- add world map overlay to Astrolabe's list of map frames to watch out for
- set proper level for tooltip frame
- properly hide the map icons in all cases
- optimise the texture rotation and handling
- put version number in ldb title contexts
- use spanish locale for esMX
- FIX: Northspear, Cloudkisser and Captured Zeppelin routes
- FIX: issue where triggering could occur after login/reload (d'oh)
- completed German and Chinese localisations (thanks LarryCurse and Juha!)
- add Titan as OptDep so we can hook CloseRightClickMenu properly
- some code cleanup and optimisations, remove lots of debug stuff
- add Harrowmeiser to chat filter
- completed Russian and French translations (thanks Zuz666 and thelys!)
- couple of zone name fixes for German and Spanish locales
- remove unused localisations and add some missing strings; options, ship and npc names
- more complete German translation (thanks LarryCurse)
- complete traditional & simplified Chinese translation (thanks Juha)
- add initial Russion localisation (thanks Zuz666)
- FIX: chat frame breakage (white window and all chat filtered)
- add WotLK routes (Valgarde boat and Westguard Zep not working yet)
- change 'The Bravery' route from Menethil to Stormwind
- recalibrated all old world routes
- FIX for Titan v4+ (now uses LDB...)
- replace TabletLib with custom LibSimpleFrame (much less bloated tooltip lib)
- replace FuBar/Titan plugin code with LibDataBroker (LDB)
- remove legacy GUI (red window)
- removed CHAT_MSG_ADDON (guild/raid) and custom channel
- removed data reset option (abused and unnecessary)
- add Sky-Captain Cableclamp + Navigator Fairweather to crew chat filter
- rename 'goblin' to 'crew' (chat filter), rename 'Ra' to 'Rat' abbreviation
- colour routes in right-click dropdown menu based on faction
- IMPROVED data accuracy; prioritise quality on boots < swaps < since
- NEW: auto select transport option when standing near platform
- FIX: world map icons staying when trying to hide them
- show multiple transports in tooltip for all map icons under mouse
- slightly tweaked round-trip-times again (15 day period)
- added all options to Titan/FuBar right-click menu
- remove some irrelevant FuBar options from slash command
- more complete French translation (thanks thelys/yann!)
- esES updated (thanks StiviS!)
- UPDATE: all routes recalibrated for patch 2.4, finally
- FIX: Titan button update for newer v3.20+ (backward compatible)
- FIX: updated embedded Astrolabe lib; no more lockups during zoning
- warn that cycle data reset is for emergency usage only!