Intro. to IMS

The Internet MahJong Server (0.21):
An Introduction

Copyright © 1996 Thomas Zuwei Feng

What is the Internet MahJong Server?

The Internet MahJong Server (IMS) is a software package that provides virtual gambling rooms for the popular Chinese tile game MahJong.

IMS requires minimal computer knowledge to connect and play. All you need is a Web browser that understands Java, for example, the Netscape Navigator.

IMS provides functionality comparable to OKbridge, the GO servers, the Chess servers, and other Internet game sites. There is full support for playing MahJong games, observing games, and communicating with other players. The server keeps track of each player's score, along with his personal information.

IMS does all this with an intuitive graphical user interface. In this 0.2 version, it has been beefed up to be comparable to commercial applications.

Connecting to a Server

To start, you are advised to go to the Internet MahJong Meta-Server. There you will find a list of all public MahJong servers, their URL, and brief descriptions about them. Choose a site nearest to you, and click on the link to go there.

Typically, you'll be greeted by the main Web page of that server. It will present to you various information relevant to MahJong in general and that server in particular. Most importantly, your Web browser will start loading a Java applet, the client. It may take a while, but eventually you will see a big button on the Web page, labeled Connect NOW!.

Logging in to the Server

Click on the Connect NOW! button. The client will now actually make the connection to the MahJong server, and present you with a login window.

Now it's time to think for a name you wish to use on IMS. It could be anything, so use your imagination! Also think for a password that you can remember, but is hard to guess.

Important: since the password is currently stored in a database on the server without encription, your password is readable by the server administrator and perhaps other people on the machine on which the server is running. DO NOT use the password for any of your computer accounts!

Now, type in your name and password. If this is the first time you login on this server, click on the New Player button. Otherwise, click on the Login button.

Your login request may be rejected due to one of the following reasons:

Overview of the IMS Console Window

This is what a typical IMS console window looks like (snapshot taken with Netscape Navigator 2.0 for X Window):

In the top half of the window, you will find a player list in the upper left corner, a table list in the upper right corner, a message panel immediately below them, the message text field, and a bunch of buttons. This portion of the window is called the console.

Below the console is the desktop of your MahJong table. When you first login, you are not on any table, so the desktop should look pretty much empty.

On the very top of the window, you will find a menu bar containing the following items:

Communicating with Other Players

You may send messages to everyone on the server, everyone on your table, or to the server administrator ("God"). You choose the destination of your message in the multiple choice button right next to the message text field. You cannot send messages to individual players. This makes cheating harder.

Now, simply type your message in the message text field, and press the return key, or the Send button. It is as simple as that. If you mess up and want to start over, simply click on the Clear button.

Messages sent to you will be accumulated in the big message panel. If it gets too full, you can click on the Purge button to clear the entire message panel.

Player Information

The player list in the upper left corner of the console window shows a list of all players currently on the server. Each row in the list corresponds to a player. The columns from left to right show the player ID, name, total score, table ID, and host machine.

In the Players menu, choose Finger to bring up a finger information window.

There are several ways to finger a player. The quickiest is double-clicking on his entry in the player list. This also brings up the finger information window automatically. Or, click on his entry and choose Finger from the Players menu. You can also type his ID in the ID# text field of the finger information window, and click on or click on the Finger button.

You will now see his E-mail address, home page URL, and a "plan". Of course, you won't see anything but empty space if that player hadn't put these information there!

To update your own information so that other players can see it, click on Finger self. Now you will see your own information, and you will be able to edit it. When you are done, click on Update self to store the updated information on the server.

Important: The finger information takes up space on the server side, and network bandwidth every time a finger request is processed. Please keep your finger information brief, and don't flood the server with finger requests!

You can also change your password. In the Players menu, choose Change Password. This will bring up a dialog window. Type in your old password, and your new password twice, and click on OK. The change takes effect immediately.

MahJong Tables

MahJong games are played on tables, with 4 players. A table can also have several spectators who only observe the game.

There is a table list in the upper right corner of the console window. Each row in the list corresponds to a table. The columns from left to right show the table ID, a brief description its options (see below), and the IDs of its players.

Table options affect (to some minor extent) how games are played and how scores are calculated. Basic rules and the scoring system are the same across tables, these options only provide minor variations. See MahJong Rules: IMS Table Opotions for a description of these options.

In the Table menu, select Info to bring up a table information window. Type an ID in its ID# field to get the information of that table. Double-clicking a table entry in the table list has the same effect. The table information window shows in detail that table's options, the IDs and names of players on that table, tells you which table you are on, and also gives you the ability to join, serve, or leave tables, or to change your table's options.

To serve a new table, either select Serve from the Table menu, or click on the Serve button in the table information window. You will be seated in the special seat for the creator of the table. Only you (or the one that replaces you when you leave your table) have the privilege to set or change that table's options.

You may make changes to your table's options in the table information window. Clicking on the "Apply" button applies your changes to the table. Note that only the creator can change options, and then only when no game is in progress.

You may also serve a private table. To do so, send the command /serve as a message to God (the server administrator). Send /invite 3 to God to invite player #3, and /invite -3 to uninvite him again. To invite or uninvite several players, put all their ID numbers after the /invite command, with a - sign to uninvite. The server will send a message to invited players asking them to join your table. Whether they do so is entirely up to them. Only invited players can join your private table to play, but anyone can join to observe.

To join an existing table, select Join from the Table menu, or click on the Join button in the table information window. This brings up a dialog window. Type in the ID number of the table you want to join. The client may have put a default ID number there (the table you currently have info on). To join the table as a spector (for watching others play), choose Spectator instead of the default Player. Now click on the Join button. Your join table request may be denied if the table is full, or is a private one and you aren't invited. If your join request is successful, you will be assigned a random seat. However, if the original creator of the table has left, then you will always take his seat even if there are other open seats.

To leave a table, select Leave in the Table menu, or click on the Leave button in the table information window. As a courtesy to the other players, please finish your current game before leaving your table. There is a 5 point penalty for being the first to leave a table with a game in progress. Also, please don't "hog" a table. If there is a game in progress and you are idle for 2 minutes, the server will automatically kick you off the table and give you a 5 point penalty.

Desktop of a MahJong Table

This section is best read together with MahJong Rules.

The desktop window is a graphic representation of your MahJong table.

There are 5 large gray areas that are used to show tiles. If you are playing the game, your private, concealed tiles will always be shown in the long gray area at the bottom. You can arrange these tiles by clicking and dragging. The tiles that you reveal in the process of the game will be displayed in the gray area just above your private tiles. The other 3 gray areas display tiles (concealed and revealed) of the other 3 players. Their private, concealed tiles will only show up with a gray shade, so you can only see their revealed tiles. You cannot arrange any revealed tiles of your own nor any tiles of the other players.

In the center of the desktop you'll find a small gray area. This place is for tiles that players discard during the game. It only has space for the most recently discarded tile (the tile in auction). Previously discarded tiles go into the tile pool window. You can bring this window up by selecting Show Pool in the Table menu.

Around the central gray area you will find labels that show you the name, score, and seat wind of all the players on your table. Note that the seat wind is a MahJong jargon, it actually rotates in the reverse order of the compass directions.

If you are a spectator, then the positions of the 4 players' tiles will change from game to game. The dealer (with seat wind east) for any particular game will always be displayed at the bottom.

In the middle of the desktop window you will also find text labels that display the options of the table, the round wind of the game, the number of tiles left in the game, and explanations of what is going on. These should make sense once you know the rules of MahJong.

At the very bottom of the desktop window, you will find a row of buttons. Among those, Show Pool brings up the tile pool window, Sort sorts your private tiles. The other buttons all correspond to particular actions you can make during the course of a MahJong game. They are described in MahJong Rules: A MahJong Game.

There is a Duke figure and an Urge button to the left and right of the long gray area near the bottom of the desktop window. When there is a game in progress, you may click on the Urge button to ask them to hurry up. If your urge request is accepted, everyone on the table will be alerted. The alert takes in the form of the Duke waving at you, and (depending on the system configuration) a "cuckoo" sound.

For players with a small monitor, the desktop window can be detached from the main console window by selecting Split Desktop from the Preferences menu.

User Preferences

You can configure the appearance of your client to suit your hardware or personal taste, and save it on the server so your client looks the same the next time you login.

You can set the number of rows and columns used by the player list, table list, and message panels. To do so, simply select Set Geometry in the Preferences menu to bring up the dialog window, enter your desired values, and click on Apply.

IMS keeps track of 3 fonts, the label font, the message font, and the button font. They are used in many (but not all) text labels, the player and table lists, the message windows, and the game action buttons. You can change the font family, size, and style of these 3 fonts by selecting the appropriate item in the Preferences menu. This will bring up a dialog window with the family, size, and style of the font. You may make your choice and click on Apply to see the effects.

Finally, select Save Preferences in the Preferences menu to save your configuration on the server.

Final Words

The Internet MahJong Servers are social centers. Please be kind to observe the usual etiquettes. Let's cooperate with each other to make the MahJong servers a comfortable cyberhome for you and other MahJong lovers.

Happy MahJonging!


|Meta-Server |Copyright |Introduction |MahJong Rules |What's New |