About a year ago I built a java interface to the Empire server called
jei. It is intended to be used in conjunction with a GUI interface
like WinAce. It sits between WinAce and the Empire server, snooping
traffic and populating its own in-memory database. It also watches
for and intercepts special commands that do fancy things.
Originally I wanted to just add the tools I needed (like a civmover
tool) to WinAce directly, but found that due to the way WinAce is
written it is difficult to add custom extensions to WinAce. So I just
wrote a java layer that sits between the two and parses all the xdumps
itself.
jei includes a complete xdump parser as well as a primitive "xmover"
tool (that allows you to set minimum thresholds for mobility by sector
type and then it distributes your stuff according to your item
thresholds by making optimal use of sector mobility).
Having an "xmover" tool is particularly useful in blitzes when you
need to spread out your civs fast. The xmover tool is based on a
dijkstra bestpath implementation which calculates the lowest mobility
path between points. I needed to customize the existing Java dijkstra
open source implementation to support float values (it only supported
ints) and I added support for collecting typing while I was at it to
improve compile-time type checking. I will commit the dijkstra jar to
sourceforce as a separate open source project.
This code forms the basis of any tools you might want to write to help
you manage your nation. So long as you know java, it's easy to add
your own custom functions.
Please let me know if you find it useful or have any questions about
it!
Buster, ruler of children