### About Developing

The MudMagic Client is OpenSource and distributed under the GNU License ( see About ). Gamers from around the world have put thousands of hours into the development of this free software, and we are always looking for ways to improve on this client.

Sites of interest:
'http://cvs.mudmagic.com/mudmagic_client ( web based cvs viewer )
'http://sourceforge.net/projects/kyndig ( sourceforge project page )
http://www.mudmagic.com/mud-client/ ( official homepage )

MudMagic provides remote anonymous CVS access to the source code for patch creation.

### Debugging

If you're interested in debugging any coredumps due to client crash. The following details will assist you.

- In order to catch a coredump, the mudmagic client should be run with debugging enabled, or if on Fedora/RedHat, with the mudmagic-debuginfo rpm package installed.
- To run the mudmagic client from command line, simply open a terminal and input: mudmagic - note the 'mudmagic' command is a script which loads the needed libs at runtime, you cannot debug 'mudmagic' binary itself [ cat /usr/local/bin/mudmagic ]
- Once a core is dumped, you can run gdb against it with: gdb /usr/bin/mudmagic-bin coredump - replace the path to mudmagic-bin as appropriate, and the 'coredump' with the name of your coredump
- For those that arn't using a mudmagic-debuginfo package, in order to compile the client with the needed debugging catches, use: ./configure --enable-debug switch when compiling the client

### CVS Access

You can use the MudMagic CVS repository as an anonymous user, or as a developer.

You will need a CVS client, if you don't already have one. CVS should be installed with most modern Linux distributions, easily available on *BSD systems, and there are clients for Win32, MacOS, and GUI clients for the Unices. A number of them are available at http://www.cvshome.org/.

These command lines should be the bare-bones needed to get you started with MudMagic client and CVS; this is not a CVS tutorial, however. The standard CVS documentation is available at ( http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/ ) , and there are many HOWTOs available on the web.

Anonymous CVS

Anonymous CVS access is available using pserver. To log in to the server, use the following commands:

    sh, ksh, bash, zsh:

        export CVSROOT=:pserver:anonymous@mudmagic.com:/cvs/mudmagic

    csh, tcsh:

        setenv CVSROOT :pserver:anonymous@mudmagic.com:/cvs/mudmagic

then for all:

        cvs login
         (password: 'mudmagic')

In order to reduce the load on our anonymous CVS server, and to promote fairness amongst users who retrieve our source code via anonymous CVS, each client host is limited to a maximum of four connections a minute. The server supports a maximum of eight anonymous CVS connections simultaneously. Developer CVS

Write access to the live CVS tree is available for dedicated and contracted developers. contact MudMagic if you require direct developer commit access. For most developers however, posting your Patch is suffice.

Checking code out

Once you have performed the steps above, and you are sure the CVSROOT environment variable is set correctly, you can check out a module from CVS with this command:
cvs co [ -r <TAG> ] mudmagic_client

This will create a mudmagic_client directory in your current directory. It may take a bit of time, especially if your network connection is slow or the module is an espeicially large one. But once it is done, you will have an up to date copy of the master CVS source for that module. You can then at any time cd into this directory and type:
cvs update -Pd

to update your source tree to be in sync with the master tree. (The -P means to prune empty directories, and -d makes sure that you get new directories which have been added to the repository since your last update/checkout).

How to Create a patch.

There are two ways to do a patch. You could make a copy of file you edit beforehand, and create a patch with:

    	diff -u file.c.orig file.c > file.c.patch
    	or do it with CVS:
    	cvs diff -u file.c > file.c.patch

For more details and discussion on the development of this client. Visit the official mud client website developers forums.

### Compiling

For compiling on Linux:

    	./reconf
    	./configure --enable-debug
    	make
    	make install

For Windows, please see the wincompile.txt file

For Macintosh, please see the macintosh.txt file

Copyright © 2004-02-26 MudMagic.Com