This project is inspired by MajsoulMax
Unlock all characters, skins, and decorations in Mahjong Soul, using a man-in-the-middle attack based on hudsucker. Supports both the web version and the PC/Android client.
Also capable of sending real time Mahjong Soul game data to Japanese Mahjong Assistant mahjong-helper, but does not support game log analysis.
This tool is completely free and open-source. If you paid for it, you've been scammed!
- This project is written in Rust, which offers better performance and smaller size compared to Python (the Python version often suffers from high latency and poor user experience).
- Utilizes multi-threaded asynchronous processing to improve performance.
- Natively supports multiple platforms including Windows, Linux, macOS, and Android; just download and run the binary.
- Supports the Android client (via Termux and NekoBox).
- Unlike mitmproxy, hudsucker does not support upstream proxies and requires the help of Clash.
- Cannot dynamically update
lq.rs
, requiring recompilation.
Note: Unlocking characters is only effective locally; others will still see your original character and emojis.
Warning: The official may detect and ban your account! Any consequences are the responsibility of the user! Using this script implies agreement to this term.
You can click the images to join or scan the QR codes.
The program consists of two parts: mod
and helper
, which are a combination of Mahjong Soul mod_plus and mahjong-helper-mahjong-mitmproxy.
The default configuration enables helper
and disables mod
. To customize, modify the mod_switch
and helper_switch
in .\liqi_config\settings.json
.
- Unlock all characters and skins.
- Unlock all decorations.
- Unlock all voices (announce yakus).
- Unlock all titles.
- Unlock all loading CGs.
- Unlock all emojis (not recommended).
- Force enable convenient hints.
- Due to Mahjong Soul's own code restrictions, the Throne Room cannot enable convenient hints normally, thus, entering Throne Room matches will change the top-left corner to "Jade Room". Please note, this is not a BUG!
- Support for favorite characters.
- Customizable names.
- Display player's server.
- TODO...
- Sends game data to mahjong-helper.
- Modify the configuration:
- Follow program prompts and personal needs.
- In
liqi_config/settings.json
, set the universal settings including toggles for Helper and Mod—modSwitch
andhelperSwitch
, 0 is off, 1 is on. - In
liqi_config/settings.mod.json
, set the Mod-specific settings.
- Start the program by running the executable file.
- Start the game, either the web version or the client/Steam version.
- For the web version (limited to
Chrome
/Edge
):- Disable all Mahjong Soul related plugins and scripts in the browser, completely disable or uninstall any proxy-related plugins (e.g.,
Proxy SwitchyOmega
). - Enter the game normally once using the browser.
- Close all browser windows, check with Task Manager to ensure no processes remain.
- Copy and paste the shortcut for Chrome or Edge to create a duplicate, right-click the shortcut duplicate, go to
Properties -> Target
, and add a space followed by--proxy-server=127.0.0.1:23410 --ignore-certificate-errors https://mahjongsoul.yo-star.com/
after the target (modify the URL if playing on other servers).
- Disable all Mahjong Soul related plugins and scripts in the browser, completely disable or uninstall any proxy-related plugins (e.g.,
- For the client/Steam version:
- Launch to the login screen, do not log in.
- If automatically logged in, click the settings in the top right of the game to log out and return to the login screen.
- Run Proxifier and configure it:
Profile
>Proxy Servers
>Add
Address
:127.0.0.1
Port
:23410
Protocol
:HTTPS
- After filling out, click Check to ensure you see a green
Test passed
underTest 1
, ignore the rest. OK
Profile
>Proxification Rules
>Add
Name
: Choose any name.Enabled
: ✅Applications
: Fill according to the application you use to run the game, e.g., for the Steam client enterjantama_mahjongsoul.exe
.Action
:Proxy HTTPS 127.0.0.1
OK
- For the web version (limited to
- Log in to the game and enjoy.
Instructions for macOS and Linux are similar.
For the Android version, assuming you are technically proficient, only key terms are provided here: Termux
, NekoBox
, effective only on game route 1.
- Why are
liqi
andlqc.lqbin
updated automatically? What if the update fails?- liqi:
- Consists of 3 files including
liqi.json
and its derivativesliqi.proto
andliqi.desc
, used for parsing Mahjong Soul protobuf messages. - If the update fails, message parsing might fail (e.g., new event messages).
- Consists of 3 files including
- lqc.lqbin:
- Used to obtain all characters, decorations, and game items.
- If the update fails, new items (like new characters, items) may not be retrievable.
- If auto-update fails, download manually from AutoLiqi > Releases and replace the same name files under
./liqi_config
.
- liqi:
- How to enable a proxy simultaneously?
- Use Clash Verge.
- Disable the system proxy, enable service mode, and Tun mode.
- (Optional) Enable LAN connection; go to system settings > network > proxy, turn on "Use a proxy server", fill in the address and port (default is
http://127.0.0.1
and7897
), make sure to prefix the address.
- Other questions? Join our Telegram group linked above.