mj_Multiplayer Setup

Multiplayer means more than one real primary player can play against each other over the internet.  Up to 4 real players can play together.  If less than 4 real players are available, computer players play the other positions.

The multiplayer game version cannot run on line in a browser.  To play with multiple real players, each player must download and run the app version that is native to their type of device or operating system (OS) being used.The OS types supported are:  Windows, OSX (macos), iOS (iPad and iPhone), Linux, and Android.  The MahJonggPro app can be downloaded from the jlbeachhouse.com web site.  The multiplayer app can also play with one real player and 3 computer players.  The multiplayer version requires access to a configured MahJonggPro server and internet access unless you are playing a single-player game. A custom server can be configured for use, if available.  Our default S/HTTP public MahJonggPro server can be selected.  This server is not fast, but can be fast enough for beginner play or app evaluation.

App Download:  You can download the multiplayer app from an account on the MahJonggPro support web site. Currently you must login to a jlbeachhouse.com account to download the app. If you don’t have an account, you can request one using the register option from the login page.  If I can physically connect to your device, I can alternatively upload the app to your device.  If you have an account, you can access the web page login with this link: https://jlbeachhouse.com/mahjonggproapp/

After you are logged in to the site, the MahJonggProApp tab should be visible and selectable.  If it is not visible and you are logged in, you might need to change your browser configuration or use a different browser.  Let me know if you have this problem.  I had this problem on my MacBook using the Safari browser and had to use Chrome to see the MahJonggPro content.

An example MahJonggProApp web page is shown in Figure C6. When you select “Download App,” if your device type is supported, you are sent to a page with instructions on downloading MahJonggPro.  How to get the app depends on your device type.  Follow the instructions on the web page to get and run the app.  You will not see the game lobby until after you download and run the app.

Figure C6. jlbeachhouse.com MahJonggPro Page for Accessing App Download and Starting a Single Player Browser Game

Figure C7 shows an example download page for a PC running Windows.  Follow the instructions to download the app.  The app does not need full installation, you just need to run the MahjonggProWin.exe file (or start the app in the appropriate way for your device).

Figure C7. Windows App Download Page Example

Multiplayer Startup:  After obtaining the app, open or run it and you will be taken to the Initial Login Page, Figure C8.  This page lists all current users and their game status.  You can sort a column by pressing the column heading.  You can login by selecting the row with your username, entering your password, if given one, and pressing “Login.”  Your row will be green when it is selected.  If you don’t have a username and a “Create User” button is not shown, contact a game administrator to assign you a username.  Administrator user names and names are listed on the “Users” display page.  For the default MahJonggPro web sites, you can contact us by email at SeasideDream@JLBeachhouse.com.  If a “Create User” button is shown, you can create your own user Username entry and log in with it.

The user data columns are described in MahJonggPro Multiplayer Game Administration.

Figure C8. Initial Login Page (without user Create permission)

After logging in you will see the game multiplayer startup lobby page, Figure C9.   The lobby and multiplayer game windows are on the right side of the display.  The player profile (setup) control is on the left side.

Each real player in a multiplayer game must enable a “Network” option.  If a network option is not enabled, only a single real player can play at that device.  If the network is not enabled, a red warning is at the top.

The “Username,” the user’s name (NAME) and skill level (SKILL) are shown in the lobby for each player. When playing the game, the “Username” is used to identify players because it is unique.  The lobby’s right column is each player’s status.  The status is one of the following:

  1. Inactive – Has not played recently (within last month)
  2. Offline – Player is not online
  3. Online – Player is online
  4. Hosting – Player is hosting a game
  5. Connected – Player has connected with a host, but has not joined a game
  6. Joined – Player has joined a game
  7. Busy – Host player that is busy
  8. Playing – Player or host is playing a game
  9. Guest – Someone just observing and possibly betting

Figure C9. Multiplayer Startup Lobby Page

Each multiplayer game needs a single host. The app automatically searches for available hosts.  It displays “Finding Hosts” at the upper right.  This can take up to several minutes, depending on web server availability.

The app needs to search for hosts before letting you host.  You can limit how long this takes by limiting the users searched.  Press the “All” button near the top right in Figure C9 to limit the users searched.  An example is shown in Figure C10.  To enter a subset (Set) of users to search: first select the users, press “Save Set,” and enter a set name.  In the Figure C10 example, John and Lisa were selected and saved as the set named “Smigels.”  The lobby will then reflect this change, as shown in Figure C11.  If you are the host, make sure you include all players you may want to play with in the selected set. Only players in the selected set will be able to connect with you.  If you are a player finding a host, the host is only found if they are in your selected set.

Figure C10. Player Sets Page (Admin)

Figure C11. Lobby after defining a Player Set (Smigels example)

The app searches all users in the lobby for hosts.  When a host is found, a “Hosted Games” window below the lobby shows any hosts found.  You can either host a game yourself by pressing the host button (only one host per game), or connect with a host that has been found. 

If you host a game by pressing the “Host” button, “Hosted Games” and “Game Players” windows will be shown as in Figure C12.  This example is on the host’s device. Each hosted game row/button lists the host username, default skill level, status, and the number of current game players.  If only 1 player, then only the host has joined the game.  The players currently in the host’s game are shown in the “Game Players” window. The host’s username in this example is john.  An “L” for “Logged in” is shown left of your lobby listing when logged in.

Figure C12. Hosted Games Window Example on Host without Player Connected

An example “Hosted Games” display when the app finds a host on a different device is shown in Figure C13. 

Figure C13. Hosted Games Window Example on Joining Player

Each “Hosted Games” row is also a button that can be selected.  When a hosted game is selected, a connection is made with the host and allows chatting.  After a host is selected, the hosted game entry turns green (selected) and two more windows open, “Game Players” and “Chat Window.”   The “Game Players” window shows all the current players.  An example is shown in Figure C14.  Chat window use is straight forward and is not necessary to join a game.  The “Post” button must be pressed to send the chat message.  Hitting enter will just add another line to the message.  The message will go to all users in your lobby that are connected to the same host.  A “C” for Connected is shown to the left of a connected host.  If there is a game position available, “Join as Player” and “Join as Guest” buttons are shown to potential new players as in Figure C14.

Figure C14. Game Players and Chat Window Example When Connected with a Host

Figures C15 and C16 show host display examples when a new player or guest requests to join. A bell will ring when someone is requesting to join.

Figure C15. Host’s Display when a Player Requests to Join as Player (blue arrow points to response buttons)

Figure C16. Host’s Display when a Player Requests to Join as Guest (blue arrow points to response buttons)

Pressing “Join as Player” or “Join as Guest” brings up a join request in the Host’s “Hosted Games” or “Guest” window where he/she can accept or decline the request.  If accepted, the player is either added as a guest or added to the “Game Players” windows of all players.  A non-host example is shown in Figure C17. A non-host player is called client player, client, or just player.

Figure C17. Player Display after Joining a Hosted Game

After joining a host’s game, some options will be limited to those selected by the host.  The options that can only be selected by the host are CP Skill, CP Defense, AutoPlay, Start Position, and Card Type. These selections are temporarily disabled for clients during the game.

The host decides when to start the game.   A host has a “Start New Game” button.  Whichever players have joined the game when “Start New Game” is pressed, if any, will play with the host. If there are less than 4 real players, computer players play the other positions.  The rest of the displays and functionality are the same as for the single player game described earlier.  Note that the host can start a single-player game if there are no other players requesting to join.

Multiplayer Game Ending.  At the end of a multiplayer game, the host has the option to quit or to rotate positions and play another game.  If positions are rotated, they are rotated to the right (counterclockwise, previous South becomes new East).

At the end of each game, a score summary for each game played so far can be shown by pressing the “Scores” button.  An example game score summary is shown in Figure C18.  In my (john’s) defense, I was having one of the computer players play for me.

Figure C18.  Game Summary Display Example

Figure C19 shows a High and Notable Scores summary example located at the bottom of the Scores Summary display. This shows the players currently with the five highest total scores and the last players getting Mah Jongg as jokerless, closed, quints, or singles and pairs. Also shown are the overall best 3 single game scores and the best 3 total scores ever achieved.

Figure C19.  High and Notable Scores Summary Example

Multiplayer Game Players Quitting:  If a player in a multiplayer game quits or is disconnected, the game continues with a computer player replacing the missing player.  If a host q