I broke down and coded the main blunt of an intelegent automated routing management system into x2 (mostly in the new file route.c).
Existing commands are:
loadr (read routing.dat)
rmap (show what the network routing SHOULD look like)
addr (add another server to the route table [BUGGY])
reroute (Connect missing servers, ore issue squit and connect to move the network to look like the rmap)
the format of routing.dat is a bit tricky, as is the whole system, because of different perspectives on irc (the map from server A looks different then the map from server C). X2 automatically adjusts the map from whatever center the data file uses to its own uplink center.
Format is:
<server> <port> <primary uplink> <secondary uplink>
the first entry should be only <server> <port> to signify its the center of your map. all other servers should be eventually attached to it.
eg:
agora.us.afternet.org 8888
crypto.afternet.org 8888 agora.us.afternet.org infinet.afternet.org
infinet.afternet.org 8888 agora.us.afternet.org crypto.afternet.org
above would make:
agora
|-crypto
`-infinet
as the optimal map, but if agora went down infi and crypto would try to connect to eachother. The secondary servers are not as well managed as the primary, its only there for freak accedents ;)
its all still beta of course..
try it out, let me know.
-Rubin