Closed dpogue closed 13 years ago
Has any thought been spent on designing a standard format for a file describing a shard or a list of shards, containing a human-readable description, server addresses, and keys?
It would be nice if anyone could publish info about their shard, or about a list of known shards, by HTTP, in a single format that every client understands, so that nobody would have to type in server addresses or keys by hand or convert between configuration files made for different clients.
It seems to me that what Hoikas does for WhoM (http://mud.hoikas.com/shards.xml) could work well for this purpose. It's XML, which is easy to read in environments where an XML parser is available anyway, and imposing a bit more restrictions on the XML could also make it parseable by a simpler parser for environments where no XML parser is available by default and introducing one would be overkill. A different format like PlasmaClient's could be chosen too. Standardizing on one format is what seems key to me.
If I ever get around to writing my hypothetical iPhone KI chat client, I'm going to need such a thing. I'm imagining something like a cached list of shards in the client, and some buttons "Update shard list from hoikas.com", "Update shard list from kolleegium.ch", "Update shard list from enter URL here".
PlasmaClient uses a ini-based system, which makes it easy to embed in Plasma (which can already parse ini files and run commands from them). XML parsing is also already in Cyan's code, but we'd have to add the right local parsing code for the particular XML format.
All in all, I think extending the code that already parses the .fni files and graphics.ini is the best way to handle servers.
This should be implemented in master now. You will need to put an appropriate server.ini in the game's root (a sample is provided in source), or specify the path to one with the /ServerIni path-to-ini-file switch.
Right now the server public keys are hardcoded, making it difficult to have a single build that can connect to multiple servers.
PlasmaClient has a mechanism for loading keys from a file, which branan has expressed an interest in porting over.