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.
For better accuracy, get your friends and guild mates to install Nauticus as well.
Official Homepage: drool.me.uk/naut
Click here to report an issue or request a new feature
(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! You can also comment on the WowAce.com page.
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).
Usage
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
Note: 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 online @ dkphost.net.
. . . and I have to say, with so few people actually using the boats anymore (thanks to portals Outland and Northend), and even less using this addon, it seems that boats really are out of sync a lot. Unless I've ridden it recently, most of the time my boats aren't in sync.
Considering that, but not sure if it's worth it? AFAIK, the ship is involved in a single non-repeatable quest. But then, so is the captured Zeppelin for the alliance (or is it not repeatable?). Will look at it - maybe add a display filter (quests)...
The ghostship in Howling Fjord would be cool to see also. ^^
Ye.. I usually take a trip once a week and i rarely reboot the computer during the day. Turn it on in the morning and turn it off when i go to bed.
There are very few ppl riding with boats and even fewer ppl using Nauticus.. 3-4ppl only.
After a week the boats are lagging a few seconds.. And it gets worse after a big blizzard mainenance.. then we are talking a minute or 2. -.-
Oh well... I usually try to get ppl to use the addon but its very hard. :-/
It wouldn't work for the game server time since the clock reads completely differently for each player at the same time.
The extra checks per frame of the local system clock won't eliminate the drift that you're seeing. (Drift is the wrong word - it's not drifting - the round-trip-times are accurately measured).
Each reboot and subsequent WoW session will lose on average -/+0.5 seconds (10 reboots without starting up WoW only counts as one). If you do it lots and lots (reboot, start WoW, reboot...), it still won't lose much (but is ranked accordingly so someone can send you better data).
I'm afraid you just need more people on the realm to furnish you with better data. :)
Another idea.. I guess you cant get the current time with millisecond precision in the standard API and that is the reason for the uptime tick check??
But is it possible to poll the current time like 10times/second and maybe when it detects a change(when the second changes) then it has at least 100ms precision.
Well just an idea.. I am still having some problems with drifting accuracy since the data is swapped back and forth.. :-/
Alpha revision 147 has the new 3.2 zeppelin.
riveth, were you referring to the Sister Mercy?
The process of adding the data is a bit too involved for users to mess around with (and it needs to be perfect as it's shared to other users). Don't worry, if there's a 3.2 PTR out, I'll grab and take a look at it asap...
Edit: Incidentally, which boat? Is it in Live?
Is there a way to add new transports or some code that you use to help determine schedules? We have the new zepp coming in 3.2 and I have found another boat I would like to track.
Yes, you're quite right, thanks for pointing that out. Silly me didn't test it properly when I fixed Blizzard's change to GetPlayerFacing(). (I normally have Rotate Minimap on.)