The config file is an XML / XSLT file that is used by the mud client for configuration. For example it contains the mud host name, port, the paths of 3D models, sounds and textures. The config file can either be located in the same directory as the mud client or it can be downloaded from a URL specified in the config ini file.
The schema for the XML is at:
http://mudclient.skinhat.com/files/config.xsd
The config file in the mud client package is located in
c:\program files\mudclient\client\config.xsl
The config file can either be XML or XSLT (ie config.xsl or config.xml).
The config.xsl file is transformed into XML matching the xsd schema described above. The mud client can estimate the frame rate of a players PC and can feed this frame rate value into the XSLT as the a @fps attribute into the MACHINEINFO element. For example:
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:output omit-xml-declaration="yes"/>
<xsl:output method="xml" />
<xsl:template match="MACHINEINFO">
<xsl:variable name="fpsest" select="@fps div 66"/>
<MUD host="192.168.0.4" port="3302" defaultusername="guest" clientversion="8.03">
..
..
Here the variable $fpsest is a guess on the players frame rate. In the above config.xsl file there is the specification of the models\aerial.tga texture:
<xsl:element name="TEXTURE">
- <xsl:attribute name="texture">models\aerial.tga</xsl:attribute>
- <xsl:attribute name="texturewrap">both</xsl:attribute>
- <xsl:choose>
- <xsl:when test="$fpsest < 14">
- <xsl:attribute name="maxsize">256</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="maxsize">1024</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
</xsl:element>
If the framerate is less than 14 the above XSLT will be tranformed into
<TEXTURE texture="models\aerial.tga" texturewrap="both" maxsize="256"/>
otherwise it is
<TEXTURE texture="models\aerial.tga" texturewrap="both" maxsize="1024"/>
Thus a higher frame rate computer will see a higher resolution terrain. Thus based upon @fps the XSLT is transformed in XML which the mud client then references in order to configure the mud client.
To see the XML after it has been transformed you can go into the 'view' menu and click on the 'configxml' menu item while in god mode.
Editing the Config file
To edit the configuration file use XMLSpy, notepad or any other tool XML/XSLT editing tool.
Config file downloading
As mentioned the config file can be downloaded every time the player runs the mud client. Thus it is possible to change the host and port of the mud, font etc of the mud client without forcing the player to download a new version of the mud client. The URL of the config file can be specified in the config ini file of the mud client. This inifile can be included in your distribution so that the user will always check this URL for the config file.
To upload your config file you should encrypt and compress it using the pakmaker in the mud client package. Click on the 'Compress Config file' button in the pakmaker and it will create a 'config' file in the same directory as 'pakmaker.exe'. It will compress in the config.xsl file in your pakmaker 'Source Directory'. You can then upload the config file to the URL specified in the config ini file.