From what I understand the main issue (disreguarding patthing issues that can be fixed and might even be now) in getting boats working is the zoning question.
When ships hit a zoneline and depop the player apears on an identicle boat in the next zone but how does that boat know when all members are aboard and how does the next boat acrossed the nextzone line know to pop?
Well Im not good at the Eqemu coding but it seems to me we could use a piggyback program similar to zoneproxy only It would packetsniff and collect a packet that imforms it your client has begun zoning from zone A to zone B and sends this information up to the server. program on server <spawns boat in next zone> <counts how many went through the zone>
The player zones in on the unmoving boat and the players program regognises hes through the zone line and sends this information to the server <server depops original boat once all member are through> <server begins pathing on the second boat all hands aboard>
Boat reaches next zoneline <server pops a boat acrosed the zoneline> All members go through as before <server depops the secondboat> <server beginspathing on third boat> ... loops
I realise this idea requires both work from the eqemu DEV team as well as whoever writes the piggyback program. I have discused the idea with a few people in the npcmove DB irc channel and specificly Bigpul and kroeg and they said the idea is worth posting so here it is. I hope it is feasable.
I wont describe the inner workings as I don't have any idea how or if it would work so Im leaving all that to you guys