Another update:
In our last session, we appeared to have at least partial success, in that I managed to obtain a channel listing (at least partial) and subscribed to some number of channels. So, today, I reconnected and found to my surprise that the chanlist command only showed me the channels I had set up LOCAL channels for.
The way it's supposed to work (this is the client code, not the I3 spec!) is "i3chanlist" shows you the channels your server admin has setup locally, and which ones you are listening to. "i3chanlist all" shows you ALL the channels your server knows about on I3. The distinction is important, because for anyone to actually listen to a channel, it has to be setup locally, and to set one up locally, you have to be able to see them.
Poking through the logs, I see that I never got a "chanlist-reply" packet this session. Now, to be fair, I *think* the intent behind the I3 spec (and thus *i4's implementation) is to save a "chanlist-id" along with your password and mudname. Any time anyone creates/destroys/renames/etc any channel on I3, the server will presumably generate a new "chanlist-id" and send out the changes to the chanlist with this new id. If a client connects using the current chanlist-id, no listing is actually sent since presumably the client already got it and it hasn't changed.
The problem then, lies on my stupid Diku client's code NOT saving the full and complete channel listing. Since it's based off the IMC2 code, that's not a shocker as IMC2 doesn't allow for dynamic channel creation, nor does it have very many channels.
It's a bit of an annoyance though, because there isn't any way to force a resend of the chanlist data, other than to disconnect, fudge your chanlist-id to some invalid number, and reconnect -- hoping for the best.
Any suggestions are welcome, although I'll probably have to just modify the code to save ALL channels with empty strings for the "local" channels of ones not setup.
Mostly, I wanted to describe what was going on, so if it sounds hokey, Crat can look into it. If it sounds like that's what should be happening, it's a breadcrumb trail for others going this way.
