Mahjong

Mahjong on GitHub

By Porcelain Lattice editorial team Current release, published September 12, 2026

Framed tile-pair panel with umber tile faces and sand pips on tile-mist paper.
Tile-pair panel: matching tile faces used as the mahjong mark across this install guide. Porcelain Lattice original tile-pair geometry for factory-mahjong (not an ffalt/mah logo).

The Mah mahjong client is developed in public on GitHub. Source, issues, and Releases live at ffalt/mah under the MIT licence.

Repo URL: https://github.com/ffalt/mah. Homepage play: ffalt.github.io/mah.

What to open first

Start with Releases when you want a binary. Start with the README when you want feature lists such as boards, tile sets, daily challenges, and zen mode. Start with LICENSE when you need the MIT text.

  • Releases for MSI, EXE, DMG, deb, AppImage, rpm, and apks
  • README for feature claims and browser play link
  • Issues for upstream bugs, not for this install guide

Licence

Mah ships under MIT. That covers the client source and the project’s stated freedom to use, copy, and modify under the licence terms. Read the LICENSE file in the repo before you redistribute builds.

Stars and trust signals

Star counts change over time and are shown live from the fetch step on this guide. Stars are not a safety proof. Prefer matching asset names on Releases over third-party mirrors that only rank for mahjong.

Security contact

Use the repository security tab for upstream reports. Porcelain Lattice does not host binaries and does not accept vulnerability reports for Mah itself.

How this guide relates

This site is an independent install map for people searching for mahjong. It is not the upstream project page. Download safely: download safe. Asset names: releases.

Monorepo notes

Every reviewed tag for this path is the app. There is no separate desktop monorepo prefix required for fetch. Keep reading the live asset list before you image a lab.

Porcelain Lattice maps filenames for people who searched for a local mahjong client and need an MIT Mah path. Upstream remains at ffalt.github.io/mah and ffalt/mah under MIT.

  • Keep one installer door forever on each machine ticket.
  • Prove one short local clear after every reimage.
  • Ask for the GitHub Releases URL instead of vague “best download” links.

Why filenames beat portals

People searching for mahjong often land on advertising pages that wrap a browser game or a renamed installer. Those pages can change overnight, hide the real filename, and ship toolbars beside the setup you thought you chose.

  • Prefer win-mah-*-x64.msi on Windows from ffalt/mah Releases
  • Prefer the aarch64 DMG or amd64 deb on the same tag when those desks matter
  • Refuse Softonic-style mirrors that hide the filename

No winget package id was found on this review date. Inventing one would send shared labs to the wrong mahjong product.

Repeatable lab rhythm

Club machines, classroom images, and family PCs all benefit from the same boring checklist. Write the OS version beside the asset name. Prove one short mahjong clear after every reimage.

  1. Match the GitHub filename character for character.
  2. Launch Mah and prove a local clear.
  3. Document the update door on the machine ticket.

Travel bags should separate phone apks from desk MSI files so a hurried restore never grabs the wrong binary. Shared tickets should say whether the room standard is deb or AppImage on Linux.

Closing discipline

Ask for the GitHub Releases URL whenever someone pastes a vague “best download” link into chat. Match characters in the filename. Prove a clear. Document the update door for this mahjong client.

Asset checklist before imaging

Before you image a lab for mahjong, confirm the live Releases tag still lists the Windows primary MSI together with the Linux and macOS builds you need. Prefer one tag for every desk in the room so support tickets stay short.

  • Windows: win-mah-*-x64.msi (EXE alternate on the same tag)
  • macOS Apple silicon: macos-mah-*-aarch64.dmg
  • Linux: linux-mah-*-amd64.deb or AppImage or rpm

Android apks help travel phones, yet they do not replace the desk MSI when you rebuild a shared mahjong image.

Support ticket lines that work

Write three lines on the machine ticket: OS version, exact asset filename, and the date you proved a local clear. That record beats another Softonic search when SmartScreen returns next month.

  1. Record the GitHub Releases URL you typed.
  2. Record the filename character for character.
  3. Record “cleared one board” with the date.

Family PCs and classroom images both benefit from that boring mahjong paperwork. It keeps the next bump on the same honest door without inventing a winget id that was not found.