If you are using Windows, you should install Git for the easiest way to keep up with the latest updates. It is strongly recommended to use the Bash shell that comes with Git ("Git Bash") when you run Git commands or these scripts. All further instructions will assume you are using Bash.
Clone the this repo and install its dependencies (using a venv is recommended):
mkdir ~/git cd ~/git git clone https://github.com/brellorand/memento-mori-client.git cd memento-mori-client python -m venv venv . venv/Scripts/activate # This is for Windows - for Linux: . venv/bin/activate pip install -e .
After initial installation, to use these scripts again in a new Bash session, there are fewer steps:
cd ~/git/memento-mori-client . venv/Scripts/activate # This is for Windows - for Linux: . venv/bin/activate
When an update is available, you can use a git command to download the latest changes:
cd ~/git/memento-mori-client . venv/Scripts/activate # This is for Windows - for Linux: . venv/bin/activate git pull
Python 3.11 or above is required. So far, this code has only been tested using Python 3.12.
Scripts are in the bin
directory. The current scripts that are available:
assets.py
: Download bundle files and extract assets (images, audio, etc) from themgame.py
: Perform actions that require logging in to a specific account + worldgear.py
: Calculate misc info about gearmb.py
: Download raw data referenced byDownloadRawDataMB
and view info from other MB filesrunes.py
: (WIP / incomplete) Calculate rune stat totals and ticket costsspeed.py
: Calculate rune levels required to speed tune a given party
Use --help
to see more info about the options they support. Example:
$ bin/assets.py --help usage: assets.py {list|save|index|find|extract|convert} [--no-cache] [--config-file CONFIG_FILE] [--verbose [VERBOSE]] [--help] Memento Mori Asset Manager Subcommands: {list|save|index|find|extract|convert} list List asset paths save Save bundles/assets to the specified directory index Create a bundle index to facilitate bundle discovery for specific assets find Find bundles containing the specified paths/files extract Extract assets from a .bundle file convert Convert extracted audio assets to FLAC Optional arguments: --no-cache, -C Do not read cached game/catalog data --config-file CONFIG_FILE, -cf CONFIG_FILE Config file path (default: ~/.config/memento-mori-client) --verbose [VERBOSE], -v [VERBOSE] Increase logging verbosity (can specify multiple times) --help, -h Show this help message and exit
Each subcommand/action may have additional --help
text.
The game.py
script allows interaction with the game while logged in to a specific account + world.
Account registration is a one-time action that needs to happen before you can use this project to interact with aspects of the game that require being logged in to a specific account + world. This is a one-time action - after initial login, you should never need to complete this step again.
The first step to using it is to register a user ID and password. This can be accomplished by using the login
subcommand:
game.py login --user-id 123456789 --name MyPhone
You can provide any name that you want to use later. The --user-id
value should match the numeric user ID for your
account, as is visible from the login screen. This is NOT your Player ID
that is visible when you are logged in to
a world. If you are logged in to a specific world, then you need to click the hamburger / 3x horizontal line menu at
the top-right of the home screen, then click Return to Title
to be able to access the correct value to enter here.
From the main title screen, click the Account Link icon (the inner-most icon of the two icons near the top-right of the
screen). Under the Use Password
section, click Link
, then click the Set
button next to the
Set link password
option. The value you should enter for the --user-id
option is the value displayed as the
Link Code
in that prompt. If you did not already set a password for your account, then you should set it now. The
script will securely prompt you for your password, and it will then securely store a token that will be used for
subsequent logins.
If you find the login token in the config file, it is important that you never share that value with ANYONE. It is an irrevocable secret that will grant anyone who has it access to your account (similar to your account password.)
After registering your account, you can use other functionality of game.py
, including subcommands for the following
actions:
- Smelting - Tower battle - Quest battle