「死ねば助かるのに………」- 赤木しげる
Ask me anything about this at Discord
中文
Report Bug
.
Request Feature
"The purpose of this project is to provide people with a convenient way to real-time understand their performance in Majsoul game matches and to learn and improve from it. This project is intended for educational purposes only, and the author is not responsible for any actions taken by users using this project. Majsoul officials may detect abnormal behavior, and any consequences such as account suspension are not related to the author."
Akagi.mp4
YouTube Video for you to follow.
- A
mortal.pth
. (Get one from Discord server if you don't have one.) - (Optional, Recommend) Use Windows Terminal to open client.py for a nice looking TUI.
- (Optional) If you want to use Steam, Majsoul Plus, or anything other client, proxy the client using tools like proxifier.
Get mortal.pth at Discord
- Go to #verify and click the ✅ reaction.
- Go to #bot-zip
- Download a bot you like.
- Extract the zip.
- And mortal.pth is there.
Download install_akagi.ps1
at Release
- Put
install_akagi.ps1
at the location you want to install Akagi. - Open Powershell as Administrator
- cd in to the directory
- Run:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
- Run:
install_akagi.ps1
- Open mitmproxy if this is your first time using it.
- Close it.
- Go to your user home directory
~/.mitmproxy
- Install the certificate.
- Put
mortal.pth
into./Akagi/mjai/bot
Download install_akagi.command
from Release
- Place
install_akagi.command
in the location where you want to install Akagi. - Download the latest Python installation package from the Python official website and install it (skip this step if you already have a compatible version of Python installed).
- Double-click
install_akagi.command
to automatically install the required dependencies. - Double-click
run_agaki.command
to start Akagi. - If you are using mitmproxy for the first time, click on "start mitm".
- Close it.
- Go to your user home directory
~/.mitmproxy
. - Install the certificate.
- Put
mortal.pth
into./Akagi/mjai/bot
.
Unlocker
: Decide to use MajsoulUnlocker or not.v10
: If your Majsoul client in still in v0.10.x and you want to use MajsoulUnlocker, set it to true.Autoplay
: Autoplay.Helper
: To use mahjong-helper or notAutohu
: Auto Ron.Port
:MITM
: The MITM Port, you should redirect Majsoul connection to this port.XMLRPC
: The XMLRPC Port.MJAI
: The port bind to MJAI bot container.
Playwright
:enable
: Enable the playwrightwidth
: width of the viewport of playwrightheight
: height of the viewport of playwright
- The rest are the setting for MajsoulUnlocker.
You can see that there are two flows here, usually the top one is the "Lobby" websocket flow, and the bottom one is the "Game" websocket flow which appears after you join a match.
Click on the bottom flow to start. (It can take a while, click once and wait, don't click it for multiple times)
After you are in the Flow Screen, this is what you should see. On top left is the LiqiProto Message we captured using MITM. The LiqiProto Message is then transcribe to mjai format and send to the bot(AI).
On top right is the MJAI Messages, this is the message our bot sent back to us, indicating the action we should do.
Then below is our tehai, it is composed using unicode characters.
Bottom left is the settings.
Bottom right is the bot's action.
Following guide can minimum the probility of account suspension.
- Don't use steam, use web instead.
- Use
safe_code.js
from Majsoul Mod Plus - Don't use MajsoulUnlocker as it modifies websocket.
- Don't use autoplay, play it yourself.
- Try to use stickers often.
- Don't completely follow what bot told you to do.
- Don't play 24hr a day using autoplay.
- 3 Player Mahjong
- Already done, but not planned to release yet.
- Change Setting inside application.
- Autoplay
- Auto use stickers to make opponent think we are not a bot.
- Add random time in settings.json to let user choose time they want.
- Mix multiple AI's decision to make we more like a human but not a perfect bot.
- Reduce Startup time of the bot. (Maybe start it before match begin?)
- Intergrade with MajsoulUnlocker
- Don't use MITM at all for the gameplay, use image recognition.
- Decide use what model
- Training data generation
- Train it
- Delta Score Recognition.
- Ryukyoku Recognition.
- Implement
- Easier installation.
- Any PR is welcomed.
- Tell me if the MajsoulUnlocker is working well, is there any trace about we modified the message leaked to Majsoul server?
- A stable and safe way to autoplay.
- Report any bug you encounter.
- Share your bot.zip if it is good.
- Shinkuan - Shinkuan
Donating is optional, and the full functionality of this program is avaliable even without a donation.
ETH Mainnet: 0x83095C4355E43bDFe9cEf2e439F371900664D41F
Paypal or Others: Contact me on Discord.
You can find me at Discord.
Firstly, thank you very much for your willingness to support the author.
I will prioritize the opinions of donors, such as feature requests and bug fixes.
Next, you can find me on Discord, where I will assign you a donor role.
MahjongRepository/mahjong_soul_api
“Commons Clause” License Condition v1.0
The Software is provided to you by the Licensor under the License, as defined below, subject to the following condition.
Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.
For purposes of the foregoing, “Sell” means practicing any or all of the rights granted to you under the License to provide to third parties, for a fee or other consideration (including without limitation fees for hosting or consulting/ support services related to the Software), a product or service whose value derives, entirely or substantially, from the functionality of the Software. Any license notice or attribution required by the License must also include this Commons Clause License Condition notice.
Software: Akagi
License: GNU Affero General Public License version 3 with Commons Clause
Licensor: shinkuan