disruption to this site

owing to the persistent failure of the previous hosting company, this site has moved to a new hosting company. i have not yet completed the conversion process, and so some features are not available at the moment - most importantly, the donation mechanism;-) should you feel a compelling urge to send me money, please mail me.

mah-jong for unix (and windows)

quick access

mah-jong program general information

news

2003-10-01: a pre-release of 1.6 (which fixes several bugs and closes security holes) is available. please try it out and report any problem.

2003-07-06: latest version 1.5.6 reinstalled on site. see changes for changes since 1.5.3.

2003-04-05: version 1.5.3 fixes a bug in cannon handling, and adds a dialog to select the font used for text windows.

2003-04-02: version 1.5.2 fixes one bug causing crashes, one bug causing a lockup in certain (rare) circumstances on mah-jong, and a couple of other small things.

2003-03-16: version 1.5.1 fixes a bug in the server (important for those running a public server); and adds a workround for a bug/misfeature in the microsoft runtime libraries (upgrade advised for those using the windows client to connect to public servers).

2003-03-15: version 1.5 fixes a few bugs and adds many new features. see the changes file for a summary.

included in the distribution is a set of small (3/4 size) tiles, which may be useful to those with 800x600 displays. it is also available as a zip file tiles-small.zip for those not wishing to upgrade.

2002-08-11: version 1.4.1 fixes a couple of minor bugs.

2002-03-31: version 1.4 adds the possibility to use millington's rules for concealed and exposed kongs.

what is it?

this is a set of three programs which provide a networked mah jong program, together with a computer player. thus the game can be played by four humans, by a human and three computer players, or any other combination. there is a server program, which handles the game - only one game, since i'm not trying to compete with yahoo! and friends -, an x client to allow humans to play naturally, and a computer player. the version of mah jong is that generally called chinese classical. of course, there are many variants within this; i intend to accommodate most of the more interesting variants via options, but this is future work. in the longer term, i might also be interested in adding hong kong and japanese versions. i'm not interested in adding american versions, though somebody else might be.

books on mah-jong

the best book for use with this program is a. d. millington's complete book of mah-jong; this is now considered the standard reference for the classical chinese game, and my program uses millington's rules. it's published in britain, and not generally available in the u.s., but you can find it at amazon uk by clicking on the title. (if you think you will buy this book, please click on that title and add it to your shopping basket - you can always remove it later. amazon give me 15% commission that way, but only 5% if you first browse or search.)

there are many other books available, for which amazon is a good source. in association with amazon.co.uk

you can search amazon uk for mah-jong books here:
search by keywords:
in association with amazon.co.uk

screenshots

there's a bunch of screenshots in the directory screenshots. each is a gif of about 40kb.

system requirements

the programs should compile and run on any reasonably modern unix system. (this is known to include gnu/linux, solaris and irix.) they also work on 32-bit windows systems.

you need version 1.2 (or later?) of the gtk+ libraries (and of course headers in order to build from source) - on windows, at least version 1.3 release of 2000-12-26; for further information, see the latest readme file.

to build the programs from source, you also need perl, and preferably gnu make; on windows you will need various microsoft files which are part of the platform sdk (which is fortunately available free of charge from their web site); and it will be easier to build with gcc, although possible with visual c.

to decide whether you want to upgrade, read the brief notes of the differences between successive releases in the changes file.

source code

source code (current and old versions, and patches where appropriate), in the form of gzipped tar file, can be found in the source directory.

linux binaries

the "mj-linux-i386" binary distribution was compiled under a linux 2.2 kernel, gnu utilities and libraries, gnu glibc-2.1 (aka libc-6), xfree86-3, gtk+ 1.2. of these, only the libc and gtk versions are likely to matter.

the normal linux binaries are in the linux directory.

the "static-mj-linux-i386" distribution has the gtk+ libraries compiled in; get this only if you don't already have gtk+ installed.

the statically linked linux binaries are in the linuxstatic directory.

nicolas boullis has put together a debian package for xmj. it can be found at http://www.ens-lyon.fr/~nboullis/debian/. note:i have no responsibility for this package.

windows executables

the "mj-win32-i386" distribution was compiled under windows nt 4.0, with the mingw port of gcc (msvcrt version), and gtk+ for win32 version 1.3 release of 2000-12-26. these binaries should in theory run on any win32 system (except old systems lacking msvcrt.dll); they have been successfully run on a windows 95 system, as well as the system on which they were built.

the binaries are in the windows directory.
since the gtk+ dlls are not a standard part of a windows system, for your convenience i have packed all the necessary libraries into a zip file gtkdlls.zip (1.4mb) which you will also find in the windows directory.

using the programs

the user documentation comes in two parts (also available combined into a man page): use.txt is the basic documentation, and rules.txt describes the rules of the game as implemented.
julian bradfield
last modified: fri mar 9 17:54:50 gmt 2001